Здравствуйте, Pzz, Вы писали:
Pzz>Нет. Культурный контекст.
ХЗ что под этим подразумевается, т.к. тот же UNIX за прошедшее время сильно эволюционировал.
Это как ссылаться на Вирта рассуждая о современном FreePascal или Delphi.
Pzz>>>С учётом всего этого, Go — это такой C 2.0, прямое продолжение цепочки C -> Alef/Limbo -> Go. Созданный с учётом всего этого опыта и со многими исправленными ошибками Си.
S>>Вы так говорите, как будто это что-то хорошее.
Pzz>Я не вижу большого смысла комментировать оценочные суждения.
Ну так перестанье сами их распространять.
Pzz>В 70-е Си воспринимался, как лютое ограничение свободы, по сравнению с ассемблером, на котором тогда нормальные люди и писали операционные системы. Примерно как сейчас Go.
Мы не в 1970-ых. А в 2008 или 2007-ом ситуация была другая. Можно было и не изобретать велосипед. Тем более, такой своеобразный.
Тогда как в 1970-х выбора-то особо и не было.
S>>А может быть и нет. Языки программирования эволюционировали в сторону усложнения не просто так. Например, Ada сразу создавалась как сложный язык, а потом еще и обрастала возможностями. Аналогично и Eiffel. Аналогично и Java c C#. Про С++ и говорить не приходится. И это мне еще не приходилось сталкиваться с миром функциональщины (Scala, OCaml, Haskell и вот это вот всё).
Pzz>То же самое, наверное, можно сказать и про операционные системы.
Только вот речь не про операционные системы.
Pzz>Кучерявость интерфейса не говорит о его "выразительной мощности". А скорее говорит о его плохой продуманности. Простые интерфейсы с ясной и лаконичной метафорой, стоящей за ними, проектировать сложнее, чем вытащить все кишки наружу, пусть пользователь сам разбирается.
К языкам программирования сия сентенция как относится?
S>>Только вот зачем это нужно, если язык и так достаточно выразительный, чтобы сделать тоже самое посредством библиотек?
S>>И что делать в языках вроде Go, когда потребуется что-то, что авторы языка не удосужились туда упихнуть?
Pzz>Затем, чтобы люди охотно пользовались каналами и гороутинами.
Либо потому, что они специально делали язык, в которых собственные каналы с гороутинами фиг напишешь.
Pzz>Очень странный список для сравнения.
В этом списке в основном языки, с которыми имел дело (а про Scala/OCaml/Haskell есть отдельное примечание). Я не рассуждаю о вещах, в которых не разбираюсь.
Pzz>Не потому ли вам так сложно задать нетривиальные проекты их свойствами, а не перечислением, что вы сами не очень понимаете, что имеете ввиду?
Представляете, да. Нетривиальный потому и нетривиальный. См. определение "нетривиальный" в толковом словаре.
В качестве некоторого далекого приближения можно было бы написать что-то вроде: код (или проект) сложность которого находится либо на самой грани технических возможностей существующих инструментов либо вообще за их гранью.
Но это неважное определение к которому можно доколупываться, поэтому я избегаю прямого ответа.
А примеры вполне себе нормальные.
Pzz>>>Что в этоге получится? Ну, видимо, LibreOffice, переписанных на Go
S>>Только вот вопрос будет как в цене разработки, так и в тормознутости и ресурсоемкости результата.
Pzz>Говорят, гошный библиотечный http-сервер по производительности сравним с nginx. При этом nginx очень гордится своей производительностью. А гошный библиотечный сервер написан довольно-таки в лоб (и мог бы быть существенно ускорен за счёт уменьшения числа аллокаций, приходящихся на запрос, но ценой усложнения API).
Pzz>Это к вопросу о производительности...
Только вот гошный библиотечный http-сервер по своему функционалу далеко не nginx.
Вы опять говорите вещи, на которые только и остается, что сказать: очередная дурость.
PS. На счет говнокода и Go. Случайный файлик из списка проектов на который вы сослались.
Функция на 200 строк из которых изрядный процент как раз if-ы с return err. Красота.