Alex
не получится из него сделать функциональный язык вообще никак. слишком много statements слишком мало expressions.
Началось ФП-язык - наличие HOF в языке, других критериев "истинности" нет. Голанг - без HOF http-сервис не напишешь, без ФП никуда
Alexey
А почему нет?
во-первых потому, что class == struct, во-вторых потому, что это не только про ООП, это просто строительный блок, который можно использовать очень по разному. для ООП тоже можно (как и struct), но не только для этого.
Alexey
HOF?
функции высшего порядка
Alexander
А понял
Alexander
Сколько раз видел всякие штуки с замыканиями, возвратом функции
Alexey
но реально варихол начался. ну его нафиг.
Alexey
про солиды, граспы и иже в го часто спрашивают? 🙂
Alexander
Солид часто спрашивали даже на го)
Alexey
над подкрутить в памяти, а то “какие паттерны проектирования вы использовали в работе”
Alexander
Наверное правда этот сервер будет выглядеть как цепочка вызовов функций где результат одной передается в другую итд, правда насчёт роутинга не знаю как можно решить))
Alexey
а какие поведенческие паттерны вы использовали при общении с кандидатом?
Jxhor Lxryn
не получится из него сделать функциональный язык вообще никак. слишком много statements слишком мало expressions.
Можно сделать что-то по аналогии с Fennel и Lua, чтобы функциональщина сразу шла с блекджеком и шлюхами
Jxhor Lxryn
https://fennel-lang.org/
Alexey
"Если взрослого мыша взять, и бережно держа, напихать в него иголок, - Вы получите ежа. Если этого ежа, нос заткнув, чтоб не дышал, Где поглубже, сбросить в речку – Вы получите ерша. Если этого ерша, головой в тисках зажав, посильней тянуть за хвост, то – Вы получите ужа. Если этого ужа, приготовив два ножа… Впрочем, он, наверно, сдохнет. Но идея хороша!.."
Alexey
https://fennel-lang.org/
не выглядит как функциональный язык. убрали синтаксис, добавили макросов. Сам Лисп -- язык мультипарадигменный.
Alex
Изврата ради может и можно, но это будет Ад
какой ад? Вы http.HandlerFunc как пишете?
Alexander
какой ад? Вы http.HandlerFunc как пишете?
Я про написание чисто ФП сервера
Alexey
Я про написание чисто ФП сервера
посмотрите как на Haskell пишут сервера. Ужасов не будет.
Alexander
Без этого вот всего, только хардкор только код без функций высшего порядка
Alexey
Когда у тебя нет statements, а всё суть один большой expression, то проблем нет. Вы же когда пишете a := b+c*d не пишете вот так: t0 := c*d a := b+t0
Alex
Я про написание чисто ФП сервера
"Чисто ФП" понятие неприменимое к реальным языкам программирования Поищите "Lisp is not functional", "Haskel is bad for FP" итд Есть HOF - все, язык поддерживает FP Иного критерия нет, точнее - все остальные критерии не соблюдаются полностью ни в одном из языков
Natasha
джава похожа на многих других. Го на других (из мейнстрима) похож меньше.
го поход на си пока ты не разобрался что как работает, а чисто тыкаешь синтаксис, кажется будто это си без гемора
Natasha
мне не очень нравится джава (не то, чтобы я сильно вникала, полгода в универе), но предположем ты хочешь кокос:
Natasha
на джаве тебе нужно нарисовать океан, в океане остров, вырастить дерево и возможно это будет пальма с кокосом
Natasha
на го кокос это просто кокос. Возможно ты захочешь использовать свои функции человека для взаимодействия с базовой едой, тогда ты скажешь, что это еще и еда
Natasha
но кокос останется просто кокосом
Jxhor Lxryn
на го кокос это просто кокос. Возможно ты захочешь использовать свои функции человека для взаимодействия с базовой едой, тогда ты скажешь, что это еще и еда
А потом окажется, что иногда человек хочет видеть апельсин, а не кокос. А по вторникам кокос должен быть нарисованный. И вообще при необходимости кокос должен превращаться в стружку и быть использован вместо цедры в пирожках
Natasha
тогда ты обернешь кокос оранжевой бумагой и внесешь поле расписания в структуру и будет тебе апельсиновый кокос с качественным тайм-менеджментом
Alexey
го поход на си пока ты не разобрался что как работает, а чисто тыкаешь синтаксис, кажется будто это си без гемора
го много на кого похож, но нигде не похож достаточно. Мне, как сишнику и плюсовику, Го на Си точно не похож. Го, например, очень похож на Оберон-2. Но не достаточно :-)
Natasha
вспомнился баян с островом, швабрами и вентиллятором почему-то
Alexey
на джаве тебе нужно нарисовать океан, в океане остров, вырастить дерево и возможно это будет пальма с кокосом
на джаве, как и на практически любом другом ЯП, можно писать так как ты хочешь. Можно писать сложно с миллионом абстракций, можно писать просто и конкретно.
Sergey
на джаве тебе нужно нарисовать океан, в океане остров, вырастить дерево и возможно это будет пальма с кокосом
ну а мне как джависту, этот заезженные тред про кокосы-бананы уже опостылел. Ты не работал на языке, но почему то рассказываешь как много нужно писать.
Natasha
ну а мне как джависту, этот заезженные тред про кокосы-бананы уже опостылел. Ты не работал на языке, но почему то рассказываешь как много нужно писать.
Сергей, своим пояснением про отсутвие достаточного опыта в разработке на джаве, я подразумеваю субъективность своих суждений
Sergey
Сергей, своим пояснением про отсутвие достаточного опыта в разработке на джаве, я подразумеваю субъективность своих суждений
но согласись немного не актуально. Эти анекдоты были про многословность и кучу лишнего кода, но как минимум это было лет 10-15 назад и уже этого нет. Да, неспорю, на Го после Джавы пишешь значительно меньше, но это явно не про абстракции. Тем более, что если представители Го-сообщества на собесах как выяснилось любят спрашивать Граспы-солиды и прочую фигню( не ну фигню, просто к слову), то это как бы намекает, что и на Го вы будете абстракции ваять чтобы поддерживать "масштабируемость кода" (обожаю это выражение). p.s. могу ошибаться, даже спорить не буду...
Natasha
Мне кажется в го все завязано на этой святой масштабируемости Пишешь пет проект которые делает элементарные вещи, но по идеологии, что его будут масштабировать и поддерживать до твоей старости
Natasha
Меня это забавляет, но воодушевляет)
Natasha
Также хочу отметить, что в учебной практике на джаве все эти километровые абстракции я прекрасно почувствовала Рада что в реальности уже не так.
Sergey
Также хочу отметить, что в учебной практике на джаве все эти километровые абстракции я прекрасно почувствовала Рада что в реальности уже не так.
ну а это уже зависит от команды. Я пол года работал с лидом с "Солидом головного мозга"...тут как повезет
📌Olesya
Ребята, привет! Кому-нибудь была интересна вакансия Middle Golang-разработчика в Webinar Group? Достойная вилка, полная удаленка (в том числе и из-за границы) Будет нужно: разрабатывать медиа-сервера и решать другие интересные задачи по обеспечению качественной работы платформы. Стек: Golang, WebRtC Почему к нам? Отлаженный внутренние процессы, неформальная обстановка внутри компании, индивидуальные планы развития, ДМС и другие бонусы.
Pavel
Сидредин
Почему го считается лёгким языком? Или это относительно С++ и т.п.?
Andrey
Почему го считается лёгким языком? Или это относительно С++ и т.п.?
ну он же легкий, по этому считается легким, почти ничего не надо помнить, как обезьянка что видишь то и есть, разве не так?
Andrey
я вот раньше повелся когда говорили что пхп легкий, и начал на нем писать, нифига он не легкий, он легкий когда ты говнокодишь, если хочешь написать хорошо то надо много знать, понимать и помнить, на го этот список того что надо знать и помнить на мой взгляд намного меньше
Юра (Юрий Александрович)
Почему го считается лёгким языком? Или это относительно С++ и т.п.?
Евангелисты языка (возможно под управлением маркетологов) запустили этот тезис, а остальные бездумно повторяют друг за другом.
Timur
Евангелисты языка (возможно под управлением маркетологов) запустили этот тезис, а остальные бездумно повторяют друг за другом.
Если я правильно помню это изначально сказал сам гугл. Но вроде как это было сравнение го не со всеми языками а конкретно с плюсами.
Andrey
было видео из яндекса развлекательное больше, там интервью и разных разработчиков брали, и вот там была мысль что каждый программист думает на своем языке, я думаю на go и из всех языков что я пробовал, go мне показался самым простым, простым не в том плане что его легко выучить, а в том плане что я на нем могу легко делать более-менее надежный и работающий код, но так же я принимаю то что другие люди могут думать на других языках и для них го может быть сложным, или просто некомфортным (что часто бывает одно и то же)
Ksenia
#vacancy #job #вакансия #golang #go #lead #teamlead #лид #тимлид #backend #бэкенд #fulltime #фуллтайм #remote #удалёнка #developer #разработчик Вакансия: Лид компетенций Go/PHP Компания: еАптека Формат работы: удалёнка Занятость: полная Зарплата: 400-600к net 🥺 Мы ищем в команду человека, который сможет лидировать центр экспертизы по своему направлению, возглавив процесс укрепления технической культуры компании как через выработку и применение лучших инженерных практик, так и через непрерывное развитие своих сотрудников. 🛠 Наш стек: GO, PHP, Kafka, RabbitMQ, Redis, Clickhouse, Confluent Platform, gRPC, RestApi, GraphQL, KrakenD, ELK, Grafana, Prometheus, Docker, Kubernetes, GitLab, Nexus 🔗 Чем предстоит заниматься? • Сформировать стратегию и роудмап развития направления Go- и PHP-разработки в компании с последующей их реализацией на практике; • Осуществлять арбитраж выбора технологий в своем направлении; • Внедрять разработанные подходы и инструменты в продуктовые команды, поступательно улучшая developer experience; • Участвовать во внедрении и развитии микросервисной архитектуры; • Настраивать процесс обмена знаниями и лучшими практиками; • Управлять жизненным циклом сотрудников (найм, адаптация, составление ИПР, обучение). 🔗 Что бы мы хотели видеть в нашем сотруднике? • Опыт разработки на Go от 2х лет, имеете опыт разработки на PHP; • От 3х лет опыта управления несколькими командами разработки (включая распределенные команды), либо опыт управления отделом/направлением от 20+ человек на схожей позиции; • Глубокое понимание устройства языка Go (многопоточность, шедулер, кодогенерация); • Опыт проектирования и реализации микросервисной архитектуры; • Понимание и опыт практического использования принципов CI/CD. 🔗 От нас: • Полностью удалённая работа; • Трудоустройство в аккредитованную ИТ компанию; • Неограниченные перспективы карьерного и профессионального роста; • Современная техника на выбор; • Корпоративы, тимбилдинги; • ДМС со стоматологией в лучших клиниках твоего города. Если тебя заинтересовала наша вакансия, пиши: 🤝 @ksunyya
Alexey
Почему го считается лёгким языком? Или это относительно С++ и т.п.?
Потому, что язык реально маленький и простой и относительно чистый. Относительно почти любого промышленного языка. Дженерики конечно ему эту самую простоту довольно сильно испортили...
Юра (Юрий Александрович)
Alexey
всё что написано без дженериков -- легаси, и должно быть переписано!
Vimes
все, что написано — легаси, и должно быть переписано!
Сидредин
Всё, что переписано - должно быть легаси!
Юра (Юрий Александрович)
Ну как же жить без универсального сортирователя структур, в который прокидывается функция-компаратор?
Юра (Юрий Александрович)
Или универсального сумматора структур... или усреднятора.
Alexey
Ну как же жить без универсального сортирователя структур, в который прокидывается функция-компаратор?
ну так то даже Си умел :-) всё есть кусок памяти. чтобы отсортировать массив кусков памяти нужен просто указатель на функцию, которая примет указатели на два куска памяти и сравнит их. а уж кем там являются на самом деле эти куски памяти -- это той функции лучше знать.
Alexey
а, ну или через интерфейс{}
Vimes
ну да
Миринговин
Евангелисты языка (возможно под управлением маркетологов) запустили этот тезис, а остальные бездумно повторяют друг за другом.
"Евангелисты" говорят, что размер спецификации в районе 70 страниц vs 800 в каком-нибудь js. 70 страниц можно запомнить. 800 - нет
Alexey
но ансейф брутальней
Vimes
func sort(a []any, comp func(any, any) bool)
Артём
unsafe - ONE LOVE!
да есть же просто sort.Slice(slice T, func (i, j int) bool
Юра (Юрий Александрович)
"Евангелисты" говорят, что размер спецификации в районе 70 страниц vs 800 в каком-нибудь js. 70 страниц можно запомнить. 800 - нет
Никто не запоминает спецификацию листами. В голове это все укладывается совсем другими образами.