?

Log in

No account? Create an account
Обзор языков - 2018 - Дважды мудак [entries|archive|friends|userinfo]
Декларативное рулит

Site Meter

[ website | Мой сайт ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Обзор языков - 2018 [янв. 21, 2018|18:22 pm]
Andy Melnikov
[Tags|, , ]

Если писать не о чем - напишите обзор ЯП на основе какого-нибудь измерения пиписек в попугаях!

Берем Tiobe index и группируем "по семействам". Получаем:

- Нестыдные языки для промышленных зрелых практиков с кредитом и детьми. На собеседовании ничего объяснять не надо: Java/C++/С/C#/Python/Javascript/PHP/Ruby/SQL

- Нишевые языки, надо объяснять что это за язык и что за ниша и что это не такая и экзотика: R/ Swift/Objective-C/Matlab/Scratch/asm/Go
- Лигаси языки: VB.net, Perl, Delphi

Из нестыдных можно вычеркнуть языки, вместо которых можно учить аналогичные: C, C#, PHP, Ruby учить не нужно. Получается, что нужно: Java, C++, Python, Javascript, SQL. Причём имеет смысл учить комплектами:

- С++ самодостаточен
- Java+Javascript
- Python+Javascript

SQL это как бы не "язык", а "технология", наряду с noSQL и ORM и даже (с натяжкой) мессаджингом и прочим миддлваре. Аналогично HTML/CSS/DOM. Короче они в отдельном от языков списке изучения идут, примерно в том же, где и алгоритмы с проектированием.

В-общем, ничего нового, этот список (С++, Java, Python, Javascript, SQL) не менялся наверное последние лет 10. В 1998 был бы скорее С++, Perl, Scheme, SQL.

Кроме этого списка есть список 9 языков, на которых можно начинать новые проекты в 2018, который я составил, используя modulecounts.com:

Первый эшелон (либ больше чем в перле): Java, C#, Python, Ruby, NodeJS, PHP
Второй эшелон (либ меньше чем в перле): Clojure, Go, Rust
Эшелон упоротых (либ меньше чем в расте но хоть сколько-то): Haskell, R и Erlang.
Эшелон альтернативно упоротых (там совсем по-другому): С, C++

Причём Раст догнал и перегнал хаскель (идущий в ногу с R) за последний год. А в Эрланге в 3 раза меньше пекеджей чем в х-е ("по версии modulescount")

Ещё можно составить список "почётных провалов":
- idris, coq/ocaml, ats
- elm, purescript, typescript
- D, lua, scala, kotlin, julia

Если вычесть из списка топ-50 языков тиобе вышеперечисленные, то останутся:

Странные "проприетарные" языки: Apex, SAS, Codesys
Матерые старички: Lisp, Bash, Prolog, Tcl, VHDL, ActionScript, COBOL, ABAP, Logo, Ada, REXX, Fortran, LabVIEW
Всякие невыстрелившие: F#, Groovy, Hack, Dart, Alice

Призы зрительских симпатий уходят ноде, тайпскрипту, элму, расту, го, haxe, flow, codesys, перлу, vb.net и котлину!

Кстати, есть ещё языки, на которых (в определённых кругах) писать нельзя. Это:

- лиспы (скобочки!)
- перл, с++, javascript (большие неконсистентные языки)
- С, С++, D, Rust (нет gc или безопасности памяти)
- haskell (avoid success, ленивость, утечки, баги, борьба с тайпчекером, отсутствие инструментов)
- С, С++, С#, Java, Python, Delphi (низкоуровнево). Даже х-ь иногда (от любителей кдб, например)
- Python (кривые замыкания)
- все языки за пределами нестыдных (по причине стыдности)
- нода (т.к. евент дривен и жабоскрипт и либы написаны идиотами)
- руби, го (хипсторы и подвороты)
- похапе
- Rust (надо писать на Go)
- Go (gc же богомерзкий)
- Typescript (негодная система типов, надо писать на flow)
- Flow (он не развивается, надо писать на тайпскрипте)

В-общем, в зависимости от того, кого вы спрашиваете, нельзя писать вообще ни на чём!

Upd: тут подбросили ссылку на DOU: https://dou.ua/lenta/articles/language-rating-jan-2018/

Ну и там неприятные новости для упоротых:

- оставьте С для эмбеддеда, низкоуровневых либ и иных спецприменений: только С++, только хардкор!
- Python и PHP живее всех живых
- С#, притом это вовсе не емакс и моно, - 15% всей работы и 3-е место после жабы и жс
- в топе святая шестерка - Java/C#, Javascript/Python/PHP, C++ (и там же SQL на самом деле™)
- хотите промышленной зрелой экзотики - добро пожаловать в Typescript, Go, Ruby, Scala
- мобло - это Swift и внезапно Kotlin, причем если про котлин не совсем понятно - то Swift опередил Objective-C
- Delphi и 1C ещё встречаются
- в "совсем уж экзотике" в Украине значатся Closure и R
- из лигасёвого лигаси только перл

Upd2: Scala, Typescript и Kotlin - внезапно не провалы
СсылкаОтветить

Comments:
From: Valentin Budaev
2018-01-22 11:07 am
> во Флоу изначально сделали нормальную типизацию

Во flow надрачивают на soundness. Любая попытка сделать soundness систему для слабого, выражено динамического ЯП, выдает в авторах долбоебов, черпающих вдохновение в наркотрипах про страну эльфов и фей.

> В отличие от TS

Вот по-этому в отличии от ТС (который заточен для решения практических задач, а не для дрочьбы вприсядку) оно и не взлетело. А для того, чтобы дрочить вприсядку, сейчас пилят в фейсбуке ReasonML, такие же наркоманы, что делали flow. Потом, когда на ReasonML хер уже не будет стоять достаточно твердо, придумают еще что-нибудь. Это такой бесконечный круговорот наркомании.

Edited at 2018-01-22 11:08 (UTC)
(Ответить) (Parent) (Thread)
[User Picture]From: binf
2018-01-22 11:21 am
reason гавно, тут я согласен. Редкостная хуета
(Ответить) (Parent) (Thread)
[User Picture]From: nponeccop
2018-01-22 04:59 pm
вмемориз!
(Ответить) (Parent) (Thread)
From: Игорь Петров
2018-01-29 01:25 pm
какая тут связь с flow? ризон это не "попытка сделать soundness систему для слабого, выражено динамического ЯП", а яваскриптообразный синтаксис для окамла
(Ответить) (Parent) (Thread)