====== Введение ====== Прежде чем начать изучать язык Javascript, давайте определимся, что такое программирование и зачем оно нужно. Вне зависимости от того, делаете ли вы робота, беспилотный дрон, пишите драйвер или сложное банковское программное обеспечение - у вас есть конечный результат, который вы хотите получить: автоматизировать какой-то процесс, обеспечить полет, реализовать взаимодейстие других программ с устройством, вести учет денежных потоков. При этом процессор - железка глупая. Она умеет только получать данные, сохранять их, передавать, сравнивать и выполнять над ними какие-то математические и логические операции. И задача программиста состоит именно в том, чтобы алгоритм получения конечного результата разбить на такую последовательность элементарных задач, которую умеет выполнять процессор. В мире существует большое количество языков программирования. Их появление обусловлено как ростом быстродействия процессоров, так и задачами, для решения которых они создавались. Так Ассемблер - язык программирования низкого уровня. Он транслируется в машинные коды, которые исполняет процессор. Используя его, программист может быть уверен, что каждый такт процессора и каждый байт памяти - не будут потрачены в пустую. Однако у него есть и обратная сторона - на нем практически невозможно писать большие программа из-за сложности запоминания алгоритмов. Так же требуется досконально знать специфику работы процессора. Для решения этих проблем - был разработан язык C. Программы, написанные на нем, уже не требовали таких подробных знаний работы процессора и исходный код занимает значительно меньше места, что позволило писать очень большие проекты. Однако и C требовал знаний специфики распределения памяти и работы с аппаратными ресурсами, хоть и в значительно меньшей степени, нежели Ассемблер. Со временем появились так называемые интерпретируемые языки. Это языки, которые не преобразуются в машинный код, а исполняются специальной программой - интерпретатором, которую выполняет процессор. Подобные языки не позволяют работать с аппаратными ресурсами на прямую, что сказывается на их производительности. Но у них есть неоспоримый плюс - программист может больше уделять внимания и времени логике приложения, а не управлению ресурсами. Одним из таких языков является Javascript.