?

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:
[User Picture]From: nponeccop
2018-01-22 02:56 am

Да будет срач v1

(Ответить) (Parent) (Thread)
From: blueher
2018-01-22 03:19 am

Re: Да будет срач v1

> The problem with JavaScript is not that it is a dynamically typed prototype based object-oriented language without classes.

Ну вот как раз нет, главная проблема JS как мейнстримового языка разработки - это именно его динамическая типизация. Ну не получается из-за этого на нем лабать огромные проекты (а очень надо), не хватает у человеков объемов мозгов чтобы помнить все что есть в проекте. И тайпскрипт для этого лучшее решение, КМК.

А, ну и претензии вида - зырьте, я могу this подменить - ну да, можешь. В С++ типа нельзя this подменить, ага...
(Ответить) (Parent) (Thread)
[User Picture]From: jakobz
2018-01-22 10:17 am
Проблема JS - в его доступности и популярности. Через это, там бурлят малообразованные массы, заглушая любой голос рассудка.

В результате, npm похож на попытку миллиона обезьян написать .net, просто публикуя рандомные пакеты.

Ну типа так:
- У меня чот не собирается...
- node_modules сносить и перезабирать пробовал?
(Ответить) (Parent) (Thread)
From: blueher
2018-01-22 03:22 am

Re: Да будет срач v1

Из второй ссылки:

> Types in a non-typed language is hard

Это главное что я там вижу. Ну тоже так себе претензия - ну если конкретно этому чуваку не нравятся типы - ну не ешь, не надо. Пишут люди и на перле, и говорят что нравится, только где тот перл теперь...
(Ответить) (Parent) (Thread)
[User Picture]From: nponeccop
2018-01-22 04:44 pm

Re: Да будет срач v1

Нононо! Вот не надо на перл гнать! Перл входит в топ-10 языков, под него овердохуя либ и овердохуя лигаси-кода. В рандомной GNU-системе перл у вас скорее всего будет - в критичных местах его заменили на питон, но далеко не везде. Перл - это нода 1990-х. Количество говна и палок такое что ещё лет на 50 хватит.
(Ответить) (Parent) (Thread)
From: blueher
2018-01-22 04:46 pm

Re: Да будет срач v1

Ну пост же срачёвый, как тут не гнать :)

Оно всякого легаси на нем дофига - но чет я не помню статей "для нашего нового проекта мы выбрали перл...." - и так чтобы люди это не из психушки писАли...
(Ответить) (Parent) (Thread)
[User Picture]From: nponeccop
2018-01-22 05:17 pm

Re: Да будет срач v1

> но чет я не помню статей

Это да, но из всех языков серии «я не помню статей "для нашего нового проекта мы выбрали X...."» перл самый топчик. 3 новых пекеджа каждый день (например для соединения лигаси с новыми миддлварями, типа AnyEvent::Gearman), хорошая поддержка всех платформ (читай: винды и юниксов кроме макоси и линукса), регулярные релизы.

Вдобавок для наиболее дебильных фич (@_ и OO через bless) придумали (наркоманские) воркараунды.
(Ответить) (Parent) (Thread)
From: blueher
2018-01-22 03:26 am

Re: Да будет срач v1

А, еще вот это позабавило:

> Not Community Driven

Ну какая мне как пользователю языка разница кем он driven? Он open-source - если что-то поломается - я могу залезть и починить, могу написать баг репорт и на него отреагируют, могу написать feature request и т.п. Ну не полезу я пилить свои нестандартные расширения для языка предварительно сделав его форк и предлагая всем пользоваться именно им (хотя и это я могу). Следующим этапом этой упоротости была бы проверка как автор языка относится к правам сексменьшинств и не обвиняют ли его в харассменте 40-летней давности.
(Ответить) (Parent) (Thread)
From: blueher
2018-01-22 03:30 am

Re: Да будет срач v1

Резюме: нет, таких ссылок вида "why XXX is shit" конечно же валом. Ни разу я не видел большой трезвой критики где плюсы с минусами бы взвешивались - и аргументированно доказывалось что минусы перевешивают именно в общем случае. Много хочу, конечно :)
(Ответить) (Parent) (Thread)
[User Picture]From: binf
2018-01-22 06:12 am
Babel is the ****! The plugin architecture system is amazing idea! I love being able to get community driven plugins ( Even if they might not be standard thats the risk I accept and am ok with ).

И вот тут я понял, что автор долбоёб, и его мнение можно смело смывать в унитаз.
(Ответить) (Parent) (Thread)
From: blueher
2018-01-23 06:31 pm

Re: Да будет срач v1

https://dou.ua/lenta/articles/language-rating-jan-2018/

Ну и вот - как раз сегодня наткнулся. И котлин и тупскрипт чувствуют себя вполне неплохо, по крайней мере пока (и сдается мне в ближайшие лет 3-5 позиций не сдадут).
(Ответить) (Parent) (Thread)