Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2020, 05:45   #1
hienZeit
Пользователь
 
Регистрация: 14.03.2019
Сообщений: 21
По умолчанию Зачем высокоуровневые языки?

Спецы точно разъяснят. Я действительно не понимаю. Зачем явы, питоны и т.п. если есть Си и С++ (высокоуровневые, но в сравнение с ассемблером). Ведь все переводится в машинные кода, так? Так почему же не писать все на этих языках, максимально компромиссных для машины и человека?

В Си нет работы со строками, но можно написать функции для работы с ними и пользоваться как дефолтной. И так со всем чего не хватает в Си/С++ - просто дополнять эти языки.
Ведь все прочие перенасыщены фичами и работают медленнее. Объясните пожалуйста
Изображения
Тип файла: jpg kitty.jpg (76.5 Кб, 38 просмотров)
hienZeit вне форума Ответить с цитированием
Старый 20.12.2020, 08:14   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 960
По умолчанию

Цитата:
Сообщение от hienZeit Посмотреть сообщение
Си/C++
это высокоуровневые языки

при этом Си - наиболее близок к ассемблерному коду,
а про С++ такого уже не скажешь, в нём много всякой обвязки добавляется компилятором без желания разработчика

про остальные языки - у них свои цели и ниши. Одни языки учебные (ведь к Си/C++ на кривой козе не подъедешь), другие и вовсе даже функциональные, близкие к математике

Насчёт "работают медленнее" - зависит от задачи. В большинстве случае разницу не заметишь
Алексей1153 вне форума Ответить с цитированием
Старый 20.12.2020, 15:04   #3
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от hienZeit Посмотреть сообщение
И так со всем чего не хватает в Си/С++ - просто дополнять эти языки.
Добавят, но через 20-30-50 лет.
Благими намерениями устлана дорога на programmersforum.ru
MihalNik вне форума Ответить с цитированием
Старый 20.12.2020, 15:06   #4
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

А зачем Wordpress, библиотеки, Базы данных с SQL языком если есть


Цитата:
Сообщение от hienZeit Посмотреть сообщение
С++
)
Alar вне форума Ответить с цитированием
Старый 20.12.2020, 18:33   #5
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,306
По умолчанию

На такой вопрос я бы ответил кратко так.
Есть естественный эволюционный процесс. В этом процессе участвуют и информационные технологии.
Развитие ЭВМ породило потребность упростить программирование, сделать его доступным бОльшему числу людей.
Так, на машинах типа IBM360 или PDP можно было писать и в кодах (сам писал).
Там было более строгое деление команды на код операции о операнды.
Всё было бы не плохо, если бы производили только один класс ЭВМ.
Разные реализации ЭВМ потребовали создавать свой ассемблер, который нельзя было свести к одному.
Появились языки программирования высокого уровня.
С одной стороны эти языки оперировали более крупными блоками ассемблера (написать условный оператор, цикл или вызов функции на ассемблере или на ЯВУ).
Другая их сторона - процесс переноса программы с ЭВМ одного типа на другой.
В ЯВУ ассемблер был в виде подложки и код ЯВУ компилировался до уровня ассемблера этой ЭВМ. Алгол 60 и его ветка, Си.
Возникла потребность обучать программированию и был создан Паскаль (его разработка опиралась на Алгол 60. Это по сути и был Алгол 60 в развитии). Он так понравился некоторой части программистов, что был разработан стандарт для компилятора. Появились промышленные версии.

Процесс развития не стоял на месте и появились новые операционные системы.
В этих системах большую часть функций возложили на ОС. Например, контроль и распределение памяти между процессами, файловая система, доступ к монитору, ... Появилось и понятие ООП.
Эти эволюционные процессы повлияли и на языки. Теперь в ЯВУ, например, операция записи на диск или чтение с диска, выполняются менеджером ОС.
У программиста нет возможности явно писать на диск. Так думаю, что можно покумекать и организовать этот процесс (непосредственная запись на диск), вот только кому нужен этот баян: формирование файла с контролями, правами доступа и ещё чёрт знает с чем.
Появился Интернет. Круг решаемых задач и ранее был большим (математика, физика, экономика, ...), а теперь добавился и WEB.
Представим сегодня, что мы пишем на ассемблере. Да, видимо можно. Надо только поднапрячься и создать подходящие для решаемой задачи библиотеки.
И опять - время на разработку, бессмысленное повторение функционала, который уже разработан под другие задачи и его надо адаптировать ...

Цитата:
Добавят, но через 20-30-50 лет.
А оно надо? Сегодня сложная система может быть написана на разных языках. В Паскаль (Delphi, Lazarus) можно встраивать Сишный код и наоборот, можно делать и ассемблерные вставки.

Сегодня языки расслоились по сферам деятельности. Характерным в этом смысле является Python.
Набор его библиотек велик. Он может быть применён при решении многих задач в разных областях.
И наука и Web и игрушки. Но вот где взять для него функционал, реализованный в 1С-Предприятие
Каким языком воспользоваться при требовании быстрой реакции? Тут ещё и вопрос к ОС встанет.

Нет. Есть самокаты, велосипеды, мопеды, мотоциклы, карты, а-ля Запорожцы и а-ля Феррари ...
И от этого уже не уйти.
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Старый 20.12.2020, 20:14   #6
MihalNik
МегаМодератор
СуперМодератор
 
Регистрация: 27.11.2012
Сообщений: 5,657
По умолчанию

Цитата:
Сообщение от ViktorR Посмотреть сообщение
Сегодня сложная система может быть написана на разных языках. В Паскаль (Delphi, Lazarus) можно встраивать Сишный код и наоборот, можно делать и ассемблерные вставки.
Можно и просто сгенерировать С/++ код из других ЯВУ. Собственно это уже настоящее и будущее С/++.

Цитата:
Сообщение от ViktorR Посмотреть сообщение
А оно надо?
Не надо, но кого это остановит?)
Благими намерениями устлана дорога на programmersforum.ru

Последний раз редактировалось MihalNik; 20.12.2020 в 20:17.
MihalNik вне форума Ответить с цитированием
Старый 20.12.2020, 21:10   #7
hienZeit
Пользователь
 
Регистрация: 14.03.2019
Сообщений: 21
По умолчанию

ViktorR, Спасибо за такой ёмкий ответ!
Т.е. все упирается в упрощение. Упрощение ради скорости разработки, а не самих программ.
Хорошая аналогия с ассемблером. Страшно и представить как бы писалась игра на нём :D
Понятно. Теперь стыдно за такой тупой вопрос даже
hienZeit вне форума Ответить с цитированием
Старый 20.12.2020, 21:30   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,546
По умолчанию

Цитата:
Сообщение от hienZeit Посмотреть сообщение
ViktorR, стыдно за такой тупой вопрос
Kto pyta, ten nie błądzi
Кто спрашивает, тот не блуждает
digitalis вне форума Ответить с цитированием
Старый 21.12.2020, 10:18   #9
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от hienZeit Посмотреть сообщение
Хорошая аналогия с ассемблером. Страшно и представить как бы писалась игра на нём
Могу показать, чтобы иметь представление
p0003.jpg
kvitaliy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
зачем нужны интерпретируемые языки? 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