LINUX.ORG.RU
ФорумTalks

Опубликовано руководство по выбору языков программирования для новых проектов

 , ,


3

1

Собственно, сабж: https://earthly.dev/blog/brown-green-language/ .

Для Ъ в 2-х словах:

  • Для новых проектов рекомендуются такие языки как
    • Go
    • Rust
    • TypeScript
    • Kotlin
    • Julia
    • Dart
    • Scala
    • Haskell
  • Для новых проектов НЕ рекомендуются такие языки как
    • Java
    • C
    • C++
    • C#
    • Python
    • PHP
    • JavaScript
    • Swift
    • Perl
    • Ruby
    • Assembly
    • R
    • Objective-C
    • SQL
★★★★★

Языки в обоих списках настолько разные, что прям хоть стой хоть падай. Для каких новых проектов?

Он предлагает для новой реализации кодека использовать Rust, а не C/C++ с asm вставками? Может быть Rust ещё впихнём куда-нибудь в микроконтроллеры для управления дроссельными заслонками, а там тоже знаете ли нового кода дохрена пишется.

Не использовать SQL для новых проектов? Да это детский сад какой-то. На чём вообще он предлагает писать различные процессинги. На роях мелких баз, приклевая всё это go и котлином? А оно точно будет работать.

Про закапывание Java это вообще эпично, учитывая что Котлин почему-то попал в другой список. Как вообще это себе представляет автор на практике?

Ну и далее по списку всё также печально. Жаль что это всё может восприниматься всерьёз и воспринимается. Не далее как пару недель назад работал над целой инфраструктурой проектов, куда прикручивали azure active directory в качестве единственной системы аутентификации и авторизации. При том что проекты эти для обслуживания дорог, парковок и тд. Как вообще можно принимать такие решения? Вот тут тоже из той же серии.

ixrws ★★★ ()

Это не руководство - это какие-то размышления блогера над трендами на stackoverflow. По крайней мере так показалось на беглый взгляд - читал по диагонали, признаюсь.

praseodim ★★★★★ ()
Ответ на: комментарий от ixrws

Автор статьи там применил кучу разных шагов к спискам языков. Все они там описаны в статье. Там учитывалось восприятие языков людьми и их популярность (в т.ч. и по данным TIOBE).

Автор вообще начал исходить из того что

The TOP 15 Dreaded Programming Languages: VBA, Objective-C, Perl, Assembly, C, PHP, Ruby, C++, Java, R, Haskell, Scala, HTML, Shell, and SQL.

The TOP 15 Loved Programming Languages: Rust, TypeScript, Python, Kotlin, Go, Julia, Dart, C#, Swift, JavaScript, SQL, Shell, HTML, Scala, and Haskell.

Т.е. из того, что C/C++, ассемблер, Perl, Ruby,... и т.д. являются наиболее угнетающими программистов по его статистике.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Тяжёлая работа вообще угнетает. А когда ещё дедлайны приходится соблюдать, так вообще жопа. Если автор проведёт опросы среди разработчиков крупных организаций вроде Samsung, Toyota и прочих, то там конечно же будут очень угнетающими C, С++ и тд и тп. Но это работа, вот в чём дело.

Если завтра все побегут писать на Rust и Kotlin новые большие проекты сопоставимые с теми, что есть сейчас на Java + SQL, то Rust и Kotlin будут тоже угнетающими. Причём с ненулевой вероятностью будут даже более угнетающими.

В общем как всегда надо понимать простую вещь, любой крупный проект с долгой жизнью начинает угнетать своей сложностью и кучей подземных камней. Вот прямо сейчас уже, те же экосистемы react и angular начинают угнетать разработчиков. Порог вхождения настолько велик, что вполне себе сравним с порогом вхождения в ынтерпрайзную Java, а вот зп не всегда такие уж хорошие. И это только начало пути, через 5 лет порог вхождения будет даже больше Java. Ну и rust, если его таки протолкнут везде где надо - тоже ожидает такая же участь.

Когда-то C++ был простым, всегда надо помнить об этом.

ixrws ★★★ ()
Ответ на: комментарий от saahriktu

Scala, HTML, Shell

Shell, HTML, Scala

хмм, это что, разные shell, html и scala?

cvs-255 ★★★★★ ()
Ответ на: комментарий от ixrws

с++ стал переусложненным из-за огромной legacy-базы, которую надо поддерживать

cvs-255 ★★★★★ ()

Лучше б написал чем мнение этого эээ… клеветника ценнее любого другого.

frob ★★★★★ ()
Ответ на: комментарий от ixrws

С++ был простым? Ты угараешь. Одно только _краткое описание от Страуструпа - ~500 страниц текста. И это не вода, не переливание из пустого в порожнее, не справочник, всё только по делу.

