diff options
Diffstat (limited to 'content/digarden/pages/20210409071539-языки_программирования.org')
-rw-r--r-- | content/digarden/pages/20210409071539-языки_программирования.org | 130 |
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 |