Re: Испытываю ненависть....
От: velkin Удмуртия https://kisa.biz
Дата: 09.11.23 18:11
Оценка: -1

Почему языков программирования так много


Здравствуйте, imh0, Вы писали:

I>Поймал себя на том, что испытываю желание дать по башке (подушкой) фанатам разработки новых языков программирования типа раста и го.

I>Стал думать почему так? Я так то вообще очень френдлимэн.

Про языки у меня была такая тема.
Прикладные антисанкционные языки программирования

Сейчас я иногда занимаюсь вот этим.
Систематизация личной базы знаний по программированию в Zim
Синхронизация личной базы знаний по программированию в Zim

Казалось бы как это связано с топиком?

А просто мне пришла в голову идея заливать ролики с ютуба в личную базу знаний Zim, чтобы я сразу мог нажать кнопку и открыть нужный видосик. Пока использую https://y2down.cc/ru/, хотя раньше были локальные программы.



А вот собственно и сам видосик.

https://www.youtube.com/watch?v=2YMrV-e5rZQ

Оказывается люди не просто сошли с ума от безделья. У каждого языка программирования было своё предназначение. Типа идеи фикс, которая диктовала где нужно их использовать. Причём эта идея часто заложена в самом названии.

Языки ориентированные на задачи


1. Ассемблер. 1950.
Assembly Language. Язык сборки.
Заменяет машинные коды сокращёнными английскими именами.

2. Фортран. 1958.
FORmula TRANslator. Переводчик формул.
Используется учёными для научных расчётов.

3. Алгол. 1958.
ALGOrithmic Language. Алгоритмический язык.
Академический язык для разработки алгоритмов.

4. Лисп. 1958.
LISt Processing. Обработка списков.
Попытка создания искусственного интеллекта.

5. Кобол. 1959.
COmmon Business-Oriented Language. Общий бизнес-ориентированный язык.
Разработка в экономической сфере.

6. Бейсик. 1964.
Beginner’s All-purpose Symbolic Instruction Code. Универсальный символьный код инструкций для начинающих.
Обучение начинающих программированию.

7. Паскаль. 1970.
Blaise Pascal. Блез Паскаль. Французский математик.
Обучение профессиональному программированию.

8. Си. 1972.
C. Си.
Создан для разработки Unix с целью заменить Ассемблер.

9. SQL. 1974.
Structured Query Language. Язык структурированных запросов.
Работа с базами данных.

10. Смолтолк. 1974.
Small Talk. Маленький разговор.
Ориентированность на пересылку сообщений.

11. Ада. 1980.
Ada Lovelace. Ада Лавлейс. Английский математик.
Военные разработки США.

12. Сиплюсплюс. 1983.
C++. Си++.
Высокоуровневость не в ущерб производительности. Совмещение идей Си и Симулы.

13. Objective-C.
Objective-C. Объектный-Си.
Объекты и связи между ними. Совмещение идей Си и Смолтолк.

Языки воплощающие случайные идеи


14. Перл. 1987.
Practical Extraction and Report Language. Практический язык для извлечения данных и составления отчётов.
Работа с текстом и регулярными выражениями.

15. Хаскель. 1990.
Haskell Curry. Хаскелл Карри. Изобретатель комбинаторной логики.
Чистый функциональный язык.

16. Питон. 1991.
Monty Python. Монти Пайтон. Комик группа из Англии.
Скриптовый язык для ОС Amoeba.

17. Вижуал Бейсик. 1991.
Visual Basic. Наглядный [универсальный символьный код инструкций для начинающих].
Бейсик с графическими интерфейсами пользователей.

18. Руби. 1995.
Ruby. Рубин.
Объектно ориентированный Перл.

19. Ява. 1995.
Java. Ява. Марка кофе.
Программирование бытовых электронных устройств.

20. Пхп. 1995.
Personal Home Page. Персональная домашняя страница.
Размещение своего резюме в интернете.

21. ЯваСкрипт. 1995. (Mocha, LiveScript).
Java Script. Ява скрипт.
Скриптовый язык для браузера Netscape.

22. Си шарп. 2001.
C#. Си#.
Язык для Microsoft .NET Framework.

23. Гоу. 2009.
Go-ogle. Гоу-гл.
Замена C++ для разработки Google.

24. Swift. 2014. (Shiny).
Swift. Быстрый.
Замена Objective-C для разработки Apple.

25. Раст.
Rust. Ржавчина.
Замена C++ для разработки Mozilla.

Немного моих мыслей


Если так посмотреть, то нет ничего удивительного в том, что на языке Си созданном для написания операционной системы лучше всего писать программы для операционной системы.

Или взять тот же C++, который не теряет производительность используя высокоуровневые абстракции, или по крайне мере не теряет её больше, чем другие языки с аналогичными возможностями.

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

Я бы ещё отметил язык структурированных запросов SQL для работы с базами данных. Остальные же идеи несколько сомнительные. Всякие скрипты для программ и веба, языки обслуживающие фреймворки, попытки заменить C++.

И дело здесь не только в производительности. Пока существует армия программистов пишущих операционные системы на конкретном языке программирования особо на других языках не забалуешь.

Люди всегда будут возвращаться к тем языкам на которых написаны операционные системы. Языки фреймворков работают в сочетании с фреймворками. Веб-языки работают благодаря модулям для серверов, которые в свою очередь написаны на Си.

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

Набрасываешь какое-то понятие, типа базовый шаблон проектирования интерфейс, и плевать есть это в языке программирования или нет. По идее программа составленная из таких понятий может быть преобразована во множество языков, даже если и не во все.

И в принципе стоит задуматься, а стоит ли использовать всё, что есть в языках программирования. Типа если на стене висит ружьё, то давайте его возьмём и начнём стрелять в мебель, стены и окна. Оно же как бы не просто так было здесь повешено.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.