Программирование


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
539 46 150

Тред про лучший в мире язык GO №6 /go/ Аноним # OP 02/01/20 Чтв 22:38:13 15634451
15695190090871[[...].jpg (227Кб, 900x1400)
900x1400
GO (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего.


Для вката в Go читай Донован, Керниган "Язык программирования Go", https://www.golang-book.com/, книги из списка https://github.com/dariubs/GoBooks, а также смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw

Пэкеджи можно искать тут https://github.com/avelino/awesome-go


Живем в ожидании Go2, пробрасываем ошибки, смеемся над джавистами, которые не могут жить без ексепшенов, дженериков и размазанной бизнес-логики, ждем, когда нам подвезут аналоги эксепшенов и дженериков

Предыдущий: >>1482493 (OP)
Аноним 03/01/20 Птн 02:34:08 15635532
>>1563445 (OP)
> Живем в ожидании Go2
Ультрагоднота, если как на пике. И нахуй раст.

> не могут жить без ексепшенов
if err != nil
if err != nil
if err != nil
if err != nil

> дженериков
interface{}

> размазанной бизнес-логики
$ wc -l main.go
100500 main.go
Аноним 03/01/20 Птн 03:55:56 15635743
Аноним 03/01/20 Птн 09:55:28 15636094
>>1563553
>Ультрагоднота
Никакой годноты. Был минималистичный тупой язык, который могла взять любая обезьяна и хуяк-хуяк заклепать свою недотулзу или микросервис, а будет обычный говноязык коих миллион.

> if err != nil
Говноед.

> interface{}
Типобезопасность? Не, не слышал.

> $ wc -l main.go
> 100500 main.go
Not sure if trolling or just php-makaken.
Аноним 03/01/20 Птн 14:14:26 15637215
>>1563445 (OP)
GOндоны, есть ли смысл в голанде? Или можно ограничиться пхпштормом с го плагином?
Аноним 03/01/20 Птн 14:18:40 15637246
Аноним 03/01/20 Птн 14:20:05 15637277
Аноним 03/01/20 Птн 15:35:44 15638028
Аноним 03/01/20 Птн 16:36:00 15638589
>>1563724
>>1563802
Peedorasy ископаемые. Хотя, может, и есть смысл пейсать на го с помощью говна
Аноним 03/01/20 Птн 17:23:11 156389710
>>1563721
>отдельная ИДЕ под каждый язык
лол.
вскоде/емакс. вим имеет смысл только в лице плагина.
Аноним 03/01/20 Птн 20:48:59 156409011
Аноним 04/01/20 Суб 13:53:28 156456512
12
Аноним 06/01/20 Пнд 15:04:40 156621313
>>1563445 (OP)
На сколько имеет смысл аплаиться на вакансии, где требуеться 1-2 года комерческого опыта на го, с учетом того что у меня его нет, но есть 2.5 года на бекенде на ноде? Проблема в том, что других вакансий, где готовы взять тело, которое понимает в предметной области, но для реализации прежде использовало другой ЯП, просто нет.
Аноним 06/01/20 Пнд 19:32:48 156639114
>>1566213
я чейтал на linux.org.ru, там был похожий вопрос, шо в принципе нет разницы, на собесе скажешь шо у тебя есь год работы
Аноним 06/01/20 Пнд 21:22:06 156643415
>>1566391
А прямо сказать - мол, не работал с го, но прочитал книгу и сделал пару проектов для себя и мне понравилось - это очень плохой вариант?
Аноним 06/01/20 Пнд 21:43:04 156644416
>>1566434
Сходи уже на собес, а
Покажешь проекты сразу заберут, если за код пояснишь
Собес тебе все покажет, если не возьмут, то ты будешь знать что тебе нужно изучить
Аноним 06/01/20 Пнд 22:09:12 156645717
>>1563553
> размазанной бизнес-логики
>$ wc -l main.go
>100500 main.go
Лол, когда узнал что го "победил" рекурсивные импорты (причем непонятно зачем, если у них нормальная GC), сразу пришла мысль, что либо они будут раздувать файлы, либо писать все в одну область видимости (папку), потому что это писос для статического языка.
Аноним 06/01/20 Пнд 22:16:08 156646218
>>1563445 (OP)
>Живем в ожидании Go2
Го уже задизайнен ужасно, что-то добавить туда без боли и не получить очередной костыль, нереально.
Когда его писали, либо очень торопились, либо вообще не парились.
Не устаю удивляться что гугл так и не может в норм инструменты.

Самое забавное в го то, что он весь такой асинхронный и простой (казалось бы непочатый край для оптимизации), но в реле ели поспевает в тестах на жабе. Где должен просто рвать её в клочья. Я про те тесты, где сравнивают веб фреймворки, а не числа с массивами дрочат
Аноним 06/01/20 Пнд 22:20:20 156646619
image.png (716Кб, 900x1400)
900x1400
Аноним 06/01/20 Пнд 22:34:41 156647120
>>1566462
> очередной костыль
Лучше уж костыль, потому что без костылей этим пользоваться очень больно. Даже сейчас используют костыли в виде кодогенерации, чтобы добавить генерики, аннотации, исключения и прочие "ненужные" фичи.

> гугл так и не может в норм инструменты
Не может, да. Хотя, вроде, гугл изначально создавал го исключительно для своих внутренних нужд.

> тесты, где сравнивают веб фреймворки
Потому что через жопу сделаны все эти фреймворки. Вообще, есть мнение, что они вовсе не нужны, потому что удел Go - микросервисные апишки.
Аноним 06/01/20 Пнд 23:15:29 156649921
>>1566471
>Лучше уж костыль, потому что без костылей этим пользоваться очень больно.
Зачем? Сейчас почти каждый язык может в асинк-авейт, который и не всегда прям нужен (на практике бэкенд со всеми плюшками ускоряется где-то только раза в два, выгодно только если отдаешь маленькие json'ы прям из памяти).

>кодогенерации
Жуть.

>Не может, да.
Неожиданно, другая корпорация добразла может в хорошие языки.

>удел Go - микросервисные апишки.
Еще один язык для супер узких задач, ну нехара свой мозг насиловать очередным узким языком, который еще как назло наделал много привычных вещей по своему.
Аноним 06/01/20 Пнд 23:20:41 156650222
>>1566499
В общем, ты предлагаешь C# ?
Аноним 07/01/20 Втр 00:20:05 156652623
>>1566502
Как по наименьшему сопротивлению, да, .Net Core
Аноним 07/01/20 Втр 00:41:28 156653924
>>1566462
Удивительные истории рассказываешь, анон
Аноним 07/01/20 Втр 17:08:50 156691425
>>1566502
Потом в unity пойдёшь шпилить, игрулечки
Аноним 07/01/20 Втр 17:13:56 156692026
>>1566914
На геймдеве простому смертному не заработать. Это всё равно что учить раст с целью найти работу.
Аноним 07/01/20 Втр 17:53:40 156694627
>>1566457
Практически ни разу не понадобились рекурсивные импорты. Репозитории имеют ветвистую структуру, всё по DDD.
ЧЯДНТ?
Аноним 07/01/20 Втр 18:08:49 156695928
>>1566457
Так и есть. Предлагается делать гигантские пакеты с одной областью видимости, либо выносить взаимозависимые определения в один пакет типа "common". А ещё здесь не считается плохим хранить глобальное состояние (функция init). В результате проекты даже среднего масштаба выглядят ну очень коряво.
Вообще, складывается впечатление, будто Go специально проектировали так, чтобы его идеи плохо вписывались в реальный мир, и чтобы он мог решать только очень узкий класс задач.
Аноним 07/01/20 Втр 18:24:18 156697029
>>1566959
>функция init
Антипаттерн в мире го
Аноним 07/01/20 Втр 18:36:59 156698130
>>1566959
Если у тебя есть взаимосвязанные определения, то это значит, что они из одной области видимости
Так что все твои проблемы из-за неумения построить нормальную архитектуру приложения
Аноним 07/01/20 Втр 18:41:36 156698631
>>1566981
А вот нихуя. От того, что иерархия определений не древообразная, в других языках не страдают. И только в го особый путь, из-за которого приходится бороться с языком. Потому что это ограничение надумано.
Аноним 07/01/20 Втр 18:55:10 156700232
>>1566986
Ну так не используй Го. Иди в свое пхп, джаву, раст или откуда там ты пришел
Аноним 07/01/20 Втр 19:26:54 156702533
>>1566946
Потому что все скрипты в одной папке. Для человека, любящего сортировать по папочкам, а не говно складировать - быстро словишь рекурсию (очень быстро, потому что статика)
Аноним 07/01/20 Втр 19:30:47 156703134
>>1566981
То то инициализация сервера, роутинг и контроллеры должны лежать в одной папке, лол
Аноним 07/01/20 Втр 19:37:24 156703735
Почему? Кому должны?


В общем, мой совет - почитай про архитектуру приложений, к примеру Clean Architecture, и не говори глупостей
Аноним 07/01/20 Втр 19:52:21 156706336
>>1567037
Додик, есть архитектуры с рекурсивным импортами. Классическая MVC архитектура, это как раз из таких (контекст инициализируется сервером и передается в контроллер, контроллер зависит от того что инициализирует сервер).
Аноним 07/01/20 Втр 19:53:14 156706537
>>1567063
Ну и сервер дергает контроллер.
Аноним 07/01/20 Втр 19:57:32 156706838
>>1567031
Тут предлагают нарезать архитектуру не вдоль (все контроллеры в одном каталоге, все модели в другом, конфигурация в третьем), а поперёк (в одном каталоге контроллеры/модели/etc, связанные с одной сущностью, в другом - с другой и т.д.).
А ещё тут ненавидят MVC.
Аноним 07/01/20 Втр 20:03:17 156707139
>>1567063
Но ведь в твоем примере очевидно, что зависимость нерекурсивная, потому что контроллер не вызывает методы сервиса.


Аноним 07/01/20 Втр 20:04:46 156707240
>>1567068
Оба подхода могут быть реализованы на го. Другой дело, что в го стараются разделять по доменам, поэтому второй способ приоритетнее.
Аноним 07/01/20 Втр 20:09:23 156707741
>>1567068
Никак у тебя классическая MVC не получиться, режь ты там или не режь. Надо промежуточное говно натягивать (то есть через костыли).
В общем, это жопа когда язык тебя ограничивает, особенно когда становится ясно, что надо рефакторить все.

>А ещё тут ненавидят MVC.
Я вот за трендами не успеваю, на что там зумеры дрочат MVVC? Или MVVVVVC?

Суть MVC - чтобы ты в свои html'ки бизнес-логику не сувал
Аноним 07/01/20 Втр 20:15:44 156708142
>>1567077
Ты своими ответами напоминаешь старика, брюзжащего на лавочке:
"А вот в мое время все хотели стать космонавтами, интернетов ваших не было, всё по MVC делали"

>>1567077
>Я вот за трендами не успеваю
Если ты чего-то не понимаешь, это не значит, что что-то неправильное.
Аноним 07/01/20 Втр 20:36:54 156709943
>>1567081
С MVC 10 лет назад носились как с серебряной пулей, но в реале суть была проста - отделить мух от котлет, что как бы профессиональные программисты делали и так, но маркетинг было уже не остановить.

Не удивительно, спустя какое-то время, на базе предыдущего опыта завезли какой-то новый базворд, чтобы протолкнуть очередную свою йобу. Старость тут не причем, это зрелость прекращай мысли биполярно, после юности идет зрелость
Аноним 07/01/20 Втр 20:38:49 156710144
Го модный сейчас, можно уже через год на 200к выйти легко.
Аноним 07/01/20 Втр 20:56:15 156711445
>>1567101
Есть собственный пример такого выхода?
Даже для дс-1 200к - это в лучшем случае очень сильный мидл, как минимум, да ещё и в довольно большом проекте.
С нуля даже за год плотного кодинга будет тяжело выйти на такой уровень.
Зп в го такие же, как и в той же джаве. Единственное - это куда меньшее кол-во вакансий для джунов по сравнению с джавой, например. Особо никому не нужны они тут. Поэтому именно для вката я бы точно не советовал го, но как второй-третий язык после вката - отлично.
Аноним 07/01/20 Втр 20:57:50 156711546
>>1567101
Только сейчас понял, что ты троллишь, чел, вот я даун((
Аноним 07/01/20 Втр 21:13:48 156713447
>>1567025
Приведи пример. Я вот не ловил ни разу или почти ни разу. Рекурсия в связях между компонентами - это обычно признак логической ошибки в архитектуре системы.
Аноним 07/01/20 Втр 22:06:03 156718048
>>1567134
Там тебе выше высрали про mvc
Аноним 08/01/20 Срд 00:40:38 156726249
>>1566970
В мире го антипатерн - заморачиваться по поводу антипатернов
Аноним 08/01/20 Срд 01:14:26 156727150
>>1566970
А как иначе свое говно инитить, не прокидывая его до main (не нарушая абстракции)? Лениво через sync.Once что-ли хуярить?
Аноним 08/01/20 Срд 01:48:31 156727851
>>1567271
>А как иначе свое говно инитить
Никак, это скрытый и первый намек, что лучше отсюда валить.
Аноним 08/01/20 Срд 01:53:26 156727952
>>1567271
Прокидывая его до main и используя интерфейсы
Аноним 08/01/20 Срд 10:13:01 156736853
>>1567114
Суть в том, что вкат в го стремительно быстрый по сравнению с многими языками.
Аноним 08/01/20 Срд 11:16:12 156738854
>>1567278
А в чем проблема дизайна, когда один пакет содержит интерфейс, и связанную с ним логику, в то время как имплементации интерфейса вынесли в кучу других пакетов, которые ничего не экспортят, но регестрируют свой вариант имплементации через init? sql, image, и, вроде, compress поступают именно так.
Аноним 08/01/20 Срд 12:35:15 156741255
>>1567180
То-то и оно, что высрали.

>>1566970
Поддвачну, ini'ы и глобальные переменные - это ну крайне узкий кейс и с базой данных он не связан.
Аноним 08/01/20 Срд 15:38:32 156751056
>>1567388
А что делать, если понадобятся сразу две имплементации? По микросервису на каждую?
Аноним 08/01/20 Срд 16:40:00 156755657
>>1566970
В мире языков, го - антипатерн.
Аноним 08/01/20 Срд 16:47:29 156756258
Аноны, привет всем в треде.
Я бумер-вкатывальщих из своей профессии (erp) в программирование.
В прошлых тредах, да и вообще в /pr встречал, что GO вроде хорошо, но не для вката. работы мало и прочее. Однако, судя по обзорам, на нем чуть ли не самые высокие зп (понимаю, что это не из-за рашки). Так вот, стоит ли все же изучать, как первый ЯП?
Проблемес в том, что по текущей работе могу перебраться в гейропку, а после искать работы на ЯП там, либо оставаться в рашке и менять на ЯП тут.
В общем, благодарю.
Про GO вообще говорил бывший коллега, который его вохсвалял, хотя сам до знакомства с ним пару тройку лет пилил на джаве и питоне
Аноним 08/01/20 Срд 16:58:21 156756959
>>1567562
Вкатываешься во что-то более лайтовое с неплохой зарплатой(js, php). 1-2 года работаешь и потом перекатываешься куда хотел вначале.
Аноним 08/01/20 Срд 17:25:30 156759560
>>1567569
Приму к сведению, спасибо
Аноним 08/01/20 Срд 18:29:07 156765261
>>1567510
При создании инстанса, который имплементит интерфейс, нужную реализацию выбирают при помощи параметра-стринга в конструкторе. Как пример - https://golang.org/pkg/database/sql/#Open
Аноним 08/01/20 Срд 20:00:43 156773762
>>1567569
Двачую, сам так и сделал. Сначала js frontend, потом js backend, потом go.
Аноним 08/01/20 Срд 22:10:29 156778463
>>1567652
Не нужно так делать!
Просто делайте две разные функции-конструктора.
CreateMysqlDatabase и CreatePostgresDatabase, их потом и юзайте.
Магические стринги, константы и всё такое здесь излишне.
Аноним 09/01/20 Чтв 07:07:16 156794964
image.png (27Кб, 594x397)
594x397
объясните пожалуйста почему это в блоки суют? это распростроненные поттерн?
var x type
{
x = a()
x = b(x)
}
Аноним 09/01/20 Чтв 07:48:12 156795865
>>1567949
Не особенно, просто способ сделать чуть более симпатично, если у тебя код вида `foo := A(B(C(D(E(F()))))`
Аноним 09/01/20 Чтв 14:29:59 156811666
>>1567784
>Не нужно так делать!
Почему?
Аноним 09/01/20 Чтв 14:35:47 156811867
>>1567949
В данном случае, наверное, излишне, но я часто вижу блоки кода в фигурных скобках в случае больших функций/методов, где объявляют несколько временных переменных, а затем результат присваивают переменной с облостью видемости на уровне всего метода.
Аноним 10/01/20 Птн 05:26:22 156890668
image.png (450Кб, 796x668)
796x668
Аноним 10/01/20 Птн 15:08:03 156906969
>>1568118
>видемости
Видимости, слоуфикс
Аноним 10/01/20 Птн 17:48:24 156913870
Пожалуйста поясните как ПРАВИЛЬНО и КАНОНИЧНО сделать
динамические структуры.
Аноним 11/01/20 Суб 20:03:03 157014871
Го там, го здесь, что на нем щас пишут-то?
Аноним 11/01/20 Суб 20:04:46 157015172
>>1570148
Микросервисы. Это всё.
Аноним 11/01/20 Суб 20:07:32 157015573
>>1570151
Можно пример типикал микросервиса, для которого подходит го?
Аноним 11/01/20 Суб 20:17:40 157016674
Аноним 11/01/20 Суб 20:20:38 157017575
Аноним 11/01/20 Суб 20:36:16 157020176
>>1570155
Логгер, например. Хотя некоторые упоротые предлагают плодить сервисы на ровном месте: авторизация отдельно, таблица1 отдельно, таблица2 отдельно, бизнес-логика отдельно.
Аноним 11/01/20 Суб 22:22:28 157029277
>>1570175
Твой вопрос звучит как:
"Можно пример типикал продукта, для нарезания которого подходит нож?"
Аноним 11/01/20 Суб 22:28:33 157029678
>>1570292
О, ты из тек, кто берёт языки под задачи? Это хорошо, но что новичку-то делать, который ещё не знает, для чего какие языки предназначены?
Аноним 11/01/20 Суб 23:00:05 157032779
>>1570296
Ты не понял посыла. Язык подходит под множество задач и выделить одну "типикал" нельзя.
Аноним 11/01/20 Суб 23:41:22 157036480
Учить целый язык, с неадекватным поведением и неадекватными либами, ради только микросервисов (хотя жаба рвет и тут) - это лол
Аноним 11/01/20 Суб 23:41:43 157036581
>>1570364
...имхо, лучше уж тогда раст
Аноним 11/01/20 Суб 23:48:28 157037182
>>1570364
Го заявляется как простой для изучения. Но вот на деле нихуя.

>>1570365
Раст оч сложный и с сомнительными перспективами. На го хотя бы работа есть.
Аноним 12/01/20 Вск 00:43:38 157042383
>>1570371
>Го заявляется как простой для изучения
Да не бывает простых языков.
Я вчера на питоне скрипт писал, синтаксис частично помню, но постоянно нырял на stackoverflow. В итоге простая задача на простом языке превратилась в часовую рутину (потому что свои нюансы, свои библиотеки и все это окружение знать надо в любом языке и это не бесплатные знания).
Аноним 12/01/20 Вск 01:06:19 157044284
image.png (126Кб, 851x442)
851x442
image.png (133Кб, 853x438)
853x438
Тхи хи хи
Аноним 12/01/20 Вск 01:08:05 157044585
image.png (133Кб, 850x436)
850x436
>>1570442
сука из за gc лагануло
1st pic
Аноним 12/01/20 Вск 01:16:00 157045086
>>1570445
В хотя бы был Object, когда не было генериков. Здесь же приходится обмазываться interface{} и рефлексией.
Аноним 12/01/20 Вск 01:51:10 157046987
>>1570445
2004 год, это между прочим 16 лет назад.
Но в реальности го еще в восьмидесятых.
Аноним 12/01/20 Вск 01:54:30 157047188
>>1570445
Вот видите, в 2004 году на жабе говнокодили обжектами, значит и в 2020 нам эти ваши дженерики не нужны сосите кодогенирацию
Аноним 12/01/20 Вск 12:58:17 157067789
>>1570450
Но ведь получается и без дженериков нормально


Почему вас так бомбит от го языка? Го-разрабы отбирают вашу работу? Вас убрали с проекта, потому что проект перешел на го, а вы не смогли выучить? Вы завидуете, что го развивается и набирает популярность?
В чем смысл бомбить от того, чем ты не пользуешься?
Аноним 12/01/20 Вск 13:13:22 157069890
>>1570677
Без генериков терпимо, но не "нормально",

"Мы" не бомбим, а недоумеваем, почему этим кто-то пользуется при очевидных изъянах, и пытаемся понять, почему эти изъяны не спешат исправить.
Аноним 12/01/20 Вск 13:19:30 157070691
>>1570698
Потому что это не "очевидные" изъяны. Языком вполне удобно пользоваться.

Ты из той категории людей, что в чужие огороды лезут?
Аноним 12/01/20 Вск 13:49:35 157073992
>>1570706
Нет, только здесь. В "своём" треде скучно, вот и захожу в другие.
Аноним 12/01/20 Вск 15:39:58 157082393
>>1570698
Вот заебали с этим "без дженериков"

Дженерики в голанге есть: мапы, массивы, слайсы, мессаджи - все дженерик.

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

И да, это достает, но эта не проблемы типа как в древнеджаве.
Аноним 12/01/20 Вск 15:50:36 157082894
>>1570823
В свою очередь заебали с этим "голанг сам использует генерики, а нам не даёт". Нет в голанге генериков ни в каком виде. Или по вашему возможность объявить массив любого типа или возможность создать структуру с произвольного типа полями - это тоже генерик? Ну тогда такие "генерики" есть и в сишке, блеать.
Аноним 12/01/20 Вск 16:16:42 157084395
Но ведь генериков много где нет, почему все доебались именно до гоши?
Аноним 12/01/20 Вск 16:21:18 157084796
>>1570843
До всех языков доебались. Гошка же особенна тем, что повторяет ошибку старых языков, которую в 2020 можно было бы и учесть.
Аноним 12/01/20 Вск 16:21:33 157084897
>>1570843
Например где? Если речь о динамико-параше, то там по умолчанию все дженерик, потому что типы становятся известны только в рантайме.
Аноним 12/01/20 Вск 16:56:40 157087898
>>1570828

> Нет в голанге генериков ни в каком виде.

Смотри:

m = make(map[string]Vertex)

Видишь тут `make` ?
Он дженерик.
Это не хорошо, не плохо, а просто дженерик.
Аноним 12/01/20 Вск 17:00:32 157088599
Genrics is most important part of strongly typed languages. (c)
Аноним 12/01/20 Вск 20:04:34 1571005100
Суп гаоч.
Я фуллстэк веб макака (питон + жс). Всегда хотел кодить только бэк. Вот у меня встал вопрос. Сразу учить пщ, или сначала всё-таки паттерны+алгоритмы ебануть, а уже после начать язык изучать?
Аноним 12/01/20 Вск 21:16:06 1571064101
>>1571005
Учишь такой паттерны и алгоритмы.
@
Умеешь дерево переворачивать одной рукой
@
Фибоначчи уже пишет код сам за тебя на собесах.
@
И теперь ты готов вкатиться в тяп-ляп го!

Аноним 12/01/20 Вск 21:20:16 1571070102
simonpeytonjones.jpg (145Кб, 379x571)
379x571
>>1570885
>Genrics is most important part of strongly typed languages. (c)
Аноним 12/01/20 Вск 21:43:29 1571091103
Странный тред. Одни хейтеры сабжа приносят темы для обсуждения.
Аноним 12/01/20 Вск 21:57:36 1571102104
image.png (1849Кб, 800x1093)
800x1093
>>1571070
Помню когда-то умные люди говорили, что обобщенное программирование (дженерики ваши) не является частью статически типизированных языков (что кстати правда). но го - говно.
Аноним 12/01/20 Вск 21:59:42 1571104105
>>1571102
Конечно не являются. Иначе из этого следует, что сишка - динамически типизированный язык.
Аноним 12/01/20 Вск 22:19:29 1571118106
>>1571091
Если ты зайдешь в другие треды, то там даже хейтеров нет, одни вкатывальщики, так что тут хоть какое-то разнообразие
Аноним 12/01/20 Вск 22:21:28 1571120107
>>1571118
Не везде вкатывальщики.
Аноним 12/01/20 Вск 22:21:37 1571122108
>>1571104
Ты путаешь антецедент с консеквентом.
Аноним 12/01/20 Вск 22:26:39 1571129109
>>1571122
Я таких умных слов не знаю, так что мне ответить нечего :(
Аноним 12/01/20 Вск 22:29:05 1571131110
>>1571129
Ну бля, из того, что (предположим) обобщенное программирование есть только в статически типизированных языках, никак не следует то, что Си -- не статически типизированный язык.
Аноним 12/01/20 Вск 22:39:39 1571151111
Аноним 13/01/20 Пнд 09:12:48 1571412112
Как же меня умиляют маня-программисты, для которых наличие ФАТАЛЬНОГО НЕДОСТАТКА мгновенно делает язык непригодным к использованию. Более того, замечу, что если бы го, как языку, действительно были нужны дженерики, их бы уже давно впилили.
И да, посмотрев, насколько много дичи творят говнокодеры, когда им даёшь обобщённое программирование, я начинаю понимать, что его отсутствие в гошечке - не такая уж и плохая идея.
Не совсем в тему, но недавно я читал на хабре статью про rx и наткнулся на следующее:
> А это значит, что, разобравшись с асинхронными вещами, мы можем начать использовать RxJS для обработки абсолютно синхронных данных, например, пометить жирным все внешние ссылки:
> Rx.Observable.from(document.querySelectorAll('a'))
.where(el => el.getAttribute('href').indexOf('http') === 0)
.subscribe(el => el.style.fontWeight = 'bold')
Представляете, они создают потоки данных и обрабатывают их не из необходимости, а просто потому, что хочется применить их сраный rx ещё где-нибудь!!1 При том, что достаточно одной строчки ванильного вызова селекторов! То-то лендосы уже тормозят и жрут, как ААА-игры.

>>1568116
Потому, что во-первых, init-ы это зло. Они действуют на уровне подключения пакета, то есть однократно, неизвестно когда, неявно и неповторяемо.
Во-вторых, нет ничего более явного, понятно и тестируемого, чем простой, без магии, вызов функции `mypackage.Foo()`.
В-третьих, передавать строку можно, но это означает, что ты усложняешь процесс создания объекта. Потом у тебя появятся какие-нибудь Options, которые нужно передавать после строки, потом нужно будет сравнивать, какие options с какими строками можно передавать, а какие-нет. Потом ты вдруг начнёшь отлавливать в рантайме баги типа person.Create('male', femaleOptionA, femaleOptionB). Намного проще описать CreateMale(MaleOptionA, MaleOptionB), CreateFemale(FemaleOptionA, FemaleOptionB) и тем самым получить статическую гарантию валидности кода на уровне компиляции.
Я не говорю, что сложные фабрики делать плохо, я говорю о том, что сложные фабрики делать нужно тогда, когда без них не обойтись. Если у тебя <5 типов сходных объектов с +- различными алгоритмами их порождения, то проще вынести их по разным конструкторам, потом по необходимости сведешь в фабрику, когда это будет НЕОБХОДИМО.
Аноним 13/01/20 Пнд 12:29:52 1571550113
>>1571412
> Потому, что во-первых, init-ы это зло. Они действуют на уровне подключения пакета,
init-ы не добро и не зло
они просто действуют на уровне подключения пакета

> $ /usr/local/go/src % grep -r 'func init()*' /usr/local/go/src |wc -l
> 306

Что-то имеешь против - пиши разрабам голанга, что они дибилы
Аноним 13/01/20 Пнд 13:16:36 1571577114
>>1571550
Ну если ты сейчас будешь настолько придираться к словам, то я скажу, что да, бывают случаи, когда init'ы подходят для удобного решения какой-то залачу, но их очень часто используют для чего-нибудь навроде конфигурирования консольного приложения и даже хуже, что является скорее плохой практикой. Поэтому init'ы это очень специфическая штука, которая чаще используется вовред системе и лучше стараться её избегать.
А авторы го не всегда являются 100% авторитетами, апеллировать к тому, что оно используется в стандартной библиотеке и поэтому "оно" есть хорошо и правильно - глупо. В стандартной библиотеке и баги бывают, знаешь ли - и что, нам теперь всем их повторять или перестать тестировать свой код?
Аноним 13/01/20 Пнд 17:46:46 1571888115
>>1571577
> А авторы го не всегда являются 100% авторитетами, апеллировать к тому, что оно используется в стандартной библиотеке и поэтому "оно" есть хорошо
А ты какой иной критерий "хорошо" предлагаешь?
Почитать высеры на medium?

Стандартные либы - единственный критерий в голанге определения что хорошо, а что плохо
Без фанатизма канешн
13/01/20 Пнд 18:36:34 1571908116
>>1571888
Ну всё, буду теперь везде interface {} юзать, раз стандартная либа - показатель.
Аноним 13/01/20 Пнд 19:07:33 1571925117
>>1571908
Если тебе нужен sync, reflect, кодеры-декодеры, копаться в асте, да банальный fmt - ты никуда не уйдешь от interface{}

Аноним 13/01/20 Пнд 19:09:14 1571927118
>>1571925
Ну да, генериков-то нет.
Аноним 13/01/20 Пнд 22:18:21 1572130119
Господа, 2 года работаю Го девом полет нормальный, но я понял что жаба, например перспективнее го.
Ну вот например:
1/ жаба сложнее
2/ на жабу больше вакансий

Есть у кого кейсы смены стека в таком виде ?
Или придется с самого начала подниматься ?
Аноним 13/01/20 Пнд 22:25:50 1572136120
>>1563445 (OP)
как из пыхера перекатиться в го без потери в зп? Синиор коллинг
Аноним 13/01/20 Пнд 22:35:57 1572142121
>>1572136
Так дохуя же вакансий в пхп+го конторах, ларавел и го для убыстрения
Аноним 13/01/20 Пнд 22:36:13 1572143122
>>1572136
Учишь го до приемлемого уровня, потом на работке говоришь "Пыха говно, давайте новый проект на го писать, он модный, молодежный" Если получится протолкнуть проект - вот ты и гофер

Аноним 13/01/20 Пнд 23:07:44 1572168123
>>1572142
>>1572143
какую книгу посоветуете для вката, если ты уже опытный бекендер? ту из ОП-поста всё-таки?

Ну и вообще, есть ли жизнь помимо микросервисов? Не скучно?
Аноним 13/01/20 Пнд 23:24:51 1572192124
>>1572168
Если ты опытный, то берешь какую-нибудь стандартную бэкенд задачу из пхп и пилишь ее аналог на го, ну и гуглишь бест практис
Аноним 14/01/20 Втр 09:06:42 1572361125
>>1571888
Единственный адекватный критерий "хорошо" - это "подумать". Ошибки, плохие решения, опечатки, баги, уязвимости и тд бывают везде и у всех, поэтому никакой код по умолчанию не считается абсолютно правильным, даже если он успешно отработал и отправил Армстронга в космос, к примеру.

Взять те же init'ы. Скорее всего в стандартной библиотеке они используются для предварительных расчётов, инициализации каких-нибудь глобальных служебных неизменяемых структур типа мапы keywords в token'е. И это вполне нормально, потому что заранее генерируется служебная фигня, чтобы не генерировать её потом, во время работы. хотя можно было бы поспорить на тему "предварительный расчёт vs ленивый расчёт", ну да ладно

А вот если взять базы данных, то там авторы го спроектировали всё так что ты должен сделать sql.Register("mysql", &MySQLDriver{}), а потом во время Connect("mysql", dbConnString) произойдёт магия сравнения по ключу, если ты успел подключить этот пакет. В чём здесь боль? А в том, что они требуют неявно подключать пакеты, в итоге у меня нет никакой гарантии, что Connect не вызовется когда-то раньше, к примеру. Я также не узнаю о том, что я забыл неявно подключить пакет my-sql-driver, пока не получу в ошибку в сраном рантайме. Причём, что забавно, интерфейс driver.Driver у них уже есть. Поэтому я считаю, что с их точки зрения было бы правильнее просить передать в Сonnect сразу драйвер, тогда вызов был бы явным и статически проверяемым: sql.Connect(mysql.CreateDriver())
А если бы операция создания драйвера оказалась тяжелой, я бы и сам догадался уже самостоятельно написать init и вызвать CreateDriver там.

И к сожалению, когда простые разработчики используют init, чаще они лепят что-то вроде второго случая, когда он не нужен и скорее вреден, чем полезен.
Аноним 15/01/20 Срд 03:40:18 1572978126
На Go лучше всего писать самый скучный и банальный софт, когда ты не хочешь инвестировать ни грамма души, просто хочешь покончить с этой задачей в разумные сроки с удовлетворительными результатами.
Аноним 15/01/20 Срд 08:48:44 1573018127
>>1572978
Сюрприз, это то, что от тебя требуется на работе. Совсем айтишники зажрались уже, душу им вкладывать надо, творчество проявлять.
Делай нормальное качество, в нормальные сроки и так, чтобы это было легко поддерживать после того, как ты умрешь уйдешь. Всё.
мимо
Аноним 15/01/20 Срд 11:24:32 1573063128
>>1572978
>просто хочешь покончить с этой задачей в разумные сроки
Бойлерплейта больше чем в ваших джавах, половина либ чистейшие недо-велосипеды (за то реально туча звезд).
В итоге часть вторичного софта приходится писать самим (умножая безумие недо-велосипедов)

Что питонщик делал за день, гофер дрочит неделю-месяц.
Да, побыстрее закончить.

https://www.youtube.com/watch?v=wtsLoRnNq-Y
Аноним 15/01/20 Срд 12:36:44 1573086129
>>1573063
Про недо-велосипеды - ложь, пиздёж и провокация.
И да, если ты сравниваешь питон с го, то почему бы не сравнить его с ассемблером? Или понятие "разные инструменты для разных задач" для тебя слишком сложное?
Питон нужен для CIных скриптов, ML или опционального говнокода.
Джава нужна чтобы корпоратить бизнес-логику.
Гошечка нужна чтобы писать какие-то конкретные места, высокопроизводительные сервисы, потому что она была, есть и будет производительнее, но при этом не настолько сложная, чем кресты или раст.
А если ты хочешь писать всё на одном языке, то ты или пишешь что-то простое, или долбоёб.
Аноним 15/01/20 Срд 12:37:00 1573087130
>>1573086
Предупреждая будущие срачи про производительность - джава не поддерживает толком настолько эффективную многозадачность (грин треды ещё не подвезли, планировщик и сборщик там работают на других принципах) и жрёт намного больше памяти.
Аноним 15/01/20 Срд 12:37:50 1573089131
>>1573086
> Гошечка нужна чтобы писать какие-то конкретные места, высокопроизводительные сервисы, потому что она была, есть и будет производительнее, но при этом не настолько сложная, чем кресты или раст.
Гошечка нужна чтобы писать какие-то конкретные узкие места, высоконагруженные сервисы, потому что она была, есть и будет производительнее, но при этом не настолько сложная, чем кресты или раст.
Самофикс
Аноним 15/01/20 Срд 13:34:06 1573188132
>>1573086
>>1573089
> гошечка
Анончик, завязывай с приставочками
Это призначек, что с головочкой не в порядочке
Аноним 15/01/20 Срд 13:47:38 1573200133
>>1573188
Анончик, завязывай привязываться к словам.
Мне нравится называть го гошечкой, с++ крестами, джаву джавой, php пыхой, js говном, а ts типизированным говном.
Если тебе не нравится, то можешь пройти нахуй не читать.
Аноним 15/01/20 Срд 14:29:34 1573223134
>>1573200
Я просто беспокоюсь о тебе
Аноним 15/01/20 Срд 19:23:44 1573566135
соСИ ГОвно пидоРАСТ
Аноним 15/01/20 Срд 19:51:45 1573604136
>>1573188
Это были суффиксы

Если поправляешь человека, хоть сам не лажай
Аноним 15/01/20 Срд 20:21:08 1573635137
>>1573086
>высокопроизводительные сервисы
Медленнее (местами на ровне) с жабой. "В - высокая производительность".

Я уже видел барана который переписал с пхп на го свой пет-проект, но после замеров оказалось что 90% (до го и после) времени занимает база.

Откуда вы такие высокопроизводительные лезете? Ну ок, хочется минимальной абстракции, но не язык же с ГЦ брать? Накати ты там плюсы или раст.
Аноним 15/01/20 Срд 20:25:18 1573639138
>>1573086
>Питон нужен
Использую его везде где он суется. Были пару узких мест в проекте, переписал модуль на си (за это питон и люблю).
Я больше чем уверен что больше половины пишут тут CRUD-проекты - какую там производительность вы ищите? хотя не важно, судя по отсутствие компетентности, ответ будет такой же
Аноним 15/01/20 Срд 22:04:12 1573735139
>>1573635
> Откуда вы такие высокопроизводительные лезете?
Известно откуда. Цикл от 0 до ста тыщ мильёнов выполняется в N раз быстрее, вот и делаются выводы.
Аноним 15/01/20 Срд 23:22:54 1573803140
Новичку имеет смысл вкатываться в GO, как в первый язык? Или работу никогда не найду? Я так понимаю, что люди в основном с других языков на этот переходят? Просто чет вакансий в моем городе(дс2) вообще нет, в основном ищут сениоров-мидлов.
Аноним 16/01/20 Чтв 01:35:00 1573904141
>>1572130
Чем перспективнее?

>>1573635
С каких пор жява производительнее го?
Аноним 16/01/20 Чтв 03:26:49 1573932142
>>1572130
Перспективнее сейчас только жабаскрипт
Аноним 16/01/20 Чтв 03:30:35 1573933143
Аноним 16/01/20 Чтв 08:34:05 1573959144
>>1573803
Лучше не стоит, мало вакансий для джунов и нет фреймворков, облегчающих жизнь. Го обычно берут вторым языком к какому-нибудь мейнстриму типа пхп/джава/etc

>>1573639
>>1573635
Для формошлёпства действительно подойдёт что угодно. А если ты, к примеру, делаешь чат, то тебе нужно держать непрерывные соединения по 10/100к на инстанс и эффективно их обрабатывать. Удачи сделать это на ваше пыхе или питоне, лол.
На джаве можно, но скорость будет такая же или медленнее (зависит от реализации), а потребление ресурсов будет 100% больше.

>>1573933
Ты видимо не понимаешь.
Джава всегда будет жрать больше памяти, потому что jvm.
Джава и го будут всегда +- с одинаковой скоростью обрабатывать что-то в последовательное типа циклов и рекурсии, потому что го компилируемый, а у джавы сработает JIT. Будут тонкости типа оптимизации кода компилятором (оптимизации хвостовых рекурсий, к примеру) и оптимальности компиляции JIT'ом под конкретную машину.
Го будут эффективнее джавы на особо многопоточных алгоритмах, пока в джаве не появится поддежка грин тредов (а после этого надо будет смотреть реализации планировщика).
Эти все выводы можно сделать основываясь на дизайне языков. Да, где-то будут удачнее реализации сервера, драйверов, компилятора, планировщика, сборщика и они будут выигрывать какие-то микросекунды. Но в целом ситуация была и будет такая.

Конкретно этот бенчмарк какой-то пиздец сомнительный.
Почему-то в го они не прогрели гц перед стартом.
Почему-то они не используют то, в чём го силён (многопоточность), выполняя 500 ПОСЛЕДОВАТЕЛЬНЫХ никак не связанных запросов в базу, хотя напиши они `go` перед вызовом fetchRandomWorld ситуация резко стала бы иной.
И так далее.

Всё как обычно, какие-то пидорасы решили, что будут сравнивать языки и решат, наконец, что круче, но при этом знают из всех языков, очевидно, только джаву. Ну ок, чё. Очередной говнобенчмарк, который не даёт выводов кроме КГ/АМ.
Аноним 16/01/20 Чтв 10:34:06 1574010145
>>1573959
>Джава всегда будет жрать больше памяти, потому что jvm.
Это ты не понимаешь (послушай дядьку).
Джава разменивает ресурс недорогой памяти, на ресурс дорого процессора.
Это основная фишка, даже классы в памяти выравниваются по кратности слова.

Еще в жабе используется вид спекулятивной jit-компиляции, которая недостижима при обычной компиляции (нужен сбор данных во время работы).

Так же надо учесть, сколько бабла было влито в jvm и jit.
У команды го не хватит ни ресурсов ни времени (и может даже ума), чтобы даже из простого го (при создание которого вообще не парились), сделать что-то, что догоняло бы джаву.

Забавное даже было то, что после релиза даже раст в дробилках был чуть быстрее жабы (потом, конечно, они пофиксили, или подогнали, лол).

Все эти тесты показывают важные вещи, что для бэкенд разработки, по сути не надо даже натягиают плюсы или раст или го, простая джава идет на ровне.

Но ни жаба ни го тут половине разработчиков и не нужен
Аноним 16/01/20 Чтв 10:35:55 1574012146
image.png (464Кб, 535x495)
535x495
>Почему-то в го они не прогрели гц перед стартом.
Лол, или я что-то пропустил из мира го или ты тот еще фантазер.
Расскажи, зачем греть ГЦ?
Аноним 16/01/20 Чтв 10:37:31 1574013147
>>1574010
>Почему-то они не используют то, в чём го силён (многопоточность)
Хотя с тобой все ясно, надо было сначала пост прочитать.
Аноним 16/01/20 Чтв 11:04:42 1574029148
>>1574012
Го запускает гц, когда превышается лимит по памяти. К примеру, го занял 100 мб, они запустили чистку, выставили лимит в 200 мб. Дошло до 200 -> запустили гц, выставили лимит до 400. И так далее.
С этим работают двумя способами, первый - настраивается множитель для лимита, второй - после старта приложения инициализируют и очищают что-то большое, чтобы лимит сразу был побольше.

>>1574010
> Но ни жаба ни го тут половине разработчиков и не нужен
Это правда

> Еще в жабе используется вид спекулятивной jit-компиляции
Всё так, именно поэтому я написал, что
> Джава и го будут всегда +- с одинаковой скоростью
и специально сказал про jit. jit может помочь, а может и не особо. Гошный компилятор может что-то оптимизировать, а может нет. Но это тонкости, в итоге всё равно и там, и там, выполняется скомпилированный код, поэтому работать они будут +- одниково, без отличий на порядки.

> У команды го не хватит ни ресурсов ни времени (и может даже ума), чтобы даже из простого го (при создание которого вообще не парились), сделать что-то, что догоняло бы джаву.
Это сомнительное утверждение, будь так, никогда бы не появился C (все писали бы в машинных кодах), smalltalk, java и так далее.
А так как ты опускаешься до того, чтобы утверждать, что команде пиздец каких умных, образованных и так далее чуваков из гугла, с научными степенями в IT и многолетним опытом работы на пиздец каких сложных задачах (включая java) не хватает ума, то разговор с тобой можно прекращать и больше никогда не заводить, тут явно манямирок и самооценка, размером с Москва-сити.
Аноним 16/01/20 Чтв 11:23:44 1574043149
Аноним 16/01/20 Чтв 11:27:52 1574051150
>>1574010
>Забавное даже было то, что после релиза даже раст в дробилках был чуть быстрее жабы (потом, конечно, они пофиксили, или подогнали, лол).
Что, простите? Раст и должен в дробилках быть быстрее почти чего угодно.
Аноним 16/01/20 Чтв 11:39:39 1574058151
>>1574029
>Го запускает гц, когда превышается лимит по памяти...
Это не прогрев, это особенность работы ГЦ, джава тоже делает много работы (и тоже увеличивает память) в том числе поколения копирует и заодно дефрагментирует, но мы же не будем это ждать?
Прогревание в жабе это реальный технически достижимый процесс в 10К итераций (и речь про код, а не данные). Работа ГЦ непонятная когда достижима и можно всегда кудахтать что плохо погрели, надо было 3 часа ГЦ погонять.
В общем, это чистой воды подражание терминологии жабы (если уж и доставать линейки, у жабы там сложнее ГЦ и тем более нет value type).

>поэтому работать они будут +- одниково
Не факт, го полностью асинхронный, он должен утилизировать ресурсы максимально. В том числе у него сразу асинхронная работа с бд. Но что мы видим? Даже с синхронным бд (но асинхронной io) жаба работает лучше, почти в два раза. Просто потому, что драйвер к бд качественные (как, кстати, качественный у пхп, как бы там смешно не было, просто удачные сишные обертки).

По всем параметрам го должен рвать жабу, в го нет виртуальных методов, нет исключений и прочей абстракции. Просто у жабы качественная VM (и jit).
Как собственно успешно вкладывались и пилили до блеска V8.
Аноним 16/01/20 Чтв 11:51:43 1574065152
>>1574058
Чувак, что ты несешь??
Какой нахуй jit? И с чего ты решил, что jit - это всегда хорошо??
Какое нахуй подражание джаве?
Кому оно нахуй нужно?

> Даже с синхронным бд (но асинхронной io) жаба работает лучше, почти в два раза.
Чего лучше?? В два раза? Может в три?

Аноним 16/01/20 Чтв 11:54:32 1574067153
>>1574043

У жабы есть реалтайм гц с гарантированным времени отклика, для какой-то йоба-экзотики, но ты школота с твичей о таком и не слышал.

Ну и уже давно завезли обычные гц с минимальными паузами (не вспомню сейчас это ебанутое название).

Запомни простое правило, что все эти микропаузы они не даются даром, не зря у жабистов тонна рычагов, которые они могут подвигать чтобы достичь наилучшего результата между паузами и производительностью (я в свое время память для пет-проекта докупал, чтобы ГЦ реже срабатывал, т.е. чтобы больше процессорного времени уходило на сервис и чистый кэш)
У гоферов вообще нет никакой возможности, что-то там подкрутить, подвигать нормально. Кушай что завещал Роб Пайк (а будешь возмущаться, тебе статью напишут, мол это не язык плохой, это ты не так думаешь)

>Сделаешь чат-сервис
>задержкой GC в <1ms?
Я бы тебя только за одну мысль написать чат с тиком меньше 1мс уволил бы.
Аноним 16/01/20 Чтв 11:55:19 1574068154
>>1574065
Если сложно и непонятно, воспользуйся гуглом
Аноним 16/01/20 Чтв 13:04:57 1574110155
>>1574058
> Это не прогрев, это особенность работы ГЦ
Тем не менее, заранее инициализировать память, например, в кеше на программерском жаргоне издревле называется прогревом, жава тут не при чём.

> Не факт, го полностью асинхронный, он должен утилизировать ресурсы максимально.
Невозможно утилизировать абсолютно синхронный код, именно поэтому я написал, что
> Почему-то они не используют то, в чём го силён (многопоточность), выполняя 500 ПОСЛЕДОВАТЕЛЬНЫХ никак не связанных запросов в базу, хотя напиши они `go` перед вызовом fetchRandomWorld ситуация резко стала бы иной.

В синхронном режиме го и джава будут соревноваться в удачности компиляции и оптимизации библиотек, всё так, я об этом написал ещё здесь
>>1573959
и разница здесь не особо велика
> работать они будут +- одниково, без отличий на порядки

Я уже устал повторять одни и те же аргументы, давай что-нибудь новое обсудим.

>>1574067
> У гоферов вообще нет никакой возможности, что-то там подкрутить, подвигать нормально. Кушай что завещал Роб Пайк (а будешь возмущаться, тебе статью напишут, мол это не язык плохой, это ты не так думаешь)
Это так, и сделано осознанно, чтобы не сделать хуже. Есть вполне объективные доводы, почему авторы го решили никаких рукояток юзерам не давать.
И да, не то, чтобы это было очень плохо, потому что gc в го и так пиздец быстрый, лимиты настраивать можно, работать через unsafe без гц работать можно, памяти требуется на порядки меньше за счёт более простого рантайма (нету такой тяжелой VM) и так далее.
Вечный баланс между автоматизацией и контролем. Ручной управление памятью vs сборщик мусора, ручное управление потоком выполнения vs планировщик и всё такое, аргументы обеих сторон почти не меняются от срача к срачу.
Аноним 16/01/20 Чтв 21:18:30 1574594156
Зачем вообще сравнить энтрпрайз ублюдка типа Java, и маленькую уютную быструю писечку Го, которая великолепно работает там где она нужна.
Никто не ставил задачу написать очередного интырпрайз ублюдка.
Аноним 16/01/20 Чтв 21:22:02 1574603157
>>1574067
> У гоферов вообще нет никакой возможности, что-то там подкрутить, подвигать нормально. Кушай что завещал Роб Пайк (а будешь возмущаться, тебе статью напишут, мол это не язык плохой, это ты не так думаешь)
Сверхразум, ты? Статья как раз о том, как они подкрутили гц под себя.

> Я бы тебя только за одну мысль написать чат с тиком меньше 1мс уволил бы.
Что несёшь? Я про stop-the-world паузы. Жява-токсики не умеют читать?
Аноним 16/01/20 Чтв 21:24:27 1574608158
>>1574594
Потому что многие тут не выбирают инструменты под задачи, а натягивают задачи на один конкретный язык и искренне удивляются, почему на остальных кто-то до сих пор пишет. Кто-то вон предлагает писать веб на сишке, и даже не хайлоад.
Аноним 16/01/20 Чтв 21:26:21 1574610159
>>1574608
>веб на сишке
Так это же и есть go
Аноним 16/01/20 Чтв 21:35:04 1574618160
>>1573803
Вообще-то зависит от того, что тебя именно интересует. На Go мало вакансий, его в основном слишком уверенные в себе конторы используют. Вкатываться стоит только если ты уже знаком с каким-нибудь яп.
Аноним 16/01/20 Чтв 21:38:19 1574621161
>>1574594
То есть микросервисы на го не пишут, в отличие от джавы? Ясно.
Аноним 16/01/20 Чтв 21:44:34 1574629162
>>1574610
Go хотя бы безопасный и более высокоуровневый.
Аноним 16/01/20 Чтв 23:39:48 1574805163
>>1574629
> Go хотя бы безопасный
А в чём небезопасность Си, кроме забытого освобождения памяти?
Аноним 16/01/20 Чтв 23:49:50 1574833164
>>1574805
Выход за пределы сегмента. Выход за пределы массива (за пределы сегмента не вышел, но данные всё равно похерил). Куча тонких случаев с UB, которые влекут вообще что угодно. Таких случаев много, даже банальный плюс при signed integer overflow влечёт это. В общем, хватает проблем, которые даже в плюсах не решили полностью.
Аноним 17/01/20 Птн 01:21:53 1575028165
>>1574603
>Что несёшь? Я про stop-the-world паузы. Жява-токсики не умеют читать?
Был бы настоящим программистом, знал бы что даже тик в 500мс для чата это уже много.
Они хвастаются гц в чате, потому что, видимо, реальное высоконагруженгое на го побоялись написать.
Это очередное событие, когда отделу программистов разрешили поиграться с языком, а не реальные исследование и последующее решение.
Аноним 17/01/20 Птн 07:31:23 1575109166
1578872886295.png (145Кб, 512x512)
512x512
>>1575028
Блядь, что ты несёшь, клоун? Я в курсе что 500 мс это много. И я тебе пишу, что у твитча 1мс (ОДНА МИЛЛИСЕКУНДА). 1 мс это меньше 500 мс, ты это понимаешь? Они как раз написали высоконагруженное приложение с исследованием и последующим решением. Я не понимаю, это троллинг тупостью?

Почему некомпетентные люди так любят первыми включать токсиков на пустом месте? Я просто кинул статью твитча, меня назвали школьником ни за что, а ещё и начали серить под себя после этого.
Аноним 17/01/20 Птн 09:10:48 1575134167
>>1574043

>Сделаешь на жяве чат-сервис с нагрузкой уровня твитча и задержкой GC в <1ms? Удачи. Сколько Раджешей понадобится?

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

Которая прекрасно летает при херовейшем коде и однопокпоке.







Аноним 17/01/20 Птн 09:16:15 1575136168
>>1575134

> Сделаешь на жяве чат-сервис с нагрузкой уровня твитча и задержкой GC в <1ms? Удачи. Сколько Раджешей понадобится?

> в <1ms

> Которая прекрасно летает при херовейшем коде

> Minecraft's game loop normally runs at a fixed rate of 20 ticks per second, so one tick happens every 0.05 seconds. An in-game day lasts exactly 24000 ticks, or 20 minutes.
> However, if the computer is unable to keep up with this speed, there are fewer game ticks per unit time. As the vast majority of actions are timed based on tick count rather than on wall clock time, this means that many things take longer on a slower computer.

> One thing that does not happen as part of a tick is drawing graphics. Rendering happens after updating. This is why a varying frame rate does not affect the tick rate, which prevents video performance from affecting game mechanics.


https://www.youtube.com/watch?v=Aj2CvNIVqpI
Аноним 17/01/20 Птн 09:56:02 1575155169
А когда майнкрафе на хуане работает, она там тоже яву машину поднимает?
Аноним 17/01/20 Птн 10:02:30 1575159170
>>1575155

Нет, они его на кресты переписали.

Аноним 17/01/20 Птн 10:03:18 1575160171
>>1575136
А я не про майнкрафт говорил.
Аноним 17/01/20 Птн 10:12:22 1575165172
Вот и сравним майнсруфт на го с майнсруфтом на жабе:

https://github.com/icexin/gocraft


Алсо, в добавок развлекуха на покодить дома, прикрутить к вот этой хуитке шагающие кубачи и SVO.
Аноним 17/01/20 Птн 10:26:01 1575174173
>>1574805
UB на каждом шагу
Это косвенно к безопасности относится, но достает
Аноним 17/01/20 Птн 10:29:15 1575178174
image.png (1155Кб, 1824x1468)
1824x1468
image.png (1635Кб, 1920x1080)
1920x1080
>>1575165
>Вот и сравним майнсруфт на го с майнсруфтом на жабе
Огрызок низкого качества, где даже деревья сливаются в "не-разбери-пойми-что". Как можно сравнить поделку вида "поигрался в opengl и ушел делать уроки" с полноценной игрой со 100500 элементами игрового процесса?

Хотя холивар бессмысленен (что го говно что жаба, в сравнение с шарпом и юнити).
Аноним 17/01/20 Птн 10:40:32 1575187175
>>1575178
>reduce background thread cpu usage
азазаз
Аноним 17/01/20 Птн 10:41:05 1575188176
Аноним 17/01/20 Птн 10:41:29 1575189177
image.png (5243Кб, 2560x1440)
2560x1440
image.png (971Кб, 900x675)
900x675
>>1575178
Особенно забавно это смотрится с шейдерами
Аноним 17/01/20 Птн 10:42:04 1575190178
>>1575178
А почему на юнити не написали клон майнкрафта?
Аноним 17/01/20 Птн 10:44:15 1575192179
Аноним 17/01/20 Птн 10:45:17 1575193180
Аноним 17/01/20 Птн 10:48:00 1575195181
>>1575193

Там вообще смешная история вышла, ваыложить сорс в общедоступный паблик по лицензии ЕУЛА, что бы потом подгореть что все пиздят, собирают свои клиенты да еще и пулревесты издевательски шлют.
Аноним 17/01/20 Птн 10:58:55 1575201182
Аноним 17/01/20 Птн 11:06:32 1575202183
>>1575195

Там никто не подгорал, просто у них куча сторонних анальных поделок с NDA используется и, кажется, после перехода на 64бит онли анальные лицензии им запретили полногстью выкладывать код, по причине линковки и применения анальных поделок.
Аноним 17/01/20 Птн 14:44:38 1575384184
image.png (2132Кб, 1280x720)
1280x720
>>1575190
>А почему на юнити не написали клон майнкрафта?
хм, rust же.
Аноним 17/01/20 Птн 14:56:59 1575402185
>>1574833
>>1575174
На сколько трудно и болезненно всё это отлавливать?
Аноним 17/01/20 Птн 14:59:51 1575404186
Сложно с питона перекатиться? Хочу написать свою ASCII mmorpg, но питон для этих задач медленное говно
Аноним 17/01/20 Птн 15:34:11 1575450187
>>1575404
Ты написал игру и увидел что тормозит или тебя ойтишники на ютубе сказали?
У питона там половина либ в сишечку завернуто. Тебе уже сказали - только юнити, только .net core
Аноним 17/01/20 Птн 15:43:30 1575459188
>>1575450
Я глубоко изучал эту тему, но сам не пробовал, конечно. Просто не хочется получить готовый продукт, понять что это - тормозное говно напоминаю, игра - ммо и переписывать его под другой язык. А про юнити - игра то текстовая, аля MUD
Аноним 17/01/20 Птн 15:44:18 1575461189
>>1575450
>>1575459
И да, ты меня спутал с кем-то, я только вкатился в тред
Аноним 17/01/20 Птн 16:16:23 1575518190
>>1575402
Пиздец как. А самое главное, что времени и капец каких дорогих человеческих ресурсов на это уходит порядочно.
Аноним 17/01/20 Птн 17:11:05 1575613191
>>1575402
Очень трудно и болезненно. Если в какой-нибудь жабке в случае ошибки максимум вылетит исключение с подробным стектрейсом, и ошибку находишь сразу, то на сишке у тебя тупо внезапно завершится программа, а среда плюнет в консоли лаконичное "Ошибка сегментирования", и всё. И приходится обмазываться дебаггером, логами, дизассемблером и линтером.
Аноним 17/01/20 Птн 19:45:53 1575713192
>>1575518
>>1575613
Если все так плохо, то почему популярные языки продолжают быть небезопасным говном, падающим в рантайме? Почему не используют OCaml, который не падает?
Аноним 17/01/20 Птн 19:52:21 1575719193
>>1575713
Всё плохо только в сишке. Исключения (или их сабжевый аналог error) хотя бы можно перехватить и обработать. А вот с сегфолтом ничего не сделать.

А у окамла, видимо, своих проблем хватает. Например, отсутствие инструментов и большого коммунити.
Аноним 17/01/20 Птн 19:59:57 1575722194
>>1575719
Диванный теоретик, плиз.
Аноним 17/01/20 Птн 20:01:28 1575723195
>>1575722
Есть что сказать - говори.
Аноним 17/01/20 Птн 20:03:20 1575724196
>>1575713
Потому что всё предусмотреть невозможно и вся разница в том, что С - это ещё более небезопасное говно чем та же джава
Аноним 17/01/20 Птн 20:21:37 1575735197
>>1575724
>Потому что всё предусмотреть невозможно
С исключениями тоже самое. Все предусмотреть нельзя банально из-за того, что люди, в большинстве своем, плохие программисты. Нам нужны безопасные языки, в которых тайпчекер будет ебать за любую хуйню (это не поможет от логических ошибок, но мы ведь не про это спорим).
Аноним 17/01/20 Птн 20:43:21 1575753198
>>1575735
Так бы оно так, но проблема в том, что за безопасность приходится платить, так или иначе. Или накладными расходами (сборщик мусора) или временем и сложностью языка (rust), или ещё чем-нибудь.
Всегда важен баланс.
Аноним 17/01/20 Птн 21:02:51 1575780199
>>1575753
>акладными расходами (сборщик мусора)
А в джаве, го, с# его нет? Реальных отраслей, где каждый байт памяти на счету, не так уж и много.
Аноним 17/01/20 Птн 21:09:28 1575788200
Аноним 17/01/20 Птн 21:11:53 1575793201
Аноним 17/01/20 Птн 21:19:07 1575803202
>>1575793
Ну, хз. Говорят, что проще C++ и подавно проще rust. Может, чуть сложнее go, я не видел сравнений сложности между ними. А ты в чём видишь его сложность?
Аноним 17/01/20 Птн 21:38:21 1575826203
>>1571412
Интересный способ написать .forEach
Аноним 17/01/20 Птн 23:19:19 1575972204
>>1575404
В ММО ты просто не можешь без классов и наследования. Один геморой будет.
Аноним 18/01/20 Суб 01:07:14 1576128205
>>1575459
>Я глубоко изучал эту тему
Ну опять же, ты не тестировал и не собирал какие-то сборки не сравнивал, а тупо шарился по форумам и читал мнение ваннаби программистов, которые говорили - "даааа питон тормозноооой".
Динамические и интерпретируемые языки действительно в простых тестах будут медленно в плане сравнения. Но в плане человеческого восприятия это все равно быстро.
Еще как пример на какой-то юнити есть возможность писать на питоне и дергать скриптами api юнити. Вроде бы казалось тормознутые скрипты и в сердце проекта.
Но на самом деле это нормальная практика, когда тяжелыми вещами (например отрисовкой графики и прочими числодробилками) занимается какой-нибудь нативный компилируемый код, а бизнес логика пишется на простом языке

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

В любом случае ты сможешь профилировать проект и какие-то узкие модули переписывать на си или скорее юзать pypy.
Тем более у тебя нет графики. Работать с текстом я бы кроме питона вообще бы не стал ни с чем
Аноним 18/01/20 Суб 01:10:30 1576130206
>>1575788
D хорош, но за ним не стоят гиганты и гиганты его не двигают.
Проще не насиловать себе свой мозг и сразу на С++ сеть.
Идеальная связка Си + Питон (на сях пишешь реально тяжелое говно, на питончике логику и всякие CRUD-вещи)
Аноним 18/01/20 Суб 01:43:10 1576139207
>>1576130
> D хорош, но за ним не стоят гиганты и гиганты его не двигают.
https://dlang.org/orgs-using-d.html
Зато эти компании его используют. Может так случиться, что выложат какие-то наработки. К примеру, netflix использует непопулярную freebsd и недавно выложила свои наработки для неё: https://www.opennet.ru/opennews/art.shtml?num=51463
Также по верхней ссылке есть какие-то наработки тех компаний, но их не так много.
> Проще не насиловать себе свой мозг и сразу на С++ сеть.
Наоборот же. C++ менее безопасен и насилия над мозгом будет больше.
> Идеальная связка Си + Питон
Си? Самый небезопасный язык. Речь не про уязвимости, если кто не понял, а про возможность отстрелить ногу, утечки памяти, неопределённое поведение и тд.
Аноним 18/01/20 Суб 02:13:17 1576142208
>>1576139
Компании вечно там что-то используют. Вообще уже не показатель.
Топовый слой С++ сейчас в геймдеве, вот взяли бы и флагман какой-нибудь написали типа движок Dunity.

Сейчас языки без флагман проектов (главное нужных) - не интересны (зажрались, да, но такая вот реальность)
Аноним 18/01/20 Суб 06:08:04 1576182209
>>1576139
Чем он лучше раста?
Аноним 18/01/20 Суб 09:10:11 1576200210
>>1576182
>Чем он лучше раста?
Не нужно писать на расте или с++.
Аноним 18/01/20 Суб 10:24:07 1576206211
>>1576142
>языки без флагман проектов - не интересны
Назови несколько таких флагман проектов для разных языков, вижу ты в этом разбираешься.
Аноним 18/01/20 Суб 10:41:27 1576210212
image.png (80Кб, 1139x713)
1139x713
>>1576206
Новых? Вот именно что нет. Возможно только у дарта, поэтому он из пепла почти котлин уже догнал.
А так у рубей были рельсы.
Аноним 18/01/20 Суб 10:41:45 1576211213
Аноним 18/01/20 Суб 10:50:25 1576218214
>>1576211
>Как сказал один разработчик в Яндексе, у меня слишком плохая память, чтобы писать на динамически типизируемом языке.
Динозавры на vim'е.
Давно уже были докстринги во всех языках завезли и потом уже даже хинты завезли. Оказалось что кроме автокомплита (и чтобы IDE подсвечивала ошибку) - больше статическая типизация и не нужна (всякие auto, var, let - это доказывает).

Я реально еще на 2009 году вел на говно-динамике проект, где все типы были в докстрингах (вся эта херня типа @param), писал по ощущениям как на жабе. Причем в 90% случаях даже нетбинс автоматом выводил типы.

Потом эти динозавры напишут такой язык как го и будут говорить что все нормально (это не мы не осилили, это вы нас не поняли)
Аноним 18/01/20 Суб 10:53:20 1576219215
>>1576218
У меня сейчас небольшой питонячий проект, там типизация (за счет хинтов) сильнее чем у го с его interface{}.
Причем когда проект прототипировал, мне типы только мешали (я уже потом все по мере необходимости расставил или переписал участки)
Аноним 18/01/20 Суб 11:18:58 1576222216
>>1576210
Нет, почему новых? Вообще.
Аноним 18/01/20 Суб 11:20:31 1576223217
image.png (96Кб, 240x240)
240x240
>>1576222
Речь про новые языки. Зачем набирать популярность популярным языкам?
Аноним 18/01/20 Суб 11:22:29 1576226218
>>1576223
>>1576222
>>1576210
>>1576206
И да, под флагманским проектом я понимаю не программу, типа у го там докер или раста браузерного что-то там. А именно инструмента облегчающего работу с чем-то.
Аноним 18/01/20 Суб 11:39:26 1576232219
Аноним 18/01/20 Суб 11:47:14 1576236220
image.png (268Кб, 1162x1039)
1162x1039
>>1576232
>D для web
И сразу идут нахуй со своим кустарным говном
Аноним 18/01/20 Суб 11:49:00 1576237221
image.png (54Кб, 1714x247)
1714x247
>>1576236
Причем быстрым шагом идут. Хватит жрать говно маркетологов, всегда проверяйте инфу
Аноним 18/01/20 Суб 11:51:40 1576238222
image.png (84Кб, 1162x283)
1162x283
Аноним 18/01/20 Суб 12:01:07 1576245223
>>1576238
Пролистай в самый низ. Встретишь там C++.
Аноним 18/01/20 Суб 12:10:27 1576256224
>>1576245
Я до первых топов листаю, с низами то понятно, что бывают ошибочные.
Аноним 18/01/20 Суб 12:13:10 1576260225
>>1576256
Я к тому, что реализации каких-то инструментов не говорят о самом языке.
Аноним 18/01/20 Суб 12:14:13 1576261226
Аноним 18/01/20 Суб 12:18:07 1576265227
>>1576261
Если что, для dlang три компилятора: dmd, ldc и gdc.
Аноним 18/01/20 Суб 12:18:23 1576267228
Аноним 18/01/20 Суб 12:40:29 1576286229
>>1575788
Я сам на нём не писал, поэтому могу наврать, но вроде бы как там есть серьёзные проблемы со сборщиком мусора, а его отключение вообще делает невозможным использование 99% всех библиотек.
Ну и да, он скорее мертв, чем жив.

>>1575780
Никто не спорит.
Аноним 18/01/20 Суб 12:42:13 1576287230
>>1576267
Чет проиграл.

>They are written as the average software developer
>JIT warming up is applied when necessary.
То есть, если жаба была очень быстра, то мы исключали JIT :)

Было лень график нарисовать что ли, вот глазами ебаться в цифры, то еще удовольствие.

>>1576265
>три компилятора: dmd, ldc и gdc.
То-то головняка не хватало, еще и между компиляторами холиварить.

А вообще идея и язык неплох. Я за любую вменяемую замену С++
Аноним 18/01/20 Суб 12:46:37 1576292231
Пока холиварите, там новый язык запилили
https://concurnas.com/

This is actually a quite interesting language offering a unique combination of features for a statically-typed, object-oriented language:

dead easy concurrency via isolates and actors, which can be "trivially" used in a distributed setup.

reactive refs (i.e. change of a value causes auto-modification of dependent values, like in Excel).

vectorization (efficient and easy matrix operations).

GPU Programming.

language extensions (basically, embed code in other languages).

union types, which they actually call multitype (as in TypeScript).

off-heap memory.

Object providers (Dependency Injection at the language level).

more basic features, but cool to have: pattern matching, tuples, null safety, extension functions, serialization for everything out-of-the-box, list comprehensions, ranges, a REPL...
Аноним 18/01/20 Суб 12:53:02 1576299232
>>1576292
> pattern matching
Дальше можно не читать.
Аноним 18/01/20 Суб 12:55:32 1576302233
>>1576299
А в чём проблема?
// мимо
Аноним 18/01/20 Суб 12:58:03 1576304234
>>1576299
>Дальше можно не читать.
Когда ты это прочитал про "pattern matching", ты уже почти все прочитал.
Аноним 18/01/20 Суб 12:58:39 1576305235
>>1576302
Попытки подражать хаскеллю почти всегда превращают язык в уродливое, ебически сложное и нежизнеспособное нечто
Аноним 18/01/20 Суб 12:59:21 1576308236
>>1576304
Это скопировано с сайтика, где это только начало, а инфы ещё много.
Аноним 18/01/20 Суб 13:00:18 1576310237
>>1576305
>Никто, никто не имеет права копировать с хуцкеля!!
Аноним 18/01/20 Суб 13:01:18 1576312238
>>1576305
Чувствуется какой-то фанатизм в словах
Аноним 18/01/20 Суб 13:03:27 1576316239
>>1576310
Да пусть копируют, лол. Раз хотят опуститься до его уровня.
Аноним 18/01/20 Суб 13:06:49 1576321240
Аноним 18/01/20 Суб 13:20:23 1576332241
1468002328790.png (178Кб, 450x450)
450x450
>>1563445 (OP)
>современный язык
>нет дженериков
>современный
Аноним 18/01/20 Суб 13:27:49 1576343242
>>1576332
И исключений. И рекурсивных импортов.
Да даже элементарных аннотаций нет.
Аноним 18/01/20 Суб 14:12:39 1576388243
>>1576321
Лафтаймы и владение (чекер и в целом синтаксис) - это сложнее чем прямое управление памятью. То есть, язык снимает одну нагрузку С++ и вещает другие, не менее сложные.
Можно конечно натренироваться и использовать язык для компенсации и последующего демонстрации собственного достоинства, но для таких понтов уже есть хаскель.

Язык никак нельзя назвать прагматичным. Очередная экзотика для поиграться.
Аноним 18/01/20 Суб 14:21:14 1576399244
>>1576388
У крестов и так теперь на замену ручному управлению памятью есть std::unique_ptr, std::shared_ptr, и std::move. Но и там нужно быть осторожным, а то легко наступить на UB.
Аноним 18/01/20 Суб 14:22:28 1576401245
>>1576343
Сырые строковые типы. Они реально поток байт выдавали за фичу. Но чтобы реально работать с полноценным utf-8 надо перегнать в руны (название тоже доставляет)

Обработку ошибок вообще нет.
Изначально вообще предлагали просто конкатенировать строку и потом вверху там разбирать. Сейчас вроде какой-то костыль придумали.

Со слайсами вообще радость (реально магическая бага), когда неожиданно можешь получить два разных слайся (когда в один добавляешь больше чем у него там капасити). Думал у тебя один ссылка на один слайс, а в реале уже два разных.

и т.д.
Язык просто на отъебись
Аноним 18/01/20 Суб 14:40:57 1576419246
Аноним 18/01/20 Суб 16:35:48 1576526247
>>1566462
у нас на работе на ноде был сервис, как-то связанный с конвертацией валют, точно не знаю, я тогда еще не работал там. Переписали этот сервис на го. Прогнали тестики и получили в 1000 раз больше обрабатываемых запросов в секунду.
Аноним 18/01/20 Суб 16:42:17 1576534248
>>1567562
на го очень мало вакансий. На джунов я вообще очень редко вижу. Попробуй на ноде/пхп/джаве/шарпах в бек залезть, а оттуда и в го. Также часто видел вакансии го прогеров, в которых писали, что рассмотрят челов с опытом на пыхе
Аноним 18/01/20 Суб 16:42:52 1576535249
>>1576526
Скорее всего код на ноде был плохо написан. Это не упрек, такое явление не редкость. С джавы на джаву переписывали полностью проект, получили производительность больше (была бы какая-нибудь скала или котлин или еще что там, сразу бы субъективно посчитали что дело в языке, а не архитектуре).
Аноним 18/01/20 Суб 16:44:03 1576538250
>>1570155
у нас чат и нотификатор написаны. Еще вроде сервисы с работой сети эфириума.
Аноним 18/01/20 Суб 16:50:12 1576547251
>>1570698
у нас миграция на го вызвана проблемой производительности. Легаси код на ноде и пхп не вывозит нагрузок, отчасти потому что сам код говно. На выбор было два стула: го и плюсы. Быстрее гохи только кресты будут, но пересадить команду на них пиздец сложно. И в целом время разработки увеличится в сотни раз. А го относительно простой(с пыхи наша команда легко перешла) и дает весомый буст в производительности лично в нашем случае.
Аноним 18/01/20 Суб 17:03:11 1576563252
>>1575109
а твитч на гохе написан?
Аноним 18/01/20 Суб 17:05:56 1576570253
>>1576526
Когда нода только пиарилась, молодой "тимлид" неделю мне зачесывал про то какая нода офигенная. А потом оказалось что она у них в одном экземпляре на 4 ядрах работала.
Так что js-разработчики те еще мастера своего дела.

У меня даже больше вопрос - как вообще пришла мысль для финансовых расчетов взять javascript? Это такая специальная олимпиада или что?
Аноним 18/01/20 Суб 17:09:27 1576575254
>>1576570
это говно индусы писали(или тайцы). Потом этот проект перешел в нашу компанию, нагрузки со временем увеличились, нода стала дохнуть. Решили переписывать на го
Аноним 18/01/20 Суб 17:22:22 1576579255
>>1576547
Всегда проигрываю с этой маняфантазии, что если мы возьмем язык Х код у нас будет работать быстрее в 100 раз!!

Во-первых - писать быстрый, то есть оптимизированный код, надо еще уметь (это не хилый скилл и вчерашняя макака на пхп или ноде на вряд ли умеет).

Как пример, писал часть некоторые оберток встроенных пхп функция на си, оказались что мой вариант тормозил в разы. Залез в сорцы и охерел как там оптимизировано написано (я так никогда не написал бы точно)

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

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

В-четвертых, если сравнивать все говно на статике и динамике (реальные проекты, а не перегонка в цикле листов), то динамика в реале просидает не боле так 10-20 не более (а порой меньше). Но реального вклада и денег статика требует больше (в том числе и на поиск спецов, на С++ вы на вряд ли найдете годных спецов, а если найдете, то завтра у вас их сразу же уведут)
Аноним 18/01/20 Суб 17:27:29 1576587256
>>1576579
какие маняфантазии? У нас был сервис на ноде, который не справлялся с нагрузками, теперь есть такой же на го, который все спокойно вывозит на проде. Ну и у нас этот сервис с финансовыми расчетами связан, на го априори эти вычисления будут быстрее. А ноду мы не выбирали - это подарок от предков.
Аноним 18/01/20 Суб 19:48:06 1576704257
че нынче спрашивают на собесах синьор гошников?
пишу 4 года на питоне и все это время немного пописываю на го, думаю полностью перекатиться
Аноним 18/01/20 Суб 23:36:26 1577086258
>>1576535
То есть на ноде чтобы проект писать иделаьно, наняв 300к в сек сеньора, когда одна го-обезьяна напишет тот же проект, на отъебись и получит тот же результат?))
Аноним 18/01/20 Суб 23:40:27 1577094259
>>1576704
Готовься серьезно отвечать на вопросы о паралелльном программировании, конкуренси и прочего горутинного говна.
Почти никто не спрашивает базовые вещи.

Прошел-около-5-го-собеседований-в-скайпах
Аноним 19/01/20 Вск 01:20:14 1577186260
>>1576704
Планировщик, сборщик мусора, с азов (что такое горутины) до эскейп анализа (но нечасто).
Аноним 19/01/20 Вск 02:40:38 1577211261
>>1576587
>финансовыми расчетами
У тебя много коннектов, скажем 4 ядра и 100.000 горутин.
Одна горутина занимается расчетами, значит ~25.000 горутин зависли и ждут.
Асинхронный язык идеален для "получть-положить", "взять-отдать", любые вычисления вешают весь поток/процесс. Не удивлюсь что вы и сейчас вешаете что-то, просто более мозговитый шедулер го - более грамотно старается распределить по свободным потокам (может даже создает еще).
Аноним 19/01/20 Вск 02:43:14 1577212262
>>1577086
Снова жопой читаешь.
Аноним 19/01/20 Вск 04:10:24 1577222263
>>1576267
Как понять, что некоторые тесты плохо написаны? Очень просто, когда какой-нибудь язык опережает Си.
Аноним 19/01/20 Вск 05:00:29 1577228264
>>1576267
Nim недооцененный язык.
Нужен тред по всем таким экзотическим или малопопулярным языкам.
Аноним 19/01/20 Вск 06:09:57 1577234265
Аноним 19/01/20 Вск 09:33:16 1577252266
>>1577228
Чел, я не читал вашу дискуссию. Но ты пишешь в треде самого хайпового языка современности про то что нужен тред о маргинальных языках. Кого ты хочешь тут найти? Подними лисп тред для начала попробуй. Про nim и прочие подобные найти тут собутыльников вероятность крайне мала.
Аноним 19/01/20 Вск 10:06:09 1577259267
>>1577222
Это значит, что затраты на написание хорошего кода выше.
Аноним 19/01/20 Вск 10:19:41 1577266268
image.png (47Кб, 1133x711)
1133x711
image.png (64Кб, 1138x718)
1138x718
>>1577252
>Но ты пишешь в треде самого хайпового языка современности
Не вникал в вашу дискуссию, но прости, ты не в питон треде.

Ты же в курсе, что даже дарт обогнал по интересам го?
Аноним 19/01/20 Вск 10:21:37 1577267269
>>1577259
Нет, это значит что либо качество кода на Си плохое, либо спекуляция тестами.
Аноним 19/01/20 Вск 10:23:18 1577268270
image.png (226Кб, 300x300)
300x300
>>1577252
>самого хайпового языка современности
Аноним 19/01/20 Вск 10:49:44 1577277271
>>1577266
>хайпового языка
>питон
Ну раз вы считаете меня троллем, то, скажем так, ЯЗЫКИ РАЗМЕТКИ НЕ В СЧЁТ
Аноним 19/01/20 Вск 10:59:26 1577279272
>>1577267
Ещё скажи, что писать на Си проще, чем на Go.
Аноним 19/01/20 Вск 11:00:53 1577281273
>>1577228
Скорее Dlang. Десктоп, wasm, embedded, android (пилят), бекенд.
Аноним 19/01/20 Вск 11:18:33 1577297274
>>1577281
В ldc, вроде, gpgpu завезли недавно.
Аноним 19/01/20 Вск 12:50:02 1577356275
>>1577277
>Топ ML язык
>Основной язык используемый в науке и анализе данных
>Numpy опережающий по скорости языки Си
>...язык разметки
>Пук, среньк, потёк из треда
Аноним 19/01/20 Вск 12:51:48 1577359276
>>1577279
Причем тут проще? Речь что тесты вызывают много вопросов.
Аноним 19/01/20 Вск 12:59:31 1577367277
Аноним 19/01/20 Вск 13:00:27 1577370278
Аноним 19/01/20 Вск 13:11:41 1577383279
>>1577370
И в этом питон великолепен.
Аноним 19/01/20 Вск 13:54:21 1577450280
>>1577383
Скорость не его заслуга.
Аноним 19/01/20 Вск 14:00:46 1577461281
5dbd5105-30b2-4[...].jpg (62Кб, 679x513)
679x513
>>1577450
Поэтому число-дробилки и пишут на сях. Что касается CRUD - то между питоном и сями ты даже не почувствуешь разницу.

В этом и прелесть, что питон такая "обертка" на сями, даже не знаешь когда работаешь с питон-модулями или сишными.

А в го? В го ты пишешь перманентно бойлерплейт.
Аноним 19/01/20 Вск 14:05:16 1577468282
>>1577461
Что угодно может работать с сями блять.
Аноним 19/01/20 Вск 14:10:39 1577478283
>>1577228
Двачую адеквата. Мне Nim побольше D понравился, т.к. почти все киллер-фичи D переняли в новых стандартах C (к примеру, анонимные юнионы, стракты и enum'ы в C11). Питону дает за обе щеки, т.к. по сложности синтаксиса и возможностям метапрограммирования он к нему близок, но при этом полезных конструкций в языке побольше. А по скорости даже Go даст пососать, т.к. она близка к C, к тому же есть линкер (ибо бинарники по 50 KB куда приятнее, чем по 5+ MB).
Аноним 19/01/20 Вск 14:16:55 1577493284
>>1577468
Да ну конечно, с говно-обертками.
Аноним 19/01/20 Вск 15:26:59 1577590285
>>1577478
> почти все киллер-фичи D переняли в новых стандартах C
Опциональный GC тоже переняли? А SafeD? D позиционирует себя как по умолчанию безопасный, дающий возможность играться на небезопасном уровне или не беспокоиться о нём. Си не добьётся этого никогда.
Аноним 19/01/20 Вск 15:53:51 1577630286
image.png (8Кб, 200x200)
200x200
Аноним 19/01/20 Вск 16:19:40 1577659287
>>1577630
А зачем V, когда есть D? Или nim? Или zig?
Аноним 19/01/20 Вск 16:37:07 1577676288
>>1577630
Пили теперь тред по нему, борщехлебам он понравился. Можешь сразу с другими переосмыслениями C (Nim, Fantom, Zig, Pike или даже D) тред объеденить, как в раст-треде предлагалось. Если соберется больше, чем полтора аутиста - можно будет либы пописать и специальную олимпиаду устроить.
Аноним 19/01/20 Вск 16:39:03 1577678289
>>1577676
Я вечером запилю объединённый, с шапкой, инфой по языкам и полезными ссылками.
Аноним 19/01/20 Вск 17:06:08 1577692290
>>1577678
Отлично, надеюсь взлетит. Много языков не бери, главный приоритет - V, Nim, D, Zig (самые большие комьюнити). Тэг можешь взять /clike/, если ничего лучше не придумаешь.
Аноним 19/01/20 Вск 17:07:57 1577696291
> Nim, Fantom, Zig, Pike, D, V
Нахуй нужны все эти близнецы-уродцы?

>>1577678
Уверен ты даже сравнительный анализ по ним дать не сможешь.
Аноним 19/01/20 Вск 17:19:40 1577711292
>>1577696
>Нахуй нужны все эти близнецы-уродцы?
А нахуй вообще ЯП нужны? Пиши прямиком на машинных кодах, и ассемблером не пользуйся, ибо их там тоже пара десятков реализаций (nasm, fasm, tasm, masm, *asm). А если серьезно, киллерфичи языков обычно подробно расписаны на их сайтах, которые запросто находятся по запросу %название_языка% lang. Для большинства это простота и безопасность по сравнению с C, но у каждого свои фичи - D себя позиционирует как переосмысление крестов, V имеет невероятно быстрый компилятор и встроенный менеджер зависимостей, Nim (и не только он, кажется) умеет транспилироватся в JS.
Аноним 19/01/20 Вск 17:40:54 1577722293
>>1577711
Имеется в виду на фоне уже имеющихся языков.
Менеджер зависимостей это не фича нихуя, он и так должен быть у любого промышленного языка, и вообще похуй встроенный он или нет. Транслятор в жс это тоже не фича языка, любой production-ready имеет минимум один транслятор в js, тоже мне блять достижение. «Переосмысление крестов» вообще охуеть, а что конкретно делает его настолько непохожим на остальные языки или те же кресты чтоб он был прямо интересной альтернативой?
Аноним 19/01/20 Вск 17:45:35 1577729294
>>1577696
> Уверен ты даже сравнительный анализ по ним дать не сможешь.
И не собирался. Для этого будет тред, а не шапка. Для сравнения нужно иметь опыт на этих языках. И не на одном.
Аноним 19/01/20 Вск 17:47:55 1577733295
>>1577729
Опыт на языке, который вряд ли хоть где-то используется?
Аноним 19/01/20 Вск 17:48:26 1577734296
>>1577722
>транслятор в js
У них теперь специальная олимпиада, кто лучше оттранслируется в жс. А по факту это просто кукаретики, которые насочиняют непойми чего и думают что они охуеть какие молодци, а если рядом найдётся ещё какой нибудь менее квалифицированный энтузиаст, то может образоваться петля с автоподдувом. Что в общем то и наблюдается почти с любым языком в индустрии. Для себя решил, что на таких фантазёров просто нет смысла время тратить.
Аноним 19/01/20 Вск 18:24:45 1577776297
>>1577722
Я уже написал тебе, как найти информацию о киллер-фичах этих ЯП. Для большинства вышеупомянутых ЯП там весьма неплохо перечислены отличия от C. Go, кстати, точно такой же наследник C, но с поддержкой крупной копропорации.

>>1577733
В этом тысячилетии ЯП вряд ли способен взлететь чисто за счет удобного синтаксиса/семантики и прочих приятностей вроде скорости компиляции. Для взлета в этом миллениуме нужна либо поддержка от крупных игроков рынка (Go, C#), либо популярный софт, который вытянет язык (Ruby с рельсами, обертки для нейросетей на Python), либо эксклюзивность для платформы (Java/Kotlin для Android). У этих языков пока ничего такого нет.
Аноним 19/01/20 Вск 18:48:25 1577801298
>>1577733
Если ты не в курсе, это не значит, что не используется.
Аноним 19/01/20 Вск 23:38:45 1578129299
Аноним 19/01/20 Вск 23:52:39 1578143300
>>1577722
Человек задизайнил V лучше чем разрабы го, это уже достойно отдельного внимания.
Аноним 20/01/20 Пнд 00:00:36 1578146301
>>1578143
Но ведь его продукт еще не production-ready
Аноним 20/01/20 Пнд 00:01:26 1578147302
>>1578129
Да, именно. Я пишу уже шапку пол часа, а завтра вставать рано. Так что, тред будет завтра. Не, я не забрасываю.
Аноним 20/01/20 Пнд 00:04:09 1578148303
>>1578146
Nim сейчас двое человек делают, не считая всяких контрибьютеров с гитхаба. Их даже какая-то компания начала спонсировать, чтобы они круглосуточно писали. Релиз 1.0 уже был. Так что, есть пример языка, который смог, не смотря на маленькое сообщество.
Аноним 20/01/20 Пнд 00:05:38 1578149304
>>1578146
>production-ready
Го так же трудно назвать.
Аноним 20/01/20 Пнд 00:09:08 1578153305
>>1578149
Кривая и нестабильная реализация vs работающий язык, хоть и с недочётами.
Аноним 20/01/20 Пнд 00:11:12 1578154306
>>1578148
Не думаю что выстрелит. Идея то не плоха, но все языки имеют фатальный недостаток - они не принадлежат какой-то топ компании. Это го или раст можно до посинения пытаться натянуть на рынок, а такие языки никому не нужны, потому что нельзя управлять комьюнити.

Nim имеет шанс потому, что он выглядит как питон на стероидах.
Аноним 20/01/20 Пнд 00:15:26 1578156307
>>1578153
>работающий язык
Там был какой-то момент, не помню точно, в 1.5 они переписали ГЦ, сделали его "быстрым" за счет процессорного времени и естественно многие схватили падение до 30% процентов (для пет проекта это может незаметно, но многие ощутили).
Или случай с алиасами, или что там было. Они просто взяли и решили по-своему.

То есть, ребята двигают продукт как им надо, это уже плохой звоночек.
Аноним 20/01/20 Пнд 00:20:13 1578161308
>Nim
Было бы офигенно если бы они убрали двоеточие после if, for и функций, сделав просто обязательный перенос строки.

>>1578147
Пока ты там шапку нашиш, приходится nim обсуждаться в го треде.
Аноним 20/01/20 Пнд 00:22:37 1578164309
>>1578156
Где-то читал, что гугл изначально создавал го для решения своих внутренних задач, и ему, в общем-то, должно быть плевать, что кто-то ещё захотел это использовать.
Аноним 20/01/20 Пнд 00:26:56 1578167310
>>1578161
> обязательный перенос строки
Охуеть, и в ниме синтаксис зависит от форматирования? Всё, вычёркиваю из своего списка "интересных языков".
Аноним 20/01/20 Пнд 00:36:10 1578170311
>>1578167
да, это требует линкера или IDE вменяемое, чтобы не страдать. Но после питона привык настолько, что даже скобки в if с трудом уже пишу
Аноним 20/01/20 Пнд 00:47:22 1578172312
>>1578153
Кривая и нестабильная реализация vs работающий язык с неизвестным будущем.

Я бы 10 раз подумал, прежде чем начинать работать с гугловой инфраструктурой.
Конечно, если что, язык высрится в опенсорс, но по честному, это будет свалка истории.

Эти парни вообще не парятся тому факту, что их продукты не выстреливают потому, что они их закрывают постоянно. Это уже замкнутый круг.
https://www.reddit.com/r/programming/comments/ept5c1/google_is_finally_killing_off_chrome_apps_which/

Котлинисты сейчас тоже напряглись
Аноним 20/01/20 Пнд 00:51:45 1578174313
>>1578172
Котлин почти наверняка ждёт участь скалы и других "убийц" джавы.
Аноним 20/01/20 Пнд 00:58:54 1578177314
>>1578174
Теперь мне кажется так-же.
Груви жалко, он мог бы стать моим топовым скриптовым инструментом. Но приходится душить змею.
Аноним 20/01/20 Пнд 01:06:27 1578181315
>>1578172
Как думаешь, что более вероятно: язык В станет относительно стабильным vs разработчику надоест им заниматься и он его бросит ?

>>1578174
Судьба котлин зависит от судьбы андроида. Если гугл разработает свою операционку взамен андроида или какой-то новый язык, то котлин легко станет языком, который никому не нужен
Аноним 20/01/20 Пнд 01:11:54 1578184316
>>1578181
> Если гугл разработает свою операционку
Fuchsia.
> или какой-то новый язык
Dart. На Go для той операционки сетевой стек был написан.
Аноним 20/01/20 Пнд 01:18:20 1578188317
>>1578184
>Fuchsia.
Если она дойдет до готовности и гугл начнет ее пропихивать.

Правда, пока не ясно, заменит фуксия андроид полностью, или станет 3 системы
Аноним 20/01/20 Пнд 01:31:41 1578192318
>>1578184
>>1578188
Только сейчас им показали как гугл очередной проект закрыл. Они сидят о фуксии мечтают.

>>1578181
>относительно стабильным vs разработчику надоест им заниматься и он его бросит?
Никто не говорит перекатываться на кустарные проекты, есть такая стадия освоение языка "слежу за проектом" (или "играюсь с языком"). Этого для таких проектов достаточно.

Аноним 20/01/20 Пнд 02:16:29 1578202319
>>1563553
>Ультрагоднота
Try/catch — антипатерн.
Аноним 20/01/20 Пнд 02:21:18 1578203320
>>1567068
>Тут предлагают нарезать архитектуру не вдоль (все контроллеры в одном каталоге, все модели в другом, конфигурация в третьем), а поперёк (в одном каталоге контроллеры/модели/etc, связанные с одной сущностью, в другом - с другой и т.д.).
Проблемы вебмакак.
Аноним 20/01/20 Пнд 02:32:41 1578208321
>>1578203
Чем больше ты нарезаешь папок, тем вероятнее ты словишь циклический импорт, где-то на 10 вложении.

Аноним 20/01/20 Пнд 06:50:18 1578271322
Аноним 20/01/20 Пнд 07:36:01 1578296323
>>1578271
Лол, он это серьезно?
Аноним 20/01/20 Пнд 08:01:16 1578321324
>>1578296
Через год про ваш Go уже никто не вспомнит.
Аноним 20/01/20 Пнд 08:19:02 1578334325
>>1578321
Самое забавное, что суслики то тупые, они же поведутся))
Аноним 20/01/20 Пнд 08:28:32 1578342326
>>1578334
Почему тупые-то, V действительно лучше Go. Если бы Go не форсился корпорацией добра, его бы никто в руки не взял просто посмотрев на синтаксис.
Аноним 20/01/20 Пнд 08:50:42 1578345327
>>1578202
И поэтому приходится вручную прокидывать ошибки наверх, потому что почти всегда на текущем уровне её не обработать. Из-за этих if err != nil { return nil, err } код разбухает в несколько раз. В джаве вон тоже изначально пытались бороться с игнорированием ошибок, высрав checked exceptions. Не прокатило, практика показала, что далеко не всё можно обработать здесь и сейчас.
А причин-то не добавлять эксепшены и нет, просто goвноеды из принципа упёрлись.
Аноним 20/01/20 Пнд 09:20:01 1578354328
>>1578345
Спасибо за ваше мнение. Мы его учтем и непременно добавим в Go2 эксепшены, ведь про это нам сказал анон с двача.
Аноним 20/01/20 Пнд 09:31:20 1578357329
Аноним 20/01/20 Пнд 09:35:53 1578358330
12123123.jpg (88Кб, 1249x1300)
1249x1300
Не надо ничего менять, го эталон мерила некомпетентности, я потом перестану так быстро ваннаби программистов отсеивать.
Аноним 20/01/20 Пнд 09:47:08 1578361331
>>1578358
Если потихоньку пинать разрабов пока ещё молодых языков в нужном направлении, то может наконец-то получиться если не убийца крестов, то хотя бы сишки.
Аноним 20/01/20 Пнд 09:59:34 1578367332
>>1578361
Там где-то в сети гуляет статья, что го не ваш язык, а гугла.
В этом вся суть, хера кого-то ты там распинаешь.
Аноним 20/01/20 Пнд 10:12:08 1578374333
>>1578367
Лучше уж пинать и надеяться на светлое будущее, чем не пинать.
Аноним 20/01/20 Пнд 10:40:04 1578384334
image.png (393Кб, 500x335)
500x335
>>1578374
«Мыши плакали, кололись, но продолжали грызть кактус»
Аноним 20/01/20 Пнд 10:52:26 1578391335
>>1578384
Мыши продолжали писать на других языках с мыслью перекатиться на го, когда он станет достаточно годным.
Аноним 20/01/20 Пнд 10:54:03 1578394336
>>1578391
Когда на нём можно будет stm прогать?
Аноним 20/01/20 Пнд 20:15:03 1578932337
>>1576211
> Плюса у С++ только два. Минусы стремятся к бесконечности
Проиграл.

Вообще давно хотел попробовать D. Время пришло.
Аноним 20/01/20 Пнд 22:16:05 1579052338
>>1578932
Вы двинутые что-ли? Зачем пробовать мёртвый язык? Как бы хорошо он не был написан, ему уже 10 лет и он не взлетел. Всё, тема закрыта. Хочется чего-то нового, берите scala, rust, haskell, erlang, на худой конец, nim.
Аноним 20/01/20 Пнд 23:38:06 1579105339
>>1579052
Ну ладно, скалу и ерланг можно тогда. А вообще больше всего хочется Crystal.
Аноним 20/01/20 Пнд 23:41:24 1579107340
>>1579052
Думаю это тот же самый анон, который ним предлагал. Предлагаю укатывайться в V тред, как раз для маргиналов.
Аноним 21/01/20 Втр 02:48:30 1579171341
>>1579052
>Зачем вы пробуете мертвый язык
>Лучше попробуйте эти мертвые языки
Есть только один язык и имя ему python
http://pypl.github.io/PYPL.html
Аноним 21/01/20 Втр 04:33:49 1579183342
ironic.gif (484Кб, 319x234)
319x234
>>1579171
>Есть только один язык и имя ему python
>Э тiльки одна мова - Українська
Аноним 21/01/20 Втр 05:17:18 1579194343
Аноним 21/01/20 Втр 08:02:18 1579218344
>>1579171

Это у которого вышли три ломающие версии и каждая последующая с апокалипсисом всей предыдущей скодобазы?
Аноним 21/01/20 Втр 09:25:59 1579238345
>>1579218
Почему три и кто тебе вернул твой 2008?
Почему ты решил что гугл не сломает если захочет? Язык его, а не комьюнити.
Но вот питон такое уже явно не будет делать.

Я вообще бы на месте гугла го закрыл (отдал в опенсорс), а сам бы на базе полученных данных от этого затянувшегося эксперимента запилил бы новый язык.
Аноним 21/01/20 Втр 09:32:23 1579243346
>>1579238
И ведь ломает, причём достаточно активно. Выпиливает фичи от версии к версии, что-то переделывает. Синтаксис, к счастью, не меняется так радикально.
Вообще не представляю, как на таком языке долго поддерживают что-то большое.
Аноним 21/01/20 Втр 09:55:28 1579258347
>>1579052
Ну когда у тебя нет карьеры и работы с миллионом задач, всегда хочется чето попробовать.
Аноним 21/01/20 Втр 10:13:52 1579269348
15746334064280.jpg (322Кб, 1275x1650)
1275x1650
>>1579258
O_o
Мы, видимо, слишком разные.
Казалось бы, нет карьеры и хорошей работы - ну так заведи её. Выучи любой действительно востребованный язык (джаву, пыху, гошечку, да даже джаваскрипт) и найди на нём работу.
Но вместо этого ты хочешь тратить время на то, что принципиально не способно решить твою проблему (не гуглив, уверен, что во всём СНГ ты не найдёшь ни одной вакансии на D или этом V).
Аноним 21/01/20 Втр 10:48:40 1579294349
>>1579243
пруф, или ты сейчас деприкейтед принесешь нам?
Аноним 21/01/20 Втр 10:58:31 1579304350
image.png (139Кб, 1137x733)
1137x733
>>1579269
>востребованный язык
>гошечку
Аноним 21/01/20 Втр 11:00:48 1579305351
>>1579304
Тот случай, когда востребованный язык симулирует ось x в графике
Аноним 21/01/20 Втр 11:04:18 1579309352
>>1579294
Ну да, фичи объявляются депрекейтед и выпиливаются. Других причин выпиливать и нет. А легаси ведь так мгновенно переписывается, что можно вообще об этом не париться.
> vendoring
> binary only packages
> go tool yacc
Аноним 21/01/20 Втр 11:10:32 1579315353
>>1579309
А ты про го? Го вообще прелесть, вроде и обновления маленькие, но реально может что-то сломаться.

Хз, имел бы я легион хомяков бесплатных, я бы тоже на них тестировал.
Аноним 21/01/20 Втр 12:59:03 1579378354
>>1579315
Что конкретно в го поломали? Максимум, что-то задепрекетили (и это нормальный процесс).
Что vendor, что yacc можете использовать совершенно свободно, они будут работать. vendor вообще в go modules нативно поддерживается.
Аноним 21/01/20 Втр 13:32:12 1579405355
>>1579378
Хз у знакомого там что-то упало, в принципе и при джаве не торопятся обновлять обычно. В общем, парни поигрались, потом откатились до обратно до жабы не без помощи участия начальства.
Давно было, тут половина еще в школу ходила.
Аноним 21/01/20 Втр 14:27:16 1579437356
>>1579405
Звучит, как "одна бабка сказала", я про джаву могу тоже очень много негативных слухов припомнить.
Аноним 21/01/20 Втр 14:58:29 1579474357
>>1579437
Ну может есть тут кто не пет-проекты тискает и между версией встрял.
Мне лично хватило когда они просто взяли и в пользу своего модного ГЦ мое процессорное время разменяли.

Попробуй так в джаве сделай.
Аноним 21/01/20 Втр 15:16:01 1579486358
>>1579474
Лолчто? И го и джава одинаково жертвуют процессорным временем для гц во имя упрощения работы с памятью. Гошный и джавовый гц немного по-разному работают, конечно, но это довольно специфичные материи и в 99% проектах эта специфика бесполезна.
гошные хейтеры такие хейтеры
Аноним 21/01/20 Втр 15:57:54 1579520359
pokuchatdlaybra[...].jpg (53Кб, 612x459)
612x459
>>1579486
Читаешь попой да?
Это было когда ввели микропаузы в 10 мс. И это уже была как минимум 1.5 версия (вроде), то есть люди активно пилили тырпрайз и они просто взяли и херанули.

Я знаю, ты не оч умен. Поэтому просто объясню, они походу заебались с ГЦ (или их заебали с ГЦ) и они тупо выкрутили на максимум.
Ну и конечно натянули токсичный маркетинг, мол, как теперь стало круто у го. Но оказалось это дается не бесплатно и кто-то хапнул на железках падение 20-40% (что в моих 70-80% было критично кстати).

Как потом оказалось, что в мире ГЦ не сложно достичь низких пауз, но достигается это не бесплатно, а самим дорогим ресурсом (нет, не ОЗУ мой юный друг) - а процессором

Ну и конечно они там не дали никакого ключа типа "хочу как раньше". Они просто сделали как пожелали и клали на все.
Аноним 21/01/20 Втр 17:47:24 1579607360
>>1579520
Мне кажется что работой жц в го можно таки управлять.

>>1579474
>Попробуй так в джаве сделай.
Жаба это страшный жирный как твоя мамка монстр, там изначально так было.
Аноним 21/01/20 Втр 22:37:20 1580061361
А меня одного бесит гошная УТИНАЯ ТИПИЗАЦИЯ? Казалось бы, круто - но меня дико бесит, что, когда начинаешь в интерфейс добавлять новые методы, то хер проссышь, где там имплементации этого интерфейса были.
Аноним 22/01/20 Срд 00:04:11 1580194362
>>1580061
А IDE тебе на что дана? Там все подобные действия уже давно реализованы, одной горячей клавишей всё везде поменять можно.
Аноним 22/01/20 Срд 05:11:40 1580305363
DEHfMMPXkAAPX64.jpg (85Кб, 700x963)
700x963
>>1579607
>Мне кажется что работой жц в го можно таки управлять.

Два состояния в го:
1) Блин, тут наверное должно быть какое-то решение, не может же это быть так глупо сделано.
2) Бля...
Аноним 22/01/20 Срд 05:37:28 1580309364
>>1580305
Я не го программист но за 5сек нагуглил это https://golang.org/pkg/runtime/
Можно установить процент, можно запускать вручную. Стандартно всё.

Почему хуйню несёш ты, а стыдно мне?
Убей себя.
Аноним 22/01/20 Срд 05:43:58 1580310365
>>1579520
>Как потом оказалось, что в мире ГЦ
Спешите видеть, эксперт в программировании с двача открыл для себя автоматическое управление памятью. Ещё немного и начнёт откровения ООП раскрывать.
Аноним 22/01/20 Срд 06:51:51 1580315366
CUn-7LuU8AA-8Yp.jpg (89Кб, 600x600)
600x600
>>1580309
>Можно установить процент, можно запускать вручную.
Тебе сказали, что накатили другую модель ГЦ за счет железа (денег) пользователя, без возможности заюзать старую модель.
Что ты там по-подергать собрался, суслик? Не оторви себе.

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

У гугла мона репа именно поэтому они так неохотно ели пакетный менеджер и высирали статьи "ненужно" (до сих пор там лажа какая-то).

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

Я застал реинкарнаций 5-10 тредов по го (застал даже Илюшу), все эти треды жили на хейте и лулзлах над фанатиками.

Есть, конечно, очень маленькая доля рынка, где го просто был идеален в свое время, но сейчас, когда запихнули зеленные потоки async await даже в те языки где он не нужен, надо быть отбитым чтобы брать го.
Аноним 22/01/20 Срд 07:09:01 1580319367
>>1580315
>прррррр среееньк прррррр говеньк
Тортопёк, ты?
Аноним 22/01/20 Срд 07:15:23 1580321368
>>1580319
Нет, это как раз тот кто задеанонил куколда у которого жена с тортами спит.
Аноним 22/01/20 Срд 07:40:28 1580330369
>>1580321
Что узнали в процессе деадона?
Аноним 22/01/20 Срд 08:13:29 1580353370
>>1580330
Да толком ничего (или я забыл).
-Сайт с тортами или объявление тортов (жена пекла, может ИП).
-Мухосранск
-Ну что чел шизик (причем какой-то реально невменяемый).

Дианон в /pr уныл и беспощаден (там были какие-то данные, можно было погуглить, напрячься, но я ленивая жопа).

Вообще, были мемные события, особенно того же Илюши, которого полностью дианонили и лулзовали как могли, даже в го чате. Но никто это не увековечил даже в лурке, а Илюша вырос и стал музыкантом ушел из го. хотя вроде пытался пилить свой го, с блекджеком и дженериками, но увы, малолетний долбаеб, хотя вроде и умный
Аноним 22/01/20 Срд 08:26:38 1580368371
>>1580353
То есть, ты только что заявил, что деанонимизировал кого-то, и тут же признался что не деанонимизировал никого?
Тебе сколько лет?
Аноним 22/01/20 Срд 08:37:38 1580378372
>>1580315
> Тебе сказали, что накатили другую модель ГЦ за счет железа (денег) пользователя, без возможности заюзать старую модель.
Ну а пруфы, пруфы-то где?
Аноним 22/01/20 Срд 08:42:09 1580381373
>>1580378
Дополню вопрос, в то, что они улучшили gc - я верю, это легко гуглится. Где пруфы, что это так сильно влияет на ресурсы процессора?
Аноним 22/01/20 Срд 08:53:12 1580391374
Аноним 22/01/20 Срд 09:02:04 1580394375
>>1580368
Сдеанонили шизика по тортам.
@
Нашли объявление жены, фирму, номера телефонов, мухосранск
@
Анон не легион он один, забил тупо болт
@
Шизик обосрался и залег на дно реально срал в каждом треде
@
Смысл лулзов пропал вообще
@
Торто-куколд сейчас радуется что его не сдеанонили до соцсетей "ко-ко-ко" это не считается.

Ты не расслабляйся, вдруг треды в архивах.




Аноним 22/01/20 Срд 09:10:11 1580397376
>>1580391
Пока что я могу сказать, что судя по гитхабу, проблемы с деградацией решили где-то в go1.8, там в каждой версии, начиная с 1.5 были улучшения на эту тему.
Более того, быстрый гуглинг по статьям говорит, что он gc в го схожс jdk-шным, вроде бы даже реализован тем же разработчиком, но позже, с какими-то улучшениями.
Не могу квалифицированно сказать, что там конкретно поменялось, но вроде как они изменили архитектуру gc и это в ряде случаев начало вызывать проблемы.
Что сказать, да, они пидорасы, что выкатили настолько странную новую версию, которая вызывала такие проблемы. Хорошо, что потом это починили.
Ты это хотел услышать?
Аноним 22/01/20 Срд 09:19:01 1580400377
>>1580394
А ты чего ожидал? Что ему под дверь насрут?

>легион
>шизик
>куколд
>лулзы
Не поверю, что это может писать человек старше 20 лет
Аноним 22/01/20 Срд 09:28:54 1580415378
>>1580397
У нас уже получается гуглить. Это хорошо.
Тонна говна тогда выложили (лично читал боль в гугл группах), даже вроде в релизе говорили про цену в 10-20%
Но смысл, еще раз не в этом, даже срать починили они или нет никто там не починит, такая модель ГЦ просто. Где-то даже в подкастах на джаве умные люди на пальцах объясняли. Кстати, и не починили скорость компиляции, динозавры помнят

Речь про то, что они взяли продакшен-реди продукт и навернули как им пожелается. Случись такое где-то в жабе, говно до сих пор бы на вентиляторах вертелось.

Конечно, все на базе синтаксиса видели, что они делают как захотят высирая классическое ненужно, но никто не думал что они будут рантайм шатать.

Конечно, для среднего васяна тут вообще пофиг, но для нас это был звоночек и мы слезли с го.

Судя по тому что местные даже нагуглить не могут, не то что помнят сию трагедию, это можно уже считать мифом. Так что забей, кушайте кактус.
Аноним 22/01/20 Срд 09:32:41 1580418379
>>1580400
>А ты чего ожидал?
Ты точно мне это задал, а не этому посту?
>>1580368
Аноним 22/01/20 Срд 09:34:36 1580421380
>>1580418
Тебе.
Ты же начал про легион и куколдов вещать
Аноним 22/01/20 Срд 10:51:33 1580460381
>>1580421
Что легион? Тебе написал что анон один, анону было похуй.
О чем ты, тортошизик?
Аноним 22/01/20 Срд 11:46:37 1580491382
>>1580421
Да не обращайте на него внимания, он ебанутый. Сказки рассказывает какие-то про 80% деградацию, про какой-то деанон рассказывает. Сидимо, у первокурсника каникулы начались, вот и в свободное время засирает интернеты.
Аноним 22/01/20 Срд 21:23:14 1581004383
>>1580315
> Есть, конечно, очень маленькая доля рынка, где го просто был идеален в свое время, но сейчас, когда запихнули зеленные потоки async await даже в те языки где он не нужен, надо быть отбитым чтобы брать го.
И поэтому сейчас его начали использовать в Авито, Озоне, Мейлру, Тинькове и т.д.? Ну тупые, ведь анон с двача скозал что только отбитые так делают.
Аноним 22/01/20 Срд 21:36:09 1581016384
15780999372150.jpg (151Кб, 1000x1000)
1000x1000
>>1580391
>>1580415
Джава-ретард, ты? Начинай оправдываться.

https://blog.twitch.tv/en/2016/07/05/gos-march-to-low-latency-gc-a6fa96f06eb7/

Starting with Go 1.5 in August of 2015, Go’s garbage collector is mostly-concurrent and incremental, meaning that it no longer requires the application to be entirely stopped while it does the bulk of its work. Aside from relatively short setup and termination phases, our program can continue to operate while garbage collection is underway. Upgrading to Go 1.5 immediately led to a 10x improvement in the length of GC pauses in our chat system, with pause time on a heavily-loaded test instance shrinking from 2 seconds to around 200ms.

We’d endured the multi-second GC pauses of Go 1.2 through 1.4. Go 1.5 brought them down to around 200ms, and Go 1.6 cut it further to around 100ms. Now with pauses generally less than 70ms, we can claim an improvement of more than 30x.

With pre-release Go 1.7 from June 2016, the GC pause times are better than ever with no manual tuning required. Typical pause times for our chat server are close to 1ms out of the box — a 10x improvement over the tuned Go 1.6 configuration!

Profiling and tuning gave our application a 10x improvement in pause time with Go 1.5 and 1.6, but between Go 1.5 and Go 1.7 the runtime team was able to turn that into a 100x improvement in pause time for all apps like ours.
Аноним 22/01/20 Срд 21:47:58 1581031385
>>1581004
> Мейлру, Тинькове
С ними и так с самого начала было всё ясно.
Аноним 23/01/20 Чтв 00:42:07 1581181386
Аноним 23/01/20 Чтв 00:48:01 1581185387
>>1581004
В 2020 удивляться что крупные компании могут позволить себе взять и поиграться в очередной язык чтобы пропиарить себя в узкой группе разработки (ты же их запомнил, умница) и чтобы избежать текучку кадров, тем самым дав поиграться очередным своим макакам.

У нас так и руби был, нода, го, котлин даже тискали. Сейчас одна команда сидит и заливает как им очень нужен раст (они же постигали в свое время говно).
Аноним 23/01/20 Чтв 01:00:44 1581189388
>>1581185
А зачем кому-то поддерживать узкие группы разработки по "плохому" языку? Зачем вкладывать ресурсы? Или ты думаешь, там тупые люди сидят, один ты тут такой умный - срыватель покровов с го?
Аноним 23/01/20 Чтв 01:03:22 1581190389
111111.jpg (136Кб, 800x528)
800x528
>>1581016
Гоферы на все блестящие ведутся, думать не хотят совсем.
Парням очень важны были эти паузы, вместо того чтобы взять С++ или раст они тупо дрочили эти паузы и радовались.
Важны ли эти паузы тебе? В 99% нет.

Ладно, распишу для самых маленьких.
У тебя есть некий язык и у него есть два варианта использования:

1) У тебя есть сайтик, который раз в 5-10 минут делает stop-the-world в 200мс. Естественно, это незаметно для клиентов вообще.

2) У тебя есть сайтик, который очень часто делает stop-the-world, но всего лишь 10мс, плюс отнимает 20-40% процессорного времени. Естественно, тоже незаметно для клиентов вообще.

Какой вариант выберешь? Да никакой не выберешь у тебя нет выбора в го. У тебя есть только возможность читать очередные истории успеха, от которых приторно стало еще в 2015 году агрессивный и слащавый маркетинг это плохо
Аноним 23/01/20 Чтв 04:46:54 1581226390
>>1581189
Ты тупой? Тебе там сразу написали.
1) Пиар. Потом хомяки бесплатно произносят твою фирму при холиваре. А так же пиар на конфиренциях.

2) Уменьшить текучку кадров, позволяя программистам во что-то новое поиграть. В условиях микросервисной архитектуры - это ничего не стоит.
Аноним 23/01/20 Чтв 04:52:32 1581227391
>>1581004
>>1581189
>Авито, Озоне, Мейлру, Тинькове
Вот пример, казалось бы не особо то продвинутые айти компании. Но суслик уже преподносит это как плюс. На халяву пиаря компании.

Мы в свое время на какой-то конфе чела отправляли, чтобы просто нашу ноуй-нейм фирму хотя бы услышали (а потом может узнавали). Вроде было про нод.жс, потом эту каку конечно выпилили потому что бывшие фронтент разработчики не очень то подходят для бэка
Аноним 23/01/20 Чтв 05:41:12 1581229392
Есть приложение на Го и это приложение хочет базу. Но базу оно хочет не абы какую, а Постгрю, что, учитывая масштабы применения приложения выглядит ебанутым проектированием скейлинга ради скейлинга. Короче, как с минимумом усилий подменить для Go-приложения postgres на sqlite3?
Аноним 23/01/20 Чтв 06:11:01 1581234393
>>1581229
>Есть приложение на Го и это приложение хочет базу. Но базу оно хочет не абы какую, а Постгрю, что, учитывая масштабы применения приложения выглядит ебанутым проектированием скейлинга ради скейлинга. Короче, как с минимумом усилий подменить для Go-приложения postgres на sqlite3?

