Comments 15
Интересно, спасибо за перевод.
+1
Вот и верь после этого всяким Робам Пайкам:
Go — язык, предназначенный для написания сервер-сайд приложений на 100-150 строк кода
0
Ну я как понимаю, он имел ввиду что можно написать сервер за 100-150 строк, а не то что на больше это боль.
+1
При наличии библиотек это можно на чем угодно. А написать полноценный сервер, уложившись в 150 строк — это вряд ли.
Я помню мне как-то пытались продемонстрировать ldap сервер, кажется на Эрланге. Который реально слушал сокет, и отвечал на команды протокола — только ничего не делал. Строк в 150 такое и укладывается.
Я помню мне как-то пытались продемонстрировать ldap сервер, кажется на Эрланге. Который реально слушал сокет, и отвечал на команды протокола — только ничего не делал. Строк в 150 такое и укладывается.
+1
0
На python
>>> ''.join(map(chr, map(lambda x:x^255, list(b'\x96\x8c\x99\x8a\x9c\x94\x96\x91\x98\xdf\x9e\x92\x9e\x85\x96\x91\x98\xf5'))))
Результат
'isfucking amazing\n'
-4
Для тех кто не понял — это расшифровка этой пасхалки Juju.
+1
После прочтения статьи осталось ощущение, что автор рассказывает о том, что они написали большой монолитный плохо спроектированный кусок кода, и оправдывается теперь за это. Не хочу сказать, что сам проект плохо работает или еще что-то в этом роде, но с позиции программиста у меня закрадываются некоторые опасения.
Например, чего только стоит такое объяснение, где автор объясняет стабильность и качество системы, выбором языка.
Например, чего только стоит такое объяснение, где автор объясняет стабильность и качество системы, выбором языка.
Я думаю, что многое зависит от языка. Компания, в которой я работал до Canonical, имела миллион строк кода C#, и оно довольно часто падало с «null reference» исключениями и прочими необработанными исключениями.По-моему, не самый удачный выбор, ибо практика и статистика показывает, что ошибка в 99% случаев именно в «вашем» коде.
+5
Ну, одни языки дают гораздо меньше возможностей выстрелить себе в ногу по сравнению с другими.
+2
Иногда приходится делать выбор. Например, между оверхэдом потоков информации между микросервисами и излишней связностью монолита. Команда, в которой работал автор, выбрала монолит. А как бы оно было, если бы команда выбрала микросервисы, никто не знает. Вряд ли кому-нибудь захочется переделать 500к строк кода на микросервисную архитектуру, чтобы посмотреть — как оно будет…
А сравнение с проектом на C# некорректное, да — там были другие люди, да и неизвестно, как он развивался. Вполне вероятно, что Juju на C# тоже бы не падало в продакшене. Автор просто восхищается тем, что Juju в продакшене не падал, а предыдущий проект вспоминается с «содроганием» :) Для «поделиться ощущениями» вполне пойдет, как аргумент в сравнении — вряд ли.
А сравнение с проектом на C# некорректное, да — там были другие люди, да и неизвестно, как он развивался. Вполне вероятно, что Juju на C# тоже бы не падало в продакшене. Автор просто восхищается тем, что Juju в продакшене не падал, а предыдущий проект вспоминается с «содроганием» :) Для «поделиться ощущениями» вполне пойдет, как аргумент в сравнении — вряд ли.
+3
А не кажется ли вам, что 500 тыс строк как-то многовато для заявленной функциональности? И кстати, есть где-то описание способа, как они это число считали? Потому что глянул я на код-то, и выглядит это так: куча мелких файлов, в которых описан скажем один интерфейс, с соотношением комментариев к коду больше чем 1:1.
Вот сегодня опубликовали оценку для размера кодовой базы GridGain — говорится о сотнях тысяч строк. Неужели это проект того же масштаба?
Вот сегодня опубликовали оценку для размера кодовой базы GridGain — говорится о сотнях тысяч строк. Неужели это проект того же масштаба?
+1
Подозреваю, что считали кодом все строки, которые не являются комментарием или пустой строкой. Возможно, 500 тысяч строк — это все репозитории с github.com/juju. В оригинале нет каких-то дополнительных сведений о методике подсчета. (Информация о том, что комментарии не учитывались, есть и в переводе)
0
Вывод утилиты cloc, бранч master:
3850 text files.
3744 unique files.
178 files ignored.
github.com/AlDanial/cloc v 1.70 T=30.00 s (123.0 files/s, 23234.6 lines/s)
--------------------------------------------------------------------------------
Language files blank comment code
--------------------------------------------------------------------------------
Go 3592 85985 65021 540485
Markdown 17 624 0 1673
YAML 49 3 15 897
Python 4 154 154 556
PowerShell 6 53 8 356
C# 2 39 8 269
diff 3 17 54 151
Bourne Again Shell 10 38 29 130
RobotFramework 1 0 0 106
make 2 32 18 105
Bourne Shell 3 10 12 37
C 1 1 0 6
XML 1 0 0 1
--------------------------------------------------------------------------------
SUM: 3691 86956 65319 544772
--------------------------------------------------------------------------------
0
Sign up to leave a comment.
3,5 года, 500к строк Go. Часть 1