Я использую чат GPT как идеального переводчика.
Формируя главу о том, как исполняется код в JavaScript, мне потребовалось перевести часть спецификации 1997 года, о чем я и попросил чат GPT.
С переводом он справился прекрасно, после чего он предложил мне пояснить суть процесса, а именно что такое Execution Context. Я написал да.
Чат GPT мне рассказал как работает JavaScript на основании спецификации 1997 года. Только вот он сказал что так работает современный JavaScript.
Проблема в том, что в современной спецификации как термин Execution Context, так и сам процесс исполнения кода, в сравнении с первой версией спецификации - отличается как эскимос от папуаса.
Не тем как он эволюционировал, но архитектурно - то есть он совсем другой, он работает принципиально иначе. Как и термин Execution Context, в современной спецификации, используется совершенно в иных условиях.
Та же история, была и есть с термином Lexical Environment.
Продиктовано это тем, что на момент 1997 года, не существовало в языке ни асинхронности, ни генераторов, ни много-поточности. И именно появлению этих возможностей, мы обязаны тем, что то, как работает язык - пришлось реформировать. А термины остались.
Ну как в физике про планетарную модель атома. Вы же знаете что электроны по орбитам атома не летают? То есть представление Атома в качестве планетарной модели - не отражает дейтсвительности. Тем не менее термин сохранился и до сих пор представлен в виде логотипа МАГАТЭ.
https://www.youtube.com/watch?v=LxHdzGDazXg
Формируя главу о том, как исполняется код в JavaScript, мне потребовалось перевести часть спецификации 1997 года, о чем я и попросил чат GPT.
С переводом он справился прекрасно, после чего он предложил мне пояснить суть процесса, а именно что такое Execution Context. Я написал да.
Чат GPT мне рассказал как работает JavaScript на основании спецификации 1997 года. Только вот он сказал что так работает современный JavaScript.
Проблема в том, что в современной спецификации как термин Execution Context, так и сам процесс исполнения кода, в сравнении с первой версией спецификации - отличается как эскимос от папуаса.
Не тем как он эволюционировал, но архитектурно - то есть он совсем другой, он работает принципиально иначе. Как и термин Execution Context, в современной спецификации, используется совершенно в иных условиях.
Та же история, была и есть с термином Lexical Environment.
Продиктовано это тем, что на момент 1997 года, не существовало в языке ни асинхронности, ни генераторов, ни много-поточности. И именно появлению этих возможностей, мы обязаны тем, что то, как работает язык - пришлось реформировать. А термины остались.
Ну как в физике про планетарную модель атома. Вы же знаете что электроны по орбитам атома не летают? То есть представление Атома в качестве планетарной модели - не отражает дейтсвительности. Тем не менее термин сохранился и до сих пор представлен в виде логотипа МАГАТЭ.
https://www.youtube.com/watch?v=LxHdzGDazXg
YouTube
Собачье сердце - не читайте советских газет
Преображенский: А если вы заботитесь о своём пищеварении, мой добрый совет: не говорите за обедом о большевизме и медицине. И - боже вас сохрани - не читайте до обеда советских газет.
Борменталь: Гм... Да ведь других нет!
Преображенский: Вот никаких и не…
Борменталь: Гм... Да ведь других нет!
Преображенский: Вот никаких и не…
👍22❤13👀4🤯1
До сих пор сохранились люди, которые рассказывают о том, что существует отдельно JavaScript и отдельно ECMAScript. И что дескать JavaScript это реализация ECMAScript.
Я Вас очень прошу, отправляйте этим людям вот эту ссылку из официальной документации стандарта HTML5
Ибо заебали больного человека.
Я Вас очень прошу, отправляйте этим людям вот эту ссылку из официальной документации стандарта HTML5
The term "JavaScript" is used to refer to ECMA-262, rather than the official term ECMAScript, since the term JavaScript is more widely known.
Ибо заебали больного человека.
😁16🙏8❤4🕊2
В продолжение темы про GPT и его пояснений процессу.
Меня дико увлекло общение с ним по вопросам где, как мне казалось, я что-то понимаю.
В рамках этой темы, есть один вопрос на который я лично не знаю ответа:
Каким образом в спецификации HTML5 используется манипулирование Execution Context Stack если это машинерия не может быть доступна извне, так как является исключительным артефактом спецификации ECMA.
То есть - никто другой кроме самой ECMA спецификации оперировать этим не может, если не предоставлен некоторый внешний HOOK для реализации операцией с ней. (Например hook InitializeHostDefinedRealm формирует родительское окружение для исполнение JS кода)
При этом, ни одного хука для работы с Execution context stack в спецификации нет. И тем не менее в спецификации HTML5 есть прямое оперирование Execution Context Stack-ом.
Перечитав тонны документации и не найдя даже намека на ответ, я решил спросить GPT. На что он мне ответил -
После чего добавил:
Я сказал да.
И он мне выдал ссылки на статьи, типа такой где человек ничтоже сумняшися переводит спецификацию 1997 года, заявляя что так это работает. Что совершенно неверно в рамках современной спецификации.
Я в диком ахуе от того, как вообще кто-то может полагаться на этот(GPT) механизм, как на тот, который что-то может написать, что потом можно использовать в продакшине.
Меня дико увлекло общение с ним по вопросам где, как мне казалось, я что-то понимаю.
В рамках этой темы, есть один вопрос на который я лично не знаю ответа:
Каким образом в спецификации HTML5 используется манипулирование Execution Context Stack если это машинерия не может быть доступна извне, так как является исключительным артефактом спецификации ECMA.
То есть - никто другой кроме самой ECMA спецификации оперировать этим не может, если не предоставлен некоторый внешний HOOK для реализации операцией с ней. (Например hook InitializeHostDefinedRealm формирует родительское окружение для исполнение JS кода)
При этом, ни одного хука для работы с Execution context stack в спецификации нет. И тем не менее в спецификации HTML5 есть прямое оперирование Execution Context Stack-ом.
Перечитав тонны документации и не найдя даже намека на ответ, я решил спросить GPT. На что он мне ответил -
Хотя спецификация HTML требует от хоста выполнить шаг "push onto the JavaScript execution context stack", на практике это означает, что хост должен инициировать выполнение скрипта, а движок JavaScript сам управляет своим внутренним стеком контекстов выполнения.
Это не противоречие, а разрыв интерфейса между спецификациями.
После чего добавил:
Если тебе интересно, я могу предоставить конкретные ссылки на обсуждения или исходный код, где реализуется этот процесс.
Я сказал да.
И он мне выдал ссылки на статьи, типа такой где человек ничтоже сумняшися переводит спецификацию 1997 года, заявляя что так это работает. Что совершенно неверно в рамках современной спецификации.
Я в диком ахуе от того, как вообще кто-то может полагаться на этот(GPT) механизм, как на тот, который что-то может написать, что потом можно использовать в продакшине.
DEV Community
JavaScript Execution Context Explained
Understanding the execution context is fundamental to grasping how JavaScript code runs. It dictates...
🤣9👍8💯4🔥2😁1
Как вы думаете, есть ли разница между
и
Обратите внимание на то, что theIndex в первом случае связан с BigInt. В то время как во втором случае он связан с Number.
var theArray = [ "odin" , "dva" , "tri" ];
var theIndex = 1n;
console.log ( theArray [ theIndex ] );
и
var theArray = [ "odin" , "dva" , "tri" ];
var theIndex = 1;
console.log ( theArray [ theIndex ] );
Обратите внимание на то, что theIndex в первом случае связан с BigInt. В то время как во втором случае он связан с Number.
❤1
Есть ли разница в адресации Array между Bigint и Nubmer? Смотри пример выше
Anonymous Quiz
23%
Да
24%
Нет
23%
Тут есть ньюансы
31%
Я упырь
❤1
Гимн всея JS программирования:
I am a dev and I'm pushing to prod
Script-y script-y god, script-y script-y god
I am a dev and I'm pushing to prod
Script-y script-y god, pushing to prod
I am a dev and I'm writing a code
Writing writing code, writing writing code,
I am a dev and I'm writing code
writing code, then pushing to prod
https://www.youtube.com/watch?v=ytWz0qVvBZ0
I am a dev and I'm pushing to prod
Script-y script-y god, script-y script-y god
I am a dev and I'm pushing to prod
Script-y script-y god, pushing to prod
I am a dev and I'm writing a code
Writing writing code, writing writing code,
I am a dev and I'm writing code
writing code, then pushing to prod
https://www.youtube.com/watch?v=ytWz0qVvBZ0
YouTube
♪ Diggy Diggy Hole
♪ Out now on iTunes: http://apple.co/2uVgfmL
♪ Amazon UK: http://bit.ly/DiggyAmazonUK
♪ Amazon US: http://bit.ly/DiggyAmazonUS
Animation by Ciaran: http://www.youtube.com/user/Ceeraanoo
Storyboards and art direction by Adam Davis: https://twitter.com/adamladavis…
♪ Amazon UK: http://bit.ly/DiggyAmazonUK
♪ Amazon US: http://bit.ly/DiggyAmazonUS
Animation by Ciaran: http://www.youtube.com/user/Ceeraanoo
Storyboards and art direction by Adam Davis: https://twitter.com/adamladavis…
👍7🙏2❤1
#муризмы
Разница между программистом и программой в том, что у масштабирования программы предел есть, а у программистов никаких пределов нет. Не приостановленные они.
Или
Разница между программистом и программой в том, что программа масштабируется, а программист нет.
Разница между программистом и программой в том, что у масштабирования программы предел есть, а у программистов никаких пределов нет. Не приостановленные они.
Или
Разница между программистом и программой в том, что программа масштабируется, а программист нет.
😁19🤯4💯3❤1
в 2011 году, в крыму, мы рассуждали о том, какой текст будет самым привлекательным в веб...
єтот ржач родил формулу: красное, жирное, наклоненное, подчеркнутое.
а теперь посмотрите на текущее евровидиние.
обнимаю и люблю всех с кем я был в те годы
єтот ржач родил формулу: красное, жирное, наклоненное, подчеркнутое.
а теперь посмотрите на текущее евровидиние.
обнимаю и люблю всех с кем я был в те годы
😁15❤1
Знаете как найти настоящего харковчанина?
спросите у него что такое тремпель и дєберц.
климов подвердит.
спросите у него что такое тремпель и дєберц.
климов подвердит.
👍16😁8❤1
(
()=>{
"use strict";
var doAddToFive = (
(theAddends) => {
return 5
++theAddends;
}
);
console.log( doAddToFive(1), doAddToFive("2") );
}
)();
❤1
👍10❤1
А Вы заметили,
что, если, одно и тоже задание, публиковать несколько раз подряд, то, в то время когда,
количество неправильных ответов - сокращается, количество упырей - увеличивается?
знание - это упырь.
что, если, одно и тоже задание, публиковать несколько раз подряд, то, в то время когда,
количество неправильных ответов - сокращается, количество упырей - увеличивается?
знание - это упырь.
😁31🤣13❤4🔥1
Завтра, в пятницу - стрим до последнего вопроса
Завтра, в пятницу (19-00 по Киеву) , я запланировал большой стрим, потому как мне нужны срочно деньги.
Вопрос, какие нужны вам/там темы?
Например:
1) есть ли области видимости в JS
2) что такое асинхронность в JS
3) имеет ли отношение CallStack к JS
4) Генераторы как способ решения задач с рекурсией без получение сообщение об ошибки про CallStack
5) SharedArrayBuffer
6) любой другой ваш
Вопросы с донатом получают/имеют наивысший приоритет.
То, кто донатил ранее - имеют наивысший приоритет.
Писать вопросы можно сюда,
или шлите их с донатом на:
Карта Приват (Bobrov Maksym):
5168745021397333
Карта Mono (Вієр):
4441111136675646
USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH
bitcoin:
bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743
PayPal: demimurych@protonmail.com
Boosty: https://boosty.to/asforjs
ссылка на будущий стрим
Завтра, в пятницу (19-00 по Киеву) , я запланировал большой стрим, потому как мне нужны срочно деньги.
Вопрос, какие нужны вам/там темы?
Например:
1) есть ли области видимости в JS
2) что такое асинхронность в JS
3) имеет ли отношение CallStack к JS
4) Генераторы как способ решения задач с рекурсией без получение сообщение об ошибки про CallStack
5) SharedArrayBuffer
6) любой другой ваш
Вопросы с донатом получают/имеют наивысший приоритет.
То, кто донатил ранее - имеют наивысший приоритет.
Писать вопросы можно сюда,
или шлите их с донатом на:
Карта Приват (Bobrov Maksym):
5168745021397333
Карта Mono (Вієр):
4441111136675646
USDT Tron (TRC20): TKoZu59WHiX6L6qvwYTYTsZJerDrnAHBTx
USDT etherium (erc20): 0x75fb8a62dfcf453b2e73f1ef1c407d46f918fffa
TON: UQAGXvuhxg3qU0eFgOxtdDlKXqdp1zPq6yCRSRbRYQClxOzH
bitcoin:
bc1q74aru82v4d3alay7p53jdwkmxe4a5gz7fmvfm2?message=AsForJS&time=1686349743
PayPal: demimurych@protonmail.com
Boosty: https://boosty.to/asforjs
ссылка на будущий стрим
👍22❤12
JavaScript - это уникальное явление, где программист может существовать сразу в трех реальностях:
Первая - это то, что программист думает про свой код.
Вторая - это то, что про свой код следует рассказать на собеседовании.
И третья - это то, как этот код работает на самом деле.
И вопреки всей этой регулярной шизофрении - сам код возвращает ожидаемый результат.
Первая - это то, что программист думает про свой код.
Вторая - это то, что про свой код следует рассказать на собеседовании.
И третья - это то, как этот код работает на самом деле.
И вопреки всей этой регулярной шизофрении - сам код возвращает ожидаемый результат.
👍31😁16❤🔥3🤣3🕊2💯2💔1
Сегодня, пятница, 21-00 по Киеву
UPD1: Обратите внимание, начало сместилось на 2 часа:
было 19-00 стало 21-00
https://www.youtube.com/watch?v=r4fhata7xe0
UPD1: Обратите внимание, начало сместилось на 2 часа:
было 19-00 стало 21-00
https://www.youtube.com/watch?v=r4fhata7xe0
YouTube
Ответы на JavaScript вопросы любой сложности
Отвечаю на вопросы любой сложности о языке программирования JavaScript:
1) что работает быстрее
2) почему это работает так, а не иначе
3) как это работает на уровне машинного кода
4) как оценить производительность
5) как найти проблему в производительности…
1) что работает быстрее
2) почему это работает так, а не иначе
3) как это работает на уровне машинного кода
4) как оценить производительность
5) как найти проблему в производительности…
🔥22❤2