lenin386 ★★★ ()
Последнее исправление: lenin386 (всего исправлений: 1)

Вставлю свои «пять копеек».

Dart, Haskell, Rust и.т.д - это всё очень круто, прогрессивно и модно-молодежно. Но на хлебушек с маслом мне почему-то всё ещё помогает зарабатывать Java, C, C++, C# и SQL. Причём даже для новых проектов. Ну вот не доверяют серьезные дяди с деньгами какому-нибудь dart’у который пару лет назад появился а ещё через пару лет сгинет в небытье.

Вангую что если составить этот список ещё лет через пять, половина языков из верхнего списка поменяется. А на Java и C# всё ещё будут делать новые серьезные проекты.

DawnCaster ★★ ()
Последнее исправление: DawnCaster (всего исправлений: 2)

Кстати, только заметил, а за что гомогейский Python забраковали ? Вроде крайне актуальный нынче язык.

DawnCaster ★★ ()

Автор упорыш или обкуренный хипстер, чем он питон собирается заменять в науке и бигдате. Про SQL тоже поржал.

Lordwind ★★★★★ ()
Последнее исправление: Lordwind (всего исправлений: 1)

Опубликовано руководство по выбору языков программирования для новых проектов

притащил на ЛОР какую-то хероту, в надежде поднабросить

kott ★★★★★ ()
Последнее исправление: kott (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Лет ми спик фром май харт

Си вил невер дай

Перипрошивай

Пери-перипрошивай

Shulman ()

Какой же это бред.

Для новых проектов рекомендуются такие языки как

Julia

Dart

. Что, правда?

Похоже, какой-то смузихлёб осилил написание статьи.

fernandos ★★ ()
Ответ на: комментарий от saahriktu

Т.е. из того, что C/C++, ассемблер, Perl, Ruby,… и т.д. являются наиболее угнетающими программистов по его статистике.

А смерти их не угнетают? Давайте запретим умирать, что уж там.

fernandos ★★ ()

Что за поехавший составлял список?

next_time ★★★★★ ()
Ответ на: комментарий от question4

Как понимаю автор заменяет R и Python, на Julia. Пожелаем ему успехов в этом нелёгком начинании.

einhander ★★★★★ ()

Наверное где-то можно логику какую-то углядеть (тот же perl увы и ах ☹ проигрался вдрызг python), хотя лично я её особо не наблюдаю, но чем предлагается заменить SQL? Теорию множеств отменили? Какие есть живые альтернативы её представления?

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 3)
Ответ на: комментарий от anonymous-angler

А чем руководствуется рекомендатор и почему его мнение важно?

Он узнал о паре модных названий от тех, кто только учится программировать (stackoverflow в основном для них) и решил рекомендовать «востребованные» у широкой публики новичков языки.

grem ★★★★★ ()

Какая-то чушь, со спекулятивными фантазиями, дебилоидными упрощениями (зеленые и коричневые яп) и цитатами из беллетристики.

seiken ★★★★★ ()

tl;dr чувак делит языки на коричневые и зелёные (Наверно отсылка к растениям) - более старые и более новые, а затем пытается выяснить почему зелёные на SO более любимы, чем коричневые. Никаких рекомендаций я не заметил, только аналитика.

So watch out Rust and Kotlin and Julia and Go: you too will eventually lose your halo.

Да-да, всех рано или поздно закопаем. И это нормально.

anonymous-angler ()

что же ты несешь?! Автор вообще ничего не рекомендует, а зеленый и коричневый списки, которые ты передрал, - списки языков, которые а) были популярны и в 2016, и сейчас, б) которые только вошли в ТИОБЕ топ-20, то есть новые и модные. Если уж какие языки и можно рекомендовать по результатам статьи, имхо, - это коричневые (популярны более 5 лет), которые попали не в список «пугающих» (на которых люди писали в этом году, но не хотели бы в следующем), а в список «любимых» (на которых люди писали в этом году и хотели бы продолжить). Их всего пять, если считать SQL языком - SQL, Python, C#, Swift, JavaScript

bl00dy ()

Ага, обязательно выберу TypeScript вместо sql.

ilovewindows ★★★★★ ()
Ответ на: комментарий от ixrws

Он предлагает для новой реализации кодека использовать Rust, а не C/C++ с asm вставками? Может быть Rust ещё впихнём куда-нибудь в микроконтроллеры для управления дроссельными заслонками, а там тоже знаете ли нового кода дохрена пишется.

Ну сейчас же опять начнётся. А, собственно, почему нет?

Окей, оно пока что только в nightly, но ассемблерные вставки завезли ещё несколько лет назад и теперь вроде как вернулись к вопросу об их стабилизации. Плюс модуль core::arch::*, в котором лежат функции для платформоспецифичных вещей, вроде SIMD.

anonymous-angler ()
Ответ на: комментарий от Stack77

