vak: (Default)
[personal profile] vak
Тридцать лет назад у меня родился сын, и я проводил много времени, прогуливаясь с детской коляской по живописным окрестностям славного города Долгопрудного. Под мышкой я держал невероятную ценность, доставшуюся мне по удачному стечению обстоятельств: книжку "Язык программирования Си" Кернигана/Ритчи. Присаживался на лавочки и тщательно штудировал мудрость далёкий американских инженеров. Это было еще первое издание, аж 1985 года. Пытался найти обложку в сети - не смог.

Сейчас получаю такое же интеллектуальное удовольствие от книжки "The Go Programming Language" Кернигана/Донована. Великое дело сделали товарищи: сваяли язык 21 века. Не зря он сейчас вытесняет Джаву и прочих из серьёзных проектов.

Date: 2017-02-22 06:03 (UTC)
izard: (Default)
From: [personal profile] izard
Тоже сейчас читаю, и даже небольшой проектик на работе есть. Но до убийцы джавы еще очень далеко.

Date: 2017-02-22 08:28 (UTC)
lomeo: (Default)
From: [personal profile] lomeo
Есть масса языков под jvm, та же scala. Рано хоронить.

Date: 2017-02-22 10:56 (UTC)
lomeo: (Default)
From: [personal profile] lomeo
А. Большие команды, тут соглашусь.

Date: 2017-02-22 10:09 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Большая роскошь - в 1985 достать бумажный K&R.
У меня в 1990 были только распечатки.

А Go кажется каким-то нишевым языком.
Для реализации несложных задач.

Date: 2017-02-24 23:57 (UTC)
From: [personal profile] hogzie
Мое ИМХО. Go - слишком прост, практически не годится для generic programming. Swift, Rust и D, - каждый по-своему, более элегантные или практичные (каждый по-своему).
Edited Date: 2017-02-24 23:58 (UTC)

Date: 2017-02-25 20:18 (UTC)
From: [personal profile] hogzie
И да и нет. Нужен баланс, конечно. На Go невозможно написать библиотеку типа STL, а это значит, что, например, контейнеры и алгоритмы нельзя сделать inline и соптимизировать на этапе компиляции. Go тянет с собой большой ран-тайм. Для embedded уже не годится.
Rust тут намного лучше. К тому же, у Rust'а есть возможно остановить GC по желанию. Вообще у Rust'а элегантно сделаны pointers и работа как с managed так и raw данными. Рекомендую посмотреть.

D - самый продвинутый из всех. Более подходит для generic programming, Но и более тяжеловесный для изучения. К сожалению, не взлетел. Но и не мертв.

Swift несет legacy stuff от ObjC, но, как мне кажется, отполирован лучше. Особенно для работы с GUI'евыми приложениями. К сожалению, реально сейчас GUI на нем писать можно только Макось и iOS.
Компилятор у него был очень тормозной и синтаксис нестабильный до 3-й версии. Сейчас компилятор отладили и вообще LLVM комьюнити активно взялось за Swift сейчас. Спасибо, что Apple не присвоила себе язык, как MS сделал с C#.
Edited Date: 2017-02-25 20:19 (UTC)

Date: 2017-02-28 04:08 (UTC)
From: [personal profile] hogzie
Понятно, что у них есть контейнеры. Я говорил про STL, как инлайн библиотеку для дженерик алгоритмов. Рантайм библиотекой сейчас никого не удивить. А вот инлайном под любой тип - фигвам.
Рад, что у Go "Hello World" такой маленький. Я подозреваю, что они улучшили компоновщик и саму библиотеку для этого, но год назад стоял общий вой, что рантайм у Go слишом толстый.

Date: 2017-03-02 01:16 (UTC)
From: [personal profile] hogzie
Чистой воды демагогия. STL - это единственная палка-выручалка в плане переносимости и производительности для алгоритмических и вычислительных задач. Альтернатив просто нет.

Date: 2017-03-02 01:18 (UTC)
From: [personal profile] hogzie
Кстати, дядя по первой ссылке говорит про вещи, которые уже давно исправлены начиная с C++11 и в новых компиляторах. Это я про вложенные скобки, генерацию ошибок и.т.д.