Что такое программирование: как символы превращаются в сайты и программы, чем различаются языки?

ТехнологииИнтернет+3
Сандо Сандо
  · 20,5 K
ОтветитьУточнить
Naeel Maqsudov
Топ-автор
7,9K
IT, телеком, телефония, базы данных, интеграционные решения, естествознание, образование  · 25 нояб 2016

Всё проще чем может показаться на первый взгляд. Подумайте, например, как поваренная книга превращается в еду? Есть рецепт (программа), есть повар (исполнитель), еще есть продукты и кухонная утварь (вычислительные ресурсы, файлы с данными, различные электронные устройства для модификации данных и т.д.). Как повар делает всего этого некое блюдо по рецепту понятно даже ребёнку.

Конечно любая аналогия ущербна: повар — исполнитель творческий, а компьютер — очень формальный, он следует "рецепту" буквально и чрезвычайно точно, и вместе с этим он никогда не делает ничего кроме рецепта. Т.е. обратите внимание, (!) вопреки постановке вопроса символы (символы программы) не превращаются «в сайты» и прочие результаты работы. Программа — это только "рецепт", по которому, например, введённые вами логин и пароль превращаются в запись в таблице — то есть в вашу учётную запись. Или, как точки высвеченные на светочувствительной матрице фотоаппарата (в цифровом фотоаппарате тоже работают программы) превращаются в графический файл на флешке... Не хочу уходить в бесконечные примеры, но всё «волшебство» заключается с одной стороны в исполнителе программы, а с другой стороны, в том, кто эту программу написал так, что она абсолютна понятна исполнителю, и в результате работы последнего получается не то что хочет исполнитель, а то что задумал программист. (В этом мире исполнитель собственной волей не обладает. Всё скучно.)

На практике всё немного усложняется тем, что программы чаще (не всегда) пишутся не на том языке, который понятен исполнителю. Но есть автоматизированный переводчик (компилятор), который осуществляет перевод программ из красивого текста, где слова выстроены ровными лесенками, в набор цифр. Ну представьте себе, если бы сочинялись рецепты на русском, а повара были бы, например, французами. Т.е. программисту чаще всего не нужно знать условного "французского" (инструкций микропроцессора), чтобы тем не менее программировать его работу. Чаще всего программист использует «языки высокого уровня», где формулировки команд приближены к решаемым прикладным задачам.

Чем же отличаются разные языки программирования? Зачем их нужно много? Опять прибегну к той же аналогии. По поваренной книге не сшить платья, а по лекалам и выкройкам не сварить каши (в прямом смысле этого слова). В поваренной книге в принципе не может быть таких слов и символов, чтобы руководствуясь ею сшить платье. Причём обратите внимание, что и повар и швея могут оказаться одним и тем же человеком. Аналогично на одном компьютере вы можете играть в игру, которая была написана на одном языке, и считать что-то на калькуляторе, который написан на другом языке.

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

2,5 K
Комментировать ответ…Комментировать…

Если на пальцах, то компьютер это иностранец понимающий свой язык, программа его язык, а программист переводчик с человеческого на компьютерный

Комментировать ответ…Комментировать…
Основательница и директор компании Кодабра  · 1 нояб 2018
Программированием называется процесс создания компьютерных программ. Таким образом мы можем дать понять компьютеру, чего хотим от него. Язык, который понимает компьютер, называется машинным кодом. Изначально на нем и писались программы, но для удобства стали придумывать различные языки программирования. Для перевода написанного нами кода в машинный создали специальные... Читать далее
202

HTML - язык разметки страниц

Комментировать ответ…Комментировать…
Профессиональный студент-недотехнарь  · 8 дек 2018

Хочу внести поправочку... То что вы видите на сайте, это на самом деле, вероятнее всего никто не компилировал, так как весь дизайн пишется на НЕ КОМПИЛИРУЕМЫХ языках. Просто сервер даёт браузеру код, а он в свою очередь просто визуализирует написанное программистом(фронтенд разработчиком). А компилируется код для программ, приложений игр...

116
Комментировать ответ…Комментировать…
Software & System Engineer, master student, guitar player  · 2 дек 2018
Языки программирования -- абстракция различных уровней глубины над машинным кодом, в примерной иерархии: assembler -> C/C++ -> Java/C# -> etc. Созданы для урощения на порядки разработки различного рода ПО. Чем более близкими к "железу" вещами оперирует программа, тем более низкоуровневый ЯП используется. Такжы выбор языка обусловлен технологическим стеком инфраструктуры/... Читать далее
102
Комментировать ответ…Комментировать…
В постнаполеоновское время, в Германии, в маленьком городке Гейльброн жил да был Юлиус Роберт Майер (1814-1878). Простой молодой человек, не дворянин, мечтавший о карьере врача, оказался на редкость внимательным и сообразительным, имея чрезвычайно цепкий аналитический ум. С детства он увлекался различными науками, мечтал объехать весь мир. В 1841 году, устроившись... Читать далее
Комментировать ответ…Комментировать…
Программист, разработчик ПО.  · 24 нояб 2016
Довольно сложный процесс. Код, написанный в более-менее понятной человеку (программисту, в частности) форме с помощью трансляторов (компиляторы, интерпретаторы и т.д.) переводится в набор инструкций промежуточного языка (как правило), а затем - в малопонятный человеку бинарный код. Если вы попытаетесь открыть в каком-нибудь текстовом редакторе запускаемый файл (а это и... Читать далее
Комментировать ответ…Комментировать…
Вы знаете ответ на этот вопрос?
Поделитесь своим опытом и знаниями
Войти и ответить на вопрос