SYSBLOK Telegram 1111
Языки программирования vs естественный язык: сходства и отличия

Почему Python, Java и даже C++ гораздо ближе к естественным языкам, чем принято считать? Чем языки программирования отличаются от машинного кода, который на самом деле исполняет процессор? Какие языки программирования особенно близки к человеку? Разбираемся с Борисом Ореховым, который написал об этом пост и записал видеоролик 🎞

Что происходит под капотом компьютера?

Компьютеры не думают на языках программирования. Все вычислительные операции происходят с помощью очень формализованных инструкций процессора, которые называются машинным кодом. Выглядит это, например, так:

BB 11 01 B9 0D 00 B4 0E 8A

Эти коды заставляют процессор выполнять арифметические операции — взять число, прибавить к нему другое, умножить число и т.п. Обычный пользователь не знает или быстро забывает об этом: если на экране открыт мессенджер или текстовый редактор, мы считаем, что работаем с текстом, а не с числами. Но процессор в конечном счете всегда оперирует числами, даже когда вы смотрите видео с Борисом Ореховым на ютубе 🙂

Что же такое языки программирования?

Языки программирования придуманы, чтобы обобщать куски машинного кода в инструкции, которыми может оперировать человек. То есть сделаны людьми и для людей. В языках программирования, в отличие от машинного кода, есть слова — обычно из английского (run, do, for, in, while…), хотя и не всегда. И уже под этими — понятными человеку — словами скрываются (через множество дополнительных прослоек) наборы команд машинного кода.

Какие языки программирования особенно близки к человеческим?

Языков программирования много и они все разные. Например, некоторые называются языками низкого уровня, а некоторые — высокого. Это не значит, что одни для крестьян, а другие для аристократов. За этим стоит самовлюбленное представление человека о том, что он находится наверху пищевой цепи, а компьютер — внизу. Если язык в этой схеме ближе к компьютеру, ориентируется на схемы описания задачи по-компьютерному, требует детализации каждого шага — откуда взять число, как его сложить с другим числом, то такой язык внизу, низкого уровня. А если язык ориентирован на человека, не закапывается в мелочах, и человек с помощью этого языка может просто написать что-то вроде «сделай мне красиво, а как ты это сделаешь, меня не волнует», то язык этот — высокого уровня. Типичный пример — Python, о котором часто говорят, что с его помощью можно «программировать на английском», настолько он близок к естественному языку (но, конечно, только на фоне других языков программирования).

В чем сходства языков программирования с естественными?

В языках программирования тоже есть аналог слов, причем это не только имена переменных, это и операторы, и числа. Плюс, больше или равно — тоже слова. В языках обоих типов есть грамматика, правила соединения слов вместе. Языки программирования, как и естественные языки, нужны для коммуникации, в которой участвует человек.

А в чем отличия?

Естественные языки универсальны: на них можно высказываться о мире, описывать несуществующие вещи, создавать совершенно новые фантастические миры, говорить о психологии, религии, философии и т.п. Языки программирования гораздо более узкие и приземленные: все, что на них можно сказать, должно в итоге быть конвертируемо в команды машинного кода процессора, ведь они имеют конкретную цель — отдавать приказы компьютеру. Несмотря на это, отдельные люди пытаются применять языки программирования для литературного творчества, например, писали на них стихи.

Подробнее читайте в
блоге Бориса Орехова или смотрите его видео

🤖 «Системный Блокъ» @sysblok
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/sysblok/1111
Create:
Last Update:

Языки программирования vs естественный язык: сходства и отличия

Почему Python, Java и даже C++ гораздо ближе к естественным языкам, чем принято считать? Чем языки программирования отличаются от машинного кода, который на самом деле исполняет процессор? Какие языки программирования особенно близки к человеку? Разбираемся с Борисом Ореховым, который написал об этом пост и записал видеоролик 🎞

Что происходит под капотом компьютера?

Компьютеры не думают на языках программирования. Все вычислительные операции происходят с помощью очень формализованных инструкций процессора, которые называются машинным кодом. Выглядит это, например, так:

BB 11 01 B9 0D 00 B4 0E 8A

Эти коды заставляют процессор выполнять арифметические операции — взять число, прибавить к нему другое, умножить число и т.п. Обычный пользователь не знает или быстро забывает об этом: если на экране открыт мессенджер или текстовый редактор, мы считаем, что работаем с текстом, а не с числами. Но процессор в конечном счете всегда оперирует числами, даже когда вы смотрите видео с Борисом Ореховым на ютубе 🙂

Что же такое языки программирования?

Языки программирования придуманы, чтобы обобщать куски машинного кода в инструкции, которыми может оперировать человек. То есть сделаны людьми и для людей. В языках программирования, в отличие от машинного кода, есть слова — обычно из английского (run, do, for, in, while…), хотя и не всегда. И уже под этими — понятными человеку — словами скрываются (через множество дополнительных прослоек) наборы команд машинного кода.

Какие языки программирования особенно близки к человеческим?

Языков программирования много и они все разные. Например, некоторые называются языками низкого уровня, а некоторые — высокого. Это не значит, что одни для крестьян, а другие для аристократов. За этим стоит самовлюбленное представление человека о том, что он находится наверху пищевой цепи, а компьютер — внизу. Если язык в этой схеме ближе к компьютеру, ориентируется на схемы описания задачи по-компьютерному, требует детализации каждого шага — откуда взять число, как его сложить с другим числом, то такой язык внизу, низкого уровня. А если язык ориентирован на человека, не закапывается в мелочах, и человек с помощью этого языка может просто написать что-то вроде «сделай мне красиво, а как ты это сделаешь, меня не волнует», то язык этот — высокого уровня. Типичный пример — Python, о котором часто говорят, что с его помощью можно «программировать на английском», настолько он близок к естественному языку (но, конечно, только на фоне других языков программирования).

В чем сходства языков программирования с естественными?

В языках программирования тоже есть аналог слов, причем это не только имена переменных, это и операторы, и числа. Плюс, больше или равно — тоже слова. В языках обоих типов есть грамматика, правила соединения слов вместе. Языки программирования, как и естественные языки, нужны для коммуникации, в которой участвует человек.

А в чем отличия?

Естественные языки универсальны: на них можно высказываться о мире, описывать несуществующие вещи, создавать совершенно новые фантастические миры, говорить о психологии, религии, философии и т.п. Языки программирования гораздо более узкие и приземленные: все, что на них можно сказать, должно в итоге быть конвертируемо в команды машинного кода процессора, ведь они имеют конкретную цель — отдавать приказы компьютеру. Несмотря на это, отдельные люди пытаются применять языки программирования для литературного творчества, например, писали на них стихи.

Подробнее читайте в
блоге Бориса Орехова или смотрите его видео

🤖 «Системный Блокъ» @sysblok

BY Системный Блокъ




Share with your friend now:
tgoop.com/sysblok/1111

View MORE
Open in Telegram


Telegram News

Date: |

2How to set up a Telegram channel? (A step-by-step tutorial) Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. To view your bio, click the Menu icon and select “View channel info.” Step-by-step tutorial on desktop: The optimal dimension of the avatar on Telegram is 512px by 512px, and it’s recommended to use PNG format to deliver an unpixelated avatar.
from us


Telegram Системный Блокъ
FROM American