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
3041
Увидев такое, он может и перестать дружить.

 Профиль  
                  
 
 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
4444
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
3133
Уфа
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, Супермодераторы



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

Сейчас этот форум просматривают: worm2


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

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