|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2020, 05:45 | #1 |
Пользователь
Регистрация: 14.03.2019
Сообщений: 21
|
Зачем высокоуровневые языки?
Спецы точно разъяснят. Я действительно не понимаю. Зачем явы, питоны и т.п. если есть Си и С++ (высокоуровневые, но в сравнение с ассемблером). Ведь все переводится в машинные кода, так? Так почему же не писать все на этих языках, максимально компромиссных для машины и человека?
В Си нет работы со строками, но можно написать функции для работы с ними и пользоваться как дефолтной. И так со всем чего не хватает в Си/С++ - просто дополнять эти языки. Ведь все прочие перенасыщены фичами и работают медленнее. Объясните пожалуйста |
20.12.2020, 08:14 | #2 |
фрилансер
Форумчанин
Регистрация: 11.10.2019
Сообщений: 973
|
это высокоуровневые языки
при этом Си - наиболее близок к ассемблерному коду, а про С++ такого уже не скажешь, в нём много всякой обвязки добавляется компилятором без желания разработчика про остальные языки - у них свои цели и ниши. Одни языки учебные (ведь к Си/C++ на кривой козе не подъедешь), другие и вовсе даже функциональные, близкие к математике Насчёт "работают медленнее" - зависит от задачи. В большинстве случае разницу не заметишь |
20.12.2020, 15:04 | #3 |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,669
|
Добавят, но через 20-30-50 лет.
Благими намерениями устлана дорога на programmersforum.ru
|
20.12.2020, 15:06 | #4 |
Александр
Администратор
Регистрация: 28.10.2006
Сообщений: 17,522
|
А зачем Wordpress, библиотеки, Базы данных с SQL языком если есть
) |
20.12.2020, 18:33 | #5 | |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,310
|
На такой вопрос я бы ответил кратко так.
Есть естественный эволюционный процесс. В этом процессе участвуют и информационные технологии. Развитие ЭВМ породило потребность упростить программирование, сделать его доступным бОльшему числу людей. Так, на машинах типа IBM360 или PDP можно было писать и в кодах (сам писал). Там было более строгое деление команды на код операции о операнды. Всё было бы не плохо, если бы производили только один класс ЭВМ. Разные реализации ЭВМ потребовали создавать свой ассемблер, который нельзя было свести к одному. Появились языки программирования высокого уровня. С одной стороны эти языки оперировали более крупными блоками ассемблера (написать условный оператор, цикл или вызов функции на ассемблере или на ЯВУ). Другая их сторона - процесс переноса программы с ЭВМ одного типа на другой. В ЯВУ ассемблер был в виде подложки и код ЯВУ компилировался до уровня ассемблера этой ЭВМ. Алгол 60 и его ветка, Си. Возникла потребность обучать программированию и был создан Паскаль (его разработка опиралась на Алгол 60. Это по сути и был Алгол 60 в развитии). Он так понравился некоторой части программистов, что был разработан стандарт для компилятора. Появились промышленные версии. Процесс развития не стоял на месте и появились новые операционные системы. В этих системах большую часть функций возложили на ОС. Например, контроль и распределение памяти между процессами, файловая система, доступ к монитору, ... Появилось и понятие ООП. Эти эволюционные процессы повлияли и на языки. Теперь в ЯВУ, например, операция записи на диск или чтение с диска, выполняются менеджером ОС. У программиста нет возможности явно писать на диск. Так думаю, что можно покумекать и организовать этот процесс (непосредственная запись на диск), вот только кому нужен этот баян: формирование файла с контролями, правами доступа и ещё чёрт знает с чем. Появился Интернет. Круг решаемых задач и ранее был большим (математика, физика, экономика, ...), а теперь добавился и WEB. Представим сегодня, что мы пишем на ассемблере. Да, видимо можно. Надо только поднапрячься и создать подходящие для решаемой задачи библиотеки. И опять - время на разработку, бессмысленное повторение функционала, который уже разработан под другие задачи и его надо адаптировать ... Цитата:
Сегодня языки расслоились по сферам деятельности. Характерным в этом смысле является Python. Набор его библиотек велик. Он может быть применён при решении многих задач в разных областях. И наука и Web и игрушки. Но вот где взять для него функционал, реализованный в 1С-Предприятие Каким языком воспользоваться при требовании быстрой реакции? Тут ещё и вопрос к ОС встанет. Нет. Есть самокаты, велосипеды, мопеды, мотоциклы, карты, а-ля Запорожцы и а-ля Феррари ... И от этого уже не уйти.
Как-то так, ...
|
|
20.12.2020, 20:14 | #6 | |
МегаМодератор
СуперМодератор
Регистрация: 27.11.2012
Сообщений: 5,669
|
Цитата:
Не надо, но кого это остановит?)
Благими намерениями устлана дорога на programmersforum.ru
Последний раз редактировалось MihalNik; 20.12.2020 в 20:17. |
|
20.12.2020, 21:10 | #7 |
Пользователь
Регистрация: 14.03.2019
Сообщений: 21
|
ViktorR, Спасибо за такой ёмкий ответ!
Т.е. все упирается в упрощение. Упрощение ради скорости разработки, а не самих программ. Хорошая аналогия с ассемблером. Страшно и представить как бы писалась игра на нём :D Понятно. Теперь стыдно за такой тупой вопрос даже |
20.12.2020, 21:30 | #8 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,555
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
зачем нужны интерпретируемые языки? | rpy3uH | Свободное общение | 41 | 10.08.2014 14:50 |
Языки | lokere | HTML и CSS | 3 | 18.02.2013 12:48 |
Зачем вы используете фреймворки и интерпретируемыя языки программирования? | Tronix | Свободное общение | 29 | 05.09.2012 18:33 |
Языки :) | Utkin | Свободное общение | 89 | 04.03.2010 07:49 |
Языки | Slavik | Microsoft Office Excel | 2 | 16.03.2009 23:40 |