Без анализа того что именно и как твоё приложение делает - никак.
Или ты о чем вообще?
Что если оно жс запускает на стороне базы данных?
Аноним 23/01/20 Чтв 08:09:07 1581260394
>>1581227
> Авито, Озоне, Мейлру, Тинькове
> Вот пример, казалось бы не особо то продвинутые айти компании
Толсто.

> бывшие фронтент разработчики не очень то подходят для бэка
Это почему? Я сам из фронта в бек выкатился и вполне успешно.
Аноним 23/01/20 Чтв 08:39:21 1581274395
proniknovennie-[...].jpg (49Кб, 500x500)
500x500
>>1581190
Успокойся уже, не отнимает он столько процессора. В 1.5 версии был конкретный баг (точнее, недоработка) связанный с конкурентной обработкой горутин, находящихся в паузе, сборщиком. Её пофиксили, теперь не только паузы маленькие, но и процессор он не жрёт.
А ты сиди дальше на своей джаве, жирной, как твои наезды на гошечку.
Аноним 23/01/20 Чтв 09:08:17 1581285396
>>1581260
>Это почему? Я сам из фронта в бек выкатился и вполне успешно.
Двач борда успешных людей.
Аноним 23/01/20 Чтв 09:12:45 1581287397
>>1580394
>Сдеанонили
>Нашли
Ты же говорил что сам лично сдеадонил.