Я бы поменял списки местами. От направленности проекта, правда, зависит, но всё же.

grem ★★★★★ ()
Ответ на: комментарий от saahriktu

являются наиболее угнетающими программистов по его статистике.

Программисты чувствуют себя угнетенными, когда их заставляют работать, а не переизобретать очередные велосипеды на модных язычках. У таких индивидуумов чувство NIH преобладает над разумом и они стремяться переписывать годами проверенные решения на новых «более лучших»™ ЯП, порождая никому не нужные клоны.

cocucka ★★★★★ ()

Haskell
Dart

Программистов на этих языках еще бы отыскать.

Meyer ★★★★★ ()

Выбирать языки по цвету. То что надо.

Shaman007 ★★★★★ ()
Ответ на: комментарий от bl00dy

Автор вообще ничего не рекомендует

Brown Language: A language that you are more likely to use in existing software maintenance (i.e. brown-field projects).

Java, C, C++, C#, Python, PHP, JavaScript, Swift, Perl, Ruby, Assembly, R, Objective-C, SQL

Green Language: A language that you are more likely to use in a new project (i.e. a green-field project).

Go, Rust, TypeScript, Kotlin, Julia, Dart, Scala, and Haskell

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)

А это точно уважаемый и известный в мире CS-специалист, а не ноунейм? А то вот выучу я Dart, а работы не найду.

gremlin_the_red ★★★★ ()
Ответ на: комментарий от seiken

Ну, вот, он профильтровал списки языков программирования по разным критериям и сделал определённые выводы.

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

Поэтому он и рекомендует такие языки, чтобы через пару лет нашлись бы программисты, которые знали бы язык, на котором написан проект.

Трогать код, который не трогали 3 года и более, он там вообще не рекомендует.

saahriktu ★★★★★ ()
Ответ на: комментарий от lenin386

В сравнении с тем, что есть сейчас - да, простым. В сравнении с другими индустриальными языками вроде Ada - вполне себе сопоставим и прост.

Сейчас не только стандарт вырос, но и окружение С++ выросло. Во всём этом как минимум нужно разбираться, потому что даже современные проекты имеют в себе солянку из старых и новых подходов, различных библиотек разных годов выпуска и тд. Сейчас это ад. Но таким адом становится любой язык за 30 и более лет, вот чего хипстота не может понять, они же одноклеточные.

ixrws ★★★ ()
Ответ на: комментарий от anonymous-angler

Да потому, что с ассемблерными ставками и сплошным unsafe rust превращается, превращается rust - в C. Но самое главное - какой в этом смысл, что это даст, не уж-то в коде, где зачастую даже динамическое выделение памяти отсутствует, rust чем-то поможет? Ну вот он поможет усложнением сборки проекта, это да.

ixrws ★★★ ()
Ответ на: комментарий от gremlin_the_red

Adam Gordon Bell has spent 14+ years in the trenches as a software developer. He is fascinated by functional programming and using type systems to build better software. He has is an advocate for distributed development teams and has worked remotely since 2011. He has a personal website here and can be found on twitter @adamgordonbell. He works for Tenable currently and has worked at a variety of software producing companies. At Tenable he writes scala programs to tear docker containers apart and look for security vulnerabilities. Working on security software is fun. He lives in Peterborough, Ontario, Canada with his wife and three cats.

Однако, следовать его рекомендациям, конечно, не обязательно. И, очевидно, мало кто будет это делать.

saahriktu ★★★★★ ()
Ответ на: комментарий от anonymous-angler

Эээээ. Как-то боязно за будущее IT индустрии с такими «заменами».

Evgueni ★★★★★ ()
Ответ на: комментарий от saahriktu

английский выучи перед тем как делать выводы космического масштаба и космической глупости. Он пишет, что с языками, которые были популярны и 5 лет назад, скорее придется столкнуться в проектах, которые надо поддерживать. Потому что, как ни странно, за 5 или более лет проект, который на них начинали, уже оброс кодом.

И статья вообще о том, что распределение языков по любимым/пугающим сильно коррелирует с тем, сколько кода на языке надо поддерживать. А график в конце о том, что с любым языком у разработчиков в начале «медовый месяц» (потому что пишут на нем одни хелло-ворлды и новые проекты), а потом жесткое разочарование, связанное с бытовухой - необходимостью поддержки существующих уже-не-новых проектов. Каковое он и предрекает модным языкам типа go.

bl00dy ()

Все правильно пишут, только зачем нужны

Scala Haskell

я хз. И TypeScript не нужен, его полностью заменяет Dart. А еще он заменяет Kotlin, хотя и не совсем. Короче, вот нормальный список:

  • Go
  • Rust
  • Julia
  • Dart
KillTheCat ★★★★★ ()

Список не полный без Паскаля.

urxvt ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)