Email or username:

Password:

Forgot your password?
Top-level
Мя :sparkles_lesbian:

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

Правда рано или поздно я наткнусь на какой нибудь голангоспецифичный пиздец, и тоже буду очень долго ныть

27 comments
Galactic Jew 🇮🇱

@mo например на необходимость реализовывать все функции через интерфейсы чтобы мокать. и при попытке использовать дженерики я на какие-то грабли наступил сейчас боюсь ерунды сказать, точно не помню, но было написано мы планируем это пофиксить в версии <какая то версия которой сто лет в обед>, но видно так и не смогли.

а в целом прекрасный язык, мы притон на него меняем везде где только можно. чтобы руку набить :-) и еще потому что бинарник можно класть в FROM: scratch

Мя :sparkles_lesbian:

А, ещё диагностики компилятора после раста очень грустные. Местами нифига неочевидно что эта хрень от меня хочет

Мя :sparkles_lesbian:

...и мне больно от примитивности языка. Он как будто не позволяет elegant solutions в принципе

Мя :sparkles_lesbian:

На сегодня с меня хватит

(написать парсер - 2 минуты, заставить всё скомпилироваться - 20)

код отвратительный пиздец, надо рефакторить...

код выводит строку &quot;Lesbiabs&quot; и статистику с сайта BeaconDB
Мя :sparkles_lesbian:

> с меня хватит
> продолжает

Какой красивый отрефакторенный код, а теперь добавим проброс ошибок...
*получился уродец*

Мя :sparkles_lesbian:

Серьезно, этот if (err != nil) это просто лютейший визуальный мусор, неужели авторы не попробовали хоть что-то написать на своём языке прежде чем релизить...?

gleb.zhulik

@mo к этой фигне привыкаешь быстро, а потом ещё и врапать начинаешь, что ещё шума добавляет, но шоткат не помешал бы. На самом деле подобный подход к обработке ошибок очень хорошо себя показывает в сильно конкурентных программах: ты точно видишь откуда может прилететь, а язык заставляет обработать или отправить выше. Асинхронный код на языке с исключениями больнее, потому что прилететь может откуда угодно, приходится городить try/catch и вообще к защитному программированию не располагает.

Мя :sparkles_lesbian:

@zhulik в расте есть те же самые плюсы но без шума

gleb.zhulik

@mo потому и написал про шоткат. Я этот err != nil пишу за деньги по сотне раз в день, не могу сказать что это вот болит прям. Принимаешь/привыкаешь и пишешь, а теперь ещё и копайлот помогает неплохо

Мя :sparkles_lesbian:

А я правильно понимаю, что в одной директории может быть только один голанговский package..? И при этом его имя совершенно не обязано совпадать с именем директории?

И чтобы всё было логично разделено по неймспейсам без неявных проникновений между файлами, получается нужно каждый файл закидывать в свою директорию..?

SignPainter

@mo Всё так. Одна директория - один package (он же неймспейс), но таки принято, чтобы он совпадал с именем директории. Вот названия файлов внутри у тебя могут ни с чем не совпадать.

Мя :sparkles_lesbian:

@SignPainter круто, то есть внутри package творится локализованная вакханалия уровня сишных include

SignPainter

@mo не думаю, что оно там внутри что-то инклюдит. Скорее компилятор все файлы внутри package интерпретирует как один файл, который ты, жалкий человек, раскидал для своего удобства.
Внутри одного package у тебя единый неймспейс. Даже если нафигачишь кучу разных файлов - у них единая область видимости.
Когда ссылаешься на package из другого места - также видишь всё, что объявлено публично, не зависимо от имени файла.

Мя :sparkles_lesbian: replied to SignPainter

@SignPainter да какая разница что там внутри, снаружи это так же удобно как сишные инклюды (сишные инклюды абсолютно не удобны)

SignPainter replied to Мя

@mo я просто подумал, что ты спрашиваешь, создаёт ли куча разноимённых файлов внутри package какой-то оверхед. Насколько понимаю, не создают.

Мя :sparkles_lesbian: replied to SignPainter

@SignPainter они создают оверхед на того кто будет это читать, потому что вещи берутся в неймспейсе хз откуда, из какого-то файла, угадай

SignPainter replied to Мя

@mo это зависит от того, кто и как будет делить на файлы)

PS Go to definition - самая полезная фича этих ваших IDE :)

Мя :sparkles_lesbian: replied to SignPainter

@SignPainter очень полезная, но код иногда хочется просто бегло глянуть на гитхабе, а не грузить в IDE

SignPainter replied to Мя

@mo так это, на гитхабе же тоже есть эта фича.

Мя :sparkles_lesbian:

Кому там не нравилось что питон типо чувствительный к пробелам?

if (condition) {
do_something()
} else {
do_another()
}

Работает. Но стоит добавить перенос перед else...

if (condition) {
do_something()
}
else {
do_another()
}

...и всё падает. Это чувствительность к пробелам уровня баша блин.

А ещё:

do_something(
long, list, of, arguments, on, one, separated, line
)

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

Кому там не нравилось что питон типо чувствительный к пробелам?

if (condition) {
do_something()
} else {
do_another()
}

Работает. Но стоит добавить перенос перед else...

if (condition) {
do_something()
}
else {
do_another()
}

...и всё падает. Это чувствительность к пробелам уровня баша блин.

А ещё:

do_something(
long, list, of, arguments, on, one, separated, line
)

Мя :sparkles_lesbian:

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

Мя :sparkles_lesbian:

Осталось написать докерфайл, Github CI и катнуть впрод

Cyrmax

@mo
Это что Go что ли?

Cyrmax replied to Мя

@mo
Да ну, прикольный язык :)
Хотя я раб автоформата и автокомплита, поэтому многие вещи меня просто не тревожат.

:blobcatlaptop: gravitos :blobcatcomfsip:​

@mo

лютейший визуальный мусор

го это же вроде гугловский язык? делать всё так, чтобы оно плохо выглядело - это нынче в их стиле

SignPainter

@mo
> Он как будто не позволяет elegant solutions в принципе

Да, это как раз заложено в основу языка. Создатели считают, что elegant solutions херово читаются. Поэтому всё должно быть примитивно, многословно, но понятно

Go Up