>Анон не легион он один
Хм.

>Нашли объявление
А деадон то был?

>Ты не расслабляйся, вдруг треды в архивах.
Требую деадона.
Аноним 23/01/20 Чтв 09:16:19 1581288398
>>1581285
Не верю в такие кулстори. Это как с гомоеблей, если даже и прекратишь - то пидором быть не перестанешь. С фронтендом та же история.
Аноним 23/01/20 Чтв 09:18:19 1581289399
>>1581288
Будешь фуллстеком-би.
Аноним 23/01/20 Чтв 09:25:09 1581293400
>>1581274
>теперь не только паузы маленькие, но и процессор он не жрёт.
Гоферы изменяют физику.
Ты думаешь нету реалтайм ГЦ? Есть, но оно оч дорогое по ресурсам.
Вам тупо "ползунок" выкрутили в одну сторону есть мнение что их запарило бороться с минутными паузами для 50гб систем.

Проблема то не в этом. У гоферов нет выбора, вот мне не нужны паузы в 10мс, я хочу себе throughput поднять, в жабе я могу сделать выбор, в го я могу только пукать в треде.
Аноним 23/01/20 Чтв 09:29:34 1581294401
>>1581287
Прошли сутки
@
Целый день искал в архивах те темы.
@
Не нашел
@
-"Ну че ты, че ты, деанонь меня".
Аноним 23/01/20 Чтв 09:31:24 1581295402
Аноним 23/01/20 Чтв 09:34:45 1581296403
>>1581293
Ты глупенький что ли? Он не реалтайм, он с паузами, его там оптимизировали (добавили конкурентную разметку, как я понимаю), чтобы паузы минимизировать. Да, это имеет некоторый оверхед, но он совсем не такой, как ты описываешь.
То, что ты пишешь - это какие-то сказки.
Аноним 23/01/20 Чтв 09:41:26 1581300404
>>1581296
Кто сказал что го реалтайм?
Реалтайм ГЦ это крайняя степень, когда занижают throughput ради маленькой и стабильной latency.
Реалтайм показывает, что делать так можно, но не нужно.
Аноним 24/01/20 Птн 22:20:34 1582527405
>>1581288
>>1581289
Почему не веришь? Такое нередко случается. Был фронтендером с некоторым знанием бекенда. Постепенно знание росло, достигло примерно 50/50 со знанием фронтенда, выполнял задачи как фуллстек разраб. Ну и дальше со временем все больше знаний становилось в бекенде, так и выкатился.
Аноним 25/01/20 Суб 11:03:57 1582692406
image.png (35Кб, 590x495)
590x495
image.png (49Кб, 994x650)
994x650
image.png (63Кб, 871x693)
871x693
image.png (152Кб, 565x436)
565x436
Аноним 27/01/20 Пнд 12:06:41 1583892407
Все. Мы решили. Го не нужен. Закрываем тред. Сворачиваемся.
Аноним 27/01/20 Пнд 13:09:36 1583933408
>>1583892
Ну вот чего вы начинаете, нормально же общались.
Аноним 27/01/20 Пнд 13:21:26 1583942409
Аноним 27/01/20 Пнд 15:28:39 1584013410
>>1583892
Все ушли на шарфик?
Аноним 27/01/20 Пнд 18:11:44 1584136411
шизик.jpg (720Кб, 1024x1403)
1024x1403
>>1583892
Шизя, шизечка, шизоид, ути какой синенький, иди сюда, я тебя покормлю.
Аноним 27/01/20 Пнд 18:28:27 1584147412
>>1584136
Торто-куколд, а я думал ты левнул с борды.
Как бизнес с тортами, пошел в гору или не?
Аноним 27/01/20 Пнд 18:35:36 1584156413
Пацаны а что если это я срущий петух
Аноним 27/01/20 Пнд 18:46:10 1584163414
Аноним 27/01/20 Пнд 18:55:22 1584171415
>>1584147
Поймал шизика схватил обнял.
Ути пути какой смешной ты у нас.
Держи тортик, вкусный тортик?
Как там диодон? Скоро уже? Давай диадон, а я тебя тортиками накормлю.
Аноним 27/01/20 Пнд 18:57:29 1584174416
для шизика торт[...].jpeg (222Кб, 605x571)
605x571
>>1584147
Кушай тортик, кушай и расти большой и синий.
Аноним 27/01/20 Пнд 19:00:26 1584179417
Вы тут ебанулись?
Аноним 27/01/20 Пнд 19:14:19 1584190418
>>1581294
>Целый день искал в архивах те темы.
>@
>Не нашел
Шизя, я тебе архивы принёс.
https://2ch.hk/pr/arch/2017-06-14/res/973015.html
Давай уже диадонь скорее, у меня для тебя целая гора тортиков.

