@Yonghwa
121

Как работают языки программирования?

Услышал фразу - "Многие программисты не понимают, почему вызов функции в javaScript замедляет работу.Человек может зазубрить, что вызов функци просто тормозит имплэментейшен и все, но не будет понимать "почему"? ".
Где о таких вот тонкостях можно почитать или узнать?
  • Вопрос задан
  • 1666 просмотров
Решения вопроса 2
Я бы предложил Вам изучить (на это уйдет не более двух недель) в следующем порядке :
1) основы ассемблера (вполне достаточно x86)
2) основы компиляции в ассемблер с языков C или Pascal (вычисление выражений, стековый кадр, пролог/эпилог и т.д.)
3) специфику компиляции объектно-ориентированных языков

Если захочется глубже и шире, то
4) основы байт-кода JVM или .NET и его интерпретацию
5) JIT-компиляцию
Ответ написан
Комментировать
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Когда возникает вопрос "почему" то лезут в глубины интерпретатора и смотрят "как"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 5
uvelichitel
@uvelichitel
habrahabr.ru/users/uvelichitel
SICP
Ответ написан
Комментировать
slinkinone
@slinkinone
Агент "Везде успеть"
Был уже дан ответ относительно ASM - действительно, лучше ничего нельзя посоветовать. Вот отличный ресурс:
asmworld.ru

А если коротко, то представть что весь код разнесен по листу памяти. При вызове функции мы знаем адрес, по которому функция расположена. Что делает процессор, он сохраняет все флаги, затем сохраняет основные регистры, и добавляет в стек адрес возврата (чтобы потом вернуться обратно), данные (так практичнее всего), которые являются параметрами для вызываемой функции и только потом осуществляет переход.
Ответ написан
Комментировать
saboteur_kiev
@saboteur_kiev Куратор тега Программирование
software engineer
Почитайте основы архитектуры современных вычислительных устройств.
Как работает процессор.
Что такое тактовая частота и как быстро выполняются команды процессора.
Что такое ассемблер.

И в голове сложится очень упрощенная, но структура.
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Здравый смысл - наше все! Всякий код выполняется какое-то ненулевое время.
Ответ написан
Комментировать
@ollisso
Вообще сложный вопрос "откуда эта информация".
Для меня эта информация из разряда "а почему птицы летают" - т.е. само собой разумеется :)

Вообще, если искать информацию, то информацию подобного типа стоит искать из фундаментальных книг по строению компьютеров, программм, компиляторов и тп.
Так же, что происходит при переходе внутрь функции - идёт вызов функции, передача данных в функцию и тп.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы