Другие языки программирования и технологии

Что такое Программирование?

Объясните мне что такое Программирование и как это работает? Объясните несколькими подходами. Объясните простым языком, как ребёнку. Самую базу. И зачем нужны языки? Мне нужно иметь представление о том, как всё происходит.
Я сначала скажу много сложных слов, а потом ты увидишь, насколько все просто, хорошо?

Программирование - это формализация задач до уровня, необходимого для их решения при помощи вычислительных машин.

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

Допустим, ты решил узнать у компьютера, сколько будет 2+2. Ты не можешь у него об этом просто спросить - он тебя не поймет (на самом деле, в современном мире можно и спросить, и он поймет, и даже ответит, но это просто ОЧЕНЬ сложное программирование - см. ремарку про поведение выше). Тебе для начала нужно как-то ему объяснить, что тебе нужно. Поскольку компьютер оперирует только очень ограниченным количеством "понятий", тебе сначала нужно перевести твою просьбу на язык этих самых понятий, то есть формализовать твою задачу до уровня, "понятного" вычислительной машине. Примерно так:

1. Загрузить число 2 в аккумулятор
2. Загрузить число 2 в регистр Б
3. Выполнить сложение аккумулятора и регистра Б
4. Остановиться и показать содержимое аккумулятора.

Вот составление списка вышеуказанных действий - это и есть самая основа программирования: формализация задачи, составление лагоритма. А языки программирования - это СРЕДСТВА РЕАЛИЗАЦИИ алгоритмов. Т. е. набор таких конструкций, введение которых в память компьютера и запуск их на исполнение приведут к выполнению алгоритма. Тот или иной язык программирования может в большей или меньшей степени подходить для решения той или иной задачи, но повторюсь, это всего лишь средство реализации, а программирование заключается в составлении абстрактных алгоритмов. Например, вышеуказанная задача может быть записана так:

mov al, 2
mov bl, 2
add bl
hlt

Или так:

SELECT 2+2 FROM DUAL

Или же как-нибудь с виду очень сложно:

class Program
{
const int a = 2;
const int b = 2;
static void Main(string[] args)
{
Console.WriteLine(a+b);
}
}

Суть (алгоритм) от этого совершенно не меняется, несмотря на столь разные средства реализации.

Вот примерно так.
ВК
Виталя Качин
51 459
Лучший ответ
Ербол Каукар Спасибо, вас я наверное и ждал.
Разовор с компьютером. Всё просто и понятно
Программирование - это описание необходимых действий компа на определённом языке. И всё. Ничего более.
Это невозможно толком объяснить одним ответом. Если хочется понять, как это всё работает, учите информатику)

А чтобы научиться писать простые программы на высокоуровневых языках, для этого вовсе не обязательно в мельчайших подробностях знать, что там происходит внутри.
Абай Смаилов
Абай Смаилов
62 360
Aimer _ Информатика - слишком широко. Многие её части никакого отношения к программированию не имеют. Тем более что есть еще "школьная информатика", которую тоже иногда называют просто информатикой.
Если ребёнок грамотный, то сам может прочитать о том, что такое ЭВМ, зачем нужно компьютерное программирование и как работают программы в компьютере. А если не поймёт, пусть читает литературу или отдельные статейки в Интернете, доступные для его возраста, до тех пор, пока всё, что его интересует не прояснится в степени, достаточной для понимания (это, кстати, один из основных алгоритмических подходов, а именно - итерационный цикл !).
А лекции Вам тут читать никто не должен...
Алекс Ви
Алекс Ви
28 648
Ербол Каукар Я задал вопрос, на этом сайте нужно задавать вопросы. А вы не были обязаны отвечать. И от такого ответа мне легче не стало.
Программирование - составление алгоритмов на языке компьютера. Работает - это сложный вопрос... Это связано напрямую с устройством компьютера. Разные языки предназначены для разных задач. По сути есть оди важный язык - язык ассемблера. Если я буду обьяснять команды ассемблера, мне предется описывать устройство процессора, лучше сам загугли. Дело в том что все языки (возможно не все, я не специалист) в конце-концов представляются командами ассемблера, а потом всё переводится в двоичный код. Так зачем же тогда нужны все эти языки, если всё можно написать на ассемблере? Дело в том, что ассемблер - низкоуравневый язык и на нем сложно писать и есть другая причина, на мне лень писать. Ну короче, языки предназначены для разных задач и разных ос.
C# Java js
\ | /
assembler
|
двоичный код
|
железо компьютера
не уверен, что тебе стало понятнее, но ладно. Сеперэксперты поправте, если я что-то написал неправильно.
Бахтияр Олжагулов если хочешь, могу научить чему-нибудь