2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4  След.
 
 Re: Как послать другу программу на JavaScript?
Сообщение09.07.2018, 21:50 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота

(Оффтоп)

Corund в сообщении #1325527 писал(а):
Это особенности Javascript
Да он весь из особенностей состоит... post1201153.html#p1201153

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение09.07.2018, 22:16 
Аватара пользователя


01/12/11

8634
rockclimber

(Оффтоп)

В профессии, которую девочка предпочла профессии программиста, особенностей, увы, не меньше :cry:

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение09.07.2018, 23:50 


05/09/12
2587
Не хотел палить контору, но, похоже, придется. На просторах сети есть вот такая штука http://slack-ru.hexlet.io/ Рекомендую, если действительно серьезно (в чем я, впрочем, глубоко сомневаюсь) желаете освоить программизм и жаваскрипт в частности.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение10.07.2018, 00:01 
Аватара пользователя


01/12/11

8634
_Ivana
Мне СМСку выслали, чтобы там авторизироваться. Надеюсь, она не стоит 1000 долларов?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение10.07.2018, 05:45 
Аватара пользователя


07/01/13
261
NJ
Geen в сообщении #1325534 писал(а):
Corund в сообщении #1325527 писал(а):
Это особенности Javascript.

Ну округлите три миллиарда с половиной ;-)

Код:
~$ node
> x = Number.MAX_SAFE_INTEGER
9007199254740991
> y = x | 0
-1
>

Просто в побитовых операциях левый операнд после преобразования или парсинга в целое число просто и без затей обрезается до 32 бит.
ps. правый, впрочем, тоже.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 15:19 


12/09/18
3
Ktina в сообщении #1324986 писал(а):
Но друг не должен видеть код программы


Есть такая штука, называется "обфускатор", он превратит твой код в не читаемую белиберду.

Код:
var _0x33ef=["\x57\x68\x61\x74\x27\x73\x20\x79\x6F\x75\x72\x20\x6E\x61\x6D\x65\x3F","\x59\x6F\x75\x72\x20\x6E\x61\x6D\x65\x20\x69\x73\x3A\x20","\x6C\x6F\x67"];var name=prompt(_0x33ef[0]);console[_0x33ef[2]](_0x33ef[1]+ name)

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 15:24 


14/01/11
2916
Увидев такое, он может и перестать дружить.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 15:28 


12/09/18
3
Sender в сообщении #1338371 писал(а):
Увидев такое, он может и перестать дружить.


Главное, что код работает. ))

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 17:18 
Заслуженный участник


27/04/09
28128
Зачем обфускатор, если упомянутой минификации обычно хватит? Кроме того — name, серьёзно? Нормальный обфускатор не оставит исходное имя переменной.

(Оффтоп)

ozheredov в сообщении #1325023 писал(а):
kotenok gav в сообщении #1325017 писал(а):
Компилирование


Жаба-скрипта? 0__0
Ну он же кстати компилируется браузерами, хотя нам результат и не показывают.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 18:45 


10/03/16
3855
Aeroport
arseniiv в сообщении #1338400 писал(а):
Ну он же кстати компилируется браузерами


Интересно, я думал что это интерпретируемый язык. Всегда так было или новый стандарт?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение12.09.2018, 19:05 
Заслуженный участник


27/04/09
28128
Боюсь, соответствующие стандарты ECMAScript ничего говорят о том, должен ли язык обязательно интерпретироваться, и не уверен, что когда-либо говорили. Вообще как именно транслируется язык, как бы не должно входить в его описание. Это не обязательно для описания основной части его семантики. Кроме того, в современности куча языков компилируется в код для виртуальной машины, с которым может происходить куча разного, а не только традиционная компиляция (всего кода целиком и без учёта прошлых запусков) или интерпретация.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение13.09.2018, 06:15 


11/12/14
893
ozheredov в сообщении #1338418 писал(а):
Всегда так было или новый стандарт?


Это не стандарт, это анекдот.
Сперва Flash и Java стали большими, неповоротливыми, но главное - кишащими ошибками и всяким прочим непотребством, поэтому от них решительно все браузеры отказались, распилили HTML 5 + JavaScript во все затычки, обмазав его компиляцией в нативный код но...
Оказалось, что JavaScript обладает фатальным недостатком - в нетипизированном языке программирования хоть обделайся, но нет возможности всегда скомпилировать return a + b в add eax, ebx; ret; потому что под a и b всегда может быть что угодно и как ни крутись ни прикручивай JIT, но дальше call VariantAdd оно не сможет уйти. Пичалька и десятикратное падение производительности. То как оптимизаторы в хроме и файрфоксе пытаются наскипидарить компиляцию в натив всякими предсказаниями и динамическими ветвлениями - отдельная эпопея, заслуживающая книги.
Ну и что взамен? И тут начались ледебе-рако-щуки - кто-то пилит один диалект JS где была бы опциональная типизация переменных, кто-то вставляет в конце всех выражений a=a|0, что из синтаксиса позволяет вывести уверенно, что a после этого кода хранит целое число и обмазывает весь код этим через кросс-компиляцию с нового диалекта, кто-то пилит диалект другого языка изначально типизированного, но который можно простеньким транслятором перевести в JavaScript "с разметкой", кто-то начал пилить эти вот всякие WebAssembly, где наоборот из JavaScript просто можно странслировать в виртуальную машину (если нужно без типизации, в режиме совместимости - то тоже в call VariantAdd), коороче разброд, шатания, целая пачка виртуальных машин и никаких обоснований почему это всё должно стать лучше старой доброй Java. Или почему через 10 лет у этого всего типизированного и full-JIT-кроссоператбельного не будет весь ворох тех же болячек от которых решительно избавлялись.

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение13.09.2018, 12:00 


12/09/18
3
arseniiv в сообщении #1338400 писал(а):
если упомянутой минификации обычно хватит


После минификации код JS разбирается обратно в читаемый вид на раз-два.

Про "name" это лишь пример.

-- 13.09.2018, 12:03 --

aa_dav в сообщении #1338492 писал(а):
Оказалось, что JavaScript обладает фатальным недостатком - в нетипизированном языке программирования


А тайп скрипт не решает проблему?

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение13.09.2018, 12:18 
Заслуженный участник
Аватара пользователя


01/08/06
3049
Уфа
kolbert в сообщении #1338559 писал(а):
А тайп скрипт не решает проблему?
По-моему, написали уже:
aa_dav в сообщении #1338492 писал(а):
кто-то пилит диалект другого языка изначально типизированного, но который можно простеньким транслятором перевести в JavaScript "с разметкой"

 Профиль  
                  
 
 Re: Как послать другу программу на JavaScript?
Сообщение13.09.2018, 17:23 
Заслуженный участник


27/04/09
28128
aa_dav в сообщении #1338492 писал(а):
и никаких обоснований почему это всё должно стать лучше старой доброй Java
Java-апплеты разве когда-нибудь так же тесно интегрировались со страницами? Я в интернете недавно и застал их уже в упадке, и что-то не помню, чтобы они выполняли функции ни тогдашние типичные для JS, ни современные.

И не было ли у апплетов проблем с безопасностью (слишком много прав, например)?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу Пред.  1, 2, 3, 4  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group