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

Языки програмирования, и машинный код.

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

Современные языки программирования самому программированию не учат - учат лишь применению набора функций, процессов. Что там делается "внутри" никто уже не знает. Это не программирование, а "строительство из кубиков" )))
Вот как написать программу "работа строителя" на языке высокого уровня?
- рабочий берет кирпич
- рабочий поднимается на 2-й этаж
- рабочий кладет кирпич.... и т. д.
НО! Функция "оглянись перед лестницей" тут априори не предусмотрена и никак этого не исправить! В случае если там будет люк, рабочий в него упадет.
Обязательно. )))
А как эту же программу написать на языке среднего уровня (С, С++)?
- рабочий подходит к определенному месту
- рабочий наклоняется
- рабочий обхватывает руками кирпич... и т. д. (тут уже можно будет оглянуться) )))

На языке же низкого уровня (Ассемблер)... кхм... извини, но тебе придется описывать ВСЁ это, указывая когда и как рабочему сократить каждую мышцу... Зато простор действий неограничен. ВООБЩЕ И НИЧЕМ!
Машинный же язык еще должен обеспечить полную адресацию, указатели, линкование и т. д., и т. п.

Ну и? На каком языке писать проще?
Алеша Чевычелов
Алеша Чевычелов
50 730
Лучший ответ
У каждой процессорной архитектуры свой машинный код. Машинный код ARM (твой смартфон) не имеет ничего общего с машинным кодом AMD/Intel (твой ноутбук / настольный компьютер).

И даже один процессор может иметь несколько разных наборов машинных кодов. Тот же AMD/Intel имеет сразу 3 разных системы команд: 16-битная (MS-DOS), 32-битная (Windows/32), 64-битная (Windows/64).

И для каждой системы команд пришлось бы руками писать свой отдельный код программы.

Кроме того, разные языки высокого уровня предназначены для решения разных задач. Python предназначен для того, чтобы непрограммист мог быстренько что-то наговнокодить, PHP - для написания back-end сайтов и web-приложений, C - для написания операционных систем и т. д. И любую задачу многократно удобнее решать на том языке, который предназначен для решения таких задач.
Да, дело в удобстве, которое сильно повышает скорость разработки
Машинное время стоит в разы дешевле времени работы программиста
Ну не совсем машинный код один. Если ты возьмёшь процессор для компьютера (x86-64) и какой-нибудь процессор для смартфона или новомодный М1 (ARM), то ты увидишь, что у них разные машинные коды. Впрочем это твой вопрос не отменяет.
Вообще разные языки заточены под разное применение. Питон например простой, но он сильно уступает в производительности другим языкам. Си сложнее в написании, но он на порядок производительнее. Есть Java, которая работает через виртуальную машину - это позволяет довольно легко переносить программу между платформами.
В удобстве и направленности под разные задачи.
Криминал Бой
Криминал Бой
19 215
Возьмите любой процессор и посмотрите его команды, вы увидите что они разные (а это асемблер, ниже только кодирования на 0 и 1, и то они будут отличатся). Для упрощения написания программ были были придуманы Высокого уровня языки. Только одна беда, стандартизации не было, и каждая фирма делал свой язык программирования который нужен был для их продукта. На данный момент каждый язык программирования рассчитан на свою область применения, и у каждого есть куча библиотек, компилятор для определённых задач. (Это прям очень простыми словами в жатом виде)
Яков Денавс
Яков Денавс
3 126
Александр Т Теперь ясно. Общего ГОСТа в программировании нет, и каждый делает свои размеры, и диаметры болтиков, гаек, шаеб, труб и тд. Каждый язык может построить свой завод ни чем не отличающиемся от другого языка но вот гаечные ключи, клемники, габариты оборудования не смогут заменить друга? Без различных переходников (драйверов и тд.)
Так?
нет, не один, на разные процессоры код может отличаться
Александр Т Вот есть же популярный язык JAVA. Его используют на смартфонах, и на компьютерной технике. Язык один а разные процессоры его понимают же. Или там разные совсем программы просто общее название имеет?