>>1584179
>Вы тут ебанулись?
В треде орудует шизик, любитель сладких тортиков, срет тут с 2017.
Аноним 27/01/20 Пнд 19:54:47 1584221419
Аноним 27/01/20 Пнд 20:05:07 1584227420
>Go is a procedural programming language
ахахах
Аноним 27/01/20 Пнд 20:09:13 1584232421
>>1584227
Ну так ведь не object oriented и не functional же.
Аноним 27/01/20 Пнд 20:56:16 1584282422
Аноним 27/01/20 Пнд 20:58:22 1584286423
>>1584174
Ахах, да, это ты. Нахрена ты столько лет тут сидишь? Это рил нудно же.
Аноним 27/01/20 Пнд 21:00:01 1584288424
>>1584190
Ты настолько тупой, что даже не понял что паста была от твоего лица??
Аноним 27/01/20 Пнд 21:21:29 1584311425
для шизика торт[...].jpg (102Кб, 800x800)
800x800
>>1584286
Заглянул неделю назад, обрадовался шизику.
>ахаха ты тут сидишь так долго я не шизик
Всё ещё жду деадона. Если не будешь стараться не получишь тортиков.
Аноним 27/01/20 Пнд 21:31:34 1584323426
>>1584311
Тут 99% мимовкатывальщиков и половина вменяемого анона, что тут тебя держит?
Аноним 27/01/20 Пнд 21:56:08 1584366427
>>1584323
Ты забыл одного шизика.
Не могу смотреть как шизик от голода страдает. Кормлю его тортами.
Аноним 27/01/20 Пнд 22:49:04 1584409428
Аноним 02/02/20 Вск 22:49:50 1589733429
Скоро в жяве будут fibers и вы все на заводы пойдете.
Аноним 02/02/20 Вск 23:06:41 1589769430
>>1589733
А уж когда там будет async/await никогда, так и питон с js сразу сдохнут.
Аноним 02/02/20 Вск 23:57:01 1589894431
>>1589733
Скороее жава господа научатся перекатывать свой тред.
Аноним 02/02/20 Вск 23:58:12 1589895432
>>1589894
А что не так? Тебе не нравится, что джава-треды перекатывают после 1000? Так это фича такая.
Аноним 02/02/20 Вск 23:59:11 1589897433
>>1589894
Мы долго поддерживаем свой тред, а не переписываем каждые 500 постов.
Аноним 03/02/20 Пнд 10:13:15 1590052434
>>1589733
Эх, придётся перекатываться с гошечки в кровавый ынтырпрайз (нет)
Аноним 03/02/20 Пнд 10:58:42 1590083435
>>1584221
>И жава-ретард ещё.
Он вроде раньше рассказывал что сеньер девелопер фронтенда.
Аноним 03/02/20 Пнд 11:48:54 1590128436
Аноним 03/02/20 Пнд 12:13:39 1590149437
>>1563445 (OP)

