Правильно ли я понимаю суть программирования? Являюсь новичком, изучающим программирование методом сравнительного изучения языков программирования, используемых в интересующей меня предметной области — Web dev'е. Делаю я это для того, чтобы изучить несколько языков, а конкретнее — их общие функциональные свойства, элементы и приёмы кодирования, путём создания с их помощью одних и тех же программ, чтобы уверенно себя чувствовать перед тем, как пытаться строить карьеру в предметной области.Хочу узнать, правильно ли я понимаю сам процесс, саму суть программирования, и вот как я его вижу: Программирование — умение кодировать алгоритмы, предназначенные для исполнения процессором, на языке, синтаксис которого, в конечном счёте - после стадий трансляции символьных масок в последовательность электрических сигналов, предназначен для понимания процессором. В результате кодирования алгоритма/ов получается компьютерная программа. В алгоритмах необходимо грамотно использовать типы и структуры данных, в соответствии с тем, как они кодируются в памяти и интерпретируются процессором. Формат интерпретации данных и их кодирование в памяти, а также список команд, которые способен исполнить процессор, предопределены производителем CPU и описаны в Instruction Set Architecture процессора? Вот ещё волнует вопрос: именно ISA определяет то, как закодированы данные в памяти или она определяет только то, как эти данные интерпретируются процессором? Если не ISA определяет кодирование данных, то что? Вот ещё один волнительный вопрос: если программирование начиналось с мучительного прямого введения последовательностей бинарных электрических сигналов в машину на интерпретацию, то как был создан первый первый интерпретатор именно текстовой программы?
В целом, ваше понимание сути программирования верное. Программирование действительно заключается в создании алгоритмов, которые переводятся в код на языке программирования для выполнения компьютером. Кодирование данных и их интерпретация процессором зависят от ISA, которая определяет набор инструкций, доступных процессору для выполнения операций.
ISA определяет, какие операции и инструкции может выполнять процессор, как данные интерпретируются и обрабатываются. Однако формат кодирования данных в памяти обычно зависит от аппаратных особенностей и архитектуры конкретной системы, а не только от ISA.
Что касается создания первого интерпретатора текстовой программы, это действительно интересный вопрос. Исторически, первые компьютеры были программированы непосредственно с помощью бинарного кода, который требовал прямого ввода в машину. Однако с развитием компьютеров и появлением языков программирования высокого уровня, были разработаны первые ассемблеры и интерпретаторы, которые позволили более удобный способ написания и выполнения программ. Возможно, первые интерпретаторы были созданы путем написания низкоуровневого кода, который мог бы быть выполнен процессором для интерпретации текстовых команд.
В целом, ваше понимание сути программирования верное. Программирование действительно заключается в создании алгоритмов, которые переводятся в код на языке программирования для выполнения компьютером. Кодирование данных и их интерпретация процессором зависят от ISA, которая определяет набор инструкций, доступных процессору для выполнения операций.
ISA определяет, какие операции и инструкции может выполнять процессор, как данные интерпретируются и обрабатываются. Однако формат кодирования данных в памяти обычно зависит от аппаратных особенностей и архитектуры конкретной системы, а не только от ISA.
Что касается создания первого интерпретатора текстовой программы, это действительно интересный вопрос. Исторически, первые компьютеры были программированы непосредственно с помощью бинарного кода, который требовал прямого ввода в машину. Однако с развитием компьютеров и появлением языков программирования высокого уровня, были разработаны первые ассемблеры и интерпретаторы, которые позволили более удобный способ написания и выполнения программ. Возможно, первые интерпретаторы были созданы путем написания низкоуровневого кода, который мог бы быть выполнен процессором для интерпретации текстовых команд.