Go (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего. Батарейки почти как в питоне.Пщ едва не единственный язык который на уровне синтаксиса позволяет синхронизировать подпрограммы, разве только не Pony или Erlang. Это в 2018 году-то.Дженериков нет, просто смирись.Обработка ошибок получается охуенно через http://github.com/pkg/errors | в приложениях обычно можно просто паниковать на ошибках.HTTP-сервер для убер максимального маня-хайлоада: https://github.com/valyala/fasthttpС версии Go 1.11 наконец-то появится официальный менеджер зависимостей vgohttps://github.com/avelino/awesome-go - список всяких разных пакетов, написанных на Go.Для вката в Go читай Донован, Керниган "Язык программирования Go", https://www.golang-book.com/, книги из списка https://github.com/dariubs/GoBooks, а также смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSwВкатываемся в эпоху докера, микросервисов и адово кошерной сетевухи.last >>1245569 (OP)
Стоит ли вкатываться в го? Работу искать не хочу, т.к. она уже есть в другом направлении, но есть желание выбрать язык чтобы уррурукать у себя в кроватке.
>>1314936Го только для работы и нужен, чтобы решать бизнес задачи. Для программиста в качестве хобби он нихуя не интересен, это же императивная дрисня без нихуя.
>>1314966Ну так и хочу. Сделаю свой аниме сайтик который сможет выносить хайлоад и буду там один сидеть. И хули ты мне сделаешь?
>>1314966Двачую. Постоянно слушаю как у кулера обсуждают монады и функторы, а потом иду писать фор лупы.
>>1314977Сгодится, я примерно так и сделал. Но у меня немного другой случай. Правда если ты решишь идти через веб-фреймворки — то хз, лучше ИМХО Спринг выучить. Говнище то ещё, но миллионы джавамакак хвалят и это востребовано на рынке.
>>1315433В чем прикол микросервисов? В создании лишних зависимостей, за которыми следить намного сложнее чем за обычными модулями в приложении?
>>1315435Их можно разнести на разные сервера, падение одного не влияет существенно на работоспособность других, можно учитывать нагрузку конкретно для одного сервиса, всякие оркестрации и тд
>>1315438Во влажных теориях, да. По факту же это зависимости, плата за которые очень велика. И большинству тех кто делает микросервисы, они на самом деле не нужны.
>>1315445Ну так-то да, кто ж спорит.Кровавый энтерпрайз: ехал годаун на микросервисе через монгу.Тулзы здорового человека: раст и постргес.
>>1315447Ну например тем, кто осознал что писать в 2018 году код как во времена шестой жавы, это какое-то днище.А еще тем, кто хочет получить приличный перформанс, низкий мемори футпринт и предсказуемое поведение сборки мусора.Ну или хотя бы тем, кому нужен параметрический полиморфизм и нормальная обработка ошибок.
>>1315453Судя по количеству новых и полезных проектов которые каждый день появляются, да и по шуму и соц. сетях, очень даже хотят и учат.Конторы подтянутся как всегда с опозданием.Да и вообще, при таком подходе надо жрать пхп и невыебываться.
>>1314918 (OP)Первый день тыкаю гошку, после свифта, жабы, котлина - на которых я работаю, гошечка выглядит как экстазик. Интересненько, интересненько.
>>1315587> после свифта,> выглядит как экстазиПосле языка с охуенными ADT, дженериками, протоколами и системой типов в целом? Тебе походу на джаваскрипт вообще будет благодать перейти.
>>1315631Увы, гайдлайны повелевают писать на нём максимум невыразительно и нечитаемо — это моя основная претензия. Также не хватает дженериков и удивился, что из коробки нету реализации map filter reduce, хотя понятное дело на гитхабе их десяток найти можно. Но это к вопросу о философии, мол простота first
>>1315634Да полистать ту же репу докера-хуёкера или кубера.https://github.com/docker/engine/blob/master/daemon/daemon.goПисали ребятки умные. Наговнокожено много и порефачить есть где. Но во многих местах одновременно и написано всратое дерьмо, и на заданный сам себе вопрос "А как бы написал ты?" впадаешь в ступор. Это голанг, никак.
>>1315659Reference counting. Тяжелая компиляция, тупящий lldb, отваливающаяся подсветка и intellisense.
>>1315671В свифте все же в рантайме все разрешается. Каждый объект имеет счетчик ссылок на него, как только он становится 0, объект выпизживается из памяти. То есть нет проходов gc, производительность прогнозируемая, и футпринт памяти меньше, так как мусора по сути нет. Но программист вынужден вручную разрешать ситуации, когда два объекта ссылаются друг на друга, тем самым мешая каждому зарелизиться. Это делается с помощью weak ссылок, которые не инкрементят счетчик ссылок на объект (a ссылается на b через обычную ссылку, b на a через weak, тогда когда на a перестанут ссылаться все внешние объекты, оба выпидорятся из памяти). Вот единственный момент, который сложнее gc. Ну и нет бенефитов для тред сейфти, в отличие от растовского борроу чекера.
>>1315648>Я вообще-то про свифт спрашивал.Работа со строками невозможна. А так, свифт простой и интересный. >>1315627>Тебе походу на джаваскрипт вообще будет благодать перейти.Никогда не пойду в эту хуйню. Я выбрал язык для моих бекендерских утех и вряд ли я буду искать работу на нем. Язык для души.
>>1315634Окей, про свифт. Тогда двачну проблемы реализации. Зафигачил какую-нибудь штуку на дженериках, а оно не компилится. На радаре заведена ишшью, мейнтейнеры пишут "Да, есть такое, хех, поправим через две мажорные версии))".Про мем с ABI знают все, кто хоть слышал название SwiftAST при компиляции большого проекта строится нереально долго (не уверен, но кажется именно этот этап столько занимает).Инкрементальная компиляция работает, если сегодня 13е число и на небе Луна находится в Деве.Про тулинг — приличных слов нету вообще. Об автокомплите можно забыть, о подсветке — иногда тоже. Лучше установить дефолтный плагин для ВИМа, пусть хоть как-то что-нибудь подсвечивает. И билдить через консоль. IDE кроме XCode ещё хуже.И ах да, если переключился на N релизов назад, которые были накожены на предыдущей мажорной версии, и хочешь сбилдить — удачи, братан.
>>1315689Все те же мьютексы. Ну и general central dispatch, можно короче порции работы асинхронно хуярить на такой штуке, как queue. Если все обращения на одной serial queue, то проблема решается.>>1315694Отличная там работа со строками. Сложность обусловлена доменом, ибо юникод это пиздец.
>>1315700Сейчас на самом деле намного лучше с подсветкой и интеллисенсом, на Swift 3 с Xcode 8 был форменный пиздец. Инкрементная компиляция еще с Xcode 9 заработала нормально. ABI stability будет в пятой версии свифта, лучше так, чем если бы зафризили какое-то непродуманное хуевое решение.
>>1315710>Отличная там работа со строками.Нет сука, и не нужно спорить со мной. Ты вынужден писать эктейшены которые будут управляться с индексами, чтобы провайдить нормальную работу, но для 80% кейсов работы, которые Я делал в универе - никогда не встретятся. Но в жабе или в голанге это сделать легче.
>>1315721Ты бы посчитал сложность работы со строкой, в которой символы переменного размера. Чтобы добраться до n-го символа, ты должен перебрать все перед ним. Свифт не скрывает этой сложности работы со строкой намеренно. Ты можешь сознательно написать себе экстеншенов/спиздить из гитхаба и тягать их из проекта в проект, зная на что идешь и зачем. У свифта же zero cost abstractions во главе. Ставить в пример джавку, которая сначала для внутреннего представления юзала ucs-2, а потом, поняв, что обосралась, utf-16 - это топ кекус. utf-16 тоже хуита, кстати http://utf8everywhere.org
>>1315743https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=3b5cd13b6df07c5a4c20de3a457c4147
Как распарсить err != nil ебучий? Откуда, блять, я знаю какую ошибку мне вернула функция? Что за пиздец...
>>13159411) сравнением значения: if err==io.EOF { обработка конца файла }2) проверкой типа: if pqerr,ok:=err.(*pq.Error); ok { разбот типизированной ошибки postgres }3) как диды учили: if strings.Index(err.Error(), "my substing")>=0 { ... }
>>1315941В большинстве случаев неважно знать, какая именно ошибка. Но если прям надо, то вот >>1315963
Так, читнул ваш итт тренд и вот второй оп-пик вызывает вопрос: я правильно понимаю, что разрабы пщ хотели минимализьм, а в итоге оказалось, что минимализьма недостаточно и каждый раз изобретать велик не очень удобно, поэтому напихали в язык всего подряд, и в целом он пошел по пути ц++?
>>1316380Нет.Го неплох, кроме нескольких недостатков типа отсутствия дженериков (их таки добавят) и всратая работа с ошибками (тоже поправят).Больше ничего такого глобального менять не будут.Останутся только мелкие уебанства типа typed nil vs untyped nil (говнище уровня джаваскриптовых мемов 1 == '1'), но это уже никогда не исправят.
>>1316394Если в качестве замены джаве его можно воспринимать, то в качестве замены крестам - нет. Замена крестам с gc, лол-пук-кек.
>>1316380Не напихали еще, Го 2 не вышел. Пока что в него планируют добавить аналоги дженериков, и какой-то бойлерплэйт для возврата из функций.>>1316394Го не мутился вместо джавы и крестов, го мутился вместо пхп и питона в качестве веб языков.
>>1316422>вместо пхп и питона в качестве веб языков.Пиздос, что Пхп, что Питон нудачные косплей Перла. Хуярю все на Перле и веб тоже, мне заебись, нахуй что то выдумывать.
>>1316467>Тебе зайдет инфа 100%Не, я С/Перл господин и гуидятину на Qt клепаю, иногда в Яве ковыряюсь. От ООП стараюсь держаться подальше.
>>1316467Я наоборот с рельс ушел.>>1316453Проиграл с маняпетушка. А автоформат не учил? Постоянно ору с таких сказочных долбаебов. С самого раннего этапа кодинга ты должен был этому научиться в жидбрейнсе, когда на жабе писал. Бтв удивляюсь до сих пор что приходится корректировать автоформат, ибо непривычно на хкоде например или в вс коде.
>>1316520>жидбрейнсеНа хуй это туда->ИДЕ для пидоров, а язык на котором без ИДЕ невозможно писать для еще больших пидоров
>>1316527Удвою. Для Голанга у меня ВИМ и никаких сраных ИДЕ. Траблы могут начаться, когда файлов уже 2-3 тысячи, wildmenu для навигации подтупливать может начинать. Но это наверное можно нормально решить.
>>1316548>ВИМ и никаких сраных ИДЕ.Утрою (нет). Либо ты пиздабол, либо мазохист. Знакомые, которых я ЛИЧНО знаю говорили что при переходе с вима на иде ощущалась легкость и блаженство. У них опыт 1-2+года был.>>1316527Я студент и мне похуй. Если ты жмот и не можешь сам себе обеспечивать, оплачивая продукт - то ты сам пидор. И я такто на вс коде сиду на голанге. Так что соси петушок.
>>1316549>Я студент и мне похуй.Тогда понятно, так бы сразу и сказал, что школьник>>1316548>когда файлов уже 2-3 тысячиЮзай OpenGrok для навигации
>>1316549>Либо ты пиздабол, либо мазохистЕсли студент такскозал, то ладно, что уж тут)).>>1316553Выглядит годно, прикручу
>>1316564>Если студент такскозал, то ладно, что уж тут)).что уж тут))0))))0000))Сори, с говнозадачами не сталкиваюсь и не столкнусь, ибо мои продукты выпускаются онли через ИДЕ.
>>1316571Есть обоснованное подозрение, что "твои продукты" стекают по штанине, когда ты просыпаешься на лекции
>>1316624>Есть обоснованное подозрение, что "твои продукты" стекают по штанине, когда ты просыпаешься на лекции"Обоснованное подозрение" которое никак не подкрепляется рациональным суждениям изложенного моего текста выше. Дурачек, достойный уровня /б.
>>1316772>Братишка, ты слегка подвержен эффекту Даннинга — Крюгера.Я и так нахожусь в долине отчаяния, а ты можешь только хуйню с умным названием писать. Пиздец, что я вообще здесь забыл. Пойду гошку дрочить.
>>1315069>Перекатывайтесь на раст, пока не поздно.Cейчас бы язык под задачи ставить, а не задачи под язык.
Сап, суслята. Есть такой вопрос. я тупойУ меня есть sort.Sort, мне нужно поменять его на sort.Slice. В офф. доке пример только с известными данными в анонимке. Суть в том, что у меня в говнокоде на вход подаются неизвестные МНЕ данные я могу тест посмотреть, конечно, но это не удовлетворяет условию задачи. Как это реализовать ? Бтв, сам говнокод. https://pastebin.com/GiMhHey3
>>1317833Выложи компилирующийся код на play.golang.org А потом выкинь свою хуйню и учи раст, чтобы не заниматься еблей вприсядку.
>>1317833экий говнокод. А можешь выложить условия того, что ты вообще пытаешься изобразить?По slice, а что тебе не понятно, если ты уже написал общий интерфейс? будет как в godoc example:sort.Slice(records , func(i, j int) bool { return records.Id < records[j].Id })
Не могу засунуть гитхаб/лалала в импорт. Почему это блять при установке не подцепилось? Ну да ладно. Куда копать? GOPATH менять что ли?
>>1317970Бтв, до этого устанавливал либу с командой go get github/lalalaКак посмотреть все установленные пакеты?
>>1314966>Го только для работы и нужен, чтобы решать бизнес задачи. Для программиста в качестве хобби он нихуя не интересен, это же императивная дрисняНа Go вполне можно писать в ФП стиле. Кто мешает писать на нем чистые функции? Есть функции высшего порядка. Есть замыкания. Нет лишнего, вроде классов и прочего.
>>1317975>для начала, гений.Тот же map, да и в целом стримы, появились в жабе 8. Спустя 14 лет этак.Всегда можно сделать пекедж и все. Так что иди нахуй, маняпетушок.
>>1317979Ну дык сделай, хуле ты кукарекаешь. На твоей параше, кроме как в стиле 80ых больше никак не попишешь. Модно молодежно, епт.
>>1317986https://doc.rust-lang.org/cargo/getting-started/first-steps.htmlОдин из лучших пакетных менеджеров. После него гомоёбля с GOPATH кажется насмешкой.
>>1317975>>1317981Map/Filter/Reduce - это не ФП. ФП это в первую очередь программа как математическое выражение. Без последовательного изменения состояния, как это делают в императивном стиле. Пишешь чистые функции, передаешь результат дальше, редуцируешь короче до финала, вот и программа в ФП стиле. На Go так можно писать, и даже нужно.
>>1317989Оно конечно так, но эту чушь можно сказать про любой язык. Кто тебе мешает делать то же самое в си? Или в любом языке, поддерживающим функции?
>>1317988Я уже и тогда подозревал, что ты дурачек. На счет лучшего - идешь нахуй. Грейдл самый нормальный. Можешь дальше не отвечать, обоссанышь.
>>1317996C каких пор уютный тредик стал таким токсичным? В твоей голове все плохо, раз такой бред пишешь каждому встречному.
>>1317991>Кто тебе мешает делать то же самое в си?>Или в любом языке, поддерживающим функции? В Си есть функции высшего порядка? У Си страшный синтаксис, ручное управление памятью, нет такой экосистемы как в Go (библиотеки для веба, инструменты, etc), нет такой простой модели асинхронности.Никто не мешает писать в ФП стиле в языках, которые это поддерживают. Но этого мало кто делает. Сами создают гору переменных, а потом ищут баги.
Посмотрел реализацию мап фильтр редьюс.https://github.com/yanatan16/itertools/blob/master/itertools.goДействительно модно молодёжно.
>>1318016Оказывается нужно сделать go get github.com/julienschmidt/httprouter, и потом уже в импорт засунуть это говно. Только хуй знает как контрится смена версий, отложим этот вопрос на полгода.
>>1318022Никак. Ты всегда получить master. Так что молить, чтобы автор не сломал все к хуям завтра. git submodule в помощь.А лучше сразу нахуй выкатывайся с этого говна.
>>1317877>>Some web-forums have a tree layout, so posts are presented as a tree. However the posts are typically stored in a database as an unsorted set of records. Thus when presenting the posts to the user the tree structure has to be reconstructed.Your job will be to implement the tree building logic for these records. The records only contain an ID number and a parent ID number. The ID number is always between 0 (inclusive) and the length of the record list (exclusive). All records have a parent ID lower than their own ID, except for the root record, which has a parent ID that's equal to its own ID.Мне непонятно, как реализовать анонимную функцию в случае со слайсом. Чот я не въебываю по- синтаксису.
>>1318027Держи. Потом покажешь как на го вышло.https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=d206417387d0364fdcdb69af932609fd
>>1318024>А лучше сразу нахуй выкатывайся с этого говна.Зачем мне блять выкатываться если я зарабатываю блять на мобильных приложениях? Я пишу код на 4 языках и я решил изучить бекенд. Вы долбоебики что ли? Язык очень неплох и мне нравится с ним тыкать бекенд.Заебали.
>>1318060Так же кстати делаю. Правда всё что нужно было написал, сейчас дорабатываю изредка. Ну и ору с убожества Go иногда, смешно же.
>>1318027анонимную функцию тебе показали выше sort.Slice(records , func(i, j int) bool { return records.Id < records[j].Id })вот это func(i, j int) bool { return records.Id < records[j].Id } есть анонимная функция, переданная вторым параметром
Go exports a variable if a variable name starts with Uppercase.Блядь, вот это я охуел сука. Я понимаю, что это написано в документации, но сука, мне казалось, что апи языка и инфраструктуры должно быть как максимум интуитивно понятным, а как минимум НЕ уебанским.Какой сука смысл ограничивать названия функций апперкейсом? блядь, даже в ноде и то модульная система прозрачней, просто явно экспортишь то, что хочешь.У меня все.
>>1318562Тоже шокировало в своё время, но на общем фоне Го — это норма!>>1318579Во второй версии завезут.
>>13186061) Когда эту вторую версию можно будет пихать в прод?2) Будет ли она обратно совместима с первой?
>>1318671>Чем больше людей откажутся от goвна, тем лучше.Тогда будет куда вываливать свое говна изо рта на реддите или создавать посты на медиуме.
Говорят пщ - замена пэхэпэ и пистона для веба. Ладно. Я в этом не разбираюсь.А вот консольные утилиты помоему на го самое-то писать. Вот например, есть файловый менеджер - ranger. Все в нем хорошо, кроме того, что он на питоне==долгий стартап, краши с высером на полконсоли где нихуя непонятно. Или portage гентовский. Да и вообще все те утлиты, что не на C.
>>1315714Помнится, при отладке проекта в Xcode 8 процесс SourceKitService сжирал более 40 ГБ ОЗУ из-за бага. Приходилось регулярно перезапускать IDE.
Есть сервис деск, у него есть api. Надо кли приложуху чтобы смотреть/создавать/изменять инциденты. Тут вопросов нет.Хотелось бы ещё чтобы приложуху можно было запускать как демона с иконкой в в систрее, которая будет раз в сколько то времени мониторить стек, подсвечивать на иконке количество незаасайненых инцидентов и посылать нотификации. Вот с этим вопрос. Как это реализовывается? Куда копать?
>>1324761Так запускай на go как сервис.На QT напиши простенький трей апп который делает запросы к сервису. Примеры же есть.
Гайс, ну подскажите. Где можно почитать конкретно про блок горутин\каналов ? Когда именно блочится и почему ятупойда и не могу в гугл.
Хоспаде блядь, как же у меня бомбануло от обработки ошибок в говяхе после пистона, да и вообще от дизайна языка ТРЯСЕТЭто единственная компилируемая альтернатива для крестов\раста в бекенде?
>>1327153Слишком низкоуровнево и очень много неочевидных моментов, которые по сложности приближают его к плюсам, на 1 строку в питоне нужно писать 5 строк на расте.
>>1327161Ну по сравнению с го, писать на расте приходится как раз меньше.Если ты хочешь писать как на пистоне, пиши на пистоне? Что с ним не так?
>>1327168Захотел как-то увеличить свою конкурентность, да и вообще что-то новое для бека попробовать, а то питон надоедать начал, хоть и соответствует требованиям для работы и личным предпочтениям. Вот решил попробовать что-нибудь компилируемое для бека, что смогу потом в прод засунуть, когда потребуется.Может эрланг для себя поковырять, вдруг работа даже подвернется.
>>1327145>бомбануло от обработки ошибок в говяхе после пистона, да и вообще от дизайна языка ТРЯСЕТХрестоматийная реакция, брат.>альтернатива для крестов\раста в бекенде?Swift>>1327178Всё правильно делаешь. Научись бест прэктисам, в том числе по юнит-тестированию, пусть будет скилл. Если воротит нестерпимо — то и хуй с ним.
>>1327498Kitura (IBM)PerfectVaporФреймворки для сраного веба. Собственно, 90% того, чем занимаются бэкендеры
Легко ли учить Го?Планирую пилить своими силами сайт для своего дела и подумываю для бэкенда использовать Го.
>>1332059Я просто ещё не достиг такого уровня. Желание переписать весь свой бэк на Кожуре — такое есть. До Хаскеля ещё не дозрел.
>>1332050Я конечно понимаю что clojure дико крутая вещь и все такое. Но я всего лишь бате сайт делаю а не ракеты в космос запускаю.
Можете рассказать, какие задачи лучше всего решаются на Go?Вот как в шапке по Rust: область применения - на сколько язык подходит для нее и какие библиотеки есть у сообщества. Например там так и пишут, что для веба не очень-то на данный момент подходит.Все что я до сих пор видел по Go на практике это какие-то микро-утилиты/микро-сервисы.
>>1335845Демоны, сетевые приложения, CLI утилиты. Это его сильные стороны. А если очень хочется, то можно и что-то другое писать.
>>1335863А теперь объясни почему это его сильные стороны.Возьмем например cli. Почему-то большая часть новых утилит которые входят в ежедневный обиход, типа rg, fd, exa и т.п. написаны на расте. И понятно почему: быстро работает, не жрет память, супер удобная экосистема для разработки, хороший доки, даже же книжка по написанию cli есть.
Парни, подскажите, что можно почитать, чтобы успешно пустить пыль в глаза на такой вопрос:>Понимания принципов работы Message BrokersЯ знаю, что там ничего особенно сложного нет, но так получилось, что я ни разу не работал с очередями. Понимаю для чего нужны (канал связи в распределенной системе), примерно знаю как работают (очереди, паблишеры, сабскрайберы), знаю какие они вообще есть (рэббит, зеро, кафка, натс). И вообще считаю, что это не бизнес-критикал опыт. Но на собеседовании на этом вопросе провалюсь. Вот что про это нужно знать, чтобы они поняли, что это не будет проблемой?
>>1335987Вообще в Раст порог входа выше. Golang стабильнее, более зрелый, огромное количество библиотек. Для Раста столько нету. Простая модель конкурентного программирования. Golang создавался с прицелом на сетевое программирование.Посмотрел exa. Что сказать, писать юниксовый ls на Раст? По идее можно. Но какие выгоды это дает? Что за книжка по написанию CLI?
>>1336158https://rust-lang-nursery.github.io/cli-wg/Как там у го с размером бинарников?Как там у го с пакетным менеджером?Или мне должно хватит уебищной стандартной библиотеки?
>>1336165>Как там у го с размером бинарников?Лучше чем в Руби с Питоном. Хотя их часто используют для CLI утилит. Думаю примерно как и у Раста.>>1336165>Как там у го с пакетным менеджером?https://www.coursera.org/lecture/golang-webservices-2/utilita-dep-f3Bew>>1336165>Или мне должно хватит уебищной стандартной библиотеки? ШТА? У Go огромная стандартная библиотека. Это одна из его сильных сторон.Если ты хочешь просто повыпендриваться, то мне с тобой не о чем говорить. Если реально что-то хочешь узнать, то спрашивай нормально.
>>1336196Она конечно огромная, но при это она уебищная.Например, я хочу чтобы мой cli-тулзу можно было юзать так:./shit -s# same as ./shit --spasibo-abuИ еще 5 флагов. И я хочу чтобы они сразу разворачивались в типизированную структуру. Как в го это сделать неуебищно?
>>1336205https://tutorialedge.net/golang/building-a-cli-in-go/https://github.com/urfave/cli>>1336205>Она конечно огромная, но при это она уебищная.Конкретней. Обоснования будут? Пока что только бросание пыли на воздух.
>>1336221Я тебе говорю что стандартная библиотека уебищная, потому что в ней дохуя всего, но оно малоюзабельно. В качестве примера, в ней есть возможность парсить флаги командной строки, но и как и все в го, оно уебищное, и не позволяет сделать то, что я написал выше.Отсюда вопрос, нахуя пихать в стандартную либо малоюзабельное кривое говно и не давать пакетного менеджера?
>>1336254Субъективизм. Если чего то не хватает, ищи на гитхабе, или свое пиши. А если не нравится Go, не юзай его. Все просто.Какие языки ты вообще видел?
>>1336279Хуективизм. Я на го накатал в общей сложности за пол ляма строк кода и я тебе утверждаю - го, уебищное говно, которое, этого нельзя отрицать, быстро компилится.
>>1336299Уебищное ни уебищное, а рыночек решает. Буду блять учить это ебаное говно, потому что требуют вакансии. Что мне блять остается еще?
>>1335845Серверное говнецо, 3к рпс нормально тянет.Переписать на него что-то с пхп — дёшево и сердито.
>>1336311Ну то есть опять микросервис в один файл умещающийся?Я даже не знаю, что это может быть, чтобы имело смысл переписывать, потому что все равно узкое место это база.Ну вебсокеты какие-нибудь наверное, да. Че еще-то?
>>1335990раскури кафку (в основном ее сейчас везде юзают, быстро-надежно-конфигурируемо), разберись с топиками, партишинами, брокерами, консьюмер группами, вот этим вот всем.
Пишу на гошке с год уже.Канкарренси и кросс-компиляция это, имхо, то что реально удалось в го. В остальном уже подзаебался на этом писать, ей-богу. Особенно крайне больно писать много бизнес логики на го, вот уж где от объемов копипасты начинает жопа сгорать и ни одна ИДЕшка не поможет. Особенно тоби пизда если надо что-то порефачить/добавить везде.Кстати, ебал в рот новые го модули и, в частности, формат декларирования зависимостей в go.mod. Не знаю как до такого можно было додуматься. Ни в одном блять языке у меня депенденси менеджмент не вызывал такого горения, как в го.А еще ебал в рот тэги на полях структуры, пиздец как такое говно можно было задизайнить, сделали бы уже аннотации/декораторы какие-то. Будто наспех закостыленное решение.Ебал в рот nil dereference error'ы в рантайме 2019 году, блять. И не надо мне тут про weak type system затирать и его прелести, это реально конченая хуйня которая откусит вам очко в больших приложениях.
>>1336458>формат декларирования зависимостей в go.modА что с ним не так? Ты же все равно не руками пишешь его
>>1336458>Особенно крайне больно писать много бизнес логики на гоМожет быть дело в тебе, а не в языке? Есть функции высшего порядка, а больше ничего и не нужно, чтобы писать красиво логику. 2 главу СИКП почитай, очень полезно. Может дойдет, что это ты писать не умеешь, а не язык плохой.
>>1336464Его читать надо, а он засран indirect'ами и прочей ебалой.Вдогонку: эта хуйня записывает в один общий список зависимостей тестовые зависимости. И у тебя нет выбора, ты должен качать тестовые зависимости посторонних либ, даже если они тебе нахуй не всрались. Хочешь миграции для БД погонять и подключить для этого golang-migrate, например? На нахуй тонну говна включая ебучий докер: https://github.com/golang-migrate/migrate/blob/master/go.modКстати, дизайнить говно изначально, когда можно сделать не говно это прям в крови у авторов языка. Хотите задекларировать зависимости для рабочей среды? На нахуй костылище: https://github.com/golang/go/wiki/Modules#how-can-i-track-tool-dependencies-for-a-module>>1336485>Может быть дело в тебе, а не в языке?Может. Но почему-то мне кажется, что тебе просто не приходилось писать овердохуя логики, ну или ты человек который может выключив мозг набивать текст часами, тогда как в более продвинутых синтаксически языках это решилось бы куда быстрее.
>>1336496Приведи пример чего не хватает. Мне кажется тут дело не в синтаксисе. Для языка важна абстракция с помощью ФВП, абстракция данных, и конкурентное программирование. Синтаксис не имеет значения, если все это есть. В Go есть функции высшего порядка, есть простая в использовании конкурентность, а абстракцию данных легко можно реализовать самостоятельно, с помощью функций. Но чтобы понять как это реализовывают, нужно прочитать 1 и 2 главу СИКП.
>>1336537>Приведи пример чего не хватает.В первую очередь больно работать с коллекциями. Вся бизнес-логика помимо ифэррнатнил засрана бесконечными циклами с тупейшим переливанием данных из одного вида в другой. Возможно это пофиксится с дженериками, когда (и если) их введут.>а абстракцию данных легко можно реализовать самостоятельно, с помощью функций.Можно взглянуть на пример такого приложения (если возможно, не хэллоу ворлд, а что-нибудь покрупнее)?
>>1336560>В первую очередь больно работать с коллекциями.Что конкретно?>>1336560>Можно взглянуть на пример такого приложения (если возможно, не хэллоу ворлд, а что-нибудь покрупнее)?Это очень обширная тема. Одного примера нет и не может быть. Чтобы все это понять нужно много примеров.Если хочешь разобраться в этом, то советую СИКП. Это первоисточник. Но его не всегда можно понять с первого раза.Есть курсы адаптированные на основе СИКП. Этот курс должен дать прозрение https://ru.hexlet.io/courses/php-introduction-to-oopЗдесь еще больше. Начиная с курса Функции и Составные данные https://ru.hexlet.io/professions/backend#educationТолько эти курсы платные. Но это единственная известная мне адаптация СИКП.
>>1336576> Что конкретно?Лол, проиграл. Ты точно свой ебучий sicp читал? Или ты только первые 2 главы осилил?map/filter/fold, do you speak it motherfucker?
>>1336571Аааа! Что этоа? Я не ошибся, там по ссылке массивы в циклах обрабатывают?Я в последний раз видел такой трехэтажный ассемблер в универе на сях. Мне казалось, что в 21 веке у любого языка есть нормальная либа для этих задач.мимо рубист
>>1336581Более того ты должен точно знать какие у тебя там объекты лежат, иначе скопипастив этот злоебучий "слайс-трик" ты получишь утечку памяти.
>>1336579Ты нормально изъяснять умеешь? СИКП не мой, и не ебучий. С тупой школотой не общаюсь. Когда научишься с людьми разговаривать, тогда и пиши. Адьёс.
>>1336576>Что конкретно?Анон за меня ответил >>1336579>>1336576>Это очень обширная тема. Одного примера нет и не может быть. Чтобы все это понять нужно много примеров.Подтверди свои слова каким-нибудь реальным примером. Ты взялся пояснять мне что я не понимаю как писать на го и как на самом деле надо строить абстракции в приложени. Покажи как. Иначе это просто треп теоретика.
>https://www.golang-book.com/books/intro/6```func main() { var x [5]float64 x[0] = 98 x[1] = 93 x[2] = 77 x[3] = 82 x[4] = 83 var total float64 = 0 for i := 0; i < 5; i++ { total += x } fmt.Println(total / 5)}```Камон, посоны, это че, вот так ищут среднее? Вы это серьзено?
>>1336590Я тебе ничем не обязан. Наводку дал, дальше сам разбирайся. На понт меня не бери, доказывать ничего не собираюсь. Если бы тебе было интересно, ты бы выбрал другой тон. Так что мимо.
>>1336597Илюша, тебя же пидорнули отовсюду.Так что можешь не усираться, денег не получишь все равно даже 15 рублей
>>1336597>На понт меня не бери, доказывать ничего не собираюсь.Мужик, ты сам вступил со мной в дискуссию.Ты либо тролль, либо пиздобол.
>>1336607Думал что ты адекватный. А раз из тебя говно лезет, то до свидания. Метать бисер перед свиньями не собираюсь.
Аноны, в чем смысол возвращения из функции не поебеньки, а ссылки на поебеньку?type Сock struct { Length int}func yy() *Cock { return &Cock{10}}func zz() Cock { return Cock{18}}Только по лицу не бейте
>>1315951Ну в расте-то обработка ошибок куда продуманее чем в го. В го2 могли бы спиздить, но почему-то надрафтили очередной неуниверсальный костыль, охуеть просто.
Чуваки, а чего стало с вамш ебунытм апологетом Го? В психушку увезли?единственный повод зайти в го-тред
>>1336581>Я в последний раз видел такой трехэтажный ассемблер в универе на сях…но нет, го — это и вправду такое говно.
Аноны, накидайте, пожалуйста, примеров тасков из ваших джир/редмайнов. Собираюсь перекатываться в го и хочу знать, чего примерно ожидать на работе
>>1340915>го - первый языкБратишка, пощади себя, возьми что-нибудь более человеческое, иначе вообще может от программирования отвернуть.Го хоть и инструмент очень хороший для определенного круга задач, но крайне унылый.
>>1340925Меня сети интересуют,а голанг вроде хорош для нихПозже си собираюсь учитьПробовал питон,шарп.Все заканчивается тем,что мне нечего писать и я не понимаю зачем я это училТут хотя бы цель есть какая-то
>>1341030Смотря, что под сетями понимать. Сокеты сырые и заголовки tcp/ip или 15 min blog. Разные вещи. Начни с си или лучше с rust
>>1341501Оу,спасибо,как раз таки первое меня и интересуетГо разве для этого не подходит?(извиняюсь за возможно глупый вопрос)
>>1341740Как в крестах оно определяет что T должно быть возможно сравнивать?Пикрилейтед раст, например.
>>1342877через свойства типовреализаций их полно, либо их новых стандартов, либо из буста, либо руками делаешь сам (читаешь в книжках как делать)не вопрос, в общем, тема обсосана четверть века назад, лол
>>1342877а вообще в данном конкретном случае на этапе компиляции при специализации шаблона и будет определено, можно ли сравнивать
Двощ, юзаю сишную либу в го. Не пойму как слинковать. Допустим на сишке я конпеляю gcc main.c -lmylib, подскажите как передать -lmylib для го.
Есть ли смысл сейчас читать книгу Саммерфилда 2013 года издания или стоит найти что-нибудь более свежее как писечка пятнадцатилетней няши?
>>1344695Не угадал. Я перешел из говномесов в когорту белых людей, и теперь смотрю на энтерпрайз как на говно. Впрочем, все еще может поменяться, ага.
Пишу на Go 1.5 года. Выступал на митапе, рассказывал про многопоточность в гошечке. Большой фанат гофера. Задавайте вопросы.
>>1344803А кроме канала?У меня на собесе такое спросили, я про канал сказал, но не уверен, что способ единственный
>>1344814По сути тут только чтение файлов /proc/* и их парсинг.На первый взгляд сложностей не будет если не прям в лоб переписывать
>>1344814наверное важнейший камень:strings.Trim вторым параметром передаётся на то, что надо обрезать, а набор символов для обрезания.
>>1340248Если не брать в расчёт круды, моя типичная задача:Запилить микросервис, читающий очередь RabbitMQ, проверяющий сообщения на дубли (хэш от него, к примеру, хранится в редисе или локальном хранилище). Что-то дописывается в сообщение, валидируется и передаётся на SMTP-сервер.
>>1345573Спасибо за конкретику.Может еще посоветуешь, на какие сторонние либы (которые стали стандартом де факто, типа gorilla/mux) стоит обратить внимание?
Посоны, а как в го православно замаппить реквест на структуру и провалидировать поля? Все вручную или как?
>>1345577Я не он, но приведу пару примеровvalyala/fasthttp, globalsign/mgo ( хотя в последнее время развивается официальный), stretchr/testify, sirupsen/logrus
Может кто простым языком пояснить, что имеют ввиду, когда говорят, что длинна массива является частью его типа? Типавот допустим есть массив var someArray [10]int. Грубо говоря. Тип этого массива не int а не 10[int]? Так что ли?
Хранится в файле, а не в оперативке, достаточно скачать саму либу и всё, по скорости может похуже, но использовать очень просто.
Прога раз в секунду просто читает /proc/meminfo в цикле.https://play.golang.org/p/eQB1f7RMF9cСначала VmRSS 1 MiB. Далее потребление памяти постепенно растет до 6 метров, и больше не растет. В чем причина такого роста и можно ли это предотвратить?
>>1348303наркоман, ты там time.Second в 4 строчки вычисляешь? ) По вопросу: работа GC, особенно на малых объёмах, штука трудно предсказуемая, не специфицированная и тебя ебать не должна. Если всё-таки ебёт -- можешь потеребонькать переменную GOGC, которая влияет на агрессивность срабатывания GC
>>1348486подёргал GOGC, не очень-то что-либо изменилось.На питоне ж такой скачки нет. Как жрало 9 метров со старта, так и жрет.
Аноны, такой вопросец. Допустим, необходимо проводить какие-нибудь манипуляции с файлами, которых может быть от пары штук до десятков тыс. Как найти оптимальный размер пула воркеров?
>>1314918 (OP)Короче, нужно мне например круд запилить, беру я значит Rails или Django и фигачу сайтецкий, что в этом плане может мне предложить экосистема Go, есть что-то похожее?
О мудрейшие, Анончики! взываю к вашей мудростиПишу небольшую игру, мультиплеерную (ну типо всякх agar.io)Возникла загвоздка, не знаю как реализовать механизм комнат.Т.е человек заходит на сайт - видит форму- вводит название комнаты (+ какие параметры) - далее после нажатия кнопки эти данные улетают на сервер (там создается структура комнаты и все такое) - и человек автоматически редиректится в неесаму структуру комнаты написал Хелп! помогите как сделать это! умоляю с псевдокодом!
>>1318562Если ты не понимаешь, почему всё задизайнено максимально примитивно, то это просто не твоё.Ты просто разработчик без зачатков менеджерства - в этом нет ничего плохого, просто факт.
>>1335987Все три - это уже аналоги уже имеющегося софта, но на расте? Уходи, пожалуйста, потому что это даже не смешно.
>>1349440Попробуй объяснить бизнесу, что критические по производительности сервисы следует переписать на go а лучше сразу на rust потому-что ваши рельсы вытягивают максимум 1000 rps и затраты на железо скоро будут выше затрат по миграции на гошечку
Может быть кто знает годную статейку. Интересует вопрос по поводу дизайна интрефейсов. А именно почему при имплементации нет автоматической адресации значений, если ожидается pointer receiver а передается значение ?
>>1350072> а лучше сразу на rustА может сразу на x86 intel asm? Типа логика такая, чем ниже уровень тем лучше для веба?
>>1350072>максимум 1000 rpsТам разве асинхроности нет? Любая async хуйня такую нагрузку за раз сожрет
>>1350604Смысл есть, чтобы не писать портянки сиквеля и иметь удобный кверибилдер, но все орм на го пока что говно. Ждём тырпрайз уровень, как в жавках и шарпах.
>>1349440Ты им сразу запили в свободное время микросервис на го, где критическая для скорости работа выполняется и с бенмарками им покажи.
>>1350300>>1350423Цифру в 1000 rps взял рандомно. Никогда не писал на рубях. Сужу по времени ответа gitlab dot com. Для меня ruby по производительности сравним с php. В обоих языках для каждого асинхронного чиха нужно прикручивать очередь по типу RabbitMQ.
>>1350636Руби медленный как говно, но ты хуйню несешь какую-то.>>1350604Есть, конечно. Но анон прав, нормальных нет, все говнище ебаное.На рефлексии норм (ну как норм, за отсутствием альтернатив) https://github.com/go-pg/pgНа кодгене есть только https://github.com/volatiletech/sqlboiler , остальные мертвы. Но это activerecord ебучий, причем все равно стремноватый.
>>1349440А зачем ее вообще переписывать? Чтобы ты мог поупражняться в го за счёт работодателя, а заодно наебнуть стабильный продукт? Лол.
>>1348973Поднимать количество, пока ты не загрузишь свой проц около 100%, либо свой винт, если ты там безо всякой логики их копируешь например. Хотя дисковые операция я в любом случае попробовал бы отдельно сериализовать.
>>1314918 (OP)Гофаны, когда нужно закрыть два и более файла/канала, вы делаете так:defer close(chan1)defer close(chan2)Или же так:defer func() { close(chan1) close(chan2)}()
>>1351366https://golang.org/pkg/fmt/> The default format for %v is: > struct: {field0 field1 ...}> array, slice: [elem0 elem1 ...]> maps: map[key1:value1 key2:value2 ...]> pointer to above: &{}, &[], &map[]
>>1351458Большая разница. Го-рантайму адрес брать у нечего. Если хочешь получить адрес массива, адресу первый элемент. fmt.Println выводит массив даже при &. Создай массив по человечески и получай &y[0]
>>1351366Короче если тебе нужно получить адрес то выводи через &y[0] или используй println(y). Если тебе интересно почему, то причина в том, что Println не понимает, что ты от него хочешь. Точнее понимает но не так. Он думает, что ты ему указатель на массив передаешь. Он грит ок. Разыменовывает его приводит к типу и выводит. Он не понимает, что ты хочешь получить адрес. Так вот работает Println.
>>1351469Нихуя не понял. Ладно, спасибо за попытку, видимо я не понимаю каких-то фундаментальных вещей. Почитаю об этом.
>>1351475Почитай гайды к массивам для языка С. Принцип у них один в один, но уделяют им внимания более подробно и развернуто. Плюс расскажут устройство внутри, по памяти.
Чо там у го по перфомансу? Нужно переписать один числодробительный микросервис с пистона. Думаю или не ебаться и заюзать cython или попробовать goвно.
Аноны, если бы вы начинали сейчас учить го или советовали своему другу, то в каком порядке и какие книги вы бы взяли для вката?
Привет, друщья. Хотелось бы вкатывиться в го потому что с одной стороны, я давно уже хотел попробовать что-нибудь такое, си-подобное, только современное и читаемое.Но меня останавливает то, что нет дженериков. С ума сойти, ведь это столько лишней писанины будет, без дженериков-то.Есть где-то драфты нового стандарта с генериками, что-то вроже C++0x? А то если я без генериков привыкну, то потом хуй переобучусь, я же очень медлннно обучаюсь.
>>1352304Да нахуй вам эти дженерики, блядь ? Вы ебанутые ? На данный момент они НАХУЙ не въебались в го. Что там использовать в дженериках ? Хендлерфанк ? Задавать поле в структуре БД ? Вы ебанутые ?
>>1352304С отсутствием дженериков смириться можно, но вот от обработки ошибок меня АЖ ТРИСЕТ.А вообще, мне го нравится, хотя я несколько лет плевался от синтаксиса, прежде чем начать его использовать.
>>1352201Ну вот что ты за пидорас такой, а? Не нравится яп - не используешь его, а не ходишь по тредам, рассыпая говно. Растошизик, ты?
как же заебало это поведение у golandа:enter на конце ifа с фигурной скобкой переводит как надо на 1 таб от смещения самого ifаenter же на конце else переводит на 2 два ДВА блять таба.как исправить?
В книге Донована из оп-поста проскакивают упражнения с битами. Это нужно понимать или автор выебывается напрашиваясь на пиздюли?
>>1352997За все хуй знает сколько лет мною только один раз использовались побитовые операторы. Понимать нужно, там ничего сложного просто в голове дебажить эти хуевины долго.
У треда есть конференция в тг или слаке? Было бы здорово найти еще пару таких же болезных как я для совместного обучения.
>>1353451>>1353470Крупные конференции видел, но там сидят успешные синьоры помидоры обсуждающие эффективности алгоритмов. Зеленые почти не высовываются, тяжело скоопироваться. Спасибо все равно.>>1353456Мессенджер поудобнее будет, а вот вкладка с пр не у каждого открыта.
>>1314918 (OP)Аноны, я так понимаю, что не стоит передавать в функцию какой-нибудь жирный массив, из-за того что в момент передачи создается его копия и уже она передается в функцию, поэтому для экономии памяти нужно передавать в качестве аргумента не массив, а указатель на него. Поясните, что возвращать, если массив создается внутри функции, тоже указатель на него?
Вроде все круто, классно, а в особенности после js, но порой не хватает обычных вещей. Почему тернарного оператора нет? Это же супер удобно и легко было бы.
Я попытался писать на этом вашем голанге, это какой-то пиздец. Для человека привыкшего к map/filter/reduce сплошная боль. Функция перемешания коллекции принимает слайс, интеджер и компаратор блять, когда в других языках достаточно написать .sorted() на ресивере (при условии что элементы сортирабельны). Все просто чудовищно многословно и тупо.С другой стороны я вижу чудовищный хайп и кучу годного софта, написанного на голанге (rclone, godu, gdrive только из не очень популярных, что я пользовал), огромное коммюнити.К тому же я давно ищу себе язык, на котором я бы мог писать небольшие cli утилитки для себя, голанг тут идеально подходит со своим одним бинарем.Может это я просто тупой? Кто-нть из принявших голанг тут сталкивался с такой проблемой? Как выбросить из головы года ФП-стайл кодинга и начать жить с гошечкой?
>>1353839>Как выбросить из головы года ФП-стайл кодинга и начать жить с гошечкой? Попробуй начать заниматься горными лыжами. Есть вероятность, что ты получишь травму мозга, заработаешь амнезию, а твой айкью упадет в два раза. Вот тогда голанг тебе будет как раз.А небольшие cli-утилитки отлично пишутся на питоне, кстати.
>>1353859Почему нет? В нормальных языках if экспрешонval x = if(theAnswer == 42) "sprudo" else "sprade"Тоже скажешь что не нужно? Объясни хоть в чем проблема писать простые условия в одну сторчку?
>>1353839>небольшие cli утилитки для себяс женериками будет больше боли. У меня пара знакомых для утилиток таких выбирают раст. Но я больше серверную часть на голанге пишу, так что за раст особо не скажу.
>>1353865>А небольшие cli-утилитки отлично пишутся на питоне, кстати.После появления котлина перестал видеть смысл в пиздоне, можно так же элегантно писать, но на строго типизированном языке.Также в пиздоне дичайше бесят тонны всяких костылеподобных штук вроде __init__ __new__ __govno__. Комбинаторы на коллекциях почему то сделаны в виде функций а не методов самих коллекций, блять, а лямбы там вообще пиздосДля cli хочу иметь просто 1 бинарник и все, как перечисленные выше примеры: rclone, micro, godu
>>1353878да, я подумываю про раст, но его перспективы туманны в отличае от голанга, у которого все хорошо
>>1353887Ну бери го, хули тогда. Вообще в будущем мне кажется этот язык сравнятся по батарейкам как в питоне. Лишь бы комьюнити грамотно дела обставили.
>>1353923Зачем ты сравниваешь батарейки (библиотеки я так понимаю) и синтаксис? У го отвратительный синтаксис построенный на его идеалогии "нехуй выебываться, пиши просто". Маловероятно, что он когда-нибудь станет лучше.Меня в целом удивляет ситуация, когда столько годноты и такое большое коммюнити вокруг такого примитивного языка. Мне кажется что я чего-то не понимаю в этой жизни.
>>1353939Да съеби ты наконец в свой петушиный угол любителей педераста. Заебал уже всех своим нытьем.
>>1353939>Зачем ты сравниваешь батарейки (библиотеки я так понимаю) и синтаксис?Потому что они взаимосвязаны. >У го отвратительный синтаксис построенный на его идеалогии "нехуй выебываться, пиши просто".Мне это нравится. А еще в вижаке тулинг просто шикарен.> Маловероятно, что он когда-нибудь станет лучше.Станет.> когда столько годноты и такое большое коммюнити вокруг такого примитивного языкаЗаебись язык.>Мне кажется что я чего-то не понимаю в этой жизни.Я тоже. Вон элик нормальный (относительно), но никто не хочет оценивать его возможности. Хотя, тут отдельный разговор про ерланг ВМ с плюшками акторов.
>>1353987> Вон элик нормальный (относительно), но никто не хочет оценивать его возможности. Хотя, тут отдельный разговор про ерланг ВМ с плюшками акторов.Ну я писал на ирланге года 2, даже деньги за это получал. Язык прикольный, но заебало, Си с прологовым синтаксисом и функциональщиной. Акторная модель переоцененая, супервизоры на моей практике никто нормально настраивать так и не научился, приложение один хуй падало в корчах. Тулинга ноль. Кстати тогда я на ИДЕЮ как раз из-за ирланг-плагина и подсел>Потому что они взаимосвязаны. Нихуя. Вот голанг в его текущем состоянии как контрпример. Язык простой как дверь прям до отвращения, но аппликух и либ на нем жопой жуй.>Станет.Я очень на это надеюсь, только вопрос когда, я старенький, могу и не дожить.> когда столько годноты и такое большое коммюнити вокруг такого примитивного языка> Заебись язык.Да вот я о том же и говорю. Смотришь такой на коммюнити и думаешь "Вау, вот он -- язык моей мечты", потом начинаешь на нем писать и понимаешь, что блять в консерватории что-то не так.Может вы мне скините примеры идеоматичного голанг кода, который я посмотрю, и сразу пойму, что был не прав, и язык норм? Что из опенсурца стоит посмотреть?>Заебал уже всех своим нытьем.Ой, ну а ты просто нахуй иди. Два поста написал -- уже нытье, уже ВСЕХ ЗАЕБАЛ.
>>1354032кстатит вот от ирланга меня так не воротило как от голанга, хотя там тоже проблем полно, одно отсутсвие неймспейсов чего стоит
>>1354032Да все верно, го реально уебищный и от него рвота периодически.Просто ничего лучше из условного production-ready пока нет, увы. Джавишных бастардов не предлагайте, спасибо.Коммьюнити гошное любит рассказывать, что та или иная часть языка это не говно, а гениальный подход, но это не более чем самовнушение. Вон на историю с gopath'ом и модулями погляди. Дальше лет эдак через 256 еще дженерики впилят в том или ином виде, будешь своими редьюсами обмазываться, гошники перестанут рассказывать что от дженериков все беды.Другой анон, пишу на гошке год
>>1354142Не знаю от чего ты воротишься. Мне все нравится.От динамикопараши просто блевать хочется. Тогда у нас остается либо жаба либо гошка. Я конечно же выбрал второе. Ниче, живу.
>>1354142Спасибо, антош. Ну что ж, это очень печально, буду смотреть тогда на раст или современные плюсы как хобби-язык. Хацкел не предлагать, я пробовал, Скалу тоже (к тому ж там злобучая JVM), слишком пиздато для меня, я программист от сохи, мне надо что-нить для рабочих и крестьян. Может случится чудо и Котлин-нейтив взлетит не случится
>>1354168Братишка, ты то мне и нужен. Поясни, можно ли перекатываться в котлин, не зная жабы, и есть ли на нем работа вне мобильной разработки?
>>1354174>Поясни, можно ли перекатываться в котлин, не зная жабы,Ты совсем дурачек? Дальше даже не читал.Любой язык основанный на жвм требует знания жабы. И что вообще такое знать? Ты должен хотя быть месяц непрерывно писать какую-нибудь хуйню, чтобы прочувствовать язык.мимоведройд_иос_голанг_девелопер
>>1353881>После появления котлина перестал видеть смысл в пиздонеСмысл пиздона (в контексте cli-утилиток) в том, что он уже установлен на каждой машине, это же просто человеческая замена *шам.
>>1353887>голанга, у которого все хорошо >непрерывное падение последние пару лет>при том, что появился он меньше 10 лет назад
>>1353939>столько годноты и такое большое коммюнити вокруг такого примитивного языкаВот это в точку. В го хорошо все, кроме го.
>>1354142> го реально уебищный и от него рвота периодически.Так про любой язык сказать можно.жаба - тонна говна чтобы написать что-то.сисярп - микрософская парашас++ - неуправляемая семантика блятьс - старое уебищное говноУ последних двух пекедж менеджерей оф нет блять даже. Хз что у сисярпа.питон - уебищное говно с _________ и кучей манярефлексии. Каждый второй школьник.жс - сложение двух массивов дает строку\булевое значение. точно не помню.руби - закрылись в своем манямирке и дрочат на скорость.ерланг - отсутствие ошибок во время рантайма. акторы перезапускаются. Это и плюс и минус. Отсутствие UTF-8. Строк нет.Еликсир - говно язык, даже IO.puts arr нельзя вывести массив простой. Отсутствие тулинга.Скала - маня фп программировние. Что-то взяли лучшее с ерланга, но опять же - ебучая жвм.свифт - ABI появляется только к 5 версии.обжс - если привыкнуть то норм, но ток в иосе. Слишком трудночитаемо, содержит 2 маняфайла.пхп - 20+ лет пытается стать жабой, когда жаба блять уже написана.кокотлин - неочевидность корутин. Если пишет маня даун, невозможно это вообще прочитать. Ставят ставки на натив, но они не понимают что он только работает в ведройде.дарт - жаба на жсе. супер уебищно. каллбек хейл, как и везде в даунских языках. приватные переменные обозначаются блять через _сукаголанг - компактно и универсально.
>>1354293Есть подозрение, что ты про перечисленные (или некоторые их них) языки только в википедии читал, ну максимум хэллоу ворлд написал.>Еликсир - говно язык, даже IO.puts arr нельзя вывести массив простой. Отсутствие тулинга.Мне на эликсир насрать, но это смешно. Судя по первому предложению даже хэллоу ворлд не осилил, лол. А по второму - чего тебе не хватило, просто любопытно?
>>1354328> что ты про перечисленные (или некоторые их них) языки только в википедии читалНе писал только на двух.
>>1354293>>1354032Про какое такое отсутствие тулинга в Erlang/Elixir вы все говорите? Простые и удобные rebar3 и mix, из коробки observer с помощью которого можно подключиться к любой ноде и получить полную информацию о всем стейте ноды, включая информацию о любом процессе, трейсер, в эликсире ExUnit и Credo, релиз менеджмент действительно так себе, но юзабелен. За почти 4 года работы с эликсиром не помню, чтобы возникали задачи, которые было невозможно или с костылями решить, при этом разработка, отладка и сопровождение очень проста, особенно если написать различного рода DSL и либы под свою область задач, что на эликсире очень легко. Единственное чего не хватало, это статической типизации, но тут частично проблему можно решить с помощью структур, метамагии, typespecs и dialyzer.мимо-эликсир-сеньор
Успешным будет скучно скорее всего, а вот начинающие закатывайтесь.телега: /golang_for_beginners>>1353750Семпай, я создал!
>>1354390Ты забыл указать на то, что, если твой код говнокод и у тебя возникла ошибка - это нигде не покажется. актор просто пересоздатся и так будет до бесконечности.Под отсутствием тулинга я подразумевал что негде писать. В вижаке нужно блять tab юзать, вместо ентера - это просто меня убило (да есть на то свои причины но это не отменяет факт что они дауны, если не могут норм сделать) Очень малое комьюнити. По сути кроме феникса он никому и не нужен. Хотя, если было бы хотя бы 50к звезд как у рельс, я бы посмотрел в его сторону.
>>1354412Писал раньше в Atom, сейчас в VSCode. Подстветка, автодополнение, go-to-def, терминал, сплит экранов, все это есть и работает отлично, при этом очень легковесное, постоянно открыто около 14 проектов, попробуйте такое на IDEA какой-нибудь.> Ты забыл указать на то, что, если твой код говнокод и у тебя возникла ошибка - это нигде не покажется. актор просто пересоздатся и так будет до бесконечности.Как это не покажется? В большинстве случаев, если произошла ошибка в процессе, логах будет что-то вроде <pid> exit with reason ... и дальше стектрейс, в остальных случаях, если что-то тихо сдохло под супервизором, это попадет в SASL лог, либо можно повесить монитор/залогать handle_info коллбек, если надо узнать прям сразу. Да, можно написать такой код, с таким взаимодействием процессов, что черт ногу сломит, но это скорее проблема предметной области, распределенность, отказоустойчивость, параллельная обработка это сложные задачи сами по себе, и эрланг/эликсир с ними справляется отлично. Комьюнити хреновое, согласен, но есть Erlang Solutions/Central/Factory они активно способствуют развитию Erlang/OTP, сам Elixir так же не стоит на месте, релизы выходят стабильно. Phoenix+Ecto, несмотря на небольшое комьюнити, позволяет легко и производительнее решать те же задачи, что и RoR. Лично я на своей работе феникс использовал только для написания админ интерфейсов, во всех остальных случаях достаточно было OTP, Cowboy+Ranch, Plug и Ecto, какого-то неудобства от малого комьюнити не испытывал, язык и OTP платформа уже зрелая и все необходимое в ней есть и проверено десятками лет продакшена.
>>1354293...и только в божественной кложе все замечательно ^_^На самом деле удваиваю анона выше, охуенная аналитика по неосиленному хеллоуворлду и статье на википедии. Алсо, проиграл с маняпретензий типа "арря, подчеркивания, арря переменные не так обозначаются". Алсо,>нужно блять tab юзать, вместо ентералолблядь, ну скажи честно: ты ведь не разработчик, максимум какой-нибудь эникейщик или тестер. Зачем тебе врать на анонимной борде?
эрланговый централ, систем-серверныйповесил монитор - говна немерянолежит похоже кластер весьэрланговый централ, в логах серверныхвсе акторы на трейсы поразменяныи без сохацкого не справится нам здесь
>>1354512Микросервисы/Конфиги приложений, сервисов, контейнеров/скрипты все это постоянно надо просматривать/редактировать.
>>1354174Есть, я совершенно точно знаю, что на нем в ДС2 в нексайне пишут бэк со спрингом. Слышал в сбертехе его внедряют, че-то про авито тоже слышал. Ты всегда можешь пойти в ЖетБрейнз кек
>>1354174Я перекатился со Скалы, на джаве писал тыщу лет назад в универе. Язык заебись, джава, от которой тебя не тошнит. Тулинг заебись. Только проблема в том, что бежит все это под ЖВМ и коммюнити из пердунов и индусов. Я рекомендую.
>>1354174И таки да, я пишу на котлине бэк, где не скажу, платят заебись. Сорян, нафлудил, че-то отвлекали каждые 5 минут, на дваче блять уже не посидеть
>>1354293>кокотлин - неочевидность корутинпишу на котлине без корутин, как тебе такое Илон Маск? тредпулэкзекютор и все дела, у нас конкаренси кот наплакал, крудня к базе. хотя вон ktor на корутинах, весь асинхронный, может когда на него перелезем
>>13551611) kotlin-native2) не ебу что ты называешь формой, но вангую, что поможет kotlin-native3) kotlin-nativeТолько учти, что это дико сырая вещь, и я вообще сомневаюсь что у нее есть будущее. А если ты хочешь в графику, то хули ты забыл в треде языка с автоматическим управлением памятью и околонулевым интеропом с нативочкой? Тебе нужны плюсы.Джавовый котлин он либо для говняканья прилаг под ведроид, либо для говняканя бекенда со спрингом/вертексом и иже с ними. Ктор для особо упоротых
>>1355161>как из Котлина можно получить program.exeвторой варик тебе нужен ахед-оф-тайм компилятор, который тебе сварганит из жвм байткода твой экзекютейбл с рантаймом https://www.excelsiorjet.com/
>>1355197Спасибо за совет, но чем ебаться с плюсами я лучше Гошечкой обмажусь. Котлин понравился синтаксисом, но JVM вызывает тонны любви и обажания
пщ официально зашкварен сообществомтеперь это язык уровня питона, жс с его фремворками по привлекательности для свитчеров заводобыдла и домохозяекОстаются пока котлин, скала, хаскель, раст как последние убежища для программистов.
>>1355671Мелкобуквенное малолетнее быдло разложило все словно по полочкам. Пойду полистаю спеку раста в сортире
>>1355671Только замени котлин на свифт, к хаскелю добавь окамл и ризон, к расту добавь няшную сишечку (да, говно, а щито поделать), плюс еще эликсир и кложа - и вот тогда будет ближе к правде.
>>1355755большебуквенное небыдло до краев наполненное концентрированной желчью, лол"сортир"? как в твоем колхозе дела? в родословной наверняка сплошь профессора пошути в ответе, кузнечик, пошути
>>1355840В этом треде постоянно кто-то постит эту фразу в ответ на упомянутый вскольз раст. Признай честно: ведь растошизик - это ты и есть. Тебя, видимо, однажды сильно разворотили дупу растеры, и с тех пор ты так болезненно реагируешь на любое его упоминание. Хочешь об этом поговорить?inb4мимо-не-пишу-на-расте
>>1355855Растошизик не палится. Даже заговариваться начал.>упомянутый вскольз растПриползти в тред про другой язык из своего петушатника болота и вывалить с профессорским апломбом свое никчемное мнение малолетнего хелловорлдщика (в лучшем случае) - это теперь называется "упомянуть вскользь"? Ясно
>>1356369С каналом, созданным вот так results := make(chan struct{}, 666) это не прокатит без запиливания отдельного типа, чего тоже хотелось бы избежать да, я поехавший
>>1356380Никак. struct{} типом не является. А вообще скажи в чем задача, я уверен, что ты делаешь что-то не так.
Анон, сделал бота для телеги и хочу его где-то захостить.Хероку не могу понять, то godep тупит, то 10 или 14 ошибки при деплое, может кто-то делал там? Ну или на каком-то другом хосте держать?
>>1356693По желанию.Одни кладут вендор, ведь это позволяет скачать проект и сразу же запуститьДругие не кладут, потому что тогда меньше места занимает изначально, да и зависимости потом пусть сами подтягиваются.А вообще, переходи на go mod
>>1356684>>1356916поаутировал и еще с zeit'ом поебался, но в итоге на хероке поднял, так чт ок, теперь надо смотреть, как будет себя вести>>1356657-kun
>>1315069раст хуйня же, грин тредов нет, ио в стдлибе блокирующий, уже одного этого достаточно чтобы выкинуть его.
>>1357084Ну начнем с того что async есть в виде либ и едет в стандартную либу. А продолжим тем, что нахуя тебе вообще нужен асинк?
>>1314918 (OP)Анон, игнорируешь ли ты кукареки IDE о необработанных ошибках в функциях наподобие fmt.Scan() или file.Close()?
>>1357168>Планировщик ОС вполне себе шустрыйТак и запишем, можно писать только магазины и бложики, а не что-то высоконагруженное
>>1357174Если ты пишешь что-то высоконагруженное, флаг в руки. Вот только 95% это магазины и бложики. И пихать туда асинк не нужно.
>>1357168Евентлупы или хитрый шедулер как у гошки, куча тредов в пуле, под каждый запрсо или асинк действие - тоже вариант отсоса, JVM это уже показала.
>>1357172Вот этого двачую. С асинхронщиной всегда столько еботни на ровном месте, что обязательно следует ее избегать, если это возможно. Надеюсь, раст в будущем хоть как-то улучшит эту ситуацию со своими линейными типами, но пи все равно блядь по определению хромое и убогое, так что это все энивей рюшечки
Слушайте мою ебанутую историю.Я пистун-джун который мнит себя мидллом. На работе нужно было написать очередной сервис и я пропихнул чтобы мне разрешили его сделать на Пщ. На этом + просмотр напыщеной пизды Роба Пайка мое знакомство с Пщ закончилось, но не раньше чем я успел засрать свой профиль на линкедине каков я Пщ господин.Ну, вот уже полгода пытась найти работу по профлю и закономерно насасываю. И вот вылазит одна большая контора в которую я даже не подавался помоему на какойто помойке нашли мое старое резюме и зовут мидл позицию на Пщ.На собеседовании помимо прочего спрашивают общие вопросы по Пщ, я на них расплывчато и напуская туману отвечаю по памяти того видео с ютьюба. Интервьюирующие хуеют и говорят что даже тестовое давать не будут ибо я мастер Пщ. Я им сказал что давно не кодил и нихуя не помню, они же пересказом ютьба остались довольны.Сегодня обещали прислать офер.Это я к чему. Вкатывальщики, верьте в себя. В Пщ комьюнити достаточно ебанутых, готовых даже меня взять на работу, у вас не все так плохо.дело происходит в сша
>>1357340В Киеве, например, сейчас просто ебанутый спрос на гоферов. Готовы тебе отсосать на месте, если ты хотя бы го тур прошел и до этого туду апп на любом языке писал дольше одного вечера.И ведь это нихуя не центр мирового айти.
>>1357395сука блять, получил офер на больше чем просил так вообще бывает?При том что в питончике пытался перекатится почти полгода, но меня закономерно ебали в 6 рыл возле маркерной доски.Кароче, принмайте пополнение, теперь я в вашем углу. Заодно посоветуйте годный интерпритатор для Го.
>>1357582я может неправильно рассказал. Меня не видос спас, а общие низкие требования и тот факт что это уже 20+ интевью. У меня уже жена меня очень похоже кривляет с моим спичем по телефону, где какие технологии я использовал и как решал проблемы с коллегами и кем себя вижу через 5 лет. Пижжю уже сладно, кароче да унизит их аллахМеня спросили ООР ли Пщ. Я этого конечно не знаю, помню что классов там вроде нет, но с другой стороны можно делать структуры похожие по поведению на классы. Ну и я ответил в том плане что "и да и нет". Потом спросили, понятно, про интерфесы, а я не ебу что это, сам ни разу не пользовал. Я пространно намекнул что это чтобы делать недоинхеританс для этих недоклассов.Либо требования и правда были так низки, либо они решили что я знаю гораздо больше чем понятно из моего мычания - хз.>>1357603ну или виртуальную машину, че ты докупался до слов.
>>1314918 (OP)Как запилить передачу нескольких значений из командной строки в прогу под одним именем и без кавычек? Что-то типа go run xuy.go --azaza raz dva tri
Есть тут те, кто уже давно (>2 лет) прогает на го за деньги (з/п, фриланс)? Поделитесь впечатлениями от языка. Что нравится? Чего не хватает? Что бесит? И т. п.
>>1314918 (OP)Есть одна тян один json файл с настройками. Что с ним будет после билда? Компилятор его вкорячит в бинарник?
>>1357639ты ебанутый? какая нахуй виртуальная машина в голанге? дайт мейл своего работодателя, напишу, чтоб тебя пидорнули оттуда
>>1359677Нет. Таскать файл с собой придется. А что, много настроек? Почему бы просто env не использовать?
>>1359714>дайт мейл своего работодателя, напишу, чтоб тебя пидорнули оттудаЯ уже отписал Абу чтобы тебя пидарнули обратно на одноклассники.
>>1357164>Как диды блокирующими тредами срать на каждый реквест? У дидов тредпул по количеству ядер проца, на нем джобы крутятся и таскграф с зависимостями руками мутится, ты не путай.
>>1314918 (OP)Можно ли анмаршалить в одну и ту же структуру и json и xml? Не одновременно, разумеется.Теги, блядь, какие-то выдумали вместо человеческих аннотаций!