так и придется хромоногие жабаскрип интерфейсы писать?
Аноним 03/02/20 Пнд 12:19:49 1590156438
>>1590149
У таких интерфейсов есть и плюсы. Можно объявить интерфейс и принимать его на вход функции, которой передавать уже существующий тип.
Аноним 03/02/20 Пнд 14:52:53 1590373439
1025694336.jpg (546Кб, 848x1200)
848x1200
Купил пикрил. Как оно? Куда потом вкатываться с этим.
Мимо фронтенд.
Аноним 03/02/20 Пнд 15:05:47 1590397440
>>1589894
Зашел в джава тред, там все обсуждения - это как настроить иде и как сделать лабу по программированию
Аноним 03/02/20 Пнд 16:23:39 1590510441
>>1590397
Это какой-то блаженный наспамил хеллоуворлдными вопросами.
Аноним 03/02/20 Пнд 16:31:00 1590523442
Как с го пейти на NET Core?
Аноним 03/02/20 Пнд 17:03:17 1590597443
Посоветуйте на что лучше перекатиться с го.
Аноним 03/02/20 Пнд 17:07:13 1590604444
Аноним 03/02/20 Пнд 17:07:45 1590607445
Мне одновременно интересен Эрланг и ОКамл. У Эрланга многопоточность, у ОКамла её нет, но зато там стронг статик. Как мне совместить эти две вещи в одном языке, чтобы не распыляться на два фронта?
Аноним 03/02/20 Пнд 17:16:33 1590618446
>>1590607
А при чём тут го, в котором нет ни того, ни того?
Аноним 03/02/20 Пнд 17:19:06 1590622447
>>1590597
Если серьезно - си шарп
Аноним 03/02/20 Пнд 17:45:58 1590664448
>>1590618
Ну местные же по многопоточности специализируются, тут часто мелькала в треде другая функциональщина.
Аноним 03/02/20 Пнд 18:32:20 1590730449
Существует ли логер, в котором можно указать отдельные io.Writer для инфо и для ошибок?
Аноним 03/02/20 Пнд 19:13:01 1590746450
Аноним 03/02/20 Пнд 20:27:01 1590817451
>>1590607
>Мне одновременно интересен Эрланг и ОКамл. У Эрланга многопоточность, у ОКамла её нет, но зато там стронг статик. Как мне совместить эти две вещи в одном языке, чтобы не распыляться на два фронта?
Ada
Аноним 03/02/20 Пнд 20:28:24 1590819452
>>1590510
Неиначе гошизик тортоед в джаву вкатывается.
Аноним 03/02/20 Пнд 21:05:49 1590889453
>>1590819
Лол, когда жаберы уходят в дотнет, он полез в кобол.
Аноним 03/02/20 Пнд 21:31:30 1590923454
>>1590607
Хаскелл.
>многопоточность
Чек.
>стронг статик
Чек.
Аноним 03/02/20 Пнд 21:54:15 1590948455
>>1590923
>Хаскелл.
>многопоточность
Толсто.
Аноним 03/02/20 Пнд 23:12:13 1591045456
>>1590664
> Многопоточность.
В го нет потоков и ещё меньше контроля на ними.
Аноним 03/02/20 Пнд 23:26:05 1591053457
>>1567737
Мимо реактообезьяна, пилить интерфейсы заебало. Я тоже хочу на бекенд, хоть куда. Дай наставлений, анон?
Аноним 03/02/20 Пнд 23:42:57 1591073458
>>1591053
Учи ноду и тайпскрипт.
Аноним 03/02/20 Пнд 23:49:49 1591080459
>>1591045
Шизик, таблеточки прими, или ты опять голодный?
Аноним 03/02/20 Пнд 23:51:18 1591082460
>>1591053
Использую связку typescript + c_sharp
Аноним 03/02/20 Пнд 23:54:36 1591086461
>>1591045
>В го нет потоков
Ку-ку дядя. Если горутина делает блокирующий системный вызов, то рантайм создаёт/берет из пула новый поток, а блокированный отправляет в пул.
Аноним 03/02/20 Пнд 23:59:56 1591092462
>>1590397
А туда ли ты зашел - петушок?
Аноним 04/02/20 Втр 00:10:28 1591107463
>>1591073
ТС знаю достойно, а на ноде смогу написать небольшой сервер или утилиту. Есть чуть больше года опыта фронта и немного бекенда. Монго на уровне "добавь комментарий в блог". Представляя собеседование на бекенд позицию пугают вопросы про алгоритмы, SQL и паттерны / бест практисы (нихуя из этого не знаю). Как дальше поступать?
Аноним 04/02/20 Втр 00:22:11 1591117464
>>1591107
>Как дальше поступать
Я на интервью сразу говорю, что с sql неочень, т.к. у меня есть дба и они бля, да и вообще идите вы нахуй.
Все время спрашивают какую-то хуйню - вы умеете проектировать бд? Да хуле там проектировать, чертила, таблица хуяк хуяк нормализация.
Аноним 04/02/20 Втр 00:22:53 1591119465
>>1590664
Мало есть вещей более далёких от функциональщины, чем го
Аноним 04/02/20 Втр 00:53:23 1591142466
>>1591086
Ну раз такой умный, помести мне эвент-луп tcp-сервера в отдельный сетевой неймспейс, оставив мейн-тред в текущем.
Аноним 04/02/20 Втр 01:04:05 1591147467
>>1591119
Да у них каждый первый язык, где есть функции, функциональный. Скоро и сишку будут классифицировать как функциональщину.
Аноним 04/02/20 Втр 01:51:40 1591159468
15782327752590.jpg (263Кб, 1148x1080)
1148x1080
>>1591142
>отдельный сетевой неймспейс
Я тут мимопроходил.
Первый раз такое услышал.
Это что-то из POSIX socket API ? Я с системщиной неработал никогда, но на уровне пользования апи ос из тех-же сей никогда о таком не слышал, или я забыл просто?
Аноним 04/02/20 Втр 01:52:28 1591161469
pepe6.jpg (137Кб, 1920x1080)
1920x1080
Аноним 04/02/20 Втр 02:59:08 1591172470
>>1591159
Это фича ядра линукс, которая сегодня в основном используется для создания контейнеров. Она позволяет содавать отдельные области видимости для разных ресурсов системы, изолируя процессы друг от друга по ресурсам (не по ядру).
Сетевой неймспейс изолирует видимые сетевые девайсы, и соответсвенно даёт свою таблицу марштрутизации, цепочки в iptables и т.д.
https://www.youtube.com/watch?v=j_UUnlVC2Ss
Например внутри докера ты можешь как угодно сломать сеть и маршруты, и при этом в другом контейнере сеть будет нормально работать дальше, потому что это другой сетевой неймспейс.

Go позволяет запускать процессы в отдельных неймспейсах - тут хороший список примеров в нескольких статьях:
https://medium.com/@teddyking/linux-namespaces-850489d3ccf

Проблема той задачи выше в том, что нейспейс - это свойство потока в ОС, но Go очень сильно абстрагирует работу с потоками и не позволяет заиметь два пула потоков с разными свойствами, делая задачу "жить в двух неймспейсах одновременно" нетривиальной и настолько неудобной, что проще просто запустить отдельный процесс.
Т.о. в Go есть пул потоков, но сами потоки как объекты ОС го пощупать не даёт и не может дать - он сам ими управляет и сам шедулит горутины на потоки из пула.

Есть правда одно исключение - runtime.LockOsThread, оно позволяет решить часть задач, но он не позволяет указать несколько горутин которым разрешено сесть на текущий тред, только одну.
Аноним 04/02/20 Втр 03:08:24 1591174471
>>1591172
> сами потоки как объекты ОС го пощупать не даёт
Плохо выразился. Пощупать даёт, но с костылями (см. репу coreos) и одноразовыми тредами.
Аноним 04/02/20 Втр 03:33:58 1591180472
Аноним 04/02/20 Втр 03:38:48 1591182473
>>1591180
Какая нахуй разница? Они все одинаковые.
Аноним 04/02/20 Втр 04:27:57 1591192474
15802913354940.jpg (88Кб, 960x699)
960x699
>>1591172
Окей.
Как в C# в одном приложении один поток в один неймспейс а другой в другой запихнуть?

Это вообще где-то кроме Сях можно сделать? Ведь нужно напрямую команды ядру ОС посылать, верно?

>Проблема той задачи выше в том
Я вроде понял, но это тяжело назвать "не работает с потоками". Я первый раз в жизни слышу, чтобы кто-то делал подобное отдельно для отдельных потоков в одном процессе. Обычно всякие сгрупс распространяются на процесс.
Задача интересная конечно, очевидно ГО предлагает в таком случае выносить функционал в отдельный процесс.
Аноним 04/02/20 Втр 05:19:45 1591198475
>>1591192
Я видел как на отдельный тред вешали секкомп профиль. с неймспейсами не помню такого, но api позволяет. И есть всякие пруфы что это возможно вроде - https://unix.stackexchange.com/questions/494195/is-there-a-file-that-associates-a-thread-to-its-network-namespace
или man setns

Вообще и в го это можно - надо только забить на гошный шелуллер и сделать врапперы для pthreads. Насчёт других языков - в принципе, если треды под капотом держат нативные треды ОС, то всё сводится либо к вызову unshare и спауну нового треда, или к вызову clone с кастомными параметрами для создания нового треда.
Мне аж стало интересно запилить такое для ждавы с native threads
Аноним 04/02/20 Втр 06:11:33 1591212476
>>1591198
Будем надеяться что никто этим всерьёз заниматься не будет.
Не хочу такую хуйню в проекте встретить.
Аноним 04/02/20 Втр 22:09:20 1591915477
Аноним 04/02/20 Втр 23:57:03 1591954478
>>1591915
>TLDR: Rust is faster and just as safe, Golang has GC lag spikes.
>
>It's interesting though because they are using a Cassandra database, which is pure Java and needs a lot of GC tuning to maximize performance, but it's still a very fast database.
Тут 2 момента: во первых разные GC это серьезное преимущество. Во вторых Cassandra более scalable чем fast.
Аноним 05/02/20 Срд 00:09:08 1591963479
>>1591954
У Кассандры есть крестовый клон, на который съебать никогда не поздно.
Аноним 05/02/20 Срд 01:13:30 1592012480
>>1591963
Что они и делают:
> Post author here. Agreed Cassandra has issues due to GC too. We've been switching over to Scylla, which is a C++ database that is a drop in replacement for Cassandra. Scylla does not suffer from GC.
Аноним 05/02/20 Срд 06:21:08 1592060481
>>1591915
Шизичька шизя, схватил шизика накормил таблеточками.

Как таблеточки, шизоид, вкусные?
Аноним 05/02/20 Срд 06:23:32 1592061482
>>1592012
Джава обезьян снова ебут, да ещё крестами, какой позор.
Аноним 05/02/20 Срд 07:01:53 1592068483
>>1591915
>мам смотри реддит
Уже нашёл жж Артема Лебедева?
Аноним 05/02/20 Срд 07:02:16 1592069484
>>1591915
Как же я лолирую с комментов гугл-фанбоев -

>Тесты не тесты!
>А пачиму старый гоу, мммм?!!! В новом гоу все хорошо!!!
>Руст - это сложно, гоу - хорошо!!
Аноним 05/02/20 Срд 09:34:40 1592090485
помгаю от шизика.png (191Кб, 720x300)
720x300
Аноним 05/02/20 Срд 09:54:06 1592094486
>>1591915
А что у них вообще на говне было написано?
Бенкенд у них на Elixir со вставками на Rust в местах требующих оптимизации. Фронт вроде на реакте.
Аноним 05/02/20 Срд 12:11:36 1592135487
>>1590746
Она же с динамической типизацией.

>>1591915
Вывод такой, что настоящая годнота — Elixir.
>Our core services aren’t written in Rust, they are Elixir-based.
>11kk concurrent connections
Аноним 05/02/20 Срд 14:31:15 1592241488
>>1592060
>>1592068
>>1592090
>мам шизик)

Это всё что могут высрать goвноеды? Ни аргументации, нихуя, просто называй всех шизиками, так победим!

Признайте уже, что эксперимент "goвно" провалился, и идите писать на нормальных языках.
Аноним 05/02/20 Срд 14:50:31 1592259489
>>1592135
>Scala
>Она же с динамической типизацией.

Лол. Нет конечно.
Более того там система типов по уровню фич сопоставима с Haskell.
Хуй знает может ты с Groovy перепутал.
Аноним 05/02/20 Срд 15:47:04 1592326490
>>1590607
>Как мне совместить эти две вещи в одном языке, чтобы не распыляться на два фронта?
Легко, берешь F# и получаешь OCaml с развитыми многопоточностью, асинхронностью, и даже с моделью акторов как в Эрланге, плюс развитая экосистема .NET Core, в которой есть все что нужно для жизни, чего ты не найдешь в Эрланге и в Окамле.
Аноним 05/02/20 Срд 17:14:01 1592384491
Аноним 05/02/20 Срд 17:31:32 1592393492
>>1592090
>Блокирует маркетологов
Тогда всем говноедам нужно срочно по две пачки выписать.
Аноним 05/02/20 Срд 17:32:38 1592394493
Аноним 05/02/20 Срд 18:43:31 1592470494
>>1592383
Щас бы следить за тем что делают в дискорде, и делать тоже самое. А если они завтра говно начнут жрать, ты тоже подтянешься??? Уверен что да.
Аноним 06/02/20 Чтв 14:56:05 1593315495
>>1592394
Наркоман что ли? Во-первых - это практически мёртвый проект. Во-вторых никакой многопточки и грин тредов как в эрланге там нет, только убогие жвм либы.
Аноним 06/02/20 Чтв 16:08:48 1593397496
>>1593315
> мёртвый проект
Вряд ли эрланг и окамл сильно живее.
Аноним 06/02/20 Чтв 16:37:52 1593432497
>>1593397
Эрланг сильно живее, чем typed clojure.
Аноним 06/02/20 Чтв 17:18:42 1593463498
>>1593397
Двачую, регулярно выходят релизы.
Аноним 06/02/20 Чтв 22:20:02 1593797499
>>1593315
>Во-вторых никакой многопточки и грин тредов как в эрланге там нет, только убогие жвм либы.
Чаво? Clojure один из strong concurrent/multithreading language. Clojure один из редчайших языков, в который встроена STM, - транзакционная память, в само ядро языка, а не в сбоку.
Аноним 07/02/20 Птн 09:55:52 1594042500
>>1593797
кожура - претенциозное тормозное говно.
strong concurrent/multithreading language - не более чем просто слова, язык всегда живёт в экосистеме, так вот - экосистема жвм это всякое легаси говно, построенное на различных велосипедах или вовсе на блокирующем IO. Хуй там все клали на твои strong concurrent/multithreading.
Аноним 07/02/20 Птн 13:13:59 1594170501
Аноним 07/02/20 Птн 15:40:37 1594267502
>>1594042
Ебать ты олень. NIO это что блять? А Netty? Clojure стабильно находится в лидерах по производительности, как и джава впрочем. Только дебилы могут говорить, что в Джаве нет конкурентности и многопоточности. Я хоть джаву как язык терпеть не могу, но JVM это сила, это нельзя отрицать.
07/02/20 Птн 23:08:57 1594768503
>>1594170
Бля, давайте теперь каждый день это постить, уже дважды кидали
Аноним 08/02/20 Суб 02:41:45 1594969504
image.png (280Кб, 604x438)
604x438
Аноним 09/02/20 Вск 14:34:09 1596216505
>>1594768
Goвноедам нужно напоминать их место у параши.
Аноним 10/02/20 Пнд 11:36:08 1597084506
>>1596216
О, жвм петух опять фантазирует. У тебя весь бек на го, ты оподливился, даже твои убогие сервисы работают в докере, который оркестрируется кубером. Аналоги тоже на го, типа номада и консула. Рыночек доказал, что го лучше жвм-чиркашей, иначе бы всё было на них, но они не годны не для чего кроме поддержки обоссаного легаси.
Аноним 10/02/20 Пнд 11:40:12 1597089507
IAVkkcgy.png (319Кб, 512x501)
512x501
>>1594267
>JVM это сила, это нельзя отрицать.
Аноним 10/02/20 Пнд 17:07:42 1597366508
>>1597084
Шизло, чини детектор. Ты там свою мамашу ещё жвм-петухом не называешь? Лол!
Аноним 12/02/20 Срд 18:52:47 1599449509
Кто что использует для работы с дб?
Raw SQL не удобно, gorm медленное говно.
Что есть ещё?
Аноним 12/02/20 Срд 18:55:49 1599455510
>>1594170

И да, кордевы утверждали, что им не нужен gc с поколениями.
Вот их и ткнули носом, что при большом хипе все скатится в говно.
Аноним 12/02/20 Срд 20:10:55 1599513511
>>1599449
> gorm медленное говно
Вся суть ORM.

>Что есть ещё?
Говнецо одно есть. ORM очень хуёво ложится на скудные фичи го. Самое годное - это
> Raw SQL
Аноним 12/02/20 Срд 20:37:44 1599560512
>>1599513

А как же xo? Классная же штука.
Аноним 12/02/20 Срд 22:05:10 1599683513
>>1599449
Есть еще всякие sql-builder, поищи.

Но вообще, raw sql - нормальное решение. В случае фейла запроса, лучше видеть, в каком он был виде, а не гадать, что же на самом деле вызывалось
Аноним 13/02/20 Чтв 00:04:35 1599798514
>>1599683

Не хочу искать, хочу удобную серебряную пулю с минимальным оверхэдом.
Аноним 13/02/20 Чтв 00:53:04 1599866515
lelz.jpg (27Кб, 486x309)
486x309
>>1599683
> Но вообще, raw sql - нормальное решение

Вся суть просто. Господи, goвнина это просто язык для поржать, заходишь ИТТ или на реддит, и настроение подняли на весь день.
Аноним 13/02/20 Чтв 01:10:53 1599885516
Аноним 13/02/20 Чтв 01:32:54 1599932517
>>1599866

Молча завидуй нашим диким зарплатам.
Аноним 13/02/20 Чтв 10:18:00 1600088518
Аноним 13/02/20 Чтв 12:16:34 1600164519
Аноним 13/02/20 Чтв 13:36:34 1600256520
>>1599866
Ловите дегенарата, который даже SQL не осилил. Джявист пади или шарпоёб.
Аноним 13/02/20 Чтв 14:20:31 1600309521
>>1600256
Авотхуй, SQL-фобов это не обязательно энтерпрайз-кабанчик, это может быть один из создателей очередного интернет-магазина на Джанге или рельсах
Аноним 13/02/20 Чтв 14:21:13 1600310522
Аноним 13/02/20 Чтв 21:29:09 1600771523
>>1600256
> Джявист
А что с джависты? У нас вот ORM ненавидят, и почти все запросы нативные.
Аноним 13/02/20 Чтв 23:05:09 1600955524
Есть одна функция рекурсивная, принимает указатель и возвращает тоже указатель
return findNode( node.left ) || findNode( node.right ) одна из строчек из-за которой не собиралась программа
Но оказывается в го нельзя так сравнивать указатели или если можно, то как это сделать?
Аноним 13/02/20 Чтв 23:09:40 1600962525
Рекурсия в Go - антипаттерн.
Аноним 13/02/20 Чтв 23:20:33 1600974526
Аноним 13/02/20 Чтв 23:26:19 1600982527
>>1600955
А ты сам код скинуть не можешь, ничего непонятно?
Аноним 13/02/20 Чтв 23:35:15 1600998528
>>1600982
Я уже переделал по другому
Аноним 14/02/20 Птн 00:14:53 1601058529
>>1600962
Хуйню скозал. Не более, чем в какой-нибудь Сишке
Аноним 14/02/20 Птн 00:16:07 1601060530
>>1600974
Да вообще, нет бы нормально язык сделать, сплошные антипаттерны
Аноним 14/02/20 Птн 01:01:12 1601109531
>>1599683
Нормальные орм начинают логировать запросы по щелчку logger-config.txt
Аноним 14/02/20 Птн 01:04:41 1601114532
>>1600955
Никак. В го нет указательной арифметики и неявных кастов. Пиши через if.
Аноним 14/02/20 Птн 12:14:18 1601342533
А на го есть какие-нибудь production-ready фреймворка для реалтайм stream аналитики?

Нужно вставить что-то после Кафки и перед кликхаусом, что бы показывать реалтайм статистику и триггерить события при аномалиях.
Аноним 15/02/20 Суб 16:34:21 1602939534
>>1600955
> return findNode( node.left ) || findNode( node.right )
в го хоть что-то кроме булов поддерживает || ?
Аноним 15/02/20 Суб 16:35:54 1602945535
>>1600962
во всех императивных языках.
Аноним 15/02/20 Суб 18:17:19 1603079536
Хаю хай это тупой уебан. Подскажите как можно в Го-реверсПроксиСервере оранизовать дальнейшее раскидывание по проксям подключенных клиентов?
Аноним 15/02/20 Суб 18:34:14 1603108537
>>1600962
Ты сказал? Это чепуха. В Go даже размер стека настраивается.
Аноним 15/02/20 Суб 18:37:03 1603116538
Аноним 15/02/20 Суб 18:37:45 1603120539
Насколько раз слышал, что что-то делать осознанное на пщ можно уже через пару дней.

Что я должен прочитать чтобы сделать это?

Пишу на питоне и жс
Аноним 15/02/20 Суб 18:38:13 1603123540
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов