Языки программирования
Языки программирования имеют Реализации языков программирования
- Элементы языков программирования
- Сравнение языков программирования <hyperpolyglot>
- История языков программирования
Личный выбор языков (в порядке предпочтения):
- Python Элементы динамического программирования как в лиспе. Упор на простоту понимания. Простое устройство интерпритатора. Выбрал бы Ruby, но он не так популярен.
- Scheme (Guile или Racket) Функциональное программирование, основанное на лямбда исчислении. Интерпритатор ещё проще чем у мейнстримных интерпритируемых языков.
- C Язык операционной системы GNU и множества утилит. Простой язык с множеством стандартов.
- D
Язык между C(++) и Java/C#. Компилируемый, но имеет GC (почти как
GO
), по функционалу ближе кC++
- Java Сложный безопасный язык. Полуинтерпритируемый, полукомпилируемый.
- Scala Сложный функциональный ооп jvm язык. Хорош тем, что на нём есть работа и то что он основан на математической функциональной модели.
- Oberon Минималистичный язык в стиле Си, но безопасный. Вдохновил Java и Go.
- SML Функциональное программирование с нормальным выводом типов.
- Erlang Функциональный динамически типизированный язык, расчитанный под concurrency (параллельность/многопоточность). Имеет странный синтаксис, используется на работах.
- Ruby Динамически-типизируемый язык с заимствованиями из Lisp и Smalltalk. Самый хороший из мейнстримовых языков хотя качество библиотек и количество работ на этом языке оставляют желать лучшего.
Одна или считай-что-одна реализация:
- Java (openjdk, gcc is dead)
- Haskell (ghc)
- Idris
- Ocaml
- C#
- Go
- Ada
- Perl
- Clojure / Scala
- Idris
- Erlang
- Zig
Много реализаций, но по факту культура использования одной:
Языки с множеством реализаций
Подробнее про количество реализаций: https://en.wikipedia.org/wiki/List_of_compilers
Тир-лист:
Ультрамегасупердуперхарош
ATS, Agda, Coq
Ахуителен
Scheme, Idris, Forth
Мегахарош
Common Lisp, Zig
Харош
Prolog, Scala, Rust, Haskell
Чел харош
Standard ML, Ocaml, Erlang
Норм
Modula-2, Pascal, Ada, Clojure, Oberon, Smalltalk, TCL, Dlang
Неплох
Ruby, D, Nim, C#, Javascript
Плох
Java, Python
Мегаплох
PHP, Simula, Algol
Словил кринж
C
Кринжанул
Go, Logo
Супермегаультранасрал
C++, Fortran, Язык ассемблера
Че ты высрал
Lua, APL, Unlambda, Brainfuck
Пошел нахуй
Perl, Shell
Атсасииииии
1C, Visual Basic
Документация:
- Оффлайн: – Python: Pydoc – Ruby: Ri – Java: Javadoc – Perl: Perldoc
Сравнение языков:
- Python и PHP не собираются под JVM, когда у Ruby есть поддерживаемый JRuby.
- Scala, Ocaml, Common Lisp сохраняют ООП элементы при этом являясь функциональными языками
- PHP быстрее всего из "интерпретируемых" языков
- C#/Java быстрее интерпретируемых языков, но медленнее чем компилируемые (C, C++, Rust)
- Компилируемые языки со сборкой мусора могут быть медленнее "интерпретируемых" Java/C#