Этого треда уже нет.
Это копия, сохраненная 8 декабря 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
167 Кб, 435x403
GoLang #2 #861808 В конец треда | Веб
Что это за язык?
Компилируемый, многопоточный язык программирования со статической типизацией, разработанный компанией Google.

Какие у него сильные стороны?
Быстрая компиляция и работа, устойчивость к нагрузкам, простота, богатая стандартная библиотека, универсальность.
А так же асинхронность, спрятанная под капотом (100% утилизация железа). Очень легкие зеленные потоки, которых можно запустить по миллиону штук (программисты на многоядерных квантовых компьютерах в восторге).

Какие у него слабые стороны?
Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.
В основном сейчас знания языка приветствуется (особенно для коллег с питона).

На какие языки он похож?
C (не плюсы), Python, JS, немного духа Java (её лучших сторон)

Какая у него основная сфера применения?
Embedded, highload-web, бюджетный веб (так как не жрет ресурсы как скрипты или джава).

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

Холивар
Язык настолько прост и удобен, что позволяет не городить тучу запутанного кода наподобие промышленного кода java (не маловажную роль играет классический структурно-процедурный стиль, со взятыми лучшими ООП решениями), а имея встроенную асинхронность, ставит серьезный вопрос для языков, которые как-то пытаются эту асинхронность у себя эмулировать (калбэк ад и прочие ужасы).
Го станет тем языком, который откинет джаву к своему собрату коболу, он вместе с питоном заменит js на фронтенде (когда окончательно завезут wasm), заменит частично сам питон, так как быстрее своего собрата и в вакансиях уже знания Go приветствуется.
Приверженцы старой структурной школы php смотрят на Go как на глоток свежего воздуха, после того как PHP стал бестолочно копировать джаву (разделив сообщество на две части).

Го не заменит низкоуровневые языки, такие как Си и С++, но он будет приятен для тех, кто любит простоту Си (но удобство скриптовых языков).

Производительность
https://benchmarksgame.alioth.debian.org/u64q/go.html
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=db
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext

Перспективы
http://www.tiobe.com/tiobe-index/
https://www.google.ru/trends/explore?q=golang
Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://github.com/search?utf8=✓&q=stars:>1000&type=Repositories&ref=searchresults
Уже на уровне топовых языков
http://sogrady-media.redmonk.com/sogrady/files/2016/07/lang.rank_.Q316.plot-WM.png

Полезное
Для начинающих (годный и развернутый список)
https://goo.gl/NfNfZg

Мануал веба на го с погружением в язык
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/preface.md

Го в примерах
https://gobyexample.ru/

Ищем пакеты:
https://godoc.org/

Сторонние го либы
https://github.com/golang/go/wiki/Projects

Кто уже юзает го
https://github.com/golang/go/wiki/GoUsers

Видосы (есть на русском, если полистать)
http://4gophers.ru/video
#2 #861814
Парсер ссылку съел:

Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://goo.gl/0kUJoW
#3 #861816
Продолжаем бесконечный круг унижений и оправданий.
#4 #861818
По поводу нехватки сахара в синтаксисе и бурления говн по этому поводу
Некоторые аноны предполагают, что авторы просто не успели завести все что можно и сахарить будут после, когда соберут нужную аудиторию и число проектов (естественно с обратной совместимостью, бизнес-way)

Но практичный анон говорит, нужно отключить в голове синдром утенка и воспринимать язык как инструмент для простого и удобного решения своих задач (и прекратить дрочить на синтаксический сахар в языках)
>>861839>>861843
#6 #861843
>>861818

>(и прекратить дрочить на синтаксический сахар в языках)


Т.е. гоферы попросту признают что они безликое говно, на мнение которого всем поебать, и заменить их можно кем угодно?
>>861863
#7 #861845
Вообще, синтаксический сахар — это всевозможные DSL-и, CTFE и прочее.
В говне же мало того, что нет вот вообще нихуя, так ещё всё и вся прибито к полу как деревянными игрушки, что показывает суть языка.
#8 #861847
Кстати, говноед писавший шапку, чо там по

>программисты на многоядерных квантовых компьютерах в восторге


Говно уже завезти на мейнфреймы успели? Нет. Потому что нинужна. Так зачем ты дезинформируешь людей?
#9 #861851

> бюджетный веб (так как не жрет ресурсы как скрипты)


В нише скриптопараш ресурсы значения не имеют, так как само приложение там нужно чтобы 1 раз в сутки по таск менеджеру хуйнуть в кэш новые данные, зато скорость разработки значение имеет и для неё как раз таки нужны:

>синтаксический сахар


>готовые решения


И этого у говна нет.

Если же брать обработку данных, скриптопараши нужны там в качестве обертки над библиотеками на C и говно здесь не даст преимущества в ресурсах.
>>861872
#10 #861855
ОП видимо себе все штаны обкончал, пока писал шапку.
#11 #861863
>>861843
нет, это для долбаевов с синдромом утёнка, чтобы их не обижать открыто
>>861866
#13 #861872
>>861851

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


> rails


))
#14 #861882
Что-то подход к ООП в нем мне нравится даже меньше, чем в JS. Ебаные ресирверы указывать, вместо того, чтобы описывать методы прямо в классе, как это делается на нормальных языках. Где они хуйню вообще подсмотрели?
>>861899
#15 #861899
>>861882

> Ебаные ресирверы указывать


Шта? Ты с objective c попутал дружок пирожок?
>>861902
#16 #861902
>>861899
Ну ты типа указываешь контекст выполнения метода же. Эта хуйня называется ресирвером.

Например:

>func (s TwitterSource) Find(word string) ([]Message, error) {


> return s.searchAPICall(s.Username, word)


>}



Так вот после func идет хуйня, которую можно назвать указателем, контекстом, ресирвером, мне похуй.

Хуево это, в общем.
>>861936
#17 #861936
>>861902
Ну так это не методы нихуя, это просто функции, которые можно прибиндить к определенному типу (там табличка тип-функция создается). А структура это, или число, или строка - вообще похуй.

type MyList []int

func (m MyList) append(x int) {
m = append(*m, x)
}

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

Хуйню несете короч, выучите сначала язык
>>861939>>861948
#18 #861939
>>861936
так, двач звездочки похерил
https://play.golang.org/p/oallZTF_oq
#19 #861948
>>861936

>плюсах это правильно сделали, кстати.


Проиграл с этого годауна. В плюсах функции как раз связанны классами/структурами с данными, единственная причина почему реализацию выносят в отдельный файл — костыли препроцессора и линкера из си.

Кстати, привязка функций к типам — это фича из ML сороколетней давности. Видимо хоть один нормальный язык Пайк за свои овердохуя дет таки осилил.
>>861951
#20 #861951
>>861948
Про плюсы там реально хрень, но все остальное верно
42 Кб, 640x636
#21 #862104
Я извиняюсь люди добрые.
А в чем на этом ГО кодить?
IDE какая есть для него?
#22 #862128
>>862104

> IDE


VSCode/Vim
Больше и не нужно
>>862131
#23 #862129
>>862104
Нету. Потому что нинужно по философии языка.
>>862131
#24 #862131
>>862128
>>862129
Не ну а как же подсветка синтаксиса, авто дополнение, вот это все?

А как копиляцию настраивать, сборку, хуе мое?
#25 #862132
>>862131
Управление проектом в конце концов.
>>862136
#26 #862136
>>862132
>>862131
Как дядя Пайк и сказал — нинужно. Он сам чтоб ты понимал использует acme, можешь погуглить.
#27 #862138
>>862131
Гоудаунам нравится самим приседать на бутылку, писать if err != nil {... на каждый пук и писать код в текстовом редакторе
>>862180
#28 #862180
>>862104
ньюфаня, всегда для всего - ИДЕЯ (а вообще реально там норм сделан плагин)

>>862138
Звонил сейчас Робу, он сказал что тебе этого делать не нужно, в общем разрешил, не благодари.

Завезите уже новый придирок, а то даже уже скучно.
>>862213>>862218
374 Кб, 1600x907
#29 #862184
>>861808 (OP)
Меньше чем год назад го-тред тонул, если не лились подростковые комплексы Ильи, которые он решал за счет языков программирования.

А сейчас я наблюдаю бугурты сравни топовым языкам. Это крупная победа, коллеги. Го - выстрелил!
#30 #862191
>>862131
Ебанутый? Это все в vim/vscode есть.
Научись хоть в go build для начала
>>862218
#31 #862213
>>862180

>ИДЕЯ


Жаваговно. Хотелось бы IDE на нормальном языке.
#32 #862215
>>862104
есть конечно плагин для идею, но это зашквар какой-то, использовать иде вместо терминала
Ставишь вим/atom/sublime text, ставишь gocode (через go get, https://github.com/nsf/gocode)
atom: https://atom.io/packages/go-plus
sublime: https://packagecontrol.io/search/gosublime
vim: сам что-нибудь найди, писал давно, заебался настраивать
Для сборки опять же через go get ставишь rerun (https://github.com/ivpusic/rerun) и просто запускаешь из папки своего проекта (можно и go run вручную каждый раз, но rerun перезапускает при изменении)
#33 #862216
>>862104
но ты скорее всего нуб, который писал только на шарпе на студии и не знает, что такое терминал
>>862219
#34 #862217
>>862104
я еще погуглил за тебя и вот
для vscode: https://github.com/Microsoft/vscode-go
для idea: http://go-ide.com/
786 Кб, Webm
#35 #862218
>>862180

> ИДЕЯ


Эт что?

>>862191

>vim


Видеорелейтед.

>vscode


Надо попробовать.
Меня напрягает, что нет официального иде для разработки от создателей.
Как-то несерьезно.
>>862220>>862340
#36 #862219
>>862216

>но ты скорее всего нуб, который писал только на шарпе на студии и не знает, что такое терминал


Я ощущаю тебе лет 20, или около того.
#37 #862220
>>862218
в точку, лол
#38 #862340
>>862218

> нет официального иде для разработки от создателей


Теперь я хоть понимаю, с кем общаюсь. Ох уж эти java-дети.
Ты поди для разработки под мк иде просить будешь, даунёнок?
>>862349>>862440
#39 #862349
>>862340
А ты что думал? В го треде все посты в духе "зачем оно" задают дцпшники мечтающие вкатиться на 300к в секунду.
60 Кб, 720x951
#40 #862440
>>862340

>Ты поди для разработки под мк иде просить будешь, даунёнок?



Иду на сайт проивзводителя МК.
Нахожу мой МК.
Нажимаю ссылочку

>скачать СДК IDE мокрые потные кисоньки.


ЛЮБОЙ производитель МК предоставляет среду разработки и экосистему.

Иначе никому такой МК ненужен.
>>862446
#41 #862446
>>862440
и блять под каждый МК писать на новой иде, вместо любимого редактора с десятком плагинов и идеальными настройками, нужным функционалом и тп и тд, это долбоебизм какой-то
>>862447
#42 #862447
>>862446

>и блять под каждый МК писать на новой иде, вместо любимого редактора с десятком плагинов и идеальными настройками, нужным функционалом и тп и тд, это долбоебизм какой-то


Зачем под каждый?
У каждого производителя своя экосистема.
Гибко распространяющаяся на весь модельный ряд.

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


Не бывает редакторов с идеальными настройками и нужным функционалом.
Так же как идеальных ЯП.

>это долбоебизм какой-то


Это рынок.
Для конечного пользователя важны не абстрактные идеальности и хорошисти в вакууме, а живая экосистема.
Поэтому виндовс доминирует на десктопе, а андроид на смартфонах.
>>862451>>862491
#43 #862451
>>862447
Но почему я не могу использовать ту же экосистему из своего редактора? Если не учитываться мк (не занимаюсь этим), то почти все среды и языки имеют кучу своих консольных тулз (99% экосистемы). Консольные тулзы можно как и просто использовать в консоли, так и интегрировать с редактором (5к плагинов под атом под все возможные и невозможные фичи).

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

Конкретно, я вижу, что у js-кодеров нет IDE, у них огромнейшая (самая большая уже походу) экосистема и им абсолютно похуй на твои слова.
#44 #862452
>>862451
Ну WebStorm же
>>862457
#45 #862457
>>862452
Официальная от создателей? А я-то думал, она от джета. Да и количеством юзеров я на ней не впечатлен как-то, с учетом того, что у джета единый репозиторий плагинов для всех их поделок, у плагина на скалу за 7 (!) лет в два раза больше загрузок, чем у какой-нибудь миникарты для атома за полтора года.
>>862459>>862469
#46 #862459
>>862457
hotfix

> у топового по загрузкам плагина на скалу за 7 (!) лет

#47 #862469
>>862457
Там уже встроено все, что нужно для комфортной работы в 70% случаев.
>>862473
#48 #862473
>>862469
И это хорошо? Вместо установки нужных плагинов нужно сидеть и убирать ненужные фичи. Именно так я делал с vs в свое время, убирал все, кроме редактора, дерева и консоли, а открывал нужное по необходимости. А потом узнал, что все проще, есть же обычные редакторы кода и терминал, че я парился-то.

В общем, спор ide vs редактор кода можно вести бесконечно, да и сам спор стар как мир. В любом случае я чувствую, что вам не переубедить, а сам я уже для себя выбрал, что мне лучше. В любом случае, наличие ide ничего не решает.

О, кстати, раз вы упомянули Webstorm, я уже скидывал ранее Intellij Go.
#49 #862474
>>862451

>Но почему я не могу использовать ту же экосистему из своего редактора?


О какой именно экосистеме идет речь?
Какую-то можно, какую-то нет.

>Зачем для этого всего нужна какая-то левая IDE от непонятного разработчика, когда у меня есть редактор от гитхаба?


Понятия не имею зачем тебе что-то надо или не надо.

>Конкретно, я вижу, что у js-кодеров нет IDE, у них огромнейшая (самая большая уже походу) экосистема


Не представляю себе что ты под "жс кодерами" подразумеваешь.

>и им абсолютно похуй на твои слова


Хорошо хорошо, только не плачь пожалуйста.
>>862477
#50 #862477
>>862474

> О какой именно экосистеме идет речь


ээ, нуу, сборка, тестирование, профайлинг, анализирование кода, упаковка, управление зависимостями, сами зависимости
>>862496
#51 #862491
>>862447

> У каждого производителя своя экосистема.


Найс манямир
>>862496
#52 #862496
>>862477

>ээ, нуу, сборка, тестирование, профайлинг, анализирование кода, упаковка, управление зависимостями, сами зависимости


Это общие слова.
Сборка чего?
Профайлинг чего?

>>862491

>Найс манямир


Слабоумный дегенерат.
#53 #862499
Блядь, ну может уже хватит хуйню-то писать не по теме?

Хочется посраться с анонами - пиздуй в б, там этого дерьма навалом.
>>862504
#54 #862504
>>862499
Мне казалось, что го-тред уже стал представительством /би в /зк. Захожу иногда лишь для того, чтобы посрать
>>862621
25 Кб, 600x400
#55 #862621
>>862504


У тебя проблемы?
Тебя обижают в школе/вузe/на работе.
И об тебя вытирают ноги все в округе?


Не беда! Го-тред!
Именно здесь ты сможешь спроецировать свои проблемы через ненависть к новому языку! Теперь тебе не надо блуждать по языковым тредам и слушать какой ты неосилятор! Освой язык Го за пару дней и ты сможешь компенсировать все свои проблемы прямо здесь и сейчас.

Го-тред, помогаем больным уебанам с 2012 года
Клиника имени Святого Роба Пайка.
#56 #862643
>>862621
Ваш язык хуйня ебаная! Обколются своими корутинами и колбэчат друг друга в треды!

Фух, полегчало... Прямо почувствовал себя значимым и важным. Даже привстал немного
>>862655>>862789
1742 Кб, Webm
#57 #862655
>>862643

>Ваш язык хуйня ебаная! Обколются своими корутинами и колбэчат друг друга в треды!


>Фух, полегчало... Прямо почувствовал себя значимым и важным. Даже привстал немного

>>862789
#58 #862789
>>862621
>>862643
>>862655
Семён незаметен.
>>862820
#59 #862820
>>862789
Главный Семён треда детектирует Семёнов.
#60 #862838
Посоны, как Го после Ноды смотриться?

Думаю обмазаться вторым кококо нода не серверный язык бек енд языком, и встал выбор между сисярпом и голенгом.
>>862864
#61 #862839
А почему в треде столько хейтеров? На го макак и гребцов сейчас плетками заставляют работать, штоля?
#62 #862864
>>862838

>Посоны, как Го после Ноды


Он для этих целей и создавался.

И для других целей конечно тоже, но го де-фактом будет языком веба (даже в браузере когда "консорциум" опубликует webassembly в своих браузерах).

>>862839

>А почему в треде столько хейтеров


тебе уже пояснили, не тупи
>>862621
#63 #862869
>>862839
Фрустрация от того, что кто-то самовольно на этом пишет и ему нравится.
#64 #862933
Други, а что сейчас на го под ведроид можно написать? И надо ли оно?
>>862936>>862953
#65 #862936
>>862933
Запустить — можно. Что-то вменяемое написать — нельзя. Нет, не надо.
#66 #862953
>>862933
ты реально хочешь получить технический ответ в треде в котором одни тролли и при этом не загуглив?
>>862969
#67 #862969
>>862953

>рррряя тролли говно в жопу заливают!!!


Гоблядь-пидорахауважаемый Русский гражданин, плз.
>>863056
#68 #863056
>>862969
Игорь, вы записаны к психотерапевту на среду
>>863218>>863861
#69 #863218
>>863056
ты нам всех психов разогнал
#70 #863294
Что прикольного на Го можно написать? Давайте скооперируемся и напишем по фану
>>863302
#71 #863302
>>863294
Предлагаю написать обёртку над cgroups и bsd-jails, придумать няшное название и продавать усатым хипстерам.
>>863319>>863719
#72 #863319
>>863302
Для хипстеров надо на js писать))
#73 #863373
>>862839

>А почему в треде столько хейтеров?


Чет я не увидел еще ни одного.
#74 #863559
Годный взгляд на го, от популярного джависта-подкстера Umputun (Радио-Т)
http://p.umputun.com/2016/05/03/go-ili-nie-go/

зацепите потом в шапку
>>863750>>863831
#75 #863581
нужно еще для шапки вывести какой-то топ из IDE

https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins
>>864161
#76 #863719
>>863302
И назовём её dvacker
320 Кб, 459x1441
#77 #863750
>>863559

>С Go все это заметно проще и, что немаловажно, он не особо нагружает мозг.


>он не особо нагружает мозг


Всё ясно
>>863769>>863858
#78 #863769
>>863750
Толсто.
#79 #863831
>>863559
Лучше позаносить туда их регулярные цитаты про го и негегеничность которые проскакивают почти в каждом выпуске радио-т.
#80 #863858
>>863750

Как отличить настоящего программиста, который активно пишет код, от диванов? Очень просто, для настоящего программиста чем легче решается сложная задача с тем же результатом, тем лучше.
Настоящий программист всегда отметит, что читать и сопровождать код, не менее важно чем писать.

То есть, у того хуя из уст звучат вполне реальные вещи и потребности. И ебаться с кодом целый день или же вместо это потратить всего пару часов - это реальная фича для настоящего программиста. А мнимая тяга к сложности и запутанности, это скорее попытка самоутвердиться для дивана.

Аналогия, есть мешок 80кг, его надо поднять на 9 этаж.
Есть выбор - лестница или лифт.
Настоящий программист выберет лифт, ибо нерационально.
А настоящий диван выберет лестницу, так как он сможет показать какой он "мощный".

Поэтому эти бараны и дрочат на всякие ФП или Расты. Чем более ты не такой как все тем лучше.

Личный психолог Го-треда
#81 #863861
>>863858
Самоутверждайтесь на создании СВОЕГО продукта, а не на сахаре того или иного языка.

>>863056
Игорь, не забывайте, у нас сегодня сеанс
1 Кб, 426x35
1 Кб, 426x40
#82 #863872
>>863858

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


Дело не в самоутверждении, а в самовыражении и саморазвлечении. Это разные ценности и кардинально разное мироощущение.
Людям неприкладного склада ума просто надо сьёбывать из программирования как можно скорее.
#83 #863877
>>863858
Всё правильно, только это Го предлагает писать простыни бойлерплейта, да ещё и без сахарка, вместо использования мощных абстракций (лестница вместо лифта).
>>863879
#84 #863879
>>863877
Го по сравнению с ноджс - да, но не по сравнению со всякими растами и хаскелями, где такие-то мощные абстракции, но решать ту же задачу будешь в 100 раз дольше и дороже чем на го.
>>863886
#85 #863886
>>863879
Не переводи тему, го и нельзя сравнивать с растами и хаскеллями потому что их корректно сравнивать только с сишками и окамлами, потому что его область - нода и питон.
#86 #864161
>>863581
Тут и думать нечего. Плагин для вебшторма покрывает все потребности.
#87 #864278
Я вот мимо проходил жабаскритпер, в местный помоной тред не захаживаю, и хочу вам сообщить, что гоу это шикарный язык. Я прям люблю его, вот пишу на работе ссаный джс, который тоже, в принципе, люблю, но гоу просто вот охуенный. Сажусь писать питомцев на гоу и чувствую, как писечку ласкаю. Столько лет отпидорил на мехмате, а только когда на гоу начал писать для ребят всекие мелочи через раби биндинги стал хотя бы немного утилизировать теорию из универа. В общем хотелось бы пойти на работу жунииор гофером, но даже вакансий таких пока не наблюдаю локально. А если и будет то врядли кто-то будет платить больше чем за джс. А сейчас пойду спать ибо завтра тонна жса.
>>864406
#88 #864406
>>864278
Го очень нравится ЖСерам и ПХПшникам, что весьма симптоматично.
>>864419>>864440
#89 #864419
>>864406
Ты так говоришь нравится дебилам будто это что-то плохое.
Это наоборот хорошее, и гугл это очень понимает.
>>864428>>864440
#90 #864428
>>864419
Ну в этом-то ты прав, понравиться десяткам дебилов живущих и срущих в хлевах легче, чем одному программисту с развитой культурой.
>>864440
14 Кб, 300x341
#91 #864434
Предлагаю новый маскот Го.
>>864440
#92 #864440
>>864406
Язык выглядеть как компромисс между статически и динамически типизированными языками (я думаю поэтому не сунули дженерики).
И это круто на самом деле, быстрый питон с типами - был просто необходим.

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

Именно поэтому анон кричал, что Го оттолкнет джаву к миру КОБОЛа.

>>864428
>>864434
Высококультурный слой из других языков, лол.
#93 #864445
>>864440

>Гугл срал на дебилов


Все верно, прямо /go/вном и срал прямо на тебя.

>сегмент быдлокодинга ему не интересен


>сегмент


>не интересен


Ох уж эти проекции. Вот потому-то ты и есть всего лишь генетически нищая пидораха.
>>864475
#94 #864475
>>864445

>есть всего лишь генетически нищая пидораха.



Тебя что ли из /po выгнали, животное?
>>864518
#95 #864514
>>864440
А в чём компромисс-то? В том, что статически типизированный язык заставляет кастить всё к хуй пойми чему вместо гарантии типобезопасности?
>>864649
#96 #864518
>>864475

>этот возгоревшийся slaveянин


Ну вот, а то - хипстеры, технологии, прогресс.
А по сути все вы одинаковые.
#97 #864520
>>864440

>жява


>окодимичнасть


Slaveянен попутал оверинженеренг с академичностью пук)
>>864527
#98 #864527
>>864520

>пук)


Завязывай с аналом, до непроизвольного газоиспускания довел уже, бедолага.
#99 #864576
уже есть языки компилирующиеся в го?
(ну сахарные там)
>>864586>>864590
#100 #864586
>>864576
Have, Odin.
>>864590>>864653
#101 #864590
>>864576
>>864586
Зачем? Интероп с Го? Он же не в байткод ВМ компилируется.
>>864592
#102 #864592
>>864590
использовать возможности рутин и компиляции, но писть на более приятном языке
#103 #864649
>>864514
не нужно скрипткиди ломать голову над дженериками, я видел они правда туго вкатываются в статик языки, так как все структуры для них гетерогенны
#104 #864653
>>864586
при релизе Kotlin что-то пукнули на хабре на тему поддержки, но вероятно не осилили.
>>864717>>864745
#105 #864674
>>863858
Ну конечно, ты не дебил, ты просто ОСОБЕННЫЙ, только не плачь)
#106 #864717
>>864653

> Kotlin


А зачем им в GO компилироваться?
Они прямо сейчас делают компилятор в LLVM
>>864728
#107 #864728
>>864717
JVM обосрались, ведь там есть Scala. Давайте в LLVM, блядь а тут хуяскель.
>>864741
#108 #864730
>>862451

>Конкретно, я вижу, что у js-кодеров нет IDE, у них огромнейшая (самая большая уже походу) экосистема и им абсолютно похуй на твои слова.


PHPStorm, есс-но, без него рефакторинг проекта на TypeScript делать очень проблематично.
#109 #864741
>>864728
Обосрались или нет — лет через 5 видно будет, язык только релизнулся. Со скалы все бегут как крысы с тонущего корабля.

На ллвм хуяскель, плюсы, раст, окамл, юля, поня, идрис, кристал и все остальные новые языки работающие нативно. Ииии... чо?
>>864890>>864978
#110 #864745
>>864653
На хабре о чём только не пукают, особенно учитывая что там давно уже даже не инвайтная система регистрации. Всё равно что написать что говно завтра в раст компилироваться начнет для отлова рейс кондишенов.
#111 #864890
>>864741

> Со скалы все бегут как крысы с тонущего корабля.


Проиграл
#112 #864978
>>864741

> Со скалы все бегут как крысы с тонущего корабля.


Как подобные фантазии вообще появились в твоём воспаленном сознании?
#113 #864997
>>861808 (OP)

>многопоточный язык программирования


Это не язык, это рантайм. Язык лишь формализация. Многогринопоточным может быть лишь рантайм. Go как язык это говнище типа крестов. Даже в сишечке можно сделать dlopen и получить таким образом великолепную рефлективность на глобальном уровне.
#114 #865725
bump
>>866004
#115 #866004
>>865725
вкинь лучше годноту какую по Го, которую нарыл за последнее время
#116 #866043
За что так хейтят Го? Что именно так бесит в нём, не понимаю?

Тут услышал, что гитхаб переписывают на Го.
>>866044>>866066
#117 #866044
>>866043
сорян, опечатка, не гитхаб, а дропбокс.
#118 #866066
>>866043
Повторяем в сотый раз:
-язык родом из 80х;
-нихуя нет: ни ооп, ни фп, ни какого-либа сахара;
-за то есть: указатели, goto, но при этом со сборкой мусора;
-нравится только даунам (вчерашним "программистам 1с-битрикс" и прочим).
>>866148>>866260
#119 #866148
>>866066
Так почему его тогда используют все больше и больше? И разве то, что он поддерживает конкуренси из коробки не дает ему преимуществ?
По существу у вас только претензия к отсутствию ооп и фп, хотя в го все просто немного по-другому - тут структуры и интерфейсы.
И что плохого в указателях? И сборке мусора? И гото?
Писать на нем легко, код получается быстрый. Собирается в один файл - деплоить проще простого.
Аргументы в стиле "нравится даунам" немного странные. Питон вообще почти всем нравится, и даунам в том числе. Но это его плохим не делает
>>866168>>866179
#120 #866168
>>866148
Организациям нужен легко поддерживаемый код, который сможет писать первая попавшаяся макака.
Уже лень всё разжевывать, почитай предыдущие треды. Ты на верном пути, главное почаще себя убеждай, что здесь всё просто немного по-другому.
#121 #866169
>>866168

>который сможет писать первая попавшаяся макака.


Постепенно макаки освоят го.
#122 #866171
>>866168
че же тогда по статистике на го переходят не новички, а специалисты с десятилетним стажем?
>>866172>>866273
#123 #866172
>>866171
И откуда же такая статистика?
>>866185>>866335
#124 #866178
>>866168
Знаешь, я не пытаюсь не убедить себя, а просто разобраться, за что так гонят на го.
Пока что аргументы больше эмоций содержат, чем фактов. А чем эмоции вызваны, мне непонятно.
По поводу легко поддерживаемого кода - не вижу в этом никакой проблемы, это же огромный плюс.
>>866346
#125 #866179
>>866148
Притензия именно что к вообще отсутствию всего что нужно.

>И что плохого в указателях?


В том что это как и весь язык неконсистентная хуйня. Вот смотри: у тебя есть указатели, ты можешь вроде как работать именно с адрессом данных, но при этом нет контроля над выделением памяти в куче/стеке и адрессной арифметики, а язык намертво привязан к сборщику - вот и нахуя они? Почему опять же не оставить компилятору решение копировать или передавать по ссылке, что помогло бы нюфагам, или хотя бы не заменить более современными ссылками? Почему в 21-м веке нельзя было к этим указателям с nil-ами прикрутить обычный Optional, который позволял бы сокращать код буквально в 3 раза?

>И сборке мусора?


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

>И гото?


Просто лол. Вместо паттернматчинга с адт которые опять же переложили бы это всё на компилятор, тебе предлагают ебашить кривые фсм на гото и стрелять себе по ногам.

С питоном он и близко не стоял. Кстати, знаю пару питонистов которых заставляют на работе писать на го - это его хейтят похлеще местных.
#126 #866185
>>866172
иди нахуй, не мешай отрабатывать бюджет
#127 #866186
>>866179
зарепортил
#128 #866224
>>861808 (OP)
Next, what does each of the sample programs do if the environment variable isn’t set? The program should abort with an error message when it tries to read the environment variable.

Go (1)
Getenv returns the empty string and continues. Then Go somehow manages to parse the empty string as an empty JSON list and still continues. Then it tries to interpret the first of the user arguments to the program as the path of the program to run and execs that instead! Utter failure.

Всё, что надо знать о goвне вы узнали. Тред можно закрывать, goвно не нужно.
>>866226
#130 #866239
>>866179
так почему же, если у него всего этого нет, на нём продолжают пилить годные проекты?
Может, все это и не нужно языку, чтобы он был "хорошим" ?
>>866240>>866247
#131 #866240
>>866239
на пхп тоже пилили и пилят
А что на нём сделали такого-то? желательно из списка того, куда не пролез бы питон
>>874250
sage #132 #866245
>>861808 (OP)
Илюша, съеби.
>>866248
#133 #866247
>>866239
Потому что Go для web как С для приложений низкоуровневых. Просто, быстро и не все могут осилить. Слишком привыкли ко всякому сахару из динамических языков и жалуются, что язык их по рукам бъёт
#134 #866248
>>866245
Или что?
#135 #866255
>>866179
Окай, а теперь в студию высокоуровневый статически типизированный язык без виртуальной машины.
D не предлагать.
>>866256>>866269
#136 #866256
>>866255
OCaml, Haskell
>>866320
#137 #866260
>>866066

>-язык родом из 80х;


Улучшенная Сишочка, что может быть прекрасней.

>нихуя нет: ни ооп, ни фп


Просто синтаксис, простые решения.
Не джун не хипстер с высоким ЧСВ не натворят овер-запутанный код, который потом тебе разбирать.

ООП:
Взяли лучшее решения, убрали лишнее, что запутывает сопровождение кода.

ФП:
ФП должен оставаться в ФП, в чистом императивном языке ФП парадигма это боль (так же и обратно). Нужен Хаскель, возьми Хаскель.

>-за то есть: указатели, goto, но при этом со сборкой мусора;


Указатели - что тут плохого?
Goto - работает в приделах той же функции, это те же метки в других языках. Даже в джаве можно прыгнуть на любой блок в пределах метода:

метка: {

}

Но откуда тебе такое знать, глупый диванщик.

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

>нравится только даунам


Сомнительное утверждение, код на нем пишется одинаково удобно. Не нравится лишь диванным баранам, которые вместо программирования дрочат на синтаксический сахар других языков и даже не в курсе о работе меток или goto в других языках.
#137 #866260
>>866066

>-язык родом из 80х;


Улучшенная Сишочка, что может быть прекрасней.

>нихуя нет: ни ооп, ни фп


Просто синтаксис, простые решения.
Не джун не хипстер с высоким ЧСВ не натворят овер-запутанный код, который потом тебе разбирать.

ООП:
Взяли лучшее решения, убрали лишнее, что запутывает сопровождение кода.

ФП:
ФП должен оставаться в ФП, в чистом императивном языке ФП парадигма это боль (так же и обратно). Нужен Хаскель, возьми Хаскель.

>-за то есть: указатели, goto, но при этом со сборкой мусора;


Указатели - что тут плохого?
Goto - работает в приделах той же функции, это те же метки в других языках. Даже в джаве можно прыгнуть на любой блок в пределах метода:

метка: {

}

Но откуда тебе такое знать, глупый диванщик.

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

>нравится только даунам


Сомнительное утверждение, код на нем пишется одинаково удобно. Не нравится лишь диванным баранам, которые вместо программирования дрочат на синтаксический сахар других языков и даже не в курсе о работе меток или goto в других языках.
>>866307>>876539
#138 #866269
>>866255
Все жявы с дотнетами имеют АОТ-компиляторы (в случае дотнета почти что из коробки). Вопрос правда чем же она так помешала если от неё одни удобства - но да, если тебе нужно хуякхуяк и в продакшен а-ля пхп, то го непревзойдён наверно.
#139 #866273
>>866171
подтверждаю, причина проста - сеньоры/тимлиды думает практичностью, а не высокими идеалами.
#140 #866307
>>866260
Илюша, просто посмотри на себя в зеркало - ты же дебил и выродок.
И модные хайпы не помогут - бедшь жрать говно за копейки.
Всю жизнь.
>>866311>>866320
#141 #866311
>>866307
это ты тот чудило, который не знает о метках в области функций/методов?
>>866313
#142 #866313
>>866311
Возражений нет, фиксирую согласие.
>>866318
#143 #866318
>>866313
прокрутил у себя диалог в голове, согласился сам собой, победил

Я вижу следы раста-дивана, это вин, лол
>>866321
#144 #866320
>>866256
Ocaml мертвее D сейчас, разве нет?
>>866307

> модные хайпы


Лол, Go ни разу не моден
#145 #866321
>>866318

>этот школотящий школотун


Вот потому-то /го/вно и говно, так-то.
#146 #866322
>>866320

>Go ни разу не моден


Ну вот самообмана этого не надо только.
Не хипстеронодопараша, конечно - но вполне хайп. Платный, за бабки гугла.
#147 #866324
>>866320
двачую, го уже в топ языках и в том же гитхабе если сортировать по мин. 1000 звезд.

Но из-за легаси кода, чаще в вакансиях идет как в плюс как дополнительный язык. Питонщикам знать его стоит уже как минимум.
>>866328
#148 #866328
>>866324
Илюша такая Илюша.
Хуи-то сосешь?
А зачем сосешь?
32 Кб, 637x316
#149 #866335
>>866172
есть пикча, ссылку пока найти не могу. Как найду, скину
>>866339>>866358
#150 #866339
>>866335
нашел. Не знаю, где напоролся на эту ссылку, но инфа по го меня сильно удивила. Средний возраст там тоже ~30, что показывает, что язык не очень популярен среди молодежи (ну да, им важно ООП, ФП, генерики, еще какие-нибудь не нужные им фичи вместо быстрого решения задачи и нормального читабельного кода)
https://dou.ua/lenta/articles/language-rating-jan-2016/

И нет, я не против фп или ооп, я одновременно с go пишу на clojure и ruby, сейчас смотрю в сторону elixir, но в go точно не нужны генерики и прочая поебень.

Ну и нет, бороды или красной рубахи у меня нет.
>>866358
#151 #866346
>>866178
Десять раз уже написали, что там не так. И тебе в том числе. Просто ты не понимаешь, почему отсутствие этого всего - это плохо. Потому что ты обычный blub programmer, и го для тебя - вершина технической мысли, а все эти странные вещи типа строгой типизации, паттерн-матчинга и прочих замыканий - это что-то такое далёкое и абстрактное. "Да и биз них всё прикрасна пишеца! Ишь, напридумывали тут морфизмов-хуизмов". Ну а хули, диды-то вообще, вон, на кубейсике ебошили, и ничего. Многие даже в здравом рассудке остались.
>>866361>>866373
#152 #866358
>>866320

>Ocaml мертвее D сейчас, разве нет?


Лол, нет, всё ровно наоборот.

>Лол, Go ни разу не моден


А есть ещё какие-то причины резкой популяризации? Вообще, моду, как и в мире одежды, диктуют крупные бренды.
>>866335
>>866339
Ахуительная история.
>>866372
#153 #866361
>>866346
Йильюш, как там новый язык?
#154 #866372
>>866358
ахуительный ответ
>>866375
11 Кб, 300x209
#155 #866373
>>866346
Твой юный студенческий мозг не воспринимает существование практичных программисты, которые не дрочат на синтаксис, а дрочат на решения (и это как раз те разработчики за ближе к 30)

Один малоизвестный хер писал, что чтение кода, к примеру, джавы на гитхабе не возможен (из-за тонны пустых абстракций и перескокам по этим пустотам, то есть читать это с трудом можно только через IDE). А вот код на Го спокойно читается прям с гитхаба, даже в сложных фреймворках.

И это разве не овер-фишка языка?
Умпутун тоже это подчеркивал, ты без проблем вкатишься в код.

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

Уже бесит обилие хелло-ворд-программистов, не понимающие практики многолетней разработки, но поклоняющиеся языкам как идолам.

Чтобы отсеять этих диванных разработчиков предлагаю форсить термин хеллоу-кидди (сочетании скрипт-кидди и старого термина из лурка http://lurkmore.to/Хеллоуворлдщик)
#156 #866374
#157 #866375
>>866372
До меня кстати дошло - люди с таким опытом редко сами пишут код, в основном это всё тимлиды с архитектрами - для них отличный язык, действительно. Самому копаться в говне не нужно, а приучить новую макаку всегда просто.
>>866388
#158 #866378
>>866373

>Умпутун тоже это подчеркивал, ты без проблем вкатишься в код


А ещё он с бобуком каждый выпуск рт где проскакивает тема про программирование поливает говно говном, вот уж хороший пример.
>>866383
#159 #866383
>>866378
это его работа все поливать, но он покаялся
http://p.umputun.com/2016/05/03/go-ili-nie-go/

у меня тоже бомбило, но ключевые фишки сподвигли его попробовать и в целом меня он устраивает
>>866394
#160 #866385
>>866373

>у меня есть один язык, в котором есть всё, что нужно, а чего нет - то нинужно


>все языки такие же, только в них ещё нинужный сахар


>абстракции - это фабрики фабрик и поэтому плохо и нинужно


>как хорошо, что мой язык не даёт делать абстракции


>типичный blub programmer


Ну, что и ожидалось.
>>866392
#161 #866388
>>866375
Ну вот, теперь в заговоры полезли.
Выпей лекарства и пойми одну фишку, ты можешь реально залезть в опенсорс проект и понять в нем код (а не охуеть, как обычно это бывает).

Го делает опенсорс чище
#162 #866392
>>866385
пошли уже маневры, некрасиво, ты же не хеллоу-киди и прекрасно понимаешь ту фичу с доступными сорцами без лишней мозгопляски.
>>866396
#163 #866394
>>866383
Какая работа поливать говном, что ты несёшь? Послушай рт за последние пол года хотя бы, в бложике как раз только впечатления от знакомства, а не опыт работы.
>>866403
#164 #866396
>>866392

>без лишней мозгопляски.


А ещё математика не нужна, как и алгоритмы. Программист не хочет думать - это как макака не хочет банан.
>>866400
#165 #866400
>>866396
маневры, маня

>без лишней мозгопляски.


>А ещё математика не нужна, как и алгоритмы



подмена понятий, утрирование - детектер

я так хочу оказаться правым, что приведу аналогию на основе авторитетной математики, вот тут я выиграю!

>ты же не хеллоу-киди


я ошибался
>>866404
#166 #866403
>>866394
да хуй на него как и на всях жующих сопли онлайн (в том числе голангшоу, с бестолково-слащавой манерой диалога), главное в статье он покаялся и в принципе, донес те же мысли что несут программисты с большим стажем
#167 #866404
>>866400
Во-первых, я не тот анон. Понимаю, что тебе, шизику, все на одно лицо, но всё же.
Во-вторых, подмена понятий только с твоей стороны. Убогий язык, сделанный для вчерашних дворников - это не практичный язык, а просто убогий язык, игнорирующий прогресс.
>>866418>>866420
#168 #866418
>>866404

>Во-первых, я не тот анон


И это отмазка на анонимной борде в 2016 году...
Какая в этом разница если я по твоим маневрам ответил, а не по его??

>Убогий язык, сделанный для вчерашних дворников - это не практичный язык, а просто убогий язык, игнорирующий прогресс.



Хеллоу-киди верят, что чем больше сахара в языке тем он для более крутых программистов.
Маня, тебе язык нужен чтобы самоутверждаться или решать задачи?
>>866424>>866458
#169 #866420
>>866404

>подмена понятий только с твоей стороны



у подмены понятий есть стороны, лол
>>866424
#170 #866424
>>866418
Мне "сахар" а ты это этот термин явно не по назначению всюду суёшь нужен чтобы продуктивнее их решать.
>>866420
Сторона есть у пропаганды, к которой эта подмена относится, логик блять.
>>866469
#171 #866458
>>866418

>язык нужен чтобы


Кстати, интересный вопрос.
То есть сам вопрос неинтересный - интересно как на него реагируют дети.
Впрочем, очевидно что большинство кодеров клепают параши уровня read a; read b; print a+b; максимум на тысячу строк - и это нормально
>>866475
#172 #866469
>>866424

>Сторона есть у пропаганды, к которой эта подмена относится, логик блять.



То есть, ты сейчас тезис из спора (из демагогии)
сходу смешал с термином политической пропаганды и тут же мне о логике напомнил?

Ты или шизофреник или тупой, я думаю последнее.

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

Вероятно, чем тупее программист (простите - хеллоу-киди), тем насыщенней сахаром должен быть для него язык.
>>866485
#173 #866475
>>866458
Проблема тут в том, что их ставят вровень с программистами.
Это как если бы инженера самолета Боинг сопоставляли с модельщиком который дома клепает самолетики.

Понятно, что последнему нужны готовые детали (и синтаксический сахар) чтобы было максимально просто, ведь это же игра-хобби и он не решает технических задач
>>866483
#174 #866483
>>866475

>их ставят вровень с программистами.


Все правильно делают. Ганс, конечно, поехавший пидорас и пишет в основном про себя прямо по Фрейду но "програмистишки" - правильное слово, достойное вас.

>инженера самолета Боинг


Посмотрите кто говорит, хаха.
Скромнее будь.
21 Кб, 560x317
#175 #866485
>>866469

>Подмена понятий тоже не есть политическая пропаганда


Типичный патриот Российской Федерации типичен.
#176 #866602
любимые (нет) анончики, у меня к вам просьба: скиньте, пожалуйста, реализацию алгоритма Дейкстры, а то я тупой, правильно сделать не могу так, что бы все работало и было масштабируемо

на входе: двумерный массив, где внутренний массив -- линия, первое число -- точка ноды 1, второе - точка ноды 2, третье -- дистанция между ними; данные о начальной и конечной ноде.
на выходе: ответ, сколько времени займет путь и массив с нодами, через которые надо пройти.

я УЖЕ ЗАЕБАЛСЯ БЛЯТЬ придумывать, как это граммотно реализовать. спасибо.
>>866610>>866714
#177 #866610
>>866602

>(нет)


Дальше не читал, иди нахуй.
>>866616
#178 #866616
>>866610
спасибо, я тебя тоже люблю
>>866622
#179 #866622
>>866616
Отлезь, гнида.
#180 #866664
>>866373

> сопровождение кода важнее написания


Двачую.
Кто объяснит, попробуйте например понять во flask в исходниках, как их LocalProxy рабоатет для параметров реквеста типа json там или cookie
Самый настоящий пиздос
>>866668
#181 #866668
>>866664
Там ничего сложного, просто ты умственно неполноценен.
>>866670
#182 #866670
>>866668
Разработчик flask'а итт? Там без поллитра не разберешься.
Гораздо приятнее go читать, чем в этом разбираться. Это тот случай, когда даже с документацией все становится понятно не с первого раза. Джанго блядь в разы логичнее даже.
>>866672>>866673
#183 #866672
>>866670

>без поллитра не разберешься.


>приятнее go читать


>даже с документацией все становится понятно не с первого раза.


Вот и очередная иллюстрация - на какую аудиторию рассчитано /го/вно.
>>866676
#184 #866673
>>866670
Так как же связаны динамикопроблемы и легкочитаемость говна? Любой статический язык без нагромождения хуиты как в плюсах или скале читается не сильно хуже.
>>866689
#185 #866676
>>866672
Долбоёб? Я ковырялся и модифицировал исходники Джанги под себя, там все логично хотя бы.
Во фласке же внутренности веркцойга представляют собой скопление сраной магии, которое не каждый осилит. А уж проекты, злоупотребляющие декораторами это вообще пиздос.
#186 #866689
>>866673
Это не динамикопроблемы, это говнокодеропроблемы.
В go очень сложно написать непонятное дерьмо. Тот же gin или gorilla просты в понимании, да даже gorm, где много работы с рефлексией иобобщенным interface{}, можно распарсить и понять как оно работает не напрягаясь.
В питоне есть три правила, но их почему то многие игнорируют
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
>>869216
#187 #866707
"Все языки программирования тем или иным образом отражают философию их
создателей, что часто приводит к включению в язык программирования их реакции
на слабости и недостатки более ранних языков. Go не является исключением. Проект Go родился из разочарования в Google несколькими программными системами, страдающими от “взрыва сложности” (эта проблема отнюдь не уникальна для Google).
Как заметил Роб Пайк (Rob Pike), “сложность мультипликативна”: устранение
проблемы путем усложнения одной части системы медленно, но верно добавляет
сложность в другие части. Постоянное требование внесения новых функций, настро-
ек и конфигураций очень быстро заставляет отказаться от простоты, несмотря на то
что в долгосрочной перспективе простота является ключом к хорошему программно-
му обеспечению.
Простота требует большего количества работы в начале проекта по определению
самой сути идеи и большей дисциплины во время жизненного цикла проекта, которая
поможет отличать хорошие изменения от плохих. При достаточных усилиях хорошие
изменения, в отличие от плохих, могут быть приняты без ущерба для того, что Фред
Брукс (Fred Brooks) назвал “концептуальной целостностью” проекта. Плохие же из-
менения всего лишь разменивают простоту на удобство. Только с помощью простоты
дизайна система может в процессе роста оставаться устойчивой, безопасной и после-
довательной."
>>866711>>866716
#188 #866711
>>866707
То есть, для совсем баранов - та простата в языке, это реально такая задумка.
#189 #866714
>>866602
бля ну объясните лол
#190 #866716
>>866707
Это проект именно Пайка, а не гугла. И судя по его предыдущим работам — у него взрыв сложности с начала карьеры произошёл.
>>866719>>866728
#191 #866719
>>866716
Да ладно, Limbo и Inferno вполне интересными проектами на тот момент были
>>866735
#192 #866728
>>866716
Это уже маняфантазии тех "оналитиков" из сети, которые пытаются найти смысл "а почему они так сделали".
Аналогия как с аборигеном и трансформатором. Абореген обходит трансформатор и делает вывод, что эта штука создана чтобы жужжать (так же и те аналитики, насмотревшись на новые языки облепленными сахаром, вдруг видят противоположный язык и делают вывод, что язык сделан "жужжать", то есть не осилили, не хотели осиливать, или для менеджеров чтобы обучать быстро макак, а не потому что так задумывался).

Гугл слишком крупная компания, чтобы позволять ставить свое имя с проектом, который не был согласован у них.
Даже если и были там у них свои наработки, все равно был процесс бюрократии, показывающий "что и зачем" и почему мы должны платить команде фуллтайм.

А так да, любой проект делают живые люди и всегда стоят какие-то имена.
>>866735>>866739
#193 #866735
>>866719
Да точно такая же никому не нужная посредственность, просто тут сработал стихийный эффект докера — и язык выстрелил, попав в современные тренды столько попыток спустя.
>>866728
Диван, плез. У него было 20% времени — он пилил очередной язык — он начал форсится и гугл его поддержал. Были ж где-то рассказики как он просто на доске писал псевдокодом и потом сделал для него компилятор.

А проекты гугла — тот же дарт, ради которого собиралась команда, был супер громкий анонс первого же "стандарта" и тд правда вендоры браузеров придушили его так же громко, лол
>>866743
#194 #866739
>>866728
И да, проблема превращение проекта (системы) в нехилую тучу говна - существует.
Решает ли Го эту проблему, пока точно не ясно.
Но если решает, то язык легко войдет в топ, а взрывы пуканов будут видно на Плутоне.

Самое веселое, пока юный мир (в том числе студенты и народ до 25-30) кудахтает от ненужности Го, на обратной стороне сидят тимлиды и менеджера, которые уже сейчас решают их судьбу и думают о внедрение языка.
>>866818
#195 #866743
>>866735
тебе еще раз говорят, что в гугле не стоит супер-компьютер который создает проекты.
За любым проектом стоят люди, ты накатываешь "искиз" и потом пытаешься его преподнести, можешь с тру-стори об яблоке упавшем на голову.
#196 #866775
Когда будет сдк под ведерные приложухи?
#197 #866818
>>866739
Сейчас будем пилить новый проект, коллективно решили, что Го использовать не будем.
>>866922
#198 #866922
>>866818
Проигрываю с конторок (или скорее с фантазеров), в которых решается вопрос не тимлидами, тех.начальством, не даже тестированием, а просто коллективно макаками.

Почему я тебя приравнял к макакам? Да все просто, если бы ты был из круга тимлидов или архитекторов, то знал, что среднестатистических макаку разводят в мире ИТ похлеще чем блондинок в магазинах и там нереальная каша в головах.
>>867011>>867193
#199 #867011
>>866922
лол, такие смачные проекции лареного раба у которого как начальство сказало так и будет.

в нормальных коллективах техникал-проджект-менеджер будет обсуждать с коллективом такие ньюансы как ЯП в продакшене, внезапно, даа
>>867012>>867168
#200 #867012
>>867011
*галерного
#201 #867168
>>867011

>лол, такие смачные проекции лареного раба у которого как начальство сказало так и будет.



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

Про галеры ты точно подметил.
Ты реально веришь, что мидам, джунам доверят бизнес-риски и части бизнес-плана с новой технологией?
Конечно слово дадут, вдруг реально нахейтеришь пропущенный риск, но в целом решение уже принято до вас.
#202 #867172

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



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

Круто же написать кода на 1000 строк и где-то на хабре пульнуть статью, типа вот мы "с вами" ребята и получить лояльность тучи макак нового языка.
>>867179>>867342
#203 #867179
>>867168
>>867172

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

И вопрос о Го как раз решается не тобой.
>>867342
#204 #867193
>>866922
>>867168
Ты ебаного айти перечитал и по-такому принципу и работаешь что ли, начальство? К твоему сожалению, существуют нормальные конторы, а не построенные по-принципу "Я начальник, ты-дурак".
>>867221
#205 #867221
>>867193

> существуют нормальные конторы



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

>слишком много хайпа вокруг профессии программиста, не забывай что ты простой офисный работник



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

мимо бывший программист
3 Кб, 340x216
#206 #867272
>>861808 (OP)
Друзья, мы запилили небольшой чатик, дабы вместе учиться и программировать на GO. Добро пожаловать.
https://telegram.me/go_language
#207 #867292
>>867272
они же есть в слаке, зачем сообщество размазывать по чатам
>>867399
#208 #867342
>>867179
>>867172
>>867168
я же говорю рабская логика во все поля. будь ты хоть погонщик рабов, хоть стучащий в барабан, хоть рядовой гребец - ты размысляешь в рамках "начальник-подчинённый". ты не поверишь, но бывают рабочие коллективы с более горизонтальными отношениями внутри. и ответственность по принятию решений разделяется между всеми одинаково, т.к. каждое решение влиет на каждую часть проекта. тех-лид должен быть в скоупе всего проекта, а значит физически не может быть в курсе всех ньюансов каждой части и для правильных решений ему необходимо советоваться со специалистами проекта.

тоесть либо ты пиздишь что НАЧАЛЬНИК, либо ты реально манагер в какой-то конторе полной студентов-джунов и соракалетних мидлов, что ещё хуже чем если бы ты пиздел.
ещё и рефлексируешь на рандомный пост анона. кроме того что он мог фанатазировать, есть ещё вероятность что он просто решил потроллить гоферов ИТТ, ну или просто они решили отказаться от гоу
>>867520
#209 #867399
>>867292
На доске чаты по языкам в основном в Телеграме. Иособляди, жабаскрипт, етц. Никто не размазывает. Если удобно, пиши в телеграм, нет - не пиши.
#210 #867520
>>867342

>тех-лид должен быть в скоупе всего проекта


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

Быть в курсе своего проекта не как не коррелирует с тем о чем мы спорим, а именно, что рабы влияют на выбор стека технологий (ниже поясню).

>и ответственность по принятию решений разделяется между всеми одинаково


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

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

>ты размысляешь в рамках "начальник-подчинённый"


Чем ты отличаешься от обычного офисного рабочего?
Вокруг профессии много хайпа и конечно круто если ты там дорос до кого важного, но в 95% ты тупо офисный работник (серьезно, не я тебя унижаю этим, тебя унизил тот кто заставил думать обратное).

>ещё и рефлексируешь на рандомный пост анона


Ну я сказал что он хуй, по очевидным диванным признакам. А вот ты непонятно зачем за него заступаешься.
21 Кб, 300x188
#211 #867638
Итак мы выяснили, что этот язык очень нравится менеджерам, которым нужен тупой скот, который можно быстро заменить на других в случае чего, соответственно любой разработчик с мало-мальскими амбициями и желанием профессионального роста не станет выбирать этот язык.

Продолжаем круг унижения.
>>867734
#212 #867658
>>867272
Вкатился.
#213 #867712
Goланы, поделитесь бэст практайс по map reduce на примере обработки частей строки с конечным собиранием их в строку в таком же порядке.
>>867721
#214 #867721
>>867712

> map reduce


> обработки строки


lol
>>867722
#215 #867722
>>867721
Я же сказал на примере. Самое простое - шифрование. Одна итерация шифрует 32 бита, к примеру. Процесс легко распараллелить размапив строку на блоки заранее и запустив шифрование в рутинах. Только вот не знаю как лаконично сделать сборку конечного зашифрованного текста.
>>867887
#216 #867734
>>867638

>разработчик


>не станет выбирать этот язык



Шел 2016 год и разработчик верил, что его выбор на что-то влияет.
Малыш,
есть маркетологи-евангелисты, которые впаривают тебе что-то типа нод.жс (один разработчик на фронтент и бэкенд за одну зарплату)
и есть вакансии.

Больше ничто не влияет, даже самые сильные твои фантазии и мечты.
>>867763
#217 #867763
>>867734
А вот и начальство подъехало. Что будешь делать, когда в твою команду на позицию Го-разработчиков будут приходить одни дебилы, как с ПХП в своё время произошло?
>>867811
#218 #867811
>>867763
У тебя ограниченный взгляд.
Количество баранов прямо пропорционально популярности языка.
Скажем, на 1000 пхп и жс программистов дебилов будет больше, чем на 10 питонистов или рубистов.
Но в целом их процент будет одинаковый (как бы себя не тешили последние).

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

Поэтому первая группа выгодна как для работодателя, так и для карьеры самого программиста.
Что плохого быть топовым разработчиком на популярном языке, тем более топовые языки и так всегда хейтерять??

Го очень быстрый по сравнению со динамическими языками, но такой же простой - он выгоден для бизнеса, который не мыслит догмами.
Он и удобен для сопровождения кода, а значит для программиста.
Естественно он займет топовые позиции, и тут вопрос больше - останешься ли ты снова на обочине со своими прицепами или же откусишь вкусный кусок рынка.

Язык программирования - это инструмент, а не вера.
>>867828>>867869
#219 #867828
>>867811

> Язык программирования - это инструмент, а не вера.


Это надо на лбу борщехлёбов вырезать.
#220 #867869
>>867811
Факты давай, начальник. Пока все программисты на ПХП, которых я видел-дебилы, и код говно, соответственно. Только не начинай мантры про фейсбук на пхп и т.д.
>>867877>>867927
#221 #867877
>>867869
Я пока вообще не говнокода не видел.
#222 #867887
>>867722
в цикле открываешь n горутин, после цикла ждешь завершения через sync.WaitGroup, все.
P.S.: я пробовал делать не n горутин, а 4 скажем, которые типа воркеры и получают инфу в цикле по каналам. Но это оказалось медленнее, чем n горутин
>>867889
#223 #867889
>>867887

> sync.WaitGroup


Спасибо, надо глянуть. Воркеры пилить на go не надо. Там есть свои внутри, которые уже исполняют горутины в нативных системных потоках как я понял.
>>867913>>867919
#224 #867913
>>867889
ну вот я типа набрасал, на go пишу мало, так что может можно было написать лучше
https://play.golang.org/p/aCTSJsQ93j
#225 #867919
>>867889
Боюсь тебя разочаровать, но твое распараллеливание будет только выглядеть как распараллеливание

>Готовые к исполнению горутины выполняются в порядке очереди, то есть FIFO (First In, First Out). Исполнение горутины прерывается только тогда, когда она уже не может выполняться: то есть из-за системного вызова или использования синхронизирующих объектов (операции с каналами, мьютексами и т.п.). Не существует никаких квантов времени на работу горутины, после выполнения которых она бы заново возвращалась в очередь. Чтобы позволить планировщику сделать это, нужно самостоятельно вызвать runtime.Gosched().


Ну либо я прослуопочил и это уже пофиксили, и планировщик Gо таки научился выплонять переключение конекста в произвольный момент времени
>>867922>>867924
#226 #867922
>>867919
насколько я понимаю, на 4-ех ядерном проце параллельно будут работать четыре активных горутины. Если одна из них чего-то ждет, то ее просто заменит другая.
// другой анон
>>867925
#227 #867924
>>867919
FIFO оно идёт как раз на те воркеры, число которых устанавливается gomaxprocs. Т.е. из 1000 горутин будут активны 4, например, как только они закончили пошли следующие 4. По этому не рекомендуется делать горутины с долгими вычислениями, т.к. шедулер не сможет её переключить. Вот для нагляднсти https://habrahabr.ru/post/141853/
#228 #867925
>>867922

>на 4-ех ядерном проце параллельно будут работать четыре активных горутины.


Это так. Вот только квоту CPU планирощик Go отдает другой горутине только если в выполняемой горутине происходит вызов системной функции. Если в теле горутины нет ни одной системной фунцкии, то на одном CPU только она и выполняется, отстальные горутины лежат в очереди и ждут ее завершения. Хуй значет как там сделано, одна очередь на все CPU либо на каждый CPU по очереди - не суть важно.
>>867928>>867945
#229 #867927
>>867869

>Факты давай, начальник



Как ты представляешь эти факты?
Поверь, был бы питон или руби так же популярен, точно такое же говно ты бы встречал и в них (и так же бы хейтерили), это справедливо потому, что работает правило нормального распределения (ну и человеческий фактор).

То есть, твоя святая война за лучшие языки проиграна изначально, так как нагадить могут везде (и будут гадить с ростом популярности, от распределения Гаусса тут не деться)

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

С php, насколько помню, с 2011 года не работаем, но все кто у нас был по пхп, были норм специалисты.
#230 #867928
>>867925

> или использования синхронизирующих объектов

>>867936
#231 #867936
>>867928
Ну да, ну да. Короче любая функция, в который подразумевается передача управления планирощику Go. Ну буду вам тут срать, но имхо как-то сомнительно эти горутины выглядят. Создай количество потоков по количеству CPU, напихай в них 100500 функций через QueueUserAPC - и та-дам "Ололо, я зделал свой планировщик, он поддерживает 100500 Anonoroutine!!111". Может и ошибаюсь конечно.
>>867944
#232 #867944
>>867936
Ну да, никакой магии нет. По сути что в других языках приходится костылить, тут из коробки.
>>867960
#233 #867945
>>867925
Как только горутина блокируется, планировщик переключает на другую. То есть пока, скажем происходит запрос в БД, поток не стоит, а занимается чем-то еще.
Это как раз фишка асинхронного программирования, только тут все происходит не через калбеки, а вообще прозрачно.

Количество же ОС-потоков можно настроить, но обычно Го дает по одной штуке на ядро (может кто помнит, так же рекомендуют nginx настраивать).

Почему хайп вокруг всего этого? Просто потому, что это дает утилизировать 100% процессорного времени.

Так же на отдельное ядро Го может повесить сборщик мусора. Но они там сейчас активно пилят ГЦ, и вроде какую-то мощную штуку запилят скоро.
#234 #867958
>>867945

> Так же на отдельное ядро Го может повесить сборщик мусора.


Это от остановки приложения не спасает? Вроде же можно реализовать сборку мусора параллельно работе приложения.
>>867963>>867972
#235 #867960
>>867945

> То есть пока, скажем происходит запрос в БД, поток не стоит, а занимается чем-то еще.


Это все правильно, вот только такая реализация накладывает ограничения в виде

>По этому не рекомендуется делать горутины с долгими вычислениями


Если сделаешь долгий цикл в горутине, и планировщик распределит эти горутины с этим циклом по всем CPU... Ну ты понял.
>>867944

>По сути что в других языках приходится костылить, тут из коробки.


Ну это ты зря так. То что я описал с QueueUserAPC, есть вообще из коробки оперционной системы, и от языка вообще не зависит.
>>867968>>867972
#236 #867963
>>867958
Нельзя. Можно вынести паралельно пометку ненужного, но не сборку.
#237 #867968
>>867960

>Если сделаешь долгий цикл в горутине, и планировщик распределит эти горутины с этим циклом по всем CP


Как тот Говноед и сказал — планировщик дропнет нахуй. Горутины не для числодробилок делались.
>>867945

>Так же на отдельное ядро Го может повесить сборщик мусора. Но они там сейчас активно пилят ГЦ, и вроде какую-то мощную штуку запилят скоро.


Да нескоро, они решили поиграть в эрланг судя по пейперу (transactional gc), который до рабочего состояния не так давно допилили (особо сильны математики могут зайти на вики и посчитать сколько лет).
>>867977>>867980
#238 #867972
>>867960

>Если сделаешь долгий цикл в горутине, и планировщик распределит эти горутины с этим циклом по всем CPU



вроде завозили защиту от этого, но вообще нужно умудриться сделать вычисление без прыжка в какую-то функцию (что является блокировкой для шедулера)

>>867958
от "stop the word" ничего не спасет, но другие операции не требующие приостановки - пожалуйста
#239 #867977
>>867968
В голандшоу, в последнем выпуске что-то жевали на эту тему, но не каждый вытерпит слушать тех слащавых гомиков.
>>867989
#240 #867980
>>867968

> Горутины не для числодробилок делались.


Не считать то можно, но не надо всё сразу в одной горутине и тормозить очередь. Нагрузить проц таким способом можно на любом языке.
>>867989
#241 #867989
>>867977
Пейперу уже вроде пол года, хз что они там жевали. его овердавно разжевали в дезвене
>>867980
Видишь ли, "считать" как раз и означает блокировку потока вычислениями не зря всякие нейронки давно на гпу считаются, а делать это на языке не оптимизирующием и не векторизирующем расчёты на цпу, при этом ещё терять время на шедулинг чего-то там — заведомо хуёвая идея.
>>868077
#242 #867993
Я понял, что горутины - не шедулер для реализации "своей многопоточности" аля Эрланг, а такой вот механизм упрощаюищй работу с async io. У него есть преимущество пред kqueue например? Ну "проще и изкоробки" - понятно, а кроме этого?
>>867996
#243 #867995

> не шедулер для реализации "своей многопоточности" аля Эрланг


с чего такие выводы?
>>868006
#244 #867996
>>867993
Из коробки всевозможные каналы, хуйналы, не надо думать о байтопроблемах, красиво встроены в язык, библиотеки изначально пишутся под них и прекрасно масштабируются без модификации и тд и тп. — короче простота и всё. Это, собственно, главное и единственное достоинство Говна. Хз что ещё надо.
>>868006
#245 #868006
>>867995
Мы ще выше обсудили. В Эрланге планировщик считает количество редукций, выполненных процессом, если количество достигает заданного значения, планировщик приостанавливает его исполнение помещает в очередь и берет из очереди на исполнение следующий процесс. Для переключения контекста между горутинами надо сделать вызов системной функции или runtime.Gosched(), то есть принудительно вернуть управление планировщику. Поэтому в Эрланге я могу себе позволить кучу процессов с длительным циклом и все они будут выполняться типо параллельно, а как только горутины с циклами займут все CPU, все остальные горутины будут тупо лежать в очереди. Чуешь?
>>867996

>Из коробки всевозможные каналы, хуйналы


Ага, ну понятно, ок. Я вообще спрашивал о конкретно преимуещствах горутин например перед kqueue, ну да ладно, добра тебе.
>>868074>>868078
#246 #868074
>>868006
Просто в эрланге вытесняющая мнонозадачность, в го нет. Вот и всё.
#247 #868077
>>867989

> при этом ещё терять время на шедулинг



Какой планировщик в числодробилке?

Если ты осознанно вещаешь на все ядра 100% нагрузку, то ты блин и в простом языке уведешь систему в "зависон".

В го нет фичи спасающих от кретинизма :)
Хотя для наших хейтеров нужно.
>>868079
#248 #868078
>>868006
насколько я помню, для вызова планировщика достаточен вызов функции/метода (это тоже для него блокирующая операция) или выход из нее
#249 #868079
>>868077
Ты хоть понял на что отвечал? Средство от критинизма тебе точно не помешало бы.
#250 #868095
Не хейтер.

Можете объяснить сакральный смысл указателей в языке, почему нельзя было все сделать передачей по ссылке (и решилась бы туча путаниц из-за указателей и скрытых преобразований)
>>868115>>868134
#251 #868115
>>868095
Это как спросить про ООП. Сейчас польётся поток стандартных аутотренингов, адекватного ответа не жди.
#252 #868129
Опять же не хейтер.

Как проверить у интерфейса, что у меня не nil (ссылка имеет реальный объект)
Проверка на nil дает false. В книге так и не понял.

```
var a fmt.Stringer = (St)(nil) // Некая структура реализующая fmt.Stringer
fmt.Printf("%T\n", a) //
main.St
fmt.Println(a == nil) // false
a.String() // panic: runtime error: invalid memory address or nil pointer dereference
```
>>868130>>868137
#253 #868130
>>868129
парсер съел звезды
https://play.golang.org/p/lHKI7D0hjE
#254 #868134
>>868095
а как ты передавать по значению собрался?

мимо-из-раст-треда
>>868140
#255 #868137
>>868129
пиздец
http://ru.stackoverflow.com/a/468913

пойду я в свою джаву...

Главный пиздец тут в том, что у парня, который задает вопрос, реально правильное решение (функция isNil()):
http://stackoverflow.com/questions/13476349/check-for-nil-and-nil-interface-in-go
>>868142
#256 #868140
>>868134
сахар приписать, если такое нужно, но вообще нахера не скалярные типы по значению передавать, чтобы занять чем-то процессор?

мимо-джава-господин
>>868150
#257 #868142
>>868137

сука, я прям не могу, чтобы узнать не NULL, тебе надо еще поймать панику

почему они это не исправляют?
>>868334
#258 #868144
Я не тролль и не хейтер, я только вкатываюсь в Go.
Поясните по-хардкору почему решили сделать так что срезы являются ссылками на массивы и изменение среза влияет на массив пока мы не переполним вместимость(sic!) среза. Но как только мы её переполним, срез как бы создаёт копию массива на который ссылался, но вдвое больше по объёму. Почему нет безразмерных веторов? Или срез длиной 1 и есть привычный вектор? Что-то не верится. Как-то странно что срезы это не просто ссылки, а что-то больше похожее на коллекции из динамических языков. Или они под капотом оптимизируются и не копируют себя повторно в память?

Правда хочу разобраться.
>>868149
#259 #868149
>>868144
срезы бесконечные "массивы", просто под капотом массив который копируется и расширяется если кончается (тут они не обосрались)
>>868152
#260 #868150
>>868140

>джава


прост))
#261 #868152
>>868149
Но суть какая в срезах то? Почему не сделали просто массивы неизменяемой длины и изменяемой. Зачем делать такое странное поведение при котором срез сначала ссылается на массив, а потом в процессе мутаций сам становится самостоятельным массивом? Зачем удваивать размер среза при переполнении? Если уже делать такую хрень, то логичнее было бы сделать срезы которые всегда ссылались бы на массив, а при переполнении новые элементы выделяли бы в хипе.
>>868153>>868158
#262 #868153
>>868152
Пиздуй си учить. Безразмерный массив, охуеть вообще.
>>868154
#263 #868154
>>868153
Но ведь GC же.
>>868161
#264 #868158
>>868152
Суть среза дать тебе бесконечный массив, просто скорее всего ты читаешь ту книгу, где автор насовал столько технической воды (вероятно из спеки), которая постоянно вводит в заблуждение читателя.
>>868160
#265 #868160
>>868158
эта
http://ozon-st.cdn.ngenix.net/multimedia/1013604520.jpg

Как всегда умелые люди делают деньги на хайпе.
Эту книгу хорошо читать, если ты уже знаком с го))
#266 #868161
>>868154
Чего гк. Ты же надеюсь знаешь как массив в памяти хранится?
>>868168
52 Кб, 469x428
#267 #868168
>>868161
односвязный список?
>>868174
#268 #868170
Все равно буду рад, если кто-то смысл с интерфейсами объяснит.
Я не до конца въезжаю, но тут либо постоянно дергать через рефлексию+recover (ту функцию isNil)
Или программировать от интерфейсов просто не возможно??

Конечно, можно сказать, зачем проверять если упадет с паникой и так, но если дальше по логике операция с побочным эффектом, а мы нормально даже проверить не можем (рефлексия это как бы не совсем нормально :) )
>>868176>>868177
#269 #868174
>>868168
Бинарное дерево, блядь.
#270 #868176
>>868170
пока нашел такой костыль (без recovery)
https://github.com/m3dh/isnil/blob/master/isnil.go
#272 #868180
Как понять конструкцию точка и потом скобки с интерфейсом?
f, ok := res.(http.Flusher)
>>868253>>868273
#273 #868188
Нормальные маны по goasm? Чтобы можно было обрабатывать сигналы, как я на обычном asm делаю?
#274 #868253
>>868180
Бля, ты хотя бы вводный курс пройди, сука.
#275 #868273
>>868180
гугли Type assertion
#276 #868334
>>868142
Зачем, быдло и так сожрёт
#277 #868384
Расскажите, что вы пишите на go?
#278 #868392
>>868384
Backend
#279 #868415
Итоги. Поехали
В первую очередь хочу сказать, что код читается не так легко, об этом подробнее ниже:

-Иногда из-за преобразования Type(OtherType) непонятно это вызов функции или преобразование (по привычки мозг воспринимает вообще как конструктор, лол).
Если в строку вставлено более сложное выражение, становиться очень больновато это понимать

-Непонятно передается ли поле структуры или функция-тип (нужно идти смотреть сигнатуру функции).

-Как бы джаву не хаяли, но автовывод типа в переменную читается сложнее (нужно лесть в сигнатуру функции) или иметь норм IDE и постоянно наводить мышку + Ctrl.

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

-Визуальная путаница между Struct.Value и Struct.Value() - из-за соглашения не использовать префикс GetValue можно иногда проебаться глазами.
Но не так страшно, страшно когда в название будет слово, которое будет имеет глагольную форму и тут ты реально запутаешься.

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

-По той же причине запутанность - кто возвращает изолированные модули с геттерами, кто структуры, кто вперемешку. Это ппц.
Веселье будет когда нужно будет перевести структуру в аксессоры (мега рефакторинг на неделю с регулярными выражениями)

-Интерфейсы без привязки к типу - бред. А оправдание того, что ты сможешь сделать интерфейс к чужому коду, это пиздец, так как интерфейс это в первую очередь контракт-API поставщика и ирония в том, что ты можешь привязаться к ненастоящему API которое может поменяться (потому что владелец кода и не знал что ты привязался к нему, лол)

-По той же причине в сложных объектах может быть сложное поведение и утиная нотациями может наказать (узнаешь что обосрался только где-то в далеком рантайме и зачем нам тогда компиляция?)

-Ошибки не должны быть строками и они должны иметь какие-то типы и иерархию типов. Мне теперь у быдланов-сеньоров строки парсить, чтобы понять какой тип имеет ошибка??
В общем, объект типа NullPointerException может сказать больше, чем текст в нем (который еще может быть динамичен, то есть с форматированием, быдланы могут)

-Отсутствие возможности проверить интерфейс на nil - это просто героический пиздец.

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

-Почему для составных типов не сделали передачу по ссылке? Это бы решило овер-100500 запутанности в языке. Но нет же, они сделали авто-преобразования *T и &T, а вот для соответствия с интерфейсом такого преобразования нет и ты не узнаешь об этом, так как нет привязки интерфейса к типу (конечно узнаешь когда в рантайме все завалится, за то мы компилируемся)
В общем опять эти скрытые подводные камни, о которых надо знать (как в PHP, как в JS, и опят же где ошибки всплывают только в рантайме).

-Да и вообще указатели в языке с ГЦ без арифметики, зачем? (хочется заплакать тут)

-Инкапсуляция на уровне пакетов. Я уже вижу код, где установка в пакете Struct1.Set(var) будет меняет состояние какого нибудь объекта Struct2 того же пакета. Это будет, ждите (...и древний ужас с глобальными переменными покажется вам сказкой)

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

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

Тут анон кричал что код более читаем. Код скорее проще, но со временем этот симбиоз из структур и ООП превратиться в ад. Ну и отсутствие набора дефолтных коллекций приведет к веселью, которые не переживали даже С++ разработчики.
#279 #868415
Итоги. Поехали
В первую очередь хочу сказать, что код читается не так легко, об этом подробнее ниже:

-Иногда из-за преобразования Type(OtherType) непонятно это вызов функции или преобразование (по привычки мозг воспринимает вообще как конструктор, лол).
Если в строку вставлено более сложное выражение, становиться очень больновато это понимать

-Непонятно передается ли поле структуры или функция-тип (нужно идти смотреть сигнатуру функции).

-Как бы джаву не хаяли, но автовывод типа в переменную читается сложнее (нужно лесть в сигнатуру функции) или иметь норм IDE и постоянно наводить мышку + Ctrl.

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

-Визуальная путаница между Struct.Value и Struct.Value() - из-за соглашения не использовать префикс GetValue можно иногда проебаться глазами.
Но не так страшно, страшно когда в название будет слово, которое будет имеет глагольную форму и тут ты реально запутаешься.

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

-По той же причине запутанность - кто возвращает изолированные модули с геттерами, кто структуры, кто вперемешку. Это ппц.
Веселье будет когда нужно будет перевести структуру в аксессоры (мега рефакторинг на неделю с регулярными выражениями)

-Интерфейсы без привязки к типу - бред. А оправдание того, что ты сможешь сделать интерфейс к чужому коду, это пиздец, так как интерфейс это в первую очередь контракт-API поставщика и ирония в том, что ты можешь привязаться к ненастоящему API которое может поменяться (потому что владелец кода и не знал что ты привязался к нему, лол)

-По той же причине в сложных объектах может быть сложное поведение и утиная нотациями может наказать (узнаешь что обосрался только где-то в далеком рантайме и зачем нам тогда компиляция?)

-Ошибки не должны быть строками и они должны иметь какие-то типы и иерархию типов. Мне теперь у быдланов-сеньоров строки парсить, чтобы понять какой тип имеет ошибка??
В общем, объект типа NullPointerException может сказать больше, чем текст в нем (который еще может быть динамичен, то есть с форматированием, быдланы могут)

-Отсутствие возможности проверить интерфейс на nil - это просто героический пиздец.

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

-Почему для составных типов не сделали передачу по ссылке? Это бы решило овер-100500 запутанности в языке. Но нет же, они сделали авто-преобразования *T и &T, а вот для соответствия с интерфейсом такого преобразования нет и ты не узнаешь об этом, так как нет привязки интерфейса к типу (конечно узнаешь когда в рантайме все завалится, за то мы компилируемся)
В общем опять эти скрытые подводные камни, о которых надо знать (как в PHP, как в JS, и опят же где ошибки всплывают только в рантайме).

-Да и вообще указатели в языке с ГЦ без арифметики, зачем? (хочется заплакать тут)

-Инкапсуляция на уровне пакетов. Я уже вижу код, где установка в пакете Struct1.Set(var) будет меняет состояние какого нибудь объекта Struct2 того же пакета. Это будет, ждите (...и древний ужас с глобальными переменными покажется вам сказкой)

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

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

Тут анон кричал что код более читаем. Код скорее проще, но со временем этот симбиоз из структур и ООП превратиться в ад. Ну и отсутствие набора дефолтных коллекций приведет к веселью, которые не переживали даже С++ разработчики.
>>868615>>868816
#280 #868506
>>868384
Хеллоуворлды, а одноклассникам говорю про Backend и Microservices, чтобы не как лох
#281 #868555

>GoLang


Если нет зависимых типов - нахуй не нужон.
>>868610
#282 #868610
>>868555

> ruby


> Если нет зависимых типов - нахуй не нужон.

#283 #868611
>>868384
Работу работаю.
Держим сервер по раздаче рекламы и бэк для пары мобильных дрочилен
#284 #868612
>>868384
В той фирме где буду работать пишут веб.
#285 #868615
>>868415

> интерфейс это в первую очередь контракт-API поставщика


У тебя ООП головного мозга
Стену не читал.
>>868704
#286 #868704
>>868615
это что еще за лол тут
#287 #868816
>>868415
в общем больших надежд не питать и использовать как скриптовой язык?
>>868823
#288 #868823
>>868816
Не пытаться использовать как джаву и хачкель.
>>868865
#289 #868865
>>868823
Не юзать интерфейсы или не проверять на nil?
#290 #868868
>>867272
Годно, присоединяюсь.
#291 #869032
>>867272
нет у тебя здесь друзей
#292 #869216
>>866689

>Явное лучше, чем неявное.


>динамическая типизация


)
>>869233>>869269
#293 #869233
>>869216

>Явное лучше, чем неявное.


Нет, это они про то, что ты как баран должен в методы self постоянно передавать.

И это норма (а если напишешь вместо self что-то другое, то тебя обсосут)

как-то так
#294 #869269
>>869216
Толсто, съеби нахуй, дурачек.
>>869467
#295 #869292
err != nil

/thread
>>869297
#296 #869297
>>869292
try {

} catch(NilException ex) {
/thread
}
>>869308
#297 #869308
>>869297

>syntax error: unexpected `try`


Ошибку-то по-нормальному не перехватить, ололо!
>>869408
#298 #869408
>>869308

> по-нормальному


Когда уже портянки из кода стали считаться нормальными?
>>869423
#299 #869416
В треде уже выяснили почему нельзя было добавить операторы ! и ? как в свифте? один хуй все коды ошибок обрабатываются паникой с кодом ошибки.
#300 #869423
>>869408
Это try/catch-то портянка?

Мне кажется, пора напомнить про best-practice Го по замене женериков:

v := reflect.ValueOf(x)
switch v.Kind() {
case reflect.Bool:
fmt.Printf("bool: %v\n", v.Bool())
case reflect.Int, reflect.Int8, reflect.Int32, reflect.Int64:
fmt.Printf("int: %v\n", v.Int())
case reflect.Uint, reflect.Uint8, reflect.Uint32, reflect.Uint64:
fmt.Printf("int: %v\n", v.Uint())
case reflect.Float32, reflect.Float64:
fmt.Printf("float: %v\n", v.Float())
case reflect.String:
fmt.Printf("string: %v\n", v.String())
case reflect.Slice:
fmt.Printf("slice: len=%d, %v\n", v.Len(), v.Interface())
case reflect.Map:
fmt.Printf("map: %v\n", v.Interface())
case reflect.Chan:
fmt.Printf("chan %v\n", v.Interface())
default:
fmt.Println(x)
}
#301 #869432
>>869423
Вам же тупому говну дали https://play.golang.org
чтобы вы туда код постили, нубасы
>>869440
#302 #869440
>>869432
Лучше оправдывайся за свитч-кейс по типам, уёба.
>>869443
#303 #869443
>>869440
Цц паттерн матчинг. Го це ФЯ.
#304 #869462
>>869423
Но вместо этого можно просто определить свои типы под задачу, прописать к ним нужные функции, сделать интерфейс, использовать его...
Ни разу в реальном коде не использовал рефлексию + выбираю среди библиотек то, где меньше reflect (скажем, в gin рефлексии заметно меньше, чем в martini)
#305 #869467
>>869269
Проверяй за щекой.
#306 #869470
>>869423
Что-то в голос с этого. Какой ахуенный тред всё таки.
#307 #869474
Тред говна, как и пологается, один большой такой весь сральник-отходник из себя.
>>869481
#308 #869481
>>869474
java-макаки боятся за свои рабочие места и что go-господа решат их задачи быстрее и эффективнее, чем AbstractFactoryObserverInterface.
>>869518
#309 #869518
>>869481
Компилируемый язык, в котором большая часть ошибок ловиться не во время компиляции, а как у скриптов в рантайме (причем нет нормального инструментария по перехвату и проверки типов ошибок, нет дебаггера, легкость заглушки ошибок) - заменит технически грамотный ООП язык проверенный временем?

Конечно, в самых влажных мечтах.

Иди лучше "A Tour of Go" переведи, а то как всегда ленивое ру-комьюнити много шумит, но нифига ничего не делает.
Ваши же скрипт-киди из пхп и жс не могут из-за этого перекатиться нормально.

PS в джаве много где серут, но в основном в ынтерпрайзе, где срать на все и надо слоем за слоем наклепать рабочий софт.
Сам же Го никаких защит от подобного не имеет (Боже, там даже геттеры и сеттеры активно юзают), но из-за бестолковой архитектуры нагадить там можно будет сильнее (особенно когда начнут упарываться сокращениями как в сишном Windows API и многомиллионный код станет тупо не читаем).
В хороших же руках джава удобным инструмент, хоть местами и с устаревшим синтаксисом, но забавно она тем, что она лучше продумана чем сверхсовременный Го.

PS2.0 я уже видел как в Го начинают писать в стиле джавы и в целом мы получаем какую-то кашу из структур, полу-структур-классов и полноценных классов с геттерами и сеттерами.
Когда в джаве только приемлем один вариант (но кстати возможно писать и "структурами", но ввиду опыта отказались от чистых полей)
>>869519
чернило !AN5G2JJLXA #310 #869519
>>869518

> Иди лучше "A Tour of Go" переведи


Зачем? У меня нет проблем с английским языком и подобные затеи не одобряю.
А пока тут срешь только ты тем, что не осилил правила хорошего кода, которые есть в сообществах у всех языков.
>>869618>>869859
#311 #869618
>>869519
Потому что это хороший показатель бестолковости ИТ комьюнити в условиях развивающегося языка программирования.
Особенно позорно выглядит когда перевод есть на каталанском и узбекском языке. С учетом, что русский второй по распространенности язык в интернете.

А отмазка "я же знаю английский, значит у меня все хорошо" выглядит еще смешнее.

> У меня нет проблем с английским языком


Ну раз нет проблем у тебя, тогда все норм, ленивые лолы...
>>869719
#312 #869719
>>869618
В сети где-то лежали потуги из одной двух глав перевода. В общем как всегда.
Заметно лучше сообщество у раста, там перевели всю доку, вроде.
У Пхп не было перевода до 2010 или 2012, но все же смогли, правда к его закату, хотя прикольно было смотреть, что есть даже бразильский-португальский язык, а русского нет.

Но это все херня, знаете за что мне еще нравится в го?
Обосравшись с обработкой ошибок, они сейчас пишут такие методы с префиксом Must... (например MustExex), это так символично. Так и хочется крикнуть старое доброе "маздай!"
#313 #869820

>A tour of Go


>Русского нет


>Зато есть украинский


>Ласкаво просимо до туру з мови програмування Go!


Вместо с го выучил основы украинского. Львовские хипстеры, в этот раз вы победили.
#314 #869859
>>869519
Может ты ещё обучение программированию начал по англоязычным материалам, маня?
>>870368
76 Кб, 1080x1080
#315 #870244
А поясните за сборщик мусора в го? На сколько детерминировано там время stop-the-world? На сколько пригоден го для систем реального времени?
#316 #870368
>>869859
"Программировать" я и не учился. Была алгоритмизация, формальные грамматики рассматривали, пролог, лисп. А потом все само пошло.
>>870629
#317 #870629
>>870368
какие же они тупые, он еще ответил на это)))
#318 #871971
>>861808 (OP)
Почему после программирования на Go, я чувствую себя грязной??
#319 #872021
Я все понимаю, но имхо кодить на языке с такой эмблемой как по мне несколько зашкварно.
>>872139>>872157
#320 #872139
>>872021
Змея или кристалл лучше? Чашка кофе это вообще пиздец.
>>872212
#321 #872157
>>872021
Напомнить, как пингвина выбирали?
>>872212
#322 #872212
>>872139
Таки лучше. Блять, это уже какой-то совсем няшно-мультяшный пиздец.
>>872157
А что там было?
>>872256>>872278
#323 #872256
>>872212

>А что там было?


Торвальдс выбирал маскота себе для линукса. Долго думал, а потом ему кто-то предложил пингвина. Он подумал и согласился, потому что очень подходит - вроде и птица, а не летает и выглядит как говно.
#324 #872278
>>872212

> А что там было?


> Чуваки, цените что народ нарисовал


> О, нихуя, пингвин заебись


> Ну го его ёбанём, хули


http://lkml.iu.edu/hypermail/linux/kernel/9605/0855.html
74 Кб, 640x723
#325 #872475
Взялся пописать немного на го.

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

Ну то есть, для начала:

1) Там нет generics. Но есть указатели (со сборкой мусора, не волнуйтесь), и есть возможность, соответственно, передавать by value (c копированием) и by reference (что позволяет не выделять место на куче для каждой фигни — крайне нетривиальный вопрос в джаве).

2) Очень тупое ООП, напоминающее таковое в раннем перле (если кто застал). Ссылка на this передаётся первым аргументом в функции (выделяется отдельными скобками, чтоб никто не перепутал).

3) Нет и не будет map, reduce и filter. Роб Пайк сказал, что они не нужны. Вася, не выпендривайся и слушай песню про валенки циклом for, как в прошлом веке. Чтобы ни у кого не было соблазна написать их самому (что несложно), Роб превентивно сделал это сам, выложил на гитхаб и сказал, что использование вот такого функционального гейства discouraged. Мужик!

4) Да, кстати, ровно два вида коллекций в стандартной библиотеке — массив с неизменным размером (и немного синтаксического сахара для копирования данных в новый массив, если прежний стал слишком мал), и map. Should be enough for everyone, не так ли? Впрочем, Lua вообще обходится одной коллекцией, ничо, живут.

5) Иммутабельности тоже, разумеется, нет. Кто-то таки сделал персистентные структуры данных и выложил их на гитхаб. Правда, не вполне понятно зачем они нужны в отсутствие простейших функциональных примитивов. Разве что тренироваться в рекурсии, почитывая SICP.
При этом нельзя сказать, что это быдлоязык навроде PHP (хотя с первого взгляда может так показаться). В быдлоязыках (это не только PHP, хотя не будем показывать пальцем) помимо простоты хуже воровства существует ещё множество неочевидных corner cases, про которые нужно знать и обходить стороной. Тут такого нет — всё брутально просто и вырублено топором, оставлено только самое нужное (concurrency-примитивы входят в число самого нужного). Это внушает уважение. Вообще, Роб Пайк дал нам целый Plan9, и быдлокодером его считать нельзя.

В общем, рекомендую, особенно для душевного отдыха и зализывания ран после скалы.
74 Кб, 640x723
#325 #872475
Взялся пописать немного на го.

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

Ну то есть, для начала:

1) Там нет generics. Но есть указатели (со сборкой мусора, не волнуйтесь), и есть возможность, соответственно, передавать by value (c копированием) и by reference (что позволяет не выделять место на куче для каждой фигни — крайне нетривиальный вопрос в джаве).

2) Очень тупое ООП, напоминающее таковое в раннем перле (если кто застал). Ссылка на this передаётся первым аргументом в функции (выделяется отдельными скобками, чтоб никто не перепутал).

3) Нет и не будет map, reduce и filter. Роб Пайк сказал, что они не нужны. Вася, не выпендривайся и слушай песню про валенки циклом for, как в прошлом веке. Чтобы ни у кого не было соблазна написать их самому (что несложно), Роб превентивно сделал это сам, выложил на гитхаб и сказал, что использование вот такого функционального гейства discouraged. Мужик!

4) Да, кстати, ровно два вида коллекций в стандартной библиотеке — массив с неизменным размером (и немного синтаксического сахара для копирования данных в новый массив, если прежний стал слишком мал), и map. Should be enough for everyone, не так ли? Впрочем, Lua вообще обходится одной коллекцией, ничо, живут.

5) Иммутабельности тоже, разумеется, нет. Кто-то таки сделал персистентные структуры данных и выложил их на гитхаб. Правда, не вполне понятно зачем они нужны в отсутствие простейших функциональных примитивов. Разве что тренироваться в рекурсии, почитывая SICP.
При этом нельзя сказать, что это быдлоязык навроде PHP (хотя с первого взгляда может так показаться). В быдлоязыках (это не только PHP, хотя не будем показывать пальцем) помимо простоты хуже воровства существует ещё множество неочевидных corner cases, про которые нужно знать и обходить стороной. Тут такого нет — всё брутально просто и вырублено топором, оставлено только самое нужное (concurrency-примитивы входят в число самого нужного). Это внушает уважение. Вообще, Роб Пайк дал нам целый Plan9, и быдлокодером его считать нельзя.

В общем, рекомендую, особенно для душевного отдыха и зализывания ран после скалы.
sage #326 #872546
>>872475
обосцал дауна который в посте прошёл от отрицания до принятия
>>872563
#327 #872563
>>872546

> 2016


> ссать на стены с копипастой

#328 #872588
>>872475
Ещё один мамкин борщехлёб.
>>872592
#329 #872592
>>872588
Ещё одна гомартышка порвалась.
#330 #872603
Гомартышки настолько тупы, что даже не могут дочитать до конца и понять, что автор на самом деле хвалит Го. Ну то есть как сказать хвалит, объясняет, что это идеальный язык для обезьян, но это ведь тоже неплохо, обезьянам тоже нужно как-то кодить.
#331 #872613
>>872475

>1) Там нет generics


Не самое страшное чего там нет, поэтому срать.
Просто такой стиль и хуй с ним. Я лично ебал объявления MoiHuiFactoryManagerFactory<Vaselin<Anus, HerNegra>>
Даебон к генирикам показатель тупости, или неосиляторства, так как там реально есть проблемнее вещи

2) Нет там ООП и видимо не хотели вообще, но пришлось завозить, так как интерфейсы это полезная плюшка.

>Ссылка на this передаётся первым аргументом


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

Добавлять в скоуп (в {} ) структуры тоже смысла нет, так как можно грамотно разбросать методы по файлам сгруппировав их по логике (например в одном файле аксессоры структуры, в другом вспомогательная логика), но откуда тебе "утёнку" видеть такие перспективы?

3) ФП уже вышло из моды. А те уебаны которые завезли себе это в синтаксис, весело будут поддерживать 1% используемого кода, через такую обратно-совместимую-синтаксическую боль...
Даже джаву развели, такого матерого консерватора.
Никогда хипстеры еще не гадили так сильно в "айти".

4) Мапа и лист (динамические) и структура и массив (статические) этого всего достаточно (в стандартной либе еще завезли линованную херь, вроде, чтоб уж вообще упороться можно было) и все это на встроенном уровне, что плохого? Еще скажи что сравнивать строки по equals() это круто?

Но согласен, что в мире Го скоро появиться 100500 очередей, линкед-мап и прочей хуйни. Поэтому тут обосрамс только на половину.

>5) Иммутабельности тоже, разумеется, нет.


Надолго вам этот хайп в голову завезли.

То что язык странный это несомненно, то что нужна версия 2.0 - безусловно, уже вроде шумят.
Но блять этот язык несет такой вагон технологический киллер фич, что ради этого его можно простить.
Так что, на то что не получилась "джава" или "питон" - похуй, то что получилась улучшенная сишка - это мега плюс.
Наконец-то бараны начнут писать структурно-модульный код, а не творить не сопровождаемое ООП-ынтерпрайз говнише (умудряясь наоверхедеть даже в самых простых вещах).

Язык обязательный, поэтому вкатывайся и выруби синдром утенка. Или на сишке попиши, чтобы понял плюсы.
PS про то что язык выстрелил и уже вливают тучу бабла на оптимизации и перформанс вопросов уже не должно быть
#331 #872613
>>872475

>1) Там нет generics


Не самое страшное чего там нет, поэтому срать.
Просто такой стиль и хуй с ним. Я лично ебал объявления MoiHuiFactoryManagerFactory<Vaselin<Anus, HerNegra>>
Даебон к генирикам показатель тупости, или неосиляторства, так как там реально есть проблемнее вещи

2) Нет там ООП и видимо не хотели вообще, но пришлось завозить, так как интерфейсы это полезная плюшка.

>Ссылка на this передаётся первым аргументом


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

Добавлять в скоуп (в {} ) структуры тоже смысла нет, так как можно грамотно разбросать методы по файлам сгруппировав их по логике (например в одном файле аксессоры структуры, в другом вспомогательная логика), но откуда тебе "утёнку" видеть такие перспективы?

3) ФП уже вышло из моды. А те уебаны которые завезли себе это в синтаксис, весело будут поддерживать 1% используемого кода, через такую обратно-совместимую-синтаксическую боль...
Даже джаву развели, такого матерого консерватора.
Никогда хипстеры еще не гадили так сильно в "айти".

4) Мапа и лист (динамические) и структура и массив (статические) этого всего достаточно (в стандартной либе еще завезли линованную херь, вроде, чтоб уж вообще упороться можно было) и все это на встроенном уровне, что плохого? Еще скажи что сравнивать строки по equals() это круто?

Но согласен, что в мире Го скоро появиться 100500 очередей, линкед-мап и прочей хуйни. Поэтому тут обосрамс только на половину.

>5) Иммутабельности тоже, разумеется, нет.


Надолго вам этот хайп в голову завезли.

То что язык странный это несомненно, то что нужна версия 2.0 - безусловно, уже вроде шумят.
Но блять этот язык несет такой вагон технологический киллер фич, что ради этого его можно простить.
Так что, на то что не получилась "джава" или "питон" - похуй, то что получилась улучшенная сишка - это мега плюс.
Наконец-то бараны начнут писать структурно-модульный код, а не творить не сопровождаемое ООП-ынтерпрайз говнише (умудряясь наоверхедеть даже в самых простых вещах).

Язык обязательный, поэтому вкатывайся и выруби синдром утенка. Или на сишке попиши, чтобы понял плюсы.
PS про то что язык выстрелил и уже вливают тучу бабла на оптимизации и перформанс вопросов уже не должно быть
#332 #872614

>Или на сишке попиши, чтобы понял плюсы.


Я обычно рекомендую людям на расте пописать, чтобы потом стал нравится го (так как от чистого си можно неосторожно зафанатеть)
431 Кб, 1024x1024
#333 #872618
#334 #872619
>>872613

> Просто такой стиль


> Как ты еще отделишь обычную функцию от метода, по запаху?


> 3) ФП уже вышло из моды.


> Надолго вам этот хайп в голову завезли.


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

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


... пиздец. Хоть одну назови.
>>872623
41 Кб, 437x598
#335 #872621
>>872613
Спасибо, диагноз ясен, вопросов больше нет.
>>872624>>872777
#336 #872623
>>872619

> накидаю я бессмысленно цитат, а то пукан бомбит, мозгов ответить по факту не хватает.



>Как ты еще отделишь обычную функцию от метода, по запаху?



И как? Даже в скоуп нельзя (так как всегда на структуре завязаны два типа - Type и *Type и указатель не привяжется на "func (t Type) Huy()", по сути, глазами джава макаки это декларация двух классов)

То есть ты настолько баран, что думаешь что можно сделать так:
Class {
method
}

И получить свой влажный this на халяву?

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

Хотя я сомневаюсь, что ты можешь это осознать даже.
Поэтому пшел вон, синтаксический говноед.
Начитаются книг по хеллоувордам разных языков и потом с программистами начинают спорить.
>>872644
#337 #872624
>>872621
Воу, пошли картинки вход.
Наверно это так же серьезно и эпично, как если бы начать капсом писать, да?
#338 #872644
>>872623

> И как?


Действительно, и как же это сделано во всех языках программирования для умственно полноценных людей? Давайте поможем гомартышке обучиться.
>>872674>>872777
60 Кб, 537x624
Вроде python power7full #339 #872649
:)

> топ дрочестно на синтаксис.


>>861808 (OP)
Это python. Гугл, как и ты дрочит на него
>>872777
#340 #872650
>>872613

>вагон технологический киллер фич


Жаль только опоздал на сорок лет.
#341 #872674
>>872644

>Давайте поможем


Нет, не давайте, зоофил хуев.
#342 #872681
>>872613

> хипстеры


> ФП уже вышло из моды


Попизди мне тут, чистая функциональщина и не была модной никогда. А некоторые её части везде и всегда использовались.
>>872783
#343 #872691
>>872613
Очередной поток оправданий. Повторяй перед сном, чтобы ещё больше верить.
#344 #872777
>>872621
>>872649
>>872644

Я гляжу новое обострение хеллоу-киди, каникулы что ли?

>Действительно, и как же это сделано во всех языках программирования.



Тебе уже объяснили долбаебу почему в таких условиях такая модель самая нормальная (чтобы оставить структуры структурами), но разве ты вообще можешь понимать что либо в архитектуре?
>>872782
#345 #872782
>>872777

>такая модель самая нормальная


Уроки-то сделал, Илюша?
#346 #872783
>>872681

>чистая функциональщина и не была модной никогда.



С прибытием, если в 2010 тебя волновали только прыщи на лице и твоя ЕОТ с ерохиным, это не значит что в мире не было ФП хайпа.
>>872784
#347 #872784
>>872783

> не было ФП хайпа


Он и сейчас есть. Любой борщехлёб наровит прибежать в рандомный тред и бахвалится как у него факториал считается.
>>872787
#348 #872787
>>872784
Уебаны, которые используют ФП для самоутверждения будут всегда, главное что ИТ тусовка наелась
#349 #872826
Го может посоревноваться только с башем и ПХП4-это его уровень.
#350 #872851

>дали не только возможность оперировать по значению или по указателю



а теперь быстро-решительно привёл мне кейс в котором оправданно передавать по значению в языке с GC, зойчем эти атавизмы из си?
#351 #872915
>>872851
Глупое хеллоу-киди.
Очевидно же, чтобы разгрузить ГЦ, чтобы была возможность поместить значения в стек и потом тупо дробнуть без напряга весь стек (что может быть практичнее чем остановка ГЦ и вообще чем его грузить, особенно если много мелкими данных)

Даже если указатель никуда не перемещать (и создать в той же функции) - компилятор поместит его в стек, а не в хип, как в нубо-джаве.
>>872975
#352 #872918
>>872851

> кейс в котором оправданно передавать по значению в языке с GC


многопоточное выполнение
>>872969>>872975
#353 #872969
>>872918
Возьми защеку в два потока
#354 #872975
>>872918
В го его и нету. Ты видимо даже "concurrency is not paralellism" Пайка не осилил.
>>872915
Я тебя возможно удивлю, но в джяве всё абсолютно аналогично говну в этом вопросе.

И стек нагружает GC нихуя не меньше, хотя кому я это объясняю... местные макакусы даже не знают как работает их язык, лел
8 Кб, 225x225
#355 #872982
>>872975

>И стек нагружает GC нихуя не меньше

>>872983>>873001
#356 #872983
>>872982

>гомакус смеётся с того, что не понимает как работает сборщик


Вся суть гоферов.
30 Кб, 500x314
#357 #872984
>>872975
я все время забываю, что я на двочах
>>872988>>873001
#358 #872988
>>872984

>сёме смешна его же тупость


)
79 Кб, 600x600
#359 #872992
>>873001
#360 #873001
>>872992
>>872984
>>872982
Ебать годауна порвало xD
Подождём ещё 10 лет пока маленький диванный долбоёб осилит хотя бы базовый алгоритм обхода графа объектов. Мб к тому времени уже генерики добавят.
>>873007>>873047
#361 #873007
>>873001

> базовый алгоритм обхода графа объектов


> стэк


мимопроходил
>>873012
#362 #873012
>>873007
Ещё один неосилятор. Сначала прочитай откуда он начинается и вообще базовый принцип.
Иначе скоро такими темпами элемент в массиве искать будем.
>>873032
#363 #873032
>>873012

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

Вся суть хеллоу-киди, юношеский максимализм не дает осознать, что что-то не то и почему над ним все ржут
>>873039
#364 #873039
>>873032

>гомамакус так и не осилил даже страничку в вики за пол часа


>пошёл дальше толстить


Напиши ещё что GC не сканирует стёк, покажи уровень развития гоферов.
>>873224
#365 #873047
>>873001

> Мб к тому времени уже генерики добавят.


Не будет в го генериков
#366 #873113
Хейтеры, фас!
https://habrahabr.ru/company/mailru/blog/314804/

У мэйлу бомбану, что они решили перевести этот ад?
>>873183
#367 #873183
>>873113
Как яро вчерашние битрикс-разработчики фанбойствуют в комментариях.
>>873215
#368 #873189
>>872851
Rvalue же нельзя передавать по ссылке.
>>873246
#369 #873193
>>872851
В языке нет иммутабельности. Если не хочешь искать какая же хуйня наебнула структуру по указателю, передавай по значению.
#370 #873215
>>873183
Слушал голанг шоу, даже там они как-то язвительно все время подшучивают и иногда выдавая такие фразы, после которых задумываешься о Го (и куда смотрят главные "спонсоры"?)
Такое ощущение, что сами евангелисты устали от Го, даже проскакивала фраза что-то типа "ну хоть что-то в го работает нормально".

А это история со статьями divana (символичный ник), который умудрился слить Го на хабре, после чего "ушел" (уволили?) с поста евангелиста (да еще с такой драмой).

А эти безграмотные и похожие друг на друга конференции...

Илюша.... мы еще помним.

Зря анон лениться, такие вины надо было куда-нибудь в лурк заносить, это же история.

В общем к чему я... у меня вопрос к анону, который писал что Го выстрелил? Где?
Где он там выстрелил, когда язык надо просто брать и перелопачивать до ума (вероятно выгнав предыдущих архитекторов)?
>>873337
#371 #873220
прикол в том, что если бы язык не выстрелил, мы бы тут все сейчас не обсуждали его и не читали обзор мейла на подводные камни
>>873241>>873246
#372 #873224
>>873039
"Сканирует", и само собой "нагружается". Ты как бы обосрался в посте выше, и после пошли маневры, типа "Ну пацаны, смотрите, я хоть что-то понимаю, типа стек есть, а еще куча и корочи сборщик их сканирует".
>>873246
#373 #873241
>>873220
больше похоже на "бомбануло", просто в культурной форме вбросили на вентиляторы.
#374 #873246
>>873220
Он от того говном быть не перестаёт к сожалению. А вообще люди любят говно: пхп, жс, жява, коммунизм, трамп...
>>873224
Где обосрался-то? Там где какой-то анон сумел услышать про структуру данных? Ну это не мой обосрамс к сожалению.

>"Сканирует", и само собой "нагружается"


Мань. Весь оверхед консервативного сборщика — это сканирование и пометка лишнего. Хотя ты один хуй не поймёшь и начнёшь брызгать слюной

Общаться в готреде — это как писать на хачкеле. Даже если написал всё правильно и всё ахуенно работает — долбоёбы вокруг даже не попытаются понять.
>>873189
При чём здесь костыли системы типов плюсов вообще?

Я тут кстати поднимал выше хуй знает сколько времени назад вопрос — нахуя именно указатели, если ни арифметики со всеми выткеающими вроде битмасок без оверхеда, ни передачи массивов по указателю и прочего нет? Настолько впадлу хотя бы ссылки как в плюсах запилить про типобезопасность уже молчу?
>>873280
#375 #873280
>>873246
Какой же нынче бестолковый школьник пошел. Илюша, мы скучаем по тебе
>>873285
13 Кб, 300x139
#376 #873283
>>861808 (OP)
Есть ли на javа веб-сервер подобный веб-серверу на golang (такой же простой, но гибкий)?
>>873288>>873335
#377 #873285
>>873280
http://byrd.im

>As the time went by, I had started looking into web backend stacks: Python, Node.js


Даже илюша начал с говном подзавязывать. Мне кажется это знак: с говном долго проработать могут только тупые, регулярно аутотренирующиеся фанатики.

Сутя по инфе там же, он сейчас обитает на реддите — диван обещал съебать но венрулся, а илюша просто съебал и не вернулся, лол.

Вот уж кого действительно потеряли — единственный гофер который мог отписать по теме, а не стандартный аутотренинг/хуйню "гс не сканерует стак ета ваще структура данных ахах лолка абасрался".
#378 #873288
>>873283
Зависит от того что ты понимаешь под гибкостью и простотой.
>>873295
#379 #873294
>>873285

>"гс не сканерует стак ета ваще структура данных ахах лолка абасрался"



ппц как он порвался
>>873302
#380 #873295
>>873288
любое простое, без философии
>>873302
#381 #873302
>>873294
Ну конечно порвался. Хочешь поговорить с человеком — а тебе отвечает тупое животное, которое ржёт со своей же тупости, и на попытки образумить его продолжает.

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

Простой-то какой нибудь наверняка есть и даже не одна тыща. Сходи до гитхаба, мне кажется именно простых в смысле нихуя не умеющих го-стайл серверов ты там найдёшь предостаточно.
#382 #873335
>>873283
В стандартной библиотеке есть.
#383 #873337
>>873215
И делают делать ещё одну джаву или скалу, но нахуя?
sage #384 #873373

>https://hh.ru/vacancy/18415968?query=golang


>обязательно хорошее знание PHP, Mysql (без этого никак)


>желательно не бояться bitrix и laravel


>плюсом умение или желание писать на Golang


>bitrix


>Golang


Что и требовалось доказать.
#385 #873583
>>873285
Бля. "Стэк нагружает GC" вполне претендует на мемчик. И твои рассуждения про "консервативный GC тоже". Так же хочу поздравить гоферов с днем рождения языка, 7 лет! Это больше чем стаж пограммирования любого хейтера Go
#386 #873637
>>873285

>Даже илюша начал с говном подзавязывать. Мне кажется это знак: с говном долго проработать могут только тупые, регулярно аутотренирующиеся фанатики. Сутя по инфе там же, он сейчас обитает на реддите — диван обещал съебать но венрулся, а илюша просто съебал и не вернулся, лол.



Картина маслом: "Илюша лижет себе яйца"
Ты пойми в чем тут детектед - кроме самого Илюши, всем срать на его деятельность, тем более в таких подробностях.
Ты кстати стал тупеть, но зато теперь у тебя стек не нагружает ГЦ! (или нагружает?)

Ничего против не имею Го, но меня смущает то, почему его не пытаются допилить до конца.
#387 #873641
Заметил. Если обмазываться большими пакетами с мелкими функциями, можно легко подцепить ошибку циклический импорта пакетов в большом стектрейсе (лол, казалось бы нахера линковщик линкует уже прилинкованное, но го-архитекторов было уже не остановить).

Пришлось вынести спорные функции отдельно просто потому, что "где-то" там, в начале, дернуло мою чистую-функцию (теперь я понял почему компилятор ругаеться за импорт, если не следить, все пойдет по пизде за более чем короткое время)

Даже в говно-си завезли #IFDEF и в php есть include_once, тут то что им мешало сделать проверку...
#388 #873652
Зря вы хейтите, давайте лучше обсудим тексты нашей "элиты", хабра!
https://habrahabr.ru/company/mailru/blog/314834/

Максим

> — Хочешь ли ты писать на С? — спросил Витя.


> — Не очень, — честно ответил я.


> — А почему?


> — В нём много букафф.



Александр

>а opensource-проекты пока что не хватает желания. :(



Роман

>Так что это Go выбрал меня, но я доволен


Еще бы ты тут недоволен Рома был. Кстати обратите внимания, люди приходили на другие языки совсем.
Ну и цитатка от Романа о плюсах:

>простое, но продуманное окружение


Цинично, Рома, цинично
Особенно после 50 оттенков Го.

Цитаты хабр элиты!

>Выбирал, имея уже 15 лет опыта в программировании.


Рассказывает про как плохо "много писать", называет джаву - явой и она кушает много памяти (его памяти или о серверах заказчика непонятно) и вообще статическая типизация вещь!
Прям умничка.

>Похожая ситуация, остальные приколы понимаешь со временем. :)


Прикольные у них там 15-летние стажеры

>В Go привлекла богатая стандартная библиотека


Интересно чем богатая, тем что большую часть писать самому?

>Когда вам нужно будет за полгода написать 30 000 строк кода и не сгореть, то Go очень подходит.


Джава - если хочешь больше символов в строке, Го если хочешь больше строчек кода по высоте! Спасибо, поняли.

>gofmt запускать вовсе не обязательно. это настоятельно рекомендуется — и только.


Свобода выбора по языку Го.

>Так что я себе решил: ну её, эту хипстерскую приблуду.


Тут не понятно автор послал гошников или их приблуду, но плюсы ставят все равно
#388 #873652
Зря вы хейтите, давайте лучше обсудим тексты нашей "элиты", хабра!
https://habrahabr.ru/company/mailru/blog/314834/

Максим

> — Хочешь ли ты писать на С? — спросил Витя.


> — Не очень, — честно ответил я.


> — А почему?


> — В нём много букафф.



Александр

>а opensource-проекты пока что не хватает желания. :(



Роман

>Так что это Go выбрал меня, но я доволен


Еще бы ты тут недоволен Рома был. Кстати обратите внимания, люди приходили на другие языки совсем.
Ну и цитатка от Романа о плюсах:

>простое, но продуманное окружение


Цинично, Рома, цинично
Особенно после 50 оттенков Го.

Цитаты хабр элиты!

>Выбирал, имея уже 15 лет опыта в программировании.


Рассказывает про как плохо "много писать", называет джаву - явой и она кушает много памяти (его памяти или о серверах заказчика непонятно) и вообще статическая типизация вещь!
Прям умничка.

>Похожая ситуация, остальные приколы понимаешь со временем. :)


Прикольные у них там 15-летние стажеры

>В Go привлекла богатая стандартная библиотека


Интересно чем богатая, тем что большую часть писать самому?

>Когда вам нужно будет за полгода написать 30 000 строк кода и не сгореть, то Go очень подходит.


Джава - если хочешь больше символов в строке, Го если хочешь больше строчек кода по высоте! Спасибо, поняли.

>gofmt запускать вовсе не обязательно. это настоятельно рекомендуется — и только.


Свобода выбора по языку Го.

>Так что я себе решил: ну её, эту хипстерскую приблуду.


Тут не понятно автор послал гошников или их приблуду, но плюсы ставят все равно
>>873875
Илюша !BTOBx9gVnY #389 #873781
Не заходил на зекач около полугода наверное... И тут один мой приятель скинул ссылку на тред.

Ну че вы, как вы, котики? Держетесь, превозмогаете?

ОП ты отстой
тебе не сравниться со мной.
йоу я читаю рэп
и это даже не трэп
потому что я илюша
а это — мой готрэд
>>873790>>873802
#390 #873790
>>873781
Ты говнюша,
Не илюша.
И твой реп...
Говном он пахнет.

Хуй, говно, давалка —
Всё это гоферская свалка.
Горутина, пайка мамка —
Та же... мусорная свалка.

Стёк не грузит наш гц,
Потому что ссылок нету в мове.
Все стендап, бичи
Хуй илюша итт.

Он пришёл, что утренний петух,
Вскукарекнул, встрепенулся,
Клюв прочистил поутру
И говно пошёл он нюхать.

мимо новый оп крестотреда
>>873798>>873804
#391 #873798
>>873790
РАУНД!
#392 #873802
>>873781
У меня от твоих школьных-маневров испанский стыд из-за тебя.
Иди чини стек, чтобы ГЦ не тормозил
>>873806
Илюша !BTOBx9gVnY #393 #873804
>>873790
Не сижу на закече, но уверен
В крестреде — дичь
Пишу на плюсах каждый день
Меня не ебет твой спич

Пишу на голанге летом
Не вижу ничего плохого в этом
Зеленые потоки завезли — не то что вам
Константные выражения и хуй

Стэк в голанге охуенный
Копирую, перемещаю, профилирую
Уборщик мусора так сука пиздат
Бей в набат, шпинат щербет цукат

Пайк. Роб Пайк. Пайк. Роб Пайк.
У твоей мамы течка — ставлю лайк.
Пайк. Роб Пайк. Пайк. Роб Пайк.
Посрал тебе на голову — выбил страйк.
>>873812
Илюша !BTOBx9gVnY #394 #873806
>>873802
Стек и тормозящий ГЦ это новый мем готреда?
>>873811>>873812
#395 #873811
>>873806

>накосячил с знаниями.


>начал позорно маневрировать


>задетектил себя в контексте обсуждения Илюши


>неожиданное совпадение! В этот же момент Илюша выходит из занавеса! (да просто король-маневров!)


>тут же сливает в батле плюсовику, ибо бездарная бестолочь.



Ну и конечно:

>сейчас попытается затопить тред, чтобы побыстрее снять позорный форс стека с ГЦ. Но легион все видит!



Ну здраствуй...
>>873814
#396 #873812
>>873806
Только недавно выше было.

Один анон попутал влияние глубины стека вызовов на перформанс сборщика с простым использованием стековой памяти, второй начал говорить что это вообще структура данных, а у третьего GC стёк оказывается не сканирует — корни видимо сами по себе в воздухе ищутся. собственно всё как обычно

>>873804
Стэк в голанге —
Он абстрактный, ахуенный,
Беспредельник и мудак;
Что ашот с насваем
От сборщика сбегает.

Он от бабушки ушёл,
И от пайка он ушёл.
По теплотрассе в украину
Через ато и майдан.

Так попал к илюше в батл.
Основав бюро
По защите кадров стека,
От бездарных уебанов.
>>873815>>873828
Илюша !BTOBx9gVnY #397 #873814
>>873811
Чувак, поменьше сиди на сосаче. У тебя в голове каие-то схемы пизданутые. Мне корешок напомнил про зк сегодня утром, я зашел, а тут готред, который я, можно сказать, своими силами поднимал-поднимал все 10 или сколько там тредов в свое время.
>>873828
Илюша !BTOBx9gVnY #398 #873815
>>873812
Хуй со стэком. Я уже говорил почему Go — говно.

http://byrd.im/go-is-poor/
>>873828>>873852
#399 #873828
>>873812
>>873814
>>873815
мастер маневров
не палится даже с форсом своего сайта

Ты предсказуем и глуп

>сейчас попытается затопить тред, чтобы побыстрее снять позорный форс стека с ГЦ

#400 #873852
>>873815

>почему Go — говно.


Потому что ты - пидор.
/тред
>>873859
Илюша !BTOBx9gVnY #401 #873859
>>873852
Я не пидор, тут даже когда-то были мои фотки с бывшей.
>>873860
#402 #873860
>>873859

>эти типичные оправдания школопидора


Ясно.
>>873861
Илюша !BTOBx9gVnY #403 #873861
>>873860
У тебя течка, дружок. Ставлю лайк.
>>873863
#404 #873863
>>873861

>эти пидорские ужимки и заигрывания


-> /ga
#405 #873875
>>873652

>за полгода написать 30 000 строк кода


Это по 5000 строк кода в месяц. Около 1200 строк в неделю. Чуть больше, чем по 150 строк в день. Это много, что ли?
>>873953
#406 #873953
>>873875

>Чуть больше, чем по 150 строк в день


Ты не учел сколько часов тратиться на поездку в коворкинг центр, перерывы на смузи, митапы, обсуждения новых трендов на гитхабе, хакатоны... это же непоколебимый труд для команды хипстер разработчиков
>>874053
#407 #874053
>>873953

> хипстер


> go


Как же вы доебали, блять.
>>874067>>874069
#408 #874067
>>874053
А что не так-то? Илюша вон буквально музыкой занялся, по-моему очень эпично.
#409 #874069
>>874053
Крошки от митбола из бороды вытряхни, выебщик.
#410 #874095
Нужна помощь в священной битве
https://2ch.hk/pr/res/874090.html (М)
#411 #874250
>>866240
Куча девопс хуиты, которой нужно работать быстро и при этом пердолиться на более низком уровне нежели это может дать python. Ну и конечно же Docker(самая большая хуита, которую написали на нём) и куча проектов, которые используют его или помогают упростить жизнь работая с ним. Навскидку: consul и большое количество технологий hashicorp'а работают на Go), registrator и весь стек CoreOS. Как тут говорили: язык подходить новому поколению для которых Сишечка блевотная, но при этом хочется писать быстро быстроработающий софт.
#412 #874281
>>874250

>но при этом хочется писать быстро быстроработающий софт.



Тормозит так же как джава, но в последней годный тулинг и туча качественных библиотек, экономящие тысячи часов работ

>быстроработающий софт


реально быстро работающий софт (и особенно игры) с ГЦ не бывает (забудь это слово)
>>874290
#413 #874290
>>874281
В 1.8 уже можно будет писать игры — задержки GC сократили до 5 мкс.
>>874298
#414 #874298
>>874290
Лол, завезут реалтайм-ГЦ??? Какие же просадки по производительности будут??

>задержки GC сократили до 5 мкс.


Задержки у твоей девушки, а 5мкс это приятное подергивание во время игры.
>>874308>>874365
164 Кб, 400x406
33 Кб, 321x393
#415 #874308
>>874298

> 5мкс это приятное подергивание во время игры

>>874312
#416 #874309
>>874250

>Куча девопс хуиты, которой нужно работать быстро


>пердолиться на более низком уровне нежели это может дать python


Ты хоть понимаешь какие задачи у девопс-софта? Или по-твоему у подобного софта ботлнек когда-то возникает в процессоре, а не при I/O особенно на жёсткие диски

>Docker(самая большая хуита, которую написали на нём)


Докер — это именно что и есть "девповский набор скриптиков", упирающийся в жд и сеть. Там кстати добрая треть проекта вообще на окамле написана, такой-то контраст с го, лол.

>consul


А вот тут даже не просто I/O в кубе, тут всё хуже — тормоз в самом алгоритме. Эрланг который тормозит похлеще питона хорошо показывает, насколько похуй на перформанс отдельной единицы в распределёнке.

>весь стек CoreOS


Весь стек там заканчивается на докере и пару демонов которые... работают с распределёнкой. Бинго!

Итого в сухом остатке: какой смысл писать эти проекты на го, кроме хайпа, лел? Или ты серьёзно считаешь что обвязка вокруг LXC или распределённая key-value хуитка, которая будет по пол часа тратить только на то, чтобы достучаться до всех нод, потом ещё столько же синхронизировать требует почти низкоуровенного языка?
PR ресурсы гугла сделали своё дело.
#417 #874312
>>874308
Для любого сборщика можно подобрать оптимальные условия при которых он будет просто рвать и ебать, посмотрим когда выйдет. Правда если всё действительно так радужно — будет очень круто хотя вангую что это благодаря реализации того пейпера, и теперь просто после завершения горутины всё будет просто выкидываться нахуй, и для геймдева язык так и останется непригодным, зато хоть порадует веб-макак на локалхосте
48 Кб, 756x79
#418 #874360
>>874250
Аналог пикрелейтедов уже завезли?
>>874638
#419 #874365
>>874298

>Задержки у твоей девушки, а 5мкс это приятное подергивание во время игры.


Ты сечешь вообще что такое 5мкс? Это пять умножить на одну миллионную секунды, блять. Ты данные с периферии будешь дольше считывать, манька.

Элементарную арифметику не знает, но зато пиздит в тредах на дваче.
>>874587
#420 #874366
>>874309

>Ты хоть понимаешь какие задачи у девопс-софта? Или по-твоему у подобного софта ботлнек когда-то возникает в процессоре, а не при I/O особенно на жёсткие диски


Он немного дурак. Фишка Go не в том, что он быстрый и поэтому на него рвутся опсы, а потому что он, внезапно, умеет такую вещь как КРОСС-КОМПИЛЯЦИЯ, быстрая и уверенная кросс-компиляция. Это раз. Во-вторых, Go настолько тупой, что его проще поддерживать в больших кодбазах, чем что-либо другое.

Проблема маней с двача в том, что в нормальных больших компаниях они не работали, про опс слышали только с хакерньюса и не представлют себе, какая анархия там начинает твориться уже через несколько итераций. Go не спасает, конечно, но очень-очень помогает. Почему помогает, спросишь ты? Потому что очень просто работать с сетью, RPC, алгоритмами сжатия, кодировками и трансформациями, криптографией.
>>874377>>874388
#421 #874368
>>861808 (OP)

> коллег с питона


Ммм чому так?
#422 #874369
Go, как язык, хорош для своих задач и для скейла, на который о расчитан (большие компании с часто итерируемым опсом). Я уже давно говорил, что для маленьких проектов его приемущества заканчиваются на том, что он ортогонален и тупо для всего есть пакеты, которые очень легко и быстро найти, вклеить и оно скорее всего будет работать пиздато. Но я так же говорил, что он пиздец какой не гибкий, поэтому надо транспилировать. Надо сделать язык, который будет утилизировать Go в качестве бэкенда компилятора и рантайма, а код на нем крутить гибкий — с макросами и обобщениями.

И вы догадываетесь, о чем я говорю.
>>874376>>874377
#423 #874376
>>874369

>И вы догадываетесь, о чем я говорю.


Иди нахуй со своим хаскелем, гнида.
#424 #874377
>>874366
Вообще, ты таки прав — на го написать что-то непонятное сложнее чем даже на питоне, админам вообще понравится.

А с русской православной церковью, сжатием и прочим в других языках вообще тоже хватает библиотек.
>>874369
Илюш, ты там хоть примерный концепт своей манямовы набросал уже? за пол года-то
>>874383
#425 #874383
>>874377
Конечно я прав, ебать, я специалист в том, чтобы быть правым. Что касается языка, пока нет... Ты охуеешь, но это безумно сложно. У меня было примерно 3-4 версии простоспецификации, в манере питона, в манере Go, в манере окамля, но прямо везде мимо. Там такой фокус, что без интеропа с существующим кодом на Go это все совершенно бесполезно, а это накладывает свои ограничения. Макросы можно сделать крутые, но у меня мало опыта в разработке языков с макросами, поэтому я хз как не переборщить. Что касается дженериков, я в принципе придумал, как решить проблему (мы против динамик диспатча если чо), но не придумал пока вообще как ее реализовать. Но вообще у меня есть видение того, что должно быть в языке, чего не должно быть. Спойлер: пайпы папйы пайпы. Осталось только придумать как линковать обобщенный код, как сделать чистый интероп и можно делать спецификацию.
#426 #874388
>>874366

> Go настолько тупой, что его проще поддерживать в больших кодбазах


> писать быстро быстроработающий софт.


Это и имел ввиду.
#427 #874395
>>874309
Тихо, тихо я вообще не фанбой Го, если ты об этом. Тут просто попросили привести пример софта, который написан на Го. По поводу "горлышка" на I/O согласен(это узкое место в производительности докера, когда работаешь с жд), но тут ещё вопрос стоит в том, как быстро ты напишешь вещь, которая бы ебошила в норм асинк и к тому же имела простой синтаксис. Правда, даже не смотря на простоту, учить мне его так и не захотелось, хотя была задача пофиксить и добавить фичу в одну опенсурс штуковину.

> Докер — это именно что и есть "девповский набор скриптиков"



Не соглашусь ибо, networking, работа с aufs и очень много других экосистемных штук это не "девповский набор скриптиков" или "просто тупая обёртка над LXC".

Можно было бы и написать на другом языке, но парни выбрали то, что хотели. Если это работает и делает это достаточно быстро, то к чему хейт то.
#428 #874412
Мне кстати интересно почему зекач все еще на плаву. Казалось бы, такая площадка уже давно должна была бы сгореть, но нет. Вы же тут грызетесь целыми днями за какую-то хуйню, нет? Крестоеебы против джавадебилов, ГОвноеды против эрлангопетухов. Как вы еще не перегрызли друг друга?
>>874418>>874420
#429 #874418
>>874412
Перегрыз тебе за щеку, проверяй.
#430 #874420
>>874412
Потому и на плаву. Людям нравится сраться.
Вот представь если завтра весь мир перестал бы ругаться — скучно же было бы.
>>874423
#431 #874423
>>874420

>скучно же было бы.


Это значит что ты быдло.
>>874431
#432 #874431
>>874423
Так можно утверждать и то, что ты считаешь срачи чем-то плохим как абсолютное большинство людишек => быдло ты.
#433 #874564
Хороший срач - это когда два человека генерируют самые смелые фантазии насчёт мамок друг друга, приправляя пикантными языковыми конструкция, но при этом объективно аргументируя по теме. На мейлаче такие срачи редкость, в основном просто мусор всякий пишут.
#434 #874587
>>874365

>


Ты блять в шутеры по сети играл? Где блять отклик кристала 8мкс выглядит бесячей размазанной хуйней для глаза и мозга.
Или задержка в 16мкс в виртуальных шлемах вызывает головокружение (так как мозг сообщает что он уже повернул, а глаза говорят об обратном. Так что иди нахуй со своими познаниями в нейрофизиологии)
>>874833
847 Кб, 1058x273
#435 #874636
>>874309

> добрая треть проекта вообще на окамле написана

#436 #874638
>>874360
Ты хоть знаешь, зачем это писалось? На го эти объёмы переписывать никому не всралось - слишком дорого. И язык тут не причем.
>>874653
#437 #874648
Ананасы, как может в компилируемом языке быть сборщик мусора? Он че в каждый бинарник вшивается что-ли?
мимо-питон-школьник
>>874653
#438 #874653
>>874648
Ну ясен хуй что да, а что у тебя такую реакцию вызывает-то?

>>874638
Там много других причин — начиная от технических (вроде хуёвого оптимизатора и отсутствия библиотек заканчивая неприспособленностью работы го с большим нестатичным хипом — гу без компрессии и дефграгментации и отсутствием ооп — такие гиганты быстро превратятся в c-like парашу, об которую IDE ломаются) до субъективных — нужны студенты пишущие и реализующие алгоритмы датасайенса, которые не захотят как унылые сорокалетние админы с девопсами сидеть и писать на этом скучном говне.
>>874656
#439 #874656
>>874653

>гу


Гц
#440 #874833
>>874587
Пиздло, ты точно микросекунды с милисекундами не путаешь?
>>874915
#441 #874860
Я кстати тоже перепутал лол. Слишком быстро. Не 5мкс, а 100 мкс. Но не суть, все равно это меньше 1 мс в любом случае.
>>874915
#442 #874915
>>874833
иди нахуй уебан, когда парень говорит о ГЦ в 5 МИКРОсекунд, ненароком подумаешь что он объебался с мкс и мс (и я так же подумал)

>>874860
собственно что и говорит, правда между 5 и 100 (очень похожие цифры).

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

В джаве тоже есть реалтайм ГЦ с гарантом времени (10мс вроде), но его по понятным причинам в микросервисах юзать себе дороже.

Посмотрим...

И в чем лол, это сразу же проявится в тех нубо тестах (когда сравнивают работу языка с ГЦ и без, и типа языки с ГЦ ничуть не уступают).
#443 #876539
>>866260
Удвою этого.
#444 #876548
Все в курсе, что Пщ — на самом деле функциональный язык программирования?
>>876576
#445 #876576
>>876548
Без let не функциональный
>>876788
#446 #876578
https://github.com/golang/proposal/blob/master/design/17503-eliminate-rescan.md
Тем временем стек не грузит GC, точнее сборщику на него настолько похуй что это он останавливает мир.
>>876695
#447 #876695
>>876578

>Re-scanning the stacks can take 10's to 100's of milliseconds in an application with a large number of active goroutines.


Внезапно, тут скорее всего имеются ввиду приложения на сотни тысяч горутин.
>>876737
#448 #876737
>>876695
Внезапно, вообще насрать - местные дегенераты истекали говном хуй знает сколько времени, не осилив даже прочитать на отечественной®, блять, вики, как определяется достижимость объекта. Сборщик никак не касается стека и все. Самое время сделать мемасик на эту тему по мотивам najtiElementVMassive.

Сколько именно там горутин имеется ввиду неизвестно - под большим количеством можно понимать от десятка до миллионов.
>>877010
#449 #876788
>>876576
Но чтобы быть функциональным языком достаточно всего лишь иметь лямбды. И, по-моему, даже замыкания не нужны - контекст можно руками таскать. Всё остальное - это всего лишь перделки поверх или следствие.
#450 #876977
>>876788
ты сейчас унизил всех ФП-господ
sage #451 #876982
>>876788
пехепе - функциональный язык еее))
#452 #876992
>>876788

>достаточно всего лишь иметь лямбды


О — ещё одно заявление уровня "стек gc не грузит" от типичного индивида в готреде.

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

Го — исключительно императивный язык, лямбды в котором используются просто для того чтобы в роутеры писать легче было.
#453 #876997
>>876992
В чем хайп иммутабельности?? Ну не меняй переменную, есть же сотни конвенций в языках.
Или нужно явное ограничение от компилятора, потому что в природе нравится ощущать унижения (тебе понравится Раст)?
#454 #876999
>>876997

>В чем хайп иммутабельности?


В чистоте.
>>877011
#455 #877002
>>876997
Хуй знает при чём тут раст видимо при твоей культурной ограниченности, но она есть много где. И у неё дохуя преимуществ — от потокобезопасности до спокойного рефакторинга.

И хуй знает почему ты вообще открыл свою дырку по поводу хайпа — я просто пытался перечислить местным обезьянам отличительные концепции фп.
>>877005>>877099
#456 #877005
>>877002

>Хуй знает при чём тут раст


Потому что он наказывает грязный мальчиков.
Дальше не читал, игнорирую животных, которые скрывают текст (вроде взрослый человек, а внимание к себе пытаешься привлечь как школьница-блондинка)
>>877014
#457 #877010
>>876737

>Сборщик никак не касается стека и все.


Ты пизданутый?

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


У меня на tip крутится в проде микросервис (100-200 rps), я профилировал по задержке (прямо в проде, я ебанутый), буквально несколько пиков в 100 мс, все остальное время ниже 5-10 мс. На пиках больше всего времени в syscall, мб система. В среднем минимум 50 горутин вертится, но было и такое что в районе 2000 одновременно (на задержку не повлияло).
>>877564>>879903
#458 #877011
>>876788
>>876992
>>876997
Наличие лямбда исчисления — единственное конструктивное требование к языку программированию, чтобы называть его функциональным. Все остальное вызвано "экспертным мнением специалистов" по так называемым "функциональным" языкам.

>>876999
Иммутабельность не имеет ничего общего с "чистотой", даун ебаный ты такой. Иммутабельность это просто способ избежать состояния гонки. Современные функциональные креаклы (вроде тебя, еблан) очень гордятся тем, что не могут менять собственные переменные, хотя даже не знают НАХУЯ оно надо.
>>877012
#459 #877012
>>877011

>Иммутабельность не имеет ничего общего с "чистотой"


Это ты даун.
>>877017
1117 Кб, 2000x2829
#460 #877014
>>877005

>внимание к себе пытаешься привлечь как школьница-блондинка


Это как?
#461 #877017
inb4: cейчас прискачет функциональный фанбой кун и скажет, что в го нет дженериков, нет параметрического полиморфизма и главное, (внимание), нет TCO, а значит для "ФП" он не пригоден. Так и уйдет не узнав, что ФП это не Data.Array.ST, а способ формулировки алгоритмов, не более.

>>877012
Пошел нахуй. Когда начнешь хоть что-то понимать в кампуктер саенс, можешь вернуться.
>>877021>>877082
#462 #877021
>>877017

>кампуктер саенс


Соси хуй, пидор.
чернило !AN5G2JJLXA #463 #877082
>>877017

> комплюхтер сасай


Пофиксил
#464 #877099
>>876992
Ты понимаешь, что это всё перделки? ФП - это лямбда исчисление. Лямбда-исчисление - это функции. Если у тебя есть первоклассные функции, то ты на них делаешь переменные, пары, списки-хуиски, конбенаторы-мандадки етц. Уже отсюда появляется иммутабельность, просто как следствие. Ленивость, опять же, тоже просто следствие. ТСО разве что нужно, если хочешь быть более-менее практичным языком, но и оно не обязательно. Алсо, система типов - тоже перделка. Лиспы всякие - вполне себе функциональщина, и ничего, живут без типов. Да и сами типы Чёрч придумал сильно позже.
>>877002

>я просто пытался перечислить местным обезьянам отличительные концепции фп


>отличительные концепции фп


А чтобы быть императивным языком, нужно обязательно иметь компилятор, функции для работы с файлами, классы с интерфейсами и возможность создавать треды. Ну, а что? Я просто перечислил отличительные концепции императивных языков.
#465 #877162
>>877099

>ТСО разве что нужно, если хочешь быть более-менее практичным языком


Можно все трамполином разгонять. Но обычно нинада, потому что большинство рекурсий не хвостовые нихуя (если только ты не пытаешься изобрести for).
>>877192
#466 #877192
>>877162
Можно переделать в хвостовую, передавая дальше функцию. Просто этим никто не занимается, ибо сложно и нинужно.
#467 #877203
Почему если чего-то нет в Го, его фанатами это сразу объявляется "ряяя нинужно"?
>>877208>>877215
#468 #877204
>>877099

>Лямбда-исчисление - это функции


По твоему, лямбда = функция, долбоёб?
>>877208>>877224
#469 #877208
>>877203
Обычно ещё орут как выше: оно на самом деле есть, просто вы все криворукие и нихуя не понимаете вообще.
>>877204
Посмотри как он императивный код от декларативного различает, какие могут вообще быть вопросы?
>>877224
#470 #877215
>>877203
Может потому что ЯП не обязан быть общего назначения, а как правило решает определенные четко проблемы? Внезапно спроси какого-то хаскелиста почему у него в стандартной библиотеке нет хттп сервера и что он тебе скажет? НИНУЖНА. Спроси у рубиста, почему у него в стандартной библиотке нет HMAC. Что он тебе скажет? НИНУЖНА.

Так абсолютно везде.
>>877221>>877238
#471 #877221
>>877215
Так ты сейчас вообще про библиотеки, а не возможности/концепции языка.

Я к примеру пишу на нескольких ЯП на работе и на досуге, сам знаю, чего в них не хватает, +/- и с пеной у рта не доказываю, что они самые лучшие.
#472 #877224
>>877204
Нет, конечно. Лямбда - буква греческого алфавита. А вот лямбда-функция - это функция. Да, я тоже сначала не верил, а оно вон как оказалось.
>>877208
Ну, во-первых, я не "различал императивный код от декларативного" (что бы это не значило), а просто привёл отличительные особенности императивных языков программирования. Точно так же, как кто-то выше (ты?) привел их же для функциональных языков. И у меня получилось не хуже.
>>877263
#473 #877238
>>877215
Если спросить Пайка, ему вообще ничего не нужно. Как он женился - загадка.
#474 #877263
>>877224
То есть { x => formatC(); x + 1 } - тоже функция? Только не доёбывайся к псевдокоду
>>877282
#475 #877282
>>877263
Не понимаю немного. Ты хочешь доказать, что функционального программирования не существует, или что в лямбда-исчислении можно форматировать диск? Или, может быть, ты хочешь услышать от меня доводы о том, что сисечка - чистый язык? Просто надо прояснить перед тем, как я смогу ответить.
>>877334>>877394
#476 #877334
>>877282
похоже, он хочет сказать, что лямбда-функция - чистая функция.
>>877336>>877394
#477 #877336
>>877334
Тогда у него всё как-то совсем плохо с логикой и восприятием постов.
#478 #877394
>>877334>>877282
Я хочу сказать что для того лямбда-функции могут быть не функциями в математичском смысле, а просто сахарком для старых добрых процедурных портянок.
>>877414>>877430
#479 #877414
>>877394
Вообще все функциональные фичи типо лямбд, монад, функторов не являются чистой математикой, а просто math-inspired концепциями
>>877647
#480 #877430
>>877394
И что? Пиши так, чтобы были чистыми. Есть чистые первоклассные функции - можнасделать лямбда-исчисление. То, что можно функции делать и не чистыми - это просто расширение. Так же, как, например, типы или ленивость.
Да и тут смотря с какой стороны посмотреть. Лямбда везде - это кусок памяти, в котором есть некий энвайрмент (эдакий маппинг ключ->значение) и ссылка на функцию. То есть, их можно назвать сахарком к классам/объектам с одним полем и одним методом. Всё зависит от того, как глубоко в кроличью нору ты хочешь залезть.
>>877647
#481 #877564
>>877010
Расскажи, как в твоем понимании работает стек? Ты просто не можешь взять и пометить элемент в стеке свободным, тк в этой области памяти аллокация и деаллокация проходит по своим правилам. Для твоего более лучшего понимания своей неправоты: Есть С, в котором ты не можешь взять и освободить память в стеке(кроме как сделать return), как ты делаешь это с помощью free() для кучи, и язык как-то живет без сборки мусора дольше твоего бати, пожалуй. А вообще, не прогуливай пары.
sage #482 #877647
>>877430

>Есть чистые первоклассные функции - можнасделать лямбда-исчисление.


Вот именно что можносделать. С таким подходим любой язык - функциональный. Если это то что ты хочешь сказать, спешу сообщить что классификация по которой к какому-то подмножеству можно отнести все элементы множества не является полезной, поскольку не позволяет делать каких-либо выводов. Это тоже самое что говорить что любой язык объекто-ориентированный потому что в любом языке можно писать в ОО-стиле.

>То, что можно функции делать и не чистыми - это просто расширение.


Это расширение которое полностью ломает парадигму.

>Пиши так, чтобы были чистыми.


Кроме тебя есть еще тысячи разработчиков и миллионы строк кода. Их тоже чистыми сделаешь?

>Лямбда везде - это кусок памяти, в котором есть некий энвайрмент (эдакий маппинг ключ->значение) и ссылка на функцию


В функциональных языках тебе еще гарантирована ссылочная прозрачность. Собственно это и есть их основное отличие.

>То есть, их можно назвать сахарком к классам/объектам с одним полем и одним методом. Всё зависит от того, как глубоко в кроличью нору ты хочешь залезть.


Кончай говорить банальности с умным видом. Ты явно не понимаешь о чем говоришь.
>>877414
Функциональные языки позволяют применять equational reasoning.
>>877800
#483 #877800
>>877647

>Вот именно что можносделать.


Продолжаешь непонимать. Наличие ламбд (ну, окей, замыканий) уже делает язык функциональным. Можнасделать тут лишь пары, списки и прочее говно - то есть, стандартную библиотеку. А как ты, наверное, догадываешься, чтобы быть языком программирования (любым вообще) наличие стандартной библиотеки необязательно.

>классификация блаблабла


Не хочешь ли ты сказать, что лямбда-исчисление не является функциональным программированием? Потому что я не помню там ни типов (которые появились-таки, но немного позже), ни сборщика мусора, ни мандадок. А к чему приводит твоя классификация по методу "выдернем немного хуйни из более-менее известных языков" ты можешь посмотреть вот здесь >>877099 в конце.

>Это расширение которое полностью ломает парадигму.


Нет, не ломает.

>Кроме тебя есть еще тысячи разработчиков и миллионы строк кода


А я могу сделать функцию на сишке и обернуть её в хаскель. И будет эта функция портить хаскилевскую память или просто форматировать диск с шансом в процентов 30. Хаскиль теперь не функциональный язык, я правильно тебя понял? Ты же не контролируешь весь код.

>Кончай говорить банальности с умным видом. Ты явно не понимаешь о чем говоришь.


Ну, во-первых, в данном случае это взаимоисключающие вещи, поэтому ты определись, либо не понимаю, либо банальности. Во-вторых, такое говорят, когда больше сказать нечего.
>>877806>>878064
#484 #877806
>>877800

>Наличие ламбд (ну, окей, замыканий) уже делает язык функциональным


Напиши функцию curry на go, например. Какое функциональное программирование без каррирования?
>>877861>>877864
#485 #877810
Уважаемый, который пытается проповедовать функциональное программирование местным, остановись, не трать своё время. Раз нравится жрать говно, да ещё радоваться и добавки просить-пускай продолжают. Убогие даже в ООП не могут, куда им до ФП.
#486 #877820
Тред тух, задели такое говно как ФП и понеслась.

Еще раз убеждаюсь, что функциональное программирование чаще используют для поднятия самооценки.
#487 #877858
Меня умиляет, как припизженные разделяют языки на "лагеря". Лапша, ФП, ООП, хуе-мое. Вы совсем дебилы? Gо позволяет писать функциональный код. С++ позволяет писать функциональный код. Да что уж там, почти любой современный язык позволяет писать функциональный код. Харош адепты "ФП" уже понятно что вы продвинутые и умнее всех остальных, но не надо топить за свои "любимые" языки. Я сейчас могу придумать агрументов, почему любой твой любимый фп язык (хаскель, например) не является функциональным.

Кончайте цирк.
>>877861>>877877
#488 #877861
>>877858

>Gо позволяет писать функциональный код.


Не позволяет >>877806
>>877864
#489 #877864
>>877806
>>877861
Напиши функцию curry на хаскеле, например. У тебя не получится. Хинт: можно только curry2, curry3 и так далее. Хаскиль не позволяет писать функциональный код - вот же говно, а не язык :(.
>>877871
#490 #877871
>>877864

>Напиши функцию curry на хаскеле, например


Она уже есть в Prelude. Хаскель - функциональный язык. Го - паскаль с сахарком.
>>877874
#491 #877874
>>877871
http://ideone.com/Rb9D4e
Не работает :(. Баг, наверное. Пойду репортну. Вот же беда, вроде бы только нашли функциональный язык, а он дырявый, как решето.
>>877878
#492 #877877
>>877858

>Gо позволяет писать функциональный код. С++ позволяет писать функциональный код.


Не примазывайся к нормальным языкам. Пока в C++ есть templates, который порой считают вообще отдельным функциональным языком, в Go проверяют interface{} на соответствие каждому типу.
>>877975
#493 #877878
>>877874
Ну так у curry тип ( (a,b) -> c ) -> a -> b -> c, естественно оно не работает. Лучше на го пиши, хаскель для тебя слишком сложный.
>>877882
#494 #877882
>>877878
А, так тебе именно такой curry нужен, а не как в джаваскрипте. А в чём тогда проблема написать эту функцию в языке, в котором есть замыкания? Или, неужели го для тебя слишком сложный?
Вот, например, можно как-то так сделать, только надо типы проставить (я не знаю, как у них там полиморфизм делается и как функциональные типы пишутся, сделал на глаз):
func curry(f FUNTYPE) FUNTYPE2 {
return func(x interface{}) FUNTYPE3 {
return func(y interface{}) FUNTYPE4 {
return f(x, y);
}
}
}
>>877889
#495 #877889
>>877882

>А в чём тогда проблема написать эту функцию в языке, в котором есть замыкания?


Ну напиши, попробуй.

>неужели го для тебя слишком сложный?


Так и есть.
>>878249
#496 #877975
>>877877

>в Go проверяют interface{} на соответствие каждому типу


Ни разу это не делал за последние полгода наверное.
sage #497 #878064
>>877800

>лямбда-исчисление не является функциональным программированием


Такая постановка вопроса вообще-то некорректна, но я понял о чем ты. Нет, я не хочу этого говорить.

>не помню там ни типов (которые появились-таки, но немного позже), ни сборщика мусора, ни мандадок


Лябмды в лямбда-исчислении ссылочно прозрачны в отличии от анонимных процедур (более корректное название "лямбд") в ЯП.

>А я могу сделать функцию на сишке и обернуть её в хаскель


>Хаскиль теперь не функциональный язык, я правильно тебя понял?


Строго говоря, хаскель с FFI - не ФЯП. Если бы он заставлял внешние функции всегда возвращать IO a вместо a, то был бы. Здесь есть баланс между чистотой и практичностью. Но я не уверен что FFI можно или нужно считать частью языка.

>Продолжаешь непонимать.


Понимаю. Твоя точка зрения не верна и даже вредна потому что ты все языки в которых можно параметризировать код кодом валишь в одну кучу. Это то же самое что говорить что все тьюринг-полные языки одинаковы.

>во-первых, в данном случае это взаимоисключающие вещи, поэтому ты определись, либо не понимаю, либо банальности.


Наверное немного спутанно написал. Банальности - это про сахар для объектов, непонимание - про ФП в общем.

>877810


Я не проповедую ФП. Просто не нужно делать вид что C, Go, Scala и Haskell в одной категории относительно "функциональности".
>>878249
#498 #878249
>>878064

>Нет, я не хочу этого говорить.


Это хорошо, что ты понял, потому что сформулировать это корректно довольно сложно. Но тогда тебе придётся ответить, почему же пердолинг на чистом лямбда-исчислении является функциональным программированием, а тот же пердолинг на, например, жабаскрипте, на котором можно сделать всё то же самое, с различием лишь в синтаксисе, им не является. Так же этот пердолинг можно повторить на любом другом языке с замыканиями (хотя вот этот парень >>877889 намекает, что в го нельзя, потому что типы прописать не получится, но тут надо ждать го-вноедов, которые прояснят) с тем же результатом. Так почему?

>Лябмды в лямбда-исчислении ссылочно прозрачны


Ещё раз. Что тебе мешает не пользоваться расширением и делать ссылочно-прозрачные лямбды?

>всегда возвращать IO a


Строго говоря, хаскиль с IO - не ФЯП, потому что IO - огромный хак, и если так размышлять, то сишка будет чистым языком (всё в мандадке, оператор ";" "за сценой" передаёт RealWorld в функции и так далее). Похоже, из функциональных языков у нас осталась одна unlambda.

>все тьюринг-полные языки одинаковы


В зависимости от того, что ты вкладываешь в слово "одинаковые". При некоторых значениях так оно и есть.
>>878258
#499 #878258
>>878249

>что в го нельзя, потому что типы прописать не получится


Получится, через рефлекшн. Хотя типизация теряется.
http://ideone.com/WyepZU
#500 #878274
https://www.youtube.com/watch?v=gHCtEjzZ-rY

>In theory Go should suck, but in practice it doesn't.

>>878331
#501 #878331
>>878274
Редко такое пустое видео увидишь.
"Я хуй с горы, вот список недостатков го, но он всё равно норм) Не агритесь плз)"
#504 #878500
>>878492
>>878493
Что за высер, иди нахуй отсюда.
>>878580
#505 #878580
>>878500
Что заслужили как говорится.
#506 #879903
>>877010

> (100-200 rps)


> пиков в 100 мс, все остальное время ниже 5-10 мс.


Мм реалтайм хайлоад подъехал.
Тред утонул или удален.
Это копия, сохраненная 8 декабря 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски