summaryrefslogtreecommitdiff
path: root/content/digarden/pages/20210409071539-языки_программирования.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/digarden/pages/20210409071539-языки_программирования.org')
-rw-r--r--content/digarden/pages/20210409071539-языки_программирования.org130
1 files changed, 0 insertions, 130 deletions
diff --git a/content/digarden/pages/20210409071539-языки_программирования.org b/content/digarden/pages/20210409071539-языки_программирования.org
deleted file mode 100644
index 6df7a21..0000000
--- a/content/digarden/pages/20210409071539-языки_программирования.org
+++ /dev/null
@@ -1,130 +0,0 @@
-:PROPERTIES:
-:ID: 77d32578-cf7b-4947-8351-ca2fe19bbf6f
-:END:
-#+title: Языки программирования
-
-* Языки программирования
-Языки программирования имеют [[id:da3c3733-e508-4a63-a4e9-e8807c73c6f0][Реализации языков программирования]]
-
-http://progopedia.ru/
-
-- [[id:a003951c-d5a6-4390-aeb0-ed1d4d5e8c00][Элементы языков программирования]]
-- [[https://hyperpolyglot.org][Сравнение языков программирования <hyperpolyglot>]]
-- [[https://web.archive.org/web/20200426084021/https://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html][История языков программирования]]
-
-Личный выбор языков (в порядке предпочтения):
-- 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. Самый хороший из мейнстримовых языков хотя качество
- библиотек и количество работ на этом языке оставляют желать лучшего.
-
-Одна или считай-что-одна реализация:
-- [[id:cf9a0dd5-561b-4330-bdfd-07689db2dc44][Java]] (openjdk, gcc is dead)
-- [[id:7f86ced4-b418-4cd4-a14e-d7e4f1f343de][Haskell]] (ghc)
-- [[id:2f0a8624-cbf4-4b9a-a8dc-5ed64c8edc69][Idris]]
-- [[id:ab68624c-e88f-4fe4-94e9-d5de53f97358][Ocaml]]
-- [[id:99d098f3-1277-4752-837a-5987324385c4][C#]]
-- [[id:196cd766-023a-40e6-9fa1-3d0c0036a290][Go]]
-- [[id:a80f5c9e-2dc7-4c91-b692-a9be3176dc1e][Ada]]
-- [[id:3d11fde0-4c69-40e2-b3f5-6b1d3063b1f9][Perl]]
-- [[id:00243b7a-2841-4021-a1be-597a50f6074e][Clojure]] / [[id:21a9de98-8fb1-42b0-b495-750ec33320e0][Scala]]
-- [[id:2f0a8624-cbf4-4b9a-a8dc-5ed64c8edc69][Idris]]
-- [[id:be4c0663-065f-4564-a72d-cfd4fbd274a4][Erlang]]
-- [[id:46bd6e4d-43ea-4f31-aa2d-155b4499b6fb][Zig]]
-
-Много реализаций, но по факту культура использования одной:
-- [[id:6e29e344-2375-49a7-8ca5-234d24a57bc5][PHP]]
-- [[id:e3725676-12e5-4e8d-a3cc-cc2c29fdee7a][Python]]
-- [[id:ca2c77bb-1921-4e86-9fa3-cc5db9ba03a1][Ruby]]
-- [[id:cde2b545-498f-4a38-bd07-4c8d9f81c94c][Dlang]]
-
-Языки с множеством реализаций
-- [[id:40c44577-6cd7-4eac-aac7-288a0537b7e9][C]] / [[id:c3590de1-c364-46c9-a840-7fbc93d1d8e0][C++]] / [[id:fcaa663b-dd38-4d07-a787-947edb13f6e3][ObjC]]
-- [[id:eaa22630-cc22-4682-8cbf-e20ee4d5c54d][Javascript]]
-- [[id:f9734fab-a506-4993-a2a4-7e5eef057706][Scheme]]
-- [[id:eba2c232-f2b2-44b1-840d-bf0fcfb36db5][Common Lisp]]
-- [[id:195e9936-de22-40a6-9a60-09a6fee6ae19][SML]]
-- [[id:60d78ebc-22a7-4c73-bd79-15e6c476e2e3][Oberon]]
-- [[id:5d5b35cb-a220-4812-8cb4-a0c92f7108f6][Modula]]
-- [[id:5446e80e-b93c-46aa-b774-d1f36e6b2e46][Pascal]]
-- [[id:92d82cbc-29e7-41b0-8ced-e504811255d3][tcl]]
-
-Подробнее про количество реализаций:
-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: [[https://en.wikipedia.org/wiki/Pydoc][Pydoc]]
- -- Ruby: Ri
- -- Java: Javadoc
- -- Perl: Perldoc
-
-*Сравнение языков*:
-- Python и PHP не собираются под JVM, когда у Ruby есть поддерживаемый JRuby.
-- Scala, Ocaml, Common Lisp сохраняют ООП элементы при этом являясь функциональными языками
-- PHP быстрее всего из "интерпретируемых" языков
-- C#/Java быстрее интерпретируемых языков, но медленнее чем компилируемые (C, C++, Rust)
-- Компилируемые языки со сборкой мусора могут быть медленнее "интерпретируемых" Java/C#
-** Языки программирования по типу
-*** Моделирование, тестирование
-- ADA Spark
-- [[https://dezyne.org/dezyne/manual/dezyne/html_node/Introduction.html][Dezyne]]
-
-[[https://en.wikipedia.org/wiki/List_of_programming_languages_by_type][Список языков программирования по типу]]
-** Родословная языков
-- [[http://rigaux.org/language-study/diagram-light.png][Простая]]
-- [[http://rigaux.org/language-study/diagram.png][Сложная]]
-
-- [[http://rigaux.org/language-study/syntax-across-languages/][Синтаксис многих языков]] \ No newline at end of file