Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 декабря 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
87 Кб, 620x620
21 Кб, 300x188
154 Кб, 800x800
95 Кб, 424x599
GoLang #3 GOVNO MEMES EDITION #878490 В конец треда | Веб
Что это за язык?
Компилируемый, многопоточный язык программирования со статической типизацией, разработанный компанией Google.

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

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

На какие языки он похож?
C, PHP, JS, 1C

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

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

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

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

Производительность
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 #878499
>>878490 (OP)

>основная сфера применения


>Бюджетный веб


И сразу вопрос: почему средняя компания/стартап должна выбрать голанг вместо питонов, руби, жс говна и прочего пхп?
#3 #878502
>>878499
экономия на железе, производительность и озу
>>878510>>878513
#4 #878504
>>878499
статическая типизация, если не знаешь для чего тебе в большом проекте такое, можешь идти лесом
#5 #878505
>>878499
1) Меньше стоят сервера;
2) За отход вправо-влево от идеологии партии - расстрел. Из чего и следует плюс - можно в любой момент выкинуть охуевшую макаку требующую больше 15 т.р. и заменить на новую, причем качество кода не осядет - язык тупо не позволяет нихуя делать.
#6 #878510
>>878499
>>878502
>>878504

но я бы взял джаву, ибо просто пиздец что-то серьезное на этом писать
>>878520
#7 #878513
>>878502
>>878504
>>878505
Сомнительные плюсы.
#8 #878516
>>878505
1) Программисты обойдутся тебе дороже железа, так что рынок школьников с локалхостами тут не в счет.
Да и там ничего нет. Написать нативные алгоритмы, которые просаживают все и вся будет очень легко (когда в скриптовых они уже оптимизированные)

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

>язык тупо не позволяет нихуя делать.


Еще как позволяет, особенно когда пишут процедурно и контроля над структурой размазывается по всему коду.
>>878519>>878523
105 Кб, 481x481
414 Кб, 838x1044
#9 #878519
>>878516
1) Программисты тут те же самые что пишут и на пхп и прочем - цена та же. А деплой заканчивается на заливе (всегда одного) бинарника по SSH и запуске, что оче поможет сэкономить при почасовых ставках у фрилансеров. Алсо, еще пикрел демонстрирует типичных гоферов - они как правило любят го и писать код, так что поторговаться до хорошего демпинга не сложно.
2) Ну там и не где ошибиться - см. ниже.

>Еще как позволяет, особенно когда пишут процедурно и контроля над структурой размазывается по всему коду.


Ну нету в вебе таких гигантских проектов, у тебя один хуй самое сложное что будет — это запросы в бд и их реддеринг в виде хтмл.
#10 #878520
>>878510
если кому нужен сахар - котлин
>>878525
#11 #878523
>>878516

>2) Ты частично прав, но качество будет такое, что будет как с историей php (брали с других языков, чтобы потом обучить php, так как вообще не могли вменяемых найти).


Самое главное что именно заменить действительно ОЧЕНЬ легко - даже на всяких пхп кандидату нужно знать какой-либо фреймворк и все прочее, когда у го нету и того.
#12 #878525
>>878520
И как потом менять макак когда те наговнокодят? Где хайрить котлин-девелоперов гоферов всегда можно откуда угодно переучить.
Так же сервера будут выходить дороже, и расценки у ява-рынка выше.
>>878533
#13 #878531
>>878519

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



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

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

Этот ад ждет и Го, потому что
-писать процедурно поначалу проще, чем вьебывать пустые модули с геттерами и сеттерами.
-нет нормального ООП и полиморфизма.
-нет исключений (ошибки проще заглушить, а паники не имеют типов, хер пойми что хочешь поймать)
#14 #878533
>>878525
В том и фишка, что ничего менять не надо. Можно тут же писать на джаве и котлине (да и думаю с радостью перекаться на котлин с джавы ибо просто сахар тупо)
#15 #878534
https://blog.golang.org/go-fonts
Хипстеры даже свой шрифт запилили, лел.
#16 #878536
>>878490 (OP)
лойс за пикчи
>>878542
#17 #878542
>>878536
Я рад что тебе понравилось.
#18 #878549
>>878519
1 - как же я ему завидую
сам бы хотел себе отсосать, только хер маловат, а позвоночник у меня не особо гибкий кагбэ
Вот...
12 Кб, 666x461
#19 #878550
#20 #878564
Я смотрю даже радио-т намазали, теперь там так резко стали Го любить и хвалить.
#21 #878581
>>878505

> язык тупо не позволяет нихуя делать.


> указатели


> интерфейсы


> горутины


Я тебе могу так наговнокодить, что и 10 макак не расхлебают
>>878585
#22 #878585
>>878581
Реально говнокодить из перечисленного тобой помогают только интерфейсы, которые одновременно всё и ничто, у го на редкость ахуительная система типов.
Указатели — с ними нихуя делать нельзя лол, горутины — да это дефолтный го код, где горутины крутстся в горутинах горутин и спамят по каналам горутинам горутин горутин, ничего сложного там тоже нет.
>>878586
#23 #878586
>>878585

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


> горутины крутстся в горутинах горутин и спамят по каналам горутинам горутин горутин


)))
#24 #878590
Лол, можно сделать так:
var xyz = her.New() // her.superStruct;
Но нельзя сделать так (объявив тип):
var xyz her.superStruct = her.New()

В глубоком коде нехера не понятно
foo(xyz.What)
xyz.What:
1. Это пакет и переменная?
2. Это пакет и функция?
3. Это локальная переменная структуры и поле?
4. Это локальная переменная структуры и метод?

А еще видел что в глобальную переменную суют структуры и получает монстр:
package.VarStruct.SomeField

А еще влюбился в короткие сокращения типа
a.MySuperField
ix.MySuperField
Или вот такое:
HFDcon.LeXYZ // и пытайся понять что это блять значит и заучивай что значит, ибо такого говна в коде полно.

Нахуй!
#25 #878591

>Го легкий, учиться за 2 дня.


Наверните говна!
https://habrahabr.ru/company/mailru/blog/314804/
подводных камней там похлеще чем в javascript
>>878593
#26 #878592
Пишешь себе закрытый модуль из структуры, все поля приватны, тестами покрыл, крутой модуль. Поместил его в отдельный файл my_super_struct.
@
Через полгода все падает, тебя япут.
@
Лезешь в код, через неделю оказывается, в другом файле того же пакета кто-то блять меняет состояние твоего супер модуля, ибо инкапсуляция на весь долбанный пакет.
>>878595
#27 #878593
>>878591

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


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


Если это подводные камни, то иди нахуй
#28 #878595
>>878592

> инкапсуляция на уровне пакета


все верно
#29 #878597
Легкие горутины, 4кб каждый, запускай миллионами...
@
Рвешь волосы на жопе, так как отладчик ненужен (с), а ты в душе не знаешь как отладить поведение в 10.000 горутин.
>>878620
#30 #878606
Взял новый язык Го.
@
Пишешь, работаешь со структурами
@
Местами у полей появляется логика, закрываешь поля, делаешь геттеры и сеттеры.
Визжишь от ручного рефакторинга с регулярками.
@
Половина структуры из полей, половина из геттеров и сеттеров, в душе умирает перфекционист.
@
Опытным путем приходишь к выводу в котором пришли в 90е-2000 годы, что лучше сразу покрыть все геттерами и сеттерами, а поля делать приватными
@
2016 год, на новом современном языке пишешь java-код, но с примитивной и глючной экзосистемой без maven и прочего, начинаешь понимать что тебя где-то наебали.
#31 #878607
>>878606

> закрываешь поля, делаешь геттеры и сеттеры.


Нахуя? На Го нельзя писать, используя ООП подходы.
Попиши на Обероне например, на Аде, некоторое время, потом приходи.
>>878613
#32 #878610
Опенсорсный язык, комьюните трудиться.
@
Без объявление и согласование корпорация "добра", тупо вводит новый синтаксис - алиасы, убивающий всю вменяемость.
@
Пламя жоп видно даже на плутоне.
@
Пока убрали и поняли, что насухую нельзя, надо постепенно
>>878922
#33 #878611
>>878606
Так ты данные от логики отделяй, тогда и никаких геттеров/сеттеров не понадобится.

джаваслесарь
>>878620
#34 #878613
>>878607

>Нахуя?


вот иди подумай нахера.
И прочитай как начальники "заставляют" делать это
https://golang.org/doc/effective_go.html#Getters
>>878614
#35 #878614
>>878613

> начальники "заставляют"


Меня никто не заставляет сеттеры например использовать
#36 #878617
В новом патче 1.5 вводят супер крутой сборщик мусора, но цена 20% процессорного времени.
@
Пламя жоп видны за плутоном, так как у некоторых цифры поболее вообще.
@
В 1.8 вводят еще более крутой сборщик с цифрами микросекунд, говорят про плату 5%, умельцы говорят, что просело до 20%
@
Жопы уже не горят, а светят чистой плазмой и не понимаешь зачем в вебе реалтайм GC и зачем за него переплачивать так?
>>878620>>878625
#37 #878620
>>878597
Суть в том, что асинхронная параша вообще априори неотлаживаемая. Ты хоть один отладчик такой видел? К говноедов и так достаточно фейлов которыми пользуются хейтеры, мне кажется ещё немного и они не пережили бы, поэтому легче повизжать "нинужна".
>>878606

>maven


Ну хоть gradle бы написал, мавен с его xml — начало 2000-х.
>>878611
Ща, братан, я тебе процедурный код поотделяю.
>>878617
Чтобы хтмл быстро рендерить и запросы в бд не тормозили, ты что, никогда большого веба не писал?!
>>879931
#38 #878625
>>878617

> зачем в вебе реалтайм GC


Лолблядь, вот ты сейчас серьёзно спрашиваешь?
#39 #878628
Шел 80-90е годы
@
Видя человеческий фактор, которому свойственно игнорить си-подобные ошибки - лучшие умы вводят исключения, чтобы если и приходилось игнорить, то нужно было выполнить как минимум финт ушами (а если не сделал, приложение отругает).
@
Приходит современность, завозят язык в котором можно даже заглушить ошибки, многие устают писать портянку err != nil, которая еще портит читабельность (и кстати не бесплатна по перформансу).
@
Наблюдая проблему, что же делают гоперы? Правильно! Пишут очередную тулзу-костыль (сотни их), которая сканирует и проверяет все ли ошибки были проверены.
>>878925
#40 #878636

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


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

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

>Лолблядь, вот ты сейчас серьёзно спрашиваешь?


Сбрызни отсюда, или иди прочитай про приложения реального времени.
В любом случае GC в 100мс за 5 минут это нормально для веба (дергая проц только во время сборки) или же ты хочешь чтобы постоянно дергался GC, в короткое время, оплачивая процентами процессора (или забивая целое ядро на камне).
#41 #878642
Нужно обработать строку
@
Конвертируешь ее в руну (нехера не бесплатно)
@
В веб приложении большая часть работы - это обработка строк
>>878774>>878928
#42 #878644
Так что, судя по пикче из оппоста уже разобрались нагружает гц стек или нет???
#43 #878646
Взял современный язык
@
Не нашел линкованой мапы (мапа сохраняющая порядок), не других базовых коллекций.
@
Плачешь, так как придеться писать самому, или вибрать из 100500 в гитхабе

----------------------

SQL Scan() принимает кортеж.
@
Тут же думаешь, что в момент развернешь структуру в кортеж.
@
Хуй тебе, в Го нет кортежа, ебись с со своей структурой и рефлексией сам.

----------------------

Не стал ебаться с рефлекцией, ручками прописал поля.
@
При добавление/удаления поля в базе, весело по всему коду ищешь все свои запросы и прописываешь новшество.
#44 #878664
Нахуя в скале фигурные скобки?
Паттэрн матчинг не завези ЧТО ЛИ?
#45 #878774
>>878642
@
не забываешь конвертировать обратно, так как большая часть работает со string, а не рунами.
@
Каждый символ весит 4 байта вместо двух (которых достаточно для глупого utf-8)
>>878777>>878928
#46 #878777
>>878774
Нельзя было в структуру string добавить сразу ссылку на руну (которая по дефолту nil, но при первом же запросе "собиралась" бы).

Пошел писать собственные эффективные строки...
#47 #878799
Goвноеды, вы больные что ли?
Зачем вы едите goвно?
Вас хотя бы заставляют?
#48 #878804
>>878799
А ты что ешь?
#49 #878805
>>878799
Мне вот интересно, что творится в голове у таких людей? Чем их не устраивает то, что на Go кто-то пишет? Это же их дело. Хочу - пишу на Go, не хочу - не пишу. Мой код никак не повлияет на жизнь данного индивида.
Почему же тогда Go вызывает боли в нижней части спины у некоторых?
>>878809
119 Кб, 604x471
#50 #878809
>>878805

>Чем их не устраивает то, что сладкий хлеб кто-то ест?


>Это же их дело. Хочу - ем сладкий хлеб, не хочу - не ем.



Ты болен, тебе нужна помощь.
#51 #878810
>>878799
Альтернативы кроме haskell есть?
>>878813>>878841
#52 #878813
>>878810

>кроме haskell


Erlang.
>>878815
#53 #878815
>>878813
Со статической типизацией? Олдфажный ноджс мне на сервере не вперся нахуй.
#54 #878820
>>878815

>Со статической типизацией?


Но ты же уже знаешь ответ.
Впрочем, если аллергия - бери Ocaml.
#55 #878831
>>878815
Так бери современный ноджс с типами.
#56 #878834
>>878504

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


Ок, если тебя так система типов волнует, зачем выбирать goвно?
>>878835
#57 #878835
>>878834

> зачем выбирать goвно


Паскаль на сервере, как батька Вирт завещал
#58 #878841
>>878854>>878939
#59 #878854
>>878841
Я пытался, честно. Го подкупает своей простотой.
#60 #878855
>>878854
Это значит что ты дебил.
Кроме шуток, вполне в медицинском смысле - проверься.
>>878941
#61 #878858
>>878854
"Простой" ЯП — это как алфавит из пяти букв. Запомнить-то легко, но пользоваться заебешься.
Лучше приложить силы к чему-то "сложному", что делает решение задач простым.
>>878862
#62 #878862
>>878858

> сложное


Я на работе на C# пишу, ну нафиг, дома хочется чего-то простого. Go в этом плане хорош, удовлетворяет мои хотелки.
>>878866>>878870
#63 #878866
>>878862
На шарпе можно же писать без линка и прочего добра. Джаваподобный код на шарпе не сложнее говнистого.
#64 #878870
>>878862
А, так ты гребец простое уровня индуса.
Ну так тебе мозг и не нужен, это верно.
#65 #878922
>>878610
Я лично неоднократно высказывался на реддите против алиасов. Но что поделать, сообщество гоферов — секта.
>>878943
#66 #878925
>>878628

>которая еще портит читабельность (и кстати не бесплатна по перформансу).


По-моему ты обосрался. Исключения всегда будут значительно дороже сишной обработки, потому что они стэк потрошат.
>>878946
#67 #878928
>>878642
>>878774
Вы че ты тупые блять? Кокрастыке строки в го сделаны пиздато. UTF-8 на уровне языка, с итерацией в коробочке. Ебасосы, как вы собираетесь разобрать UTF-8 строку без разбиения ее на кодпоинты?
>>878954
#68 #878937
>>878815
интересно как ты собрался делать системы которые должны развиваться с 0 даунтаймом с статической типизацией и зачем вообще нужна статическая типизация? Только без этих тупых отпездок что типа отлавливает ошыпки на этапе компиляции. Ошибки в бизнесс логике тоже отлавливает? Так получается тесты все равно надо писать? :3
>>878945
#69 #878939
>>878841
ему же писать код надо, а не на конференции доклады делать
#70 #878941
>>878855
ему же не самоутверждаться за счет синтаксиса нужно, а писать программы
#71 #878943
>>878922
ты не понял всей ситуции, это не было обоюдным согласием сообщества, они просто вкинули то, что хотели, потому что хозяева и могут (просто им там понадобилось в кодо-базе и срать на всех).
>>878944
#72 #878944
>>878943
Спасибо, я в курсе. Но это не отменяет того, что куча сектантов продолжали топить за хозяевов.
#73 #878945
>>878937
Во-первых, нулевого даунтайма не бывает. Для создания системы с шестью девятками требуется литр единорожьей крови в год.
Во-вторых, статическая типизация и горячая замена модулей в едином рантайме вполне совместимы.
В третьих — система на то и система, что можно выключить один из многих ее кусков, обновить и перезапустить. Какие типы прописаны в коде разных кусков не имеет значение, главное соответствие протоколу.
>>879286
#74 #878946
>>878925
маня, накакал тут ты, так как исключения ничего не стоят (практически), пока не возникнут. А if в коде юзаются всегда, тысячи их!!
>>878950
#75 #878950
>>878946
Ну да, +1 обращению к регистру каждый if это ПИЗДЕЦ перформансу.
>>878959
#76 #878953
Зато когда возникает исключение, стек идет по пизде, а с ним и кэш. И что ты делаешь? Ты делаешь RESTART. А мы гоферы можем просто справиться, превозмочь.
>>878961
#77 #878954
>>878928

>Ебасосы, как вы собираетесь разобрать UTF-8 строку без разбиения ее на кодпоинты?



Сделать строку из код-поинтов сразу!
string // слайз где 16 бит на поинт, которого полностью хватает
и другой вариант:
string32 // для всех хотелок в юникоде (или сделать суррогаты как в джаве)
или сразу из 32 бит, ибо похуй на память
>>878957>>879040
#78 #878957
>>878954
Ты понимаешь, что string == []byte, только иммутабельный. Строка в Go по-дефолту юникодовая, но может в теории содержать любую кодировку. Ты охуеешь, но вместо того чтобы делать 15 разных типов, чуваки просто решили интерполировать все в массив []byte (восьмибитные числа, блять). Это maxxximum компактно, блять. Ты не можешь компактнее.

Уебывай читать https://blog.golang.org/strings
>>878965>>878973
#79 #878959
>>878950
для твоих скриптов нет, но если ты был бы программистом, то понимал что этот маленький оверхед ввиду его частой используемости перерастет в ощутимую просадку для всего приложения.
Если бы такого не было то всякие джавы не тормозили бы в два раза от С++
>>878960
#80 #878960
>>878959

>обращение к регистру


>этот маленький оверхед


Ты дебил? Пиздуй учить устройство компьютера.
#81 #878961
>>878953
когда происходит исключительная ситуация, ты гофер идешь сосать хуй, потому что не знаешь в каком состояние твое приложение и что именно обосралось (то что можно подтереть и работать дальше или же все, пиздец)

Ебанные, глупые дети...
>>878964
#82 #878964
>>878961

>не знаешь в каком состояние твое приложение и что именно обосралось


Да нет, я кокрастыке все знаю, потому что у меня на каждом таком возможном месте есть if. А ты ловишь где попало где попало выпущенный эксепшон, слесарь)
>>878998
#83 #878965
>>878957
иди нахуй, если ты не понимаешь что любую строку, полученную из вне для посимвольной обработки тебе нужно будет перегнать в руну, а потом обратно, даже если ты ебучий американец с ASCII текстом, то я тебе ничем помочь не могу
>>878975
#84 #878973
>>878957

>string == []byte


этот дебил думает, что utf-8 строка помещается в байте?

Господа, у нас новый "стек, который тормозит GC"
>>878986
#85 #878975
>>878965
Ты понимаешь, что такое string и rune? Это алиасы []byte и int32. В чем проблема с тем, как сегодня работают со строками в Go? Итерация по UTF-8 строке гарантированно работает за линейное время.
>>879006
#86 #878986
>>878973
Этот дебил не слышал про компактную запись? Чувак, быстрее читай пиздать "все, что надо знать программисту о UTF-8" и https://blog.golang.org/strings пока совсем не обосрался.

>Some people think Go strings are always UTF-8, but they are not: only string literals are UTF-8. As we showed in the previous section, string values can contain arbitrary bytes; as we showed in this one, string literals always contain UTF-8 text as long as they have no byte-level escapes.

#87 #878998
>>878964
Ты хером читаешь, дятел глупый? Исключительная ситуация, а не ванильные ошибки.
#88 #879001
Точно такие же срачи о юникоде я видел в python сообществе лет 8 или 10 назад. Господа, вы повторяетесь.
#89 #879006
>>878975
Причем тут компактная запись уеба, вот тебе с расшифровкой:

Хочу обработать посимвольно строку
@
Трачу O(1) на преобразование в код-поиты (int32[])
@
Потом обратно в string(int8[])

----
В любом другом языке, берешь и сразу обрабатываешь посимвольно строку, ибо строка есть массив.
>>879009>>879010
#90 #879009
>>879006
То есть, если ты неуверен что там ascii текс (а в любых внешних данных ты априори не уверен не в чем) то ты обязан преобразовать поток байт в код-поинты UTF-8!!!!
>>879013
#91 #879010
>>879006

>Трачу O(1) на преобразование в код-поиты (int32[])


Эээээм никто это не делает. Тебе достаточно только один int32 для итерации, она же последоватльная и за линию гарантированно работает.
#92 #879011
Чувак, ты уверен что до конца понимаешь что такое UTF-8 вообще?
>>879016
#93 #879013
>>879009
потому что по-умолчанию в Го строка это нехера не код-поинты (не руны, не int32), а поток байтов.
#94 #879015
Тебе ничто не мешает держать в string абсолютно любую кодировку, только тогда придется итерировать не через range, а одну из функций в encoding/* например.
#95 #879016
>>879011

>Эээээм никто это не делает



лол, а как ты из "текущего текста" достанешь мне 5 символ(если строка это int8[])?
>>879019
#96 #879019
>>879016
Проитерирую до пятой руны, очевидно же.
>>879032
#97 #879022
Фокус в том, что очень редко тебе может понадобиться random-access к UTF-8 строке, которая не помещается в пространство ASCII. Если ты хочешь константный доступ к i-тому элементу, то действительно можно попробовать конвертнуть в []rune, например. Но вопрос в том, нахуя?
#98 #879024
И другой фокус в том, что ни один другой язык В ПРИНЦИПЕ тебе не сможет гарантировать компактную запись и свободный доступ к UTF-8 строке за константное время. Если она не помещается в пространство UTF-8 (кол. кодпоинтов ≠ кол. байт), то тебе так или иначе придется либо перейти в другую запись (аки []int32) или итерировать. Сложность линия будет как не крути.
>>879026
#99 #879026
>>879024
s/пространство UTF-8/пространство ASCII
быстрофикс
#100 #879029
Слился, я надеюсь?
#101 #879032
>>879019

>кококо в руны никто не конвертирует и похер на затраты на преобразования.


>как ты получишь 5 символ


>Проитерирую до пятой руны



сказачные долбаебы
>>879034
#102 #879034
>>879032
Хорошо, строки в го реализованы говно. Как ты предлагаешь сделать?
>>879040>>879046
#103 #879040
>>879034
сразу сделать массив из код-поинтов, чтобы можно было со строкой как со слайсом работать (безопасно, понятно что с ascii такое получиться и так)
>>878954
>>879042>>879046
#104 #879042
>>879040
Да, только тогда все строки будут занимать в два раза больше памяти в среднем, а это нахуй не надо никому.
>>879044>>879046
#105 #879044
>>879042
А в рунах 4 раза больше, но тут почему-то не тявкаешь, лол.

Вообще 16 бит бы хватило, как и писал:
string - это 16 бит массив.
string32 - это аналог "полных" рун в 32 бита, для всех хотелок юникода.
>>879047>>879048
#106 #879046
>>879034
>>879040
>>879042
Нет, ну что же.
Вообще сделать компактную утф8 с константным (или почти) доступом можно.
Но не нужно, ибо ничем хорошим в итоге для вас это не обернется.
Такова селяви.
>>879049
#107 #879047
>>879044

>А в рунах 4 раза больше, но тут почему-то не тявкаешь, лол.


Поэтому никто и не хранит строки в рунах?

Строка "привет" в питоне займет 86 байт, а в Go — всего лишь 12. Строка "привет0" в Go займет 88 байт, а в Go — 13. Чувствуешь, к чему я веду? Это тоже trade off. Оказывается, рандомно итерировать по строке нужно значительно реже, чем итерировать по ней, например. Поэтому в Go (и не только в Go, кстати), принято решение использовать компактную запись.
>>879054
#108 #879048
>>879044
но сразу с код-поинтами на символ
А то наслушались Пайка и так и не поняли что их наебали со строками (дали сырой поток байт, лол)

ебанные сектанты
>>879051
#109 #879049
>>879046

>компактную утф8 с константным (или почти) доступом можно


Поделись способом. Мне ничего кроме вектора оффсетов рядом в голову не приходит.
>>879052
#110 #879051
>>879048
Ты так говоришь только потому что ты плохой программист, и это не имеет отношения к Go вообще никакого. Go не без изъянов, но строки в нем сделаны очень разумно. За отличную поддержку UTF-8 его и нахваливают, на самом деле.
>>879056
#111 #879052
>>879049

>Поделись способом.


Вам такие вещи не нужны - для вашего же блага.
Да ты и сам понимаешь - или хотя бы чувствуешь.
>>879059>>879065
#112 #879054
>>879047
строка в го это структура - ссылка на массив байт и количество символов, так что хуй она тебе в сумме 12 весить будет, дитё ты глупое.

Тебе сказали что 16 бит на символ достаточно будет.
>>879055>>879065
#113 #879055
>>879054
А 640 килобайт хватит?
>>879065
#114 #879056
>>879051
За сырую поддержу потока байт? Нахваливают? Серьезно?

Вот наверно нахваливают (как в первой картинке), да?
>>878519
#115 #879059
>>879052

>Вам такие вещи не нужны - для вашего же блага.



Вот это маневр! Лолец
>>879064
#116 #879064
>>879059
А, так ты всерьез хотел получить решение - да еще и бесплатно.
Тяжело тебе такому наивному по жизни, соболезную.
>>879079
#117 #879065
>>879054
Окей, немного затупил. Еще будет оверхед слайса, но он будет ВЕЗДЕ. В любом языке программирования тебе понадобиться 8/16 байт оверхеда на вектор под массивом (в зависимости от разрядности системы).

>Тебе сказали что 16 бит на символ достаточно будет.


Ну да, только вот в таком случае все строки для которых было бы достаточно ASCII будут занимать в два раза больше памяти :))) И это ты тут про перформанс кукарекаешь.

>>879055
Бамп вопросу.

>>879052
Все понятно, еще один маневрист.
>>879073
#118 #879073
>>879065

>но он будет ВЕЗДЕ


С точки зрения криворукого дебила - несомненно.
посмотрел на тред
Хотя о чем я вообще, /го/вно же.
>>879089
#119 #879079
>>879064
ты еще не понял, что публично слил?
Мастер маневров))
>>879086
#120 #879086
>>879079

>эти приемы "взятия на слабо" уровня 8/бэ


И что, на одноклассниках прокатывает?
Ебать они у тебя дебилы.
#121 #879087

>ASCII будут занимать в два раза больше памяти


а если руна то в 4, ебанные сектанты
>>879089
#122 #879089
>>879073
Короче, смотри. Есть строка "хочу передать привет даунам с двача". На 32-битной системе она займет в конечном счете 73 байта. Пруф: https://play.golang.org/p/JaLqQJaq9-

На моем 64-битном компьютере она занимает 81 байт. В то время как аналогичная строка в твоем любимом питоне, который под капотом держит строки прямо так, как ты говоришь, по 16 бит на строку, занимает на моем компьютере 144 байта. Это почти в два раза больше.

>>879087
Если постараться, то можно и по 640 килобайт на символ выделять, но вопрос в том, какой идиот будет держать строки в []rune? Правильно, никакой, потому что в отличии от тебя все уже давно прочитали blog.golang.org/strings
>>879103>>879111
#123 #879090

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


>ко-ко-ко в Go самая лучшая поддержка UTF-8, все это отмечают.



ебанные сектанты :)
>>879092>>879093
#124 #879092
>>879090

>просто поместили сырой поток байт в массив.


Гугл все правильно делает - с особым цинизмом срет говном прямо на безмозглое быдло.
Быдло верещит от восторга и просит еще.
Ничего нового.
#125 #879093
>>879090
Лучше чем у Go поддержка юникода разве что у Perl 6. http://training.perl.com/OSCON2011/gbu/gbu.pdf
#126 #879095
Сорри вот рабочая ссылка https://www.azabani.com/pages/gbu/
#127 #879103
>>879089
Как только я захочу получить срез со строки, то твой костыль мало того что сожрет проца на обход и преобразование в код-поинты, так еще и аллоцирует памяти на всю строку где будет 32 бита на символ (в 4 раза больше для ASCII).
А потом снова вернет тебе сырой поток байтов.

Тебе бы экономкой работать
>>879108>>879114
#128 #879108
>>879103
Пруфы.
>>879115
#129 #879111
>>879089

>в твоем любимом питоне


>в твоем любимом


Охуел что ли, пидорасина.
#130 #879114
>>879103
Охуеть просто, внезапно свободный доступ с компактной записью не дружит (а срез строки это на самом деле биекция свободного доступа). Охуеть новость ты только что рассказал!

>сожрет проца на обход и преобразование в код-поинты


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

>аллоцирует памяти на всю строку где будет 32 бита на символ


Нет, никто не будет аллоцировать такую память.
>>879126
#131 #879115
>>879108
защеку, глупый нубас. Иди матчасть читай
>>879122
#132 #879122
>>879115
https://play.golang.org/p/ocxQqaXbuc

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

Чувак, серьезно, кончай позориться и лучше разберись в способах представления строк.
>>879127>>879130
#133 #879126
>>879114

>кококо, преобразование сырых байтов в код-поинт бесплатен!


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



примечание
Чтобы получить срез символов (НЕ байт!), тебе по-любому в Го нужно будет перевести строку руны, и будет аллокация и будет преобразование в код-поинты.
Единственно можешь оптимизировать и выйти раньше по циклу (но хз как там работает, может на выход тебе всю руну дают, это же Го)
>>879128
#134 #879127
>>879122

>кококо вот тебе никаких преобразований и рун


> в цикле обрабатывает руну



ебанные сектанты
>>879129
#135 #879128
>>879126
Ты, к сожалению, не понимаешь, что такое UTF-8, что такое компактная запись, что такое аллокация и что такое асимптотическая сложность. И ты даже не пытаешься разобраться! С тобой бесполезно спорить, я умываю руки.
#136 #879129
>>879127

> в цикле обрабатывает руну


ЧТО ЖЕ ТЫ СУКА ЗА ДАУН?! ЭТО ОДНА РУНА. КОНСТАНТНАЯ ПАМЯТЬ. 4 байта памяти на стэке. Нигде не возникает полного преобразования []int8 в []rune.
#137 #879130
>>879122

>toIndex := len(s)



Аллё! ты берешь длину байт в строке, тупое ты животное!!!
Но Пайк уже сделал тебе костыль utf8.RuneCountInString
#138 #879133
>>879130
Ты умеешь читать код? Причем тут нахуй utf8.RuneCountInString? toIndex это индекс в строке, до которого надо ее порезать (по-дефолту, до последнего). Что тебе не понятно?
>>879139
#139 #879134
Охуел от толпы дегенератов ITT.
>>879136
#140 #879136
>>879134
Маневрист >>879130 не палится.
>>879139
#141 #879139
>>879130
>>879133
>>879136
Два дебила - это сила.
/го/внотред такой /го/внотред.
#142 #879145
Короче, маня ты ебаная. Ты обосрался уже слишком много раз, чтобы тебя вообще всерьез воспринимать. Но я все-таки скажу пару слов на этот счет. Сначала ты спизданул, цитирую:

>Как только я захочу получить срез со строки, то твой костыль мало того что сожрет проца на обход и преобразование в код-поинты, так еще и аллоцирует памяти на всю строку где будет 32 бита на символ (в 4 раза больше для ASCII). А потом снова вернет тебе сырой поток байтов.



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

Если хочешь, могу все это доказать. Но ты не хочешь, потому что тебя не интересует истина, а только профанация и обсирание Go на дваче.
>>879155
#143 #879154
Как работает мозг гофера

> Если я спрячу преобразование в руну в range:


> index, runeValue := range xyz


> как


> i := range s


> значит никакого преобразования нет



ебанные сектанты

Новый мем: строки в го, почти не конвертируются в руну
>>879158
#144 #879155
>>879145

>действительно сожрет проца на обход


Это все, что нужно знать о ваших "утф8" "строках".
#145 #879158
>>879154
Ты же понимаешь, что range работает за O(1) по памяти и O(n) по времени?
>>879160
#146 #879160
>>879158

>и O(n) по времени


Ебаный /го/внодебил с /го/внокостылями.
>>879171
#147 #879171
>>879160
Я уже тебе объяснил, почему свободный доступ работает за линейное время. Ты всегда выбираешь либо эффективную память, либо быстрый свободный доступ, третьего не надо. Если тебе прямо так часто надо обращаться к юникодовой строке по индексу и O(n) для тебя неприемлимое время, то ничто в Go не мешает тебе хранить строки в []int16 и обращаться сколько влезет. Но обычно это не надо, поэтому в Go было принято решение по-дефолту экономить память на строки.
>>879184
sage #148 #879174
>>878249

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


Существующая экосистема и программисты в команде и вне неё. А еще неизвестно как выражать сайд эффекты, которые есть в любой реальной программе.

>потому что IO - огромный хак


Подробнее про хаки пожалуйста. Желаю полушать очердную диванную теорию.

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


Это словоблудие, ты понял что я хочу сказать. Если нет - другие может поймут. Sapienti sat.
>>879194
#149 #879175
Знаешь, что обычно (читай: почти всегда) со строками делают? Их сравнивают, например. В них ищут подстроки (Go для этого использует алгоритм Рабина-Карпа), строки сращивают. Их разделяют, их триммят и конечно же, по ним выполняют регулярные выражения. Ни для чего из этого не требуется свободный доступ по кодпоинтам, нахуя в таком случае жертвовать ради этого памятью?
#150 #879184
>>879171
уже легче, мы таки наконец-то признались что это не бесплатно (выздоровление не за горами!)

Пойдем дальше:

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


И это ты мне сейчас втираешь про эффективную память в контексте кодировки UTF-8???
Никогда мир еще так не экономил...

ебанные сектанты
>>879188
#151 #879188
>>879184

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


Я и не говорил, что это бесплатно. Это O(n) по времени и O(1) по памяти, я об этом с самого начала говорю, это ты какую-то хуйню несешь.

>И это ты мне сейчас втираешь про эффективную память в контексте кодировки UTF-8???


Причем тут нахуй UTF-8? Тут выбор между тем, чтобы использовать в два раза больше памяти ради свободного доступа или отказаться от свободного доступа, но сэкономить память. Ты еще про UTF-8 попизди, блять.
>>879210
#152 #879194
>>879174

>Существующая экосистема и программисты в команде и вне неё.


>как жаль, что из функциональных языков у нас осталась одна unlambda


>Подробнее про хаки пожалуйста.


Тип IO невозможно реализовать без специальной поддержки его компилятором. Значение реалворлда нельзя вытащить из мандадки ни до, ни после, ни во время. Что это, если не хак? Даже сами авторы хаскеля это признают (RealWorld is deeply magical).

>диванную теорию.


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

И ты не ответил на то, что тебе неудобно.
>>879227
326 Кб, 749x1080
#153 #879210
>>879188

>Это O(n) по времени и O(1) по памяти


А должно быть хотя бы О(ln(n))
Это гуманный вариант, потому что с О(1) у вас вообще все очень плохо.
>>879228
sage #154 #879227
>>879194

>Тип IO невозможно реализовать без специальной поддержки его компилятором


Мы говорим о ссылочной прозрачности, а не о реализации компилятора.

>Значение реалворлда нельзя вытащить из мандадки ни до, ни после, ни во время. Что это, если не хак


Что ты несешь, просветленный? Зачем его вытаскивать? Какой хак? Как это относится к изначальной теме?

>я прав во всём


Я заметил. Особенно много опыта работы у тебя с ФЯП.
>>879433
#155 #879228
>>879210

>А должно быть хотя бы О(ln(n))


Во-первых, правильно говорить O(logn). Во-вторых, чтобы получить логарифмический лукап, тебе придется каким-то образом использовать дерево. Для дерева тебе придется использовать указатели или хэш-таблицу. В конечном итоге ты используешь больше памяти, чем просто используя []int32, как предлагает больной выше.

Опять-таки, я могу формально доказать почему лучше O(n) по времени и O(1) по памяти для компактной записи ты не сможешь ничего написать. Но делать этого я конечно же не стану.
>>879232
#156 #879232
>>879228

>В конечном итоге ты используешь больше памяти


>ты не сможешь ничего


Омежки, омежки never change.
Всё у вас нельзя и запрещено, все (кроме тебя) у тебя виноваты в твоей глупости и бесполезности.
И это нормально - просто такой ты есть.
>>879238
#157 #879238
>>879232
Блять, ты еще скажи что можно отсортировать в худшем случае лучше, чем за O(nlogn). Есть определенные задачи, которые просто теоретически нельзя реализовать лучше определенной границы.
>>879257
#158 #879239
Вбил в поиск "golang substring", везде примеры типа str[3:5]
и в таком духе.
Получается если ты родился в правильной стране (с ASCII), тебе хорошо, а если не повезло, прыгай как мудак по рунам и пиши свою substring функцию.

Что это, алгоритм "Рабина-Карпа"?
Нет, алгоритм "Хулибина-Осётра"!

ебаные сектанты
>>879246>>879248
#159 #879246
>>879239
Ты еблан? Поиск подстроки и слайсинг это совершенно разные задачи, блять. Слайсинг почти никогда не делают для строк, которые не являются ASCII. А вот поиск подстроки не требует произвольного доступа.
>>879250
#160 #879248
>>879239
Иди нахуй уже со своими строками в еэрланг и перестань тут вонять, даун.
Зарепортил уёбка.
>>879251>>879262
#161 #879250
>>879246
Глупое дитя, substring это получение подстроки по индексу.

> Слайсинг почти никогда не делают для строк, которые не являются ASCII


Конечно, ибо вне ASCII он не работает!!!
А ты умён!
>>879253
#162 #879251
>>879248
что тут у нас? разврыв гоферского сектанского пердока!
#163 #879253
>>879250
Substring это, в переводе с английского, "подстрока", блять. Получение подстроки по индексам ее вхождения это substring extraction (lookup), а substring search это обратная задача — поиск индексов вхождения подстроки по ее значению, блять. Последняя значительно чаще применяется, и внезапно, не требует произвольного доступа к кодпоинтам.

>Конечно, ибо вне ASCII он не работает!!!


Просто задач нет. Назови мне какие-то реалистичные задачи, для которых может понадобится дробление юникодной подстроки по заданным индексам. Такое только в теории бывает по-моему (или очень редко), обычно со строками совершенно иные вещи делают.
>>879256>>879266
#164 #879255
тся/ться пиздец, целый день сегодня ошибки делаю
#165 #879256
>>879253

>нинужна


Ну ясн.
А всё снова лишь потому, что нет даже базовой фичи вроде перегрузки операторов.
>>879261>>879267
#166 #879257
>>879238

>лучше, чем за O(nlogn)


Вообще-то это невозможно.
Но если очень надо - то а вот это тебе точно знать совсем не нужно
#167 #879261
>>879256
Примеров задач не будет?
>>879274
#168 #879262
>>879248
Типичный представитель goвна, как только сливает или ему неудобно, начинает истерично клацать по кнопке бан.
Только двач это не сектантское говно-параша, малыш.
#169 #879263
ВНИМАНИЕ!!! ВНИМАНИЕ!!! ВНИМАНИЕ!!!

ДАННЫЙ ГОТРЕД БЫЛ ЗАХВАЧЕН ТРОЛЛЯМИ!!! С ЭТОЙ МИНУТЫ СЧИТАЕТСЯ НЕЛЕГИТИМНЫМ!!!

ИЛЮША ПРИДИ ПОРЯДОК НАВЕДИ!!!
>>879269>>879274
9 Кб, 200x167
#170 #879264
ДАННЫЙ ГОТРЕД БЫЛ ЗАХВАЧЕН ТРОЛЛЯМИ!!! С ЭТОЙ МИНУТЫ СЧИТАЕТСЯ НЕЛЕГИТИМНЫМ!!!
>>879269
#171 #879266
>>879253
там для тебя деблоида было написано погуглить по этой фразе и там именно народ получает подстроку по индексам, а не твои маня фантазиям, не позорься
>>879270
#172 #879267
>>879256

>базовой фичи


>вроде перегрузки операторов


Толстота пошла.
>>879272>>879274
#173 #879269
>>879263
>>879264

вот это маневры у goвняш наших пошли
#174 #879270
>>879266
Будто меня ебет что разные дауны вроде тебя гуглят.
>>879278
#175 #879272
>>879267
зачем, ведь мы будем в конец функции добавлять по букве
хочешь f
хочешь nl
а хочешь мы тебе впереди F поставим??
>>879277
#176 #879273
Так, все блять, вы доигрались. Щас буду писать на почту Илюше, чтобы пришел и взял это кубло под свой контроль, потому что текущий ОП почему-то не в состоянии курировать тред.
>>879275>>879276
#177 #879274
>>879261
Я хочу пересылать данные по сокетам и читать "прямо рукаме", а там аски будет маловато. Нинужна.

>>879263
Вась, шапху хоть посмотри.
>>879267
Так в чём толстота-то? Сделать возможность перегружать оператор слайса — настолько трудная фича, которую трудно реализовать?
>>879280>>879288
#178 #879275
>>879273
да залогинься ты уже петухан, мы знаем что это ты так тупо сливаешь
#179 #879276
>>879273
Братан, я даже несколько оригинальных пикчей сделал, и тебе уже не нравится?
#180 #879277
>>879272
правда я про перегрузки функций :)
#181 #879278
>>879270
Глядите, у нас особенный в треде со своим виденьем подстроки!
>>879281>>879282
sage #182 #879280
>>879274
Купи слона.
>>879283>>879287
sage #183 #879281
>>879278
Купи слона.
>>879283
#184 #879282
>>879278

>у нас особенный в треде


Илюша вернулся! :3
>>879284
#185 #879283
>>879280
>>879281
Привет, Илюша :3
>>879284>>879285
sage #186 #879284
>>879282
>>879283
Купи слона.
#187 #879285
>>879283
он тут с перегруженного стека висит
>>879287
#188 #879286
>>878945

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



Давай примеры, как ты опишешь расширение или изменение протокола при статической типизации в рантайме.

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



Получается что статическая типизация у тебя существует только на уровне сервиса а протоколы между сервисами уже динамические?
>>879314
#189 #879287
>>879285
Самое смешное, что обосрались все кто визжал про его неправоту — тред на пейпер в прошлом трете уже кидали.
>>879280
Мозгов гоферам к сожалению купить не смогу.

Вот вы наехали на текущего опа — а а тред тем временем стал супероживлённым.
>>879293>>879294
#190 #879288
>>879274

>Так в чём толстота-то?


Мне просто понравилось про "базовую фичу", которая есть в полутора языках.
>>879291
232 Кб, 559x604
#191 #879290
>>879362
#192 #879291
>>879288

>которая есть в полутора языках.


Чота ору. Ты лучше перечисли где её нет кроме жявы и говна с пхп.
>>879295>>879301
sage #193 #879293
>>879287
Купи слона.
>>879298
#194 #879294
>>879287

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



Илюша, залогинься, палишься снова (но мы ради что сознался, что это был ты)
>>879297
sage #195 #879295
>>879291
Давай я перечислю потом, а ты пока купи слона.
>>879298
sage #196 #879297
>>879294
Купи слона.
#197 #879298
>>879293
>>879295
Илюша, с тобой все в порядке?
Гугл нахуй послал с "должности" евангелиста что ли?
#198 #879301
>>879291
В Си, например. В ЖС. В Ирлонге.
Но да, что-то я проебался. Мой манямирок требует обновления.
>>879306
#199 #879302
>>879298
Их еще зимой разогнали, когда эти бараны на хабре слили Го, а ванюша рыдал на весь твиттер
>>879307
sage #200 #879303
>>879298
Я думаю что Илюше в отличии от тебя платят <3
>>879311>>879312
#201 #879305
>>879298
Илюш, не маняврируй, мразь.
>>879311
#202 #879306
>>879301
А вот и настоящий йилюша
#203 #879307
>>879302
Илюша вроде и не был, у него бомбила что его коммьюнити не приняло. В общем подростковые обиды.
>>879309>>879316
sage #204 #879308
>>879306
Илюша не палится.
>>879310>>879311
#205 #879309
>>879307
да загнобили прост

я даже как-то раз видео где тыкал писосиком его фоточку вбрасывал, олдфаги говнотреда помнят :3
>>879316
#206 #879310
>>879308
илюш:3
#207 #879311
>>879305
>>879306
>>879308
>>879303

Одно и тоже каждый раз. Илюша снова всех обхитрил, малолетний долбаёб
>>879313
#208 #879312
>>879303

>Я думаю


Шутку понял.
Смешно :3
#209 #879313
>>879311
Илюш, никого ты не обыграл, расслабься.
#210 #879314
>>879286

>Давай примеры


http://dcevm.github.io/
В джаве горячая замена модулей в общем-то давно есть, хоть и ущербная. А с появлением jRebel и прочего добра хотсвап стал полноценным.

>Получается что статическая типизация у тебя существует только на уровне сервиса а протоколы между сервисами уже динамические?


Разумеется. Ты не можешь дать каких-либо статических гарантий относительно узлов, которые ты не контролируешь. Даже если у тебя все валидируется/энкодится через protobuf-/json-/xml-схему или даже в ASN.1 описано — взаимодействие все равно осуществляется посредством совершенно динамических пакетов. Сеть — это внешний мир, его в типизированную монадку не засунуть.
>>879317>>879334
#211 #879315
>>879306
Ты что, илюща же гений, у него манямирка быть не может.
#212 #879316
>>879307
>>879309
Тоже мне, достижение целой доски, школьника загнобить. Омежки такие омежки.
#213 #879317
>>879314

>Сеть — это внешний мир, его в типизированную монадку не засунуть.


Скоро будет чебурашка, её - засунуть.
#214 #879318
>>879316
Илюш, ну ты чего, обиделся что ли :3
#215 #879319
>>879316
Илюш, не расстраивайся, и на твоей улице будет праздник
>>879320
#216 #879320
>>879319
Зачем ты его обманываешь?
sage #217 #879321
Единственный вопрос итт: где купить слона?
>>879323>>879325
#218 #879322
http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiy
Так илюща оказывается в 20-кублучших программеров мира входит кекус
И чо, из своего свинарника уезжать уже передумал или это просто зазывающее описание? Лень смотреть
#219 #879323
>>879321
У Ильи.
>>879326
#220 #879324
>>879316
ути-пути))
#221 #879325
>>879321
На пхп попиши.
sage #222 #879326
>>879323
Кто такой Илья?
>>879328
#223 #879327
>>879322
Илюш, кончай пиариться.
#224 #879328
>>879326
Это ильйуша, ты и я.
#225 #879329
>>879322

>http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiy


Видел этого пидора на http://ebanoe.it , деревянными гуферами торговал.
#226 #879330
>>879322
ути какой голосок стал мужественный:3
>>879333
#227 #879331
Кстати кто помнит его никнейм? Предлагаю затравить и там.
>>879335
#228 #879332
228
#229 #879333
>>879330
Выебал бы его? :3
>>879336
#230 #879334
>>879314
Сеть — это внешний мир, его в типизированную монадку не засунуть.
Ну к этому я и вел, что полностью все уместить в типы не получится, тот же эрланг именно по этой причине динамически типизирован. Никакая система типов не защитит тебя от того что ты дебил и делишь на ноль. Я просто пытаюсь уловить ход мыслей чела который пишет ой бля эрланг динамически типизированый фи, почему фи? Для документации можно аннотации писать или спецификации, статический анализ можно проводить по тем же аннотациям.
>>879344
#231 #879335
>>879331
namespace/tucnak/где как
>>879342
#232 #879336
>>879333
не будь аноном отсосал бы
>>879337>>879338
#233 #879337
#234 #879338
>>879336

>отсосал бы


Педик что ли?
Просто выеби его, будь мужиком.
>>879339>>879340
#235 #879339
>>879338

>Педик что ли?


Как что-то плохое написал. Я просто хочу сделать приятно :3
#236 #879340
>>879338
Илюша не палится.
#237 #879341

>As of summer 2016, I’m sort of sitting in between becoming a programmer, entrepreneur or musician. Let me finish the album and we’ll see!


Ухты какой он талантливый! Программист, предприниматель, музыкант. Может он еще и лидер метальной группы?
>>879345
#238 #879342
>>879335
А Илюша все и не стесняется о себе напомнить так невзначай.
>>879343
#239 #879343
>>879342
не маняврируй илюш
#240 #879344
>>879334

>почему фи?


Очевидно же почему: потому что в динамике возникает много тривиальных ошибок, от которых тот чел мог уже устать.
Я от ирлонга и динамики в целом устать еще не успел, но где могу стараюсь посыпать код типами.

Впрочем, тот чел с великой вероятностью даже о диалайзере не слышал, так что "фи ирлонг" могло быть простым кукареком.
>>879347>>879350
#241 #879345
>>879341
Может он балалаечник? Больше трех струн для музыки не нужно!
>>879346
#242 #879346
>>879345
Как и лишней хромосомы для го.
#243 #879347
>>879344

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



Ошибки те же самые что и при статической типизации, только в случае с статической типизацией ты получаешь фидбек во время компиляции а в динамической ты получаешь фидбек во время прогона тестов. Но статическая типизация не избавит тебя от необходимости писать тесты. Так что для меня, лично, это весьма странный аргумент, деление в рантайме на ноль выкинет систему нахуй в атсрал при любой типизации, тут надо быть просто не долбоебом, обладать кое-каким опытом и покрывать код тестами
#244 #879348
>>879347
З А В И С И М Ы Е_____Т И П Ы
16 Кб, 934x261
sage #245 #879349
Плохие новости, он не придет. Мб передумает. Если много людей напишет, то думаю все-таки вернется. Неравнодушные, давайте все-таки вернем его. Или это только мне не похуй?
>>879350
#246 #879350
>>879349
Хорошая попытка, но он сурьёзно здеся >>879344
#247 #879351
>>879347

>покрывать код тестами


Спасибо, идите нахуй.
#248 #879352
>>879351
$ go test
>>879353>>879354
#249 #879353
>>879352
go get
@
go vendor
@
get setup go_eleet_fonts
>>879355
#250 #879354
>>879352

>go


Рака всего тебе, гнида.
>>879357
sage #251 #879355
>>879353
Купи слона
>>879356>>879357
#252 #879356
>>879355
Покупаю твой минет, свинтус
#253 #879357
#254 #879358
>>879351
В зависимые типы я еще не погружался так что хуй знает, не шарю
#255 #879359
>>879351
понятно все с тобой, на го пишешь?
>>879420
#256 #879361
Итт есть хоть кто-то кто пишет на Go?
>>879362>>879423
#257 #879362
>>879361
->
>>879290

Писать на нем можно только монолитный код из 80х годов
>>879365
#258 #879364
Я хочу признаться. На самом деле я Илюша и я действительно в треде с самого начала сижу. Не думал, что меня раскусят, но сейчас уже просто устал терпеть.
>>879367
#259 #879365
>>879362
Даже поясню, писать структурный код по началу просто и удобно, минимум загонов. Но потом код становится чрезмерно, что ли, хардкорным.
Может мы не поняли дзена. Но придерживаясь философии го - мы сделали вывод "ненужно" (с) нам это.
#260 #879367
>>879364

>просто устал терпеть.


Так сходи посри, не мучайся.
>>879370
#261 #879370
>>879367
Зачем, я уже пришел в готред.
>>879417
#262 #879417
>>879370
Когда ты уже выпилишься?
#263 #879420
>>879359
На с+асм
Еще дебильные вопросы есть?
#264 #879423
>>879361
Я немного кодировал в свободное время. А что?
Всё, за что критикуют Го оказалось правдой.
>>879426
#265 #879426
>>879423

>Я немного кодировал в свободное время.


Лучше бы ты в свободное время хуи сосал
>>879427
#266 #879427
>>879426
Вся суть готреда.
>>879428
#267 #879428
>>879427
Вся суть /зк, дурачок.
Ебаное ит такое ебаное.
#268 #879433
>>879227

>ой, да мы вообще не об этом


>ой, да это не важно


>ой, да ты просто тупой и нипонимаеш


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


Сиськи с супом давай, а потом продолжим.
>>879515
#269 #879437
>>879347

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


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

>Но статическая типизация не избавит тебя от необходимости писать тесты


Вообще-то, избавит. Не ото всех, конечно, но там, где на питоне тебе надо будет захерачить сорок тестов, на окамле будет достаточно десяти (а то и меньше - в большинстве случаев достаточно лишь граничные значения проверить, потому что если они работают и не написаны в виде if a = 1 then X else compute_shit(), то всё в порядке).
>>879440>>879562
#270 #879440
>>879437
Зачем ты разговариваешь с дебилами, дурачок?
#271 #879442
Пока малолетний долбаеб-музыкант засерает тред, проведем небольшой близ опрос для тех кто все же юзает Го.


1. Для чего используете, в какой области?
2. Что привлекает в языке/технологии?
3. Что наоборот отталкивает или раздражает?
#272 #879446
>>879442

>Пока малолетний долбаеб-музыкант засерает тред


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

>1. Для чего используете, в какой области?


Фантазировать

>2. Что привлекает в языке/технологии?


Хайп

>3. Что наоборот отталкивает или раздражает?


Тролли в треде
>>879449
#273 #879449
>>879446
Илюша, please.
>>879450>>879508
#274 #879450
>>879449
Хорошая попытка, но нет.
#275 #879492
Ну так стоит его учить для написания своей соцсети?
>>879501>>879511
#276 #879501
>>879492
Нет. Учи Haskell.
Установи Snap! или Yesod и вперёд.
>>879504
#277 #879504
>>879501

>Haskell


Но я не люблю ебать себя в жопу.
>>879505
#278 #879505
>>879504
А зачем ебать себя в жопу, и месить ГОвно, если можно просто по-человечески писать на хаскелле?
>>879506
#279 #879506
>>879505

>по-человечески писать на хаскелле


oh wow
#280 #879508
>>879449
илюша детектит сам себя и думает что всех наебал многоходовочкой
но мы-то знаем
#281 #879511
>>879492
Нет, язык для толчения говна байтов в жепе, для чего-то сложнее паростроничного бложика подхрдит плохо. Возьми более распространенные веб-языки, я сурьезно.
>>879519
#282 #879515
>>879433
Еще раз: как реализация IO связана с ссылочной прозрачностью? Впрочем, можешь не отвечать, моё изначальное мнение подтверждено - ты нулевой долбоёб который говорит о том чего не понимает.
Поскольку разговор я затеял ради мимокрокодилов, интересующихся ФП, вывел нулевого на чистую воду и дал термины которые нужно гуглить, спешу покинуть этот Goдюшник.
Можешь писать слив засчитан ололо, просветленный знаток ФП.
>>879526
0 Кб, 512x512
#283 #879519
>>879511
Но я хочу быть модным.
>>879521
#284 #879521
>>879519
Ну тогда все ок. На любом митапе тебя примут за своего и даже поняжат под хвост :3
#285 #879526
>>879515
Нет, подруга, так не пойдёт. Разговор начался с моего утверждения, что чтобы быть функциональным языком, достаточно лишь иметь первоклассные функции. Потом вылезла ты и заявила, что это не так, и что ещё нужны ленивости и мандадки, попутно признав, что в ламбда исчислении этого всего нет, но "функциональным языком" оно является. Это уже говорит о том, что ты не понимаешь и с логикой у тебя не очень. После этого ты уже начала приплетать сюда всю эту хуйню о программистах и их командах, как будто они на что-то влияют, при этом уже третий пост подряд старательно игнорируя мой неудобный вопрос.

>как реализация IO связана с ссылочной прозрачностью?


А вот на это я отвечу. Сайд-эффекты есть - чистоты нет. Сайд-эффектов нет - чистота есть. Согласна? IO делает сайдэффекты. Они не чистые, потому что ты не получаешь "новый мир" в мандадке (получаешь только в теории, а не на практике). Потому что IO - хак. Поэтому код с IO не является ссылочно-прозрачным. Вот так и связана.

>ты нулевой долбоёб который говорит о том чего не понимает.


>вывел нулевого на чистую воду


>Можешь писать слив засчитан ололо, просветленный знаток ФП


Если ты думаешь, что вот такой призыв к эмоциям возвысит тебя в глазах окружающих, то ты сильно ошибаешься.
>>879533>>879655
#286 #879533
>>879526
Илюша, угомонись.
>>879547
#287 #879547
>>879533
Лол, ты лошок и не разбираешься в Илюше.

>первоклассные фкнкции


>Сайд-эффекты есть - чистоты нет.


>Сайд-эффектов нет - чистота есть


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


Илюша так никогда бы не написал...
>>879551
#288 #879551
>>879547

>...


Ну что же ты, илюша.
#289 #879562
>>879437

>Вообще-то, избавит


Да? В типах бизнесс логика содержится? Спешите видеть. Если твоя программка это положить или достать чета в какой-нибудь ебучий список или бд, то да, типизация как в хаскеле лишит тебя необходимости писать тесты. Но в реальных приложениях там дохуя триггеров, гардов, надо еще поддерживать транзакционность. Ты кладешь в одну хуйню еще по дороге должен залупнуться в 5 внешних сервисов и положить чета в другие коллекции а в какие-то может и не должен если то что кладешь в 3-ю больше 10. И как тут помогут типы проверить корректность программы?

> А потом в рантайме упадёшь из-за того, что буковку о два раза нажал в имени переменной.


Серьезно? Ты из динамических языков только джаваскрипт знаешь? Или ты привык писать код в вижыл студии или какой-нибудь идеи где огромный комбайн тебя за ручку водит. Никакие ограничения не защитят тебя от того что ты дебил, я про это уже говорил. Вчера кто-то заговорил про зависимые типы и я посмотрел на идрис, прикольная херня и годится там где ты делаешь критический софт, потом обмажу. Но я например пишу сетевой софт, я не боюсь если какой-то компонент системы ебанется или в системе случится ошибка. Отказы в системах это нормально.
>>879568>>879574
#290 #879568
>>879562

>Отказы в системах это нормально.


Это все что нужно знать о говнокодерах вроде тебя
>>879580
#291 #879574
>>879562

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


Спалился. Давай, расскажи мне, как какие-нибудь питон или руби в этом плане отличаются.
>>879580
#292 #879580
>>879568
я не пишу на говне я пишу на эрланге, у меня прямо ща в системе 2 генсервера пишут в лог что они умирают но супервайзер их поднимает и система работает, поправить их сейчас даже не в приоритете лол

>>879574
ну для питона и для руби верняк есть цивильные статические анализаторы, потомушта там сильная типизация. Отличаются собственно тем что там сильная типизация, не?
>>879581>>879591
#293 #879581
>>879580

>я не пишу на говне я пишу на эрланге


Сорта говна такие сорта.
>>879585
152 Кб, 1600x1000
#294 #879585
>>879594>>879674
#295 #879591
>>879580
Сильная типизация не мешает им падать в рантайме из-за опечаток в имени переменной.
#296 #879594
>>879585
На пике напиши "ну давай, расскажи мне про хаскель"
Вот ленивый пидор, всему вас учить.
>>879599>>879619
#297 #879599
>>879594
Почему сразу хаскелль-то? Это уже прошлый век.
#298 #879607
>>879442
Отдаёт json/xml, собирает статистику, рекламный сервер
Просто поддерживать код, горутины в языке для паралельных запросов s2s упростили многое, например.
Недавно еще искали рубиста, он таки быстро втянулся в работу.
Хотя генериков не хватает конечно, надоело с типизацией ебаться в тех местах, где можно было бы все сделать более красиво и читаемо.
#299 #879619
>>879594
ващета я знаю хаскел и даже люблю, на продакшене ничего на нем не писал, на нем и не попишешь те продакшены что я пишу, он для других целей ващета. А ты наверн крутой спец раз суешь везде свою любимую ебу.
>>879643
#300 #879643
#301 #879655
Блять, придёться ответить, даун путает людей.

>что ещё нужны ленивости и мандадки


Я этого не говорил. Вот мой первый пост: >>877204

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


>По твоему, лямбда = функция, долбоёб?


>>879526

>IO делает сайдэффекты


>код с IO не является ссылочно-прозрачным.


Еще одно доказательство того что ты не разбираешься в том о чем говоришь. IO не делает сайдэффектов, оно описывает вычисления имеющие их. Значения IO a ссылочно прозрачны. Дальше сам разбирайся на хаскель вики зайди чтоле, твоим образованием я заниматься не намерен. Ты туп и невежественнен.
>>879699
#302 #879674
>>879585
На пике напиши "Стесняюсь спросить даже, Владимир Владимирович... А можно... У Вас отсосать?"
>>879680
#303 #879680
>>879674
Нельзя, чернь блядь. Зубы иди от ГОвна вычисти.
#304 #879688
А вы знали? Если вы сделали db.Prepare для своего запроса, но коннект на котором вы это делали вдруг стал занят (потому что у Го нет нормального пула коннектов), умный Го будет делать заново Prepare на новом коннекте!!!

...что то?? Го для высоконагруженных проектов? Ага...
>>879690
#305 #879690
>>879688
When you prepare a statement, it’s prepared on a connection in the pool.
The Stmt object remembers which connection was used.
When you execute the Stmt, it tries to use the connection. If it’s not available because it’s closed or busy doing something else, it gets another connection from the pool and re-prepares the statement with the database on another connection.

ебанные сектанты
#306 #879699
>>879655

>Я этого не говорил


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

>Вот мой первый пост


А вот это ты зря. В том посте ты обосрался на стольких уровнях, что это даже не смешно. Я бы вот на твоём месте постыдился об этом упоминать. Можешь помедитировать, например, на то, что ты сейчас процитировал, если ещё не дошло.

>оно описывает вычисления имеющие их


"Его убил не я, а нож". Программа на С описывает вычисления. Абсолютно любая программа описывает вычисления.

>Значения IO a ссылочно прозрачны


Яcно, тебе просто насрали в голову. В теории это, конечно, так. На практике же ты не можешь достать реалворлд и проверить, тот же он там или уже другой. Если ты записал что-то в файл, то ты не можешь достать предыдущую версию файла из прошлой версии IO. Ты не можешь их ни сравнить, ни ещё что-то с ними сделать. При этом если ты каким-нибудь образом запишешь в файл строку "хуй", сохранишь версию реалворлда, запишешь в файл ещё один "хуй", достанешь сохранённую версию реалворлда и прочтёшь файл, то ты получишь ровно два хуя, а не один. Такая-то прозрачность.

>туп и невежественнен


Ты можешь знать больше меня (в чём я сомневаюсь, но чем чёрт не шутит), но вот понимания у тебя нет.

А вопрос так и остался проигнорированным.
#307 #879707
>>879442

1. Играюсь. Хотел взять для веба.
2. Структурное программирование, простота.
3. Конструкции if err !=nil иногда превращают простую логику в простой функции в простыню на пол экрана.

На фоне отсутствия дженериков и их очередной "ненужно", не понимаю, почему язык не сделали с динамической типизацией. Какая-то пародия получилась.

PS личное впечатление: такое ощущение что го писал школьник подросток. Вроде какие-то концепции где-то уловил, но тут же наталкиваешь на очередную тупость. Новые языки почему то глупее старых.
#308 #879712
Крутой тред, прямо филиал /b на программаче. Но энивей Гоферы сосут хуй
#309 #879720
>>879707

>такое ощущение что го писал школьник подросток


Это потому что Ричи сдох.
Вот был бы Ричи жив, такой хуйны не было бы сейчас.
>>879727
#310 #879727
>>879720
сочувствую галерным рабам там, их заставили жрать эту пародию на язык и вероятно даже ничего могли сказать против
>>879738
#311 #879738
>>879727

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


Всегда можно выбить нахуй зубы погонщику и уйти на +500.
#312 #879752
>>879707

>почему язык не сделали с динамической типизацией


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

>Новые языки почему то глупее старых.


Не обобщая
>>879754>>879759
#313 #879754
>>879752
Илюша, добрый вечер :3
>>879798
#314 #879759
>>879752
о да, а с interface{} все еще дешевле
>>879766>>879798
#315 #879760
>>879699

>взяв себе чужую позицию, тебе и отдуваться


Написал на дваче - взял чужую позицию. Крутая логика, как раз твоего уровня. Я для кого квочу конкретные утверждения?

>Абсолютно любая программа описывает вычисления.


Вот же тупое животное.
https://wiki.haskell.org/Introduction_to_Haskell_IO/Actions

>Яcно, тебе просто насрали в голову ... сумбурное бормотание дауна ...


Еще раз подтверждаешь незнание элементарных вещей.

>понимания у тебя нет


Нет его у тебя. Ты - типичный пример эффекта даннинга-крюгера.
#316 #879766
>>879759
или map[string]interface{}
коих наплодили сейчас
3030 Кб, Webm
#317 #879798
>>879754

>Илюша, добрый вечер :3


Под кроватью илюшу поищи
То что разработка на статических языках дешевле это общеизвестный факт.

>>879759

>о да, а с interface{} все еще дешевле


Я говорил про индустрию в целом, не про GO на нем вообще не писал.
>>879806
#318 #879806
>>879798
так вот мы, блядь, говорим как раз о го и его псевдо-статичности, глупое ты дитя!

Очередное животное, услышало о "статичности-кококо" и давай свое говномнение вне контекста писать.
>>879825>>879831
#319 #879825
>>879806
Вот тебя то разорвало то.
Как и везде есть градации лучше-хуже.
Но любая GOвнястая статическая типизация лучше динамикопараши, ноу дискас
>>879831>>879875
#320 #879831
>>879806
>>879825
Илюша, пожалуйста.
#321 #879875
>>879825
тебе еще раз говорят, иди нахер со своей философией. Полезность нормальной статической типизацией без тебя известна, но в го она такая бестолковая, что больше мешает
>>879889
#322 #879889
>>879875
Роберт Гризмер и Роб Пайк наверное забыли у сыча из /pr/ мнение спросить когда проектировали систему типов.
>>879893>>879896
#323 #879893
>>879889

>Роберт Гризмер и Роб Пайк


Уноси этих двух клоунов откуда принес.
>>879904>>880063
#324 #879896
>>879889
убери линейку, сынок, на /зк такими хуями не меряются (пиздуй в свой го чат, или что там у вас у сектантов)
>>879913
#325 #879898
Тем временем завезли новый раунд тестов:
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext
>>879902
#326 #879902
>>879898
rust как всегда отсасывает, даже в быстрые хелло-ворды не смогли?
#327 #879904
>>879893

>клоунов


Забыли спроситть твою оценку их персон.
>>879909
#328 #879909
>>879904

>спроситть


Эк тебя, /го/вняша.
#329 #879913
>>879896
Т.е. ты считаешь что мнение сыча с имиджборды может хоть как-то сравниться с такими авторитетами, как Роберт Гризмер, например?
>>879918
#330 #879915
Сыч с двача считает и свято верит в то, что все шарит и все понимает и знает как сделать лучше. НО на САМОМ деле, нихуя не знает, и ничего не может сделать сам. Расс Кокс опустит такого сыча, при возможности, за 10 минут. Но на АИБ выебываться петушок горазд, это да.

НЕ знаешь ТОНКОСТИ разработки языков программирования, не пизди. А ты не знаешь
#331 #879916
Rob Pike, whom for me is like the Yoda of the computer programming world today, big fan, is best known for his work at Bell Labs, where he was a member of the Unix team and was involved in the creation of the Plan 9 from Bell Labs and Inferno operating systems, as well as the Limbo programming language. Ohh! And he also helped create something called UTF-8, you might have heard of, hopefully!

Robert Griesemer, had an early interest in programming languages and ended studying in Switzerland under the creator of Pascal, language which a lot of people will say that had a direct impact on Go. He also had about 15 years of experience working with C++ and his biggest credential in my opinion is that he got recruited by Rob and Ken to join the original Go Team at Google.

Ken Thompson, this guy is out of this world, if Yoda had a brother, Ken would be him. He also worked most of his career for Bell Labs, and he was only responsible for designing and implementing the original Unix operating system. He also invented the B programming language, the direct predecessor to the C programming language, and was one of the creators and early developers of the Plan 9 operating systems. Did you hear that he invented the language that came before C? Ok then.
16 Кб, 250x376
#332 #879918
>>879913

>Роберт Гризмер


ФУБЛЯ
>>879939
#333 #879919
Но конечно же мальчики из зекача лучше знают, как делать языки. Конечно же мальчики из зекача лучше разбираются. Фокус в том, что статистически так получается, что вероятность того, что трое таких толковых мужиков со стеной опыта в прошлом — неправы, значиииииительно ниже, чем вероятность, что тролль из зекача по верхам нахватался и не имеет представления о том, о чем говорит.
61 Кб, 500x250
#334 #879920
Чисто статистически все тролли в этом итт треде были опущены ниже плинтуса. Друзья, это не я, это все статистика!
>>879923
#335 #879923
>>879920

>Друзья


Ты пидор что ли?
#336 #879931
>>878620
В вебе белых людей возьмут кластер из машин с 32+гб памяти и намажут на него джяву, и она будет работать в разы лучше чем говноу.
#337 #879939
>>879918
мля, я же кушал!!!
#338 #880054
Анон, как смириться и начать писать на Go?
>>880065>>880076
#339 #880063
>>879893
Борщехлебу то виднее естественноно.
>>880155
#340 #880065
>>880054
Берешь и пишешь. По сравнению с серверным js, это еще годнота.
#341 #880076
>>880054
Перестаешь слушать петуханов итт и просто, без задней мысли, начинаешь писать на Go.
sage #342 #880088
>>878854
Лёгкость != простота. goвно разве что лёгкое
>>880149
sage #343 #880090
>>879699

>если ты каким-нибудь образом запишешь в файл строку "хуй", сохранишь версию реалворлда, запишешь в файл ещё один "хуй", достанешь сохранённую версию реалворлда и прочтёшь файл, то ты получишь ровно два хуя, а не один.


Talk is cheap. Show me the code.
>>880155
#344 #880149
>>880088

> goвно разве что лёгкое


И так же простое. Ты в расте пытался писать асинхронный код? Мне больно блять на это смотреть, хз как люди такое парсить будут при поддержке какого-нибудь проекта.
>>880155
#345 #880155
>>880090
Нихуя, линус-хуинус трет освятил.
>>880149
А нахуя ты его с растом сравниваешь-то? Особенно учиытвая что там и нету асинхронщины в языке
Сравнивай с питоном, жсом, шарпом.
>>880063
Ну все остальные почему-то пытаются развивать языки, а один Пайк такой говорит: ребят, вы все пидорасы, а я - дартаньян.
#346 #880167
Многие хейтят Go, но скажите, в хаскеле есть SELECT? А быть может быть в хаскеле есть GOTO? Когда я последний раз проверял, в хаскеле было НИХУЯ, кроме типовой петушни и сомнительных парадигм, которые непонятно как принесут мне ДЕНЬГИ. Для меня, как программиста-бизнесмена, хаскель не несет объективной ЦЕННОСТИ, в отличии от Go.
>>880171
#347 #880169
Вы программистишки плешавые задроты, никого абсолютно не ебет что у вас там за философия кода. Я хочу иметь возможность легко и быстро вас менять (один ушел — другой пришел), а также быстро и дешево итерировать. ЭТО — ценность, реальная и объективная. Можете дальше дрочить на теоретические качества языков программирования, а я буду зарабатывать деньги, применяя Go в своем бизнесе.
41 Кб, 604x453
#348 #880171
#349 #880173
Microsoft ежегодно зарабатывает боснословные деньги. Но что-то пока я там работал, НИ РАЗУ не видел функционального кода. Потому что, ВНЕЗАПНО, функциональные языки — не более, чем маня-увлечения ботаников и задротов, которые просирают свою жизнь на PhD в области чего? Дизайна ЯП? АХаххахххаха.
>>880203>>880255
#350 #880203
>>880173
ну это просто потомушто ты байтослесарь и наняли тебя не языки дизайнить а байты ебать, ghc мостли разрабатывался в майкрософте, эрик майерс который запилил линк для сисярпа хаскелист и а про F# ваще молчу.
>>880284
#351 #880255
>>880173

> Но что-то пока я там работал, НИ РАЗУ не видел функционального кода.


Кто-же кодомакаку к порядочным кодерам сразу пустит? Вам лишь бы посрать на каком-нибудь форуме, а им делами надо заниматься.
>>880289
#352 #880277
>>878490 (OP)
Почему никто ещё не запилил форк без всякой идеологически правильной хуйни?
#353 #880284
>>880203

>ghc мостли разрабатывался в майкрософт


Microsoft Research != Microsoft. Рисерч отделение майкрософта — это такие же ботаники как вы, чьи увлечения дяденьки финансируют в надежде, что вы на что-то дельное в процессе своего фантазирования наткнетесь. Ничего общего со взрослым программированием майкрософт рисерч не имеет.
#354 #880289
>>880255

>Кто-же кодомакаку к порядочным кодерам сразу пустит?


Ахахаха функциональный блядок порвался. Посмотрим что запоешь когда через 10 лет поймешь, что инвестировал свое время и силы в тупиковую ветвь развития ЯП.
>>880309
#355 #880309
>>880289
Да кому ты нахуй надо с объектами своими, никогда не учи функциональные языки, это все от лукавого. Оварквалифицируешься еще на родной джаве станет неприятно писать. Ктоже будет БИЗНЕС ЛОГИКУ писать, уж точно не те кто теоремы умеют доказывать.
>>880322>>880324
ГОФЕР #356 #880312
мой любимый тред на ЗК
>>880326
#357 #880322
>>880309

>теоремы умеют доказывать


Очко себе докажи ахахахах) Маня-фантазер, ебать. Твой удел монадки в HASKELL компостировать, чмо)
>>880324>>880330
#358 #880324
>>880309
>>880322
Ну что же вы, програмистишки.
Илюша #359 #880326
>>880312
И мой :з
sage #360 #880329

>делить людей на "объектных" и "функциональных"


Вы совсем ебанулись?
#361 #880330
>>880322

>Очко себе докажи ахахахах) Маня-фантазер, ебать. Твой удел монадки в HASKELL компостировать, чмо)


>


ну, сука вот блять хаскелисты петухи блять делают штоа на нипанятном синтаксисе)) во смари чо мы с пацнами нахуярили внатуре
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/
не то что эти функциональщики там у себя борщи хлебают, зато на джаве работу легко найти
ФП НИНУЖЕН
>>880345>>880350
#362 #880345
>>880330

>нипанятном синтаксисе


Лол, пиздло, кончай себе цену набивать. В синтаксисе хаскеля нет ничего непонятного, дело в том, что язык не дает тебе НИЧЕГО. Корутины? Забудь. Шедулер? Нет. Кросс-компиляция? Ахахахах. Потребление памяти? АХахаххаха. Хаскель придумали такие же маня-фантазеры, как и ты. И используют его, в результате, такие же маня-фантазеры, как ты. Поэтому на Go за 7 лет написали и развернули в проде в 100 раз больше софта, чем за 20 лет на хаскеле.

Ну зато вы впереди планеты всей! Интеллектуальная элита программистишек, охуеть!
>>880357
#363 #880350
>>880330

>не то что эти функциональщики там у себя борщи хлебают, зато на джаве работу легко найти


пока будешь учить хаскель, илюша уже 3 раза успеет в гугл и фейсбук съездить
>>880358
#364 #880357
>>880345

>АХахаххаха


>Ахахахах.



вот ты испалился дурачок, все это есть в хаскеле, тока тебе в рот это никто не положил, ты всеравно не прожуешь, подавишься :з Ну а на пхп то и жаваскрипте сколько софта набыдлили, твоему го и не присницца, миллионы мух выбирают правильные инструменты. Хотя если ты делаешь ГОвно то ГО отличный выбор
>>880360
#365 #880358
>>880350
Илюша, который сам сидит на эрланг и мловые пайпы? Ну лан.
>>880359>>880360
#366 #880359
>>880358

>сам сидит


И дрочит*
#367 #880360
>>880357

>миллионы мух выбирают правильные инструменты


Чувак, люди деньги зарабатывают. До тех пор пока джава приносит больше всего денег, она останется лучшим языком программирования в мире. Ценность твоего ЯП ~ сумме денег, которых он приносит в проде во всем мире.

>Хотя если ты делаешь ГОвно


В это время десятки инженеров в гугл пишут шедевральный инфраструктурный код на Go и смеются тебе в ебало сквозь свои конские зарплаты, на которые ОНИ могут позволить СЕБЕ нанять штат таких фантазеров как ты)

>>880358

>Илюша, который сам сидит на эрланг и мловые пайпы


Пруф.
#368 #880363
>>880360

>Пруф.


Если бы ты сидел тут больше полугода — застал бы его хотя он недавно тут был и филосовствовал об эрленке

Можешь поискать там прототипы его маняязычка (он даже в прошлом треде отписывался) и посмотреть что и откуда там.
>>880386>>880529
Аноним #369 #880376
>>880360
лол блять так и представил как топовый инженер в гугле с салярой 100к в год месит круды на го.
Ты бля такой тупой что даже не понимаешь что го и джава это технологии не для инженеров, это технологии для воркеров, чтобы клепать круды формы и интеграции с сервисами которые настоящему инженеру делать тупо скучно. И пиарится эта залупа и продвигается для того чтобы ты был более заменимый и дешевый. Карьерный топ для такого инженегра это как можно больше лет провеслать на своей аутсорсинговой конторке чтобы выслужицца до сеньера, изучить весь ужаснейший говнокод и разбираться в этой параше чтобы не быть слишком заменимым и тебя не смогли выкинуть на мороз.
>>880380>>880529
чернило !AN5G2JJLXA #370 #880380
>>880376

> изучить весь ужаснейший говнокод и разбираться в этой параше


Как что-то плохое. Результат то один - подохну и я, и этот топовый инженер, и наши дети, и их дети. Лет через 200-250 всем будет абсолютно похуй уже на такие мелочи.
Зачем ты сейчас высрал это - яннп.
>>880381
#371 #880381
>>880380
И правда. Видимо то что для меня не ок, вполне ок для гоферов и джавистов. Пускай пишут, в моих же интересах чтобы шеб интерфейсы и круды были дешевле.
>>880418
#372 #880386
>>880360
>>880363
ИЛЮША ПРИДИ ВЫГАНИ ФП ПИДАРАСОВ!
@
ИЛЮША ТАЙКОМ КОЛИТ ЭРЛАНГ И НЮХАЕТ ОКАМЛ
чота орнул
#373 #880413
Тем временем, пока долбоманя выше истекает говнищем, все мейнстримные языки (даже уберконсервативная жява) впитывают в себя потихоньку элементы фп. Да даже CSP горутины с каналами — чисто декларативная концепция, что как бы намекает.
>>880445
#374 #880418
>>880381

> в моих же интересах чтобы шеб интерфейсы и круды были дешевле


Опять же, как что-то плохое, лол.
Когда я умру - не будет никого, кто бы это опроверг.
#375 #880445
>>880413

> впитывают в себя потихоньку элементы фп


Нихуясебе функции высших порядков каналы в 2016 году, такой катин эдж что ща голову нахуй отрежет, это есть всего лишь во всех скриптах, сисярпе и вообще всех функциональных языках интересно когда же завезут имьютабилити и сингл асайнмент, сделают модули с чистыми функциями и алгебраические типы данных с паттерн матчингом, есть там такой майлстоун? :з
>>880465
#376 #880465
>>880445
Модулей не будет — очень оверинжиниринг, а вот тайпклассы в том или ином виде есть везде.
Иммутабельность во всех новых языках уже есть, а СА наполовину в таких реализован.
Паттерн матчинг с адт уже есть везде кроме жявы с говном (даже в шарпе пм уже завезли, адт туда запилят в следующем же релизе).
Чистоты по умолчанию как и сейчас кроме хачкеля нигде нет и не будет.
#377 #880512
>>879699
Ой, дибил, просто иди нахуй. Хаскель не для тебя, равно как и размышления о нем. Иди вот с Goвнюками побщайся, аудитория твоего уровня
мимо-другой
>>880529
#378 #880529
>>880363
Это не пруф. По-моему он говорил только что планирует взять несколько синтаксических фишек из эрланга и окамла.

>>880376

>топовый инженер в гугле с салярой 100к в год месит круды на го


Эээээээм, вообще-то 100к это не такая уж и большая зарплата в гугле. Два годика поработаешь и будешь иметь. Это во-первых. Во-вторых, КАКИЕ НАХУЙ КРУДЫ? Круды на го нет смысла писать, на го здоровые люди пишут сетевуху, блять. но вообще ты прав, топовые инженеры не против пописать на Go.

>И пиарится эта залупа и продвигается для того чтобы ты был более заменимый и дешевый.


Не хочу тебя расстраивать, но я (лично) уже несколько лет не работаю программистом. Я предпочитаю заниматься бизнесом и покупать дешевых проституточек вроде ТЕБЯ!

>>880512
Да, я глупый, 99% программистов в мире дебилы, а хаскеллисты ВСЕ ПОНЯЛИ. Манька, вы в воображаемом мире живете, хорошо хоть RealWorld завезли, а то программы так бы и ничего не делали. Кстати, я слышал что в программах на хаскеле очень редко находят баги... потому что их НИКТО не компилирует нахуй.
sage #379 #880535
>>880529

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


Свежая интеллектуальная подъёбка от успешного %17-летнего% бизнесмена.
>>880543
#380 #880537
>>880529

>Я предпочитаю заниматься бизнесом


Этого пидора на http://ebanoe.it видел - деревянными хохлами торгует.
#381 #880543
>>880535
Не расстраивайся, я в прошлом тоже был кодерошлюхой. Пройдет время, осознаешь всю ущербность своего положения и поймешь, что нет абсолютно НИКАКОЙ разницы, на чем писать. Ведь главное что от тебя требуется, чтобы Я смог заработать денег.
>>880621
#382 #880597
Поясните за первый пик, неужто скала настолько проста?
Как оно по памяти? Не сожрет на вдс с 2 гб оперативки все что найдет? Держу там небольшой сервис на Go под ~500 юзеров в день.
>>880604>>880609
#383 #880604
>>880597

>неужто скала настолько проста?


Спустя 1000 строчек превращается в нерефактабельную кашу. Скала это аки С++ мира JVM: нахваталась кучу всего из кучи разных языков, но никакой общей картинки нет и код очень быстро без анального контроля превращается в адъ.

>Как оно по памяти?


Хуево, но терпимо.

>Не сожрет на вдс с 2 гб оперативки все что найдет?


Сожрет.

>Держу там небольшой сервис на Go под ~500 юзеров в день.


Ты делаешь все правильно.
>>880721
#384 #880608
Как в Go найти элемент в массиве?
>>880638
#385 #880609
>>880597

>Поясните за первый пик, неужто скала настолько проста?


Нет, лол. Она удобна и лаконична, но не проста.

>Как оно по памяти?


Как и жава. В общем — как напишешь так и поедет.

>Не сожрет на вдс с 2 гб оперативки все что найдет?


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

>Держу там небольшой сервис на Go под ~500 юзеров в день.


С таким адским хайлоадом хоть на руби с рельсами (самое тормозное что есть на рынке) перепиши — оно летать будет, тебе явно не стоит парится по поводу производительности.
#386 #880611
>>880609

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


это до первого школоддоса
>>880613
#387 #880612
>>880529

>Это не пруф. По-моему он говорил только что планирует взять несколько синтаксических фишек из эрланга и окамла.


А по-моему ты всё же долбоёб. Вот блять даже обосновывать не стану.
#388 #880613
>>880611
Ну так от него го и не спасает, это к фаерволу который обычно у хостеров по деофлту настроен дропать подобных личностей — у них трафик тоже не резиновый.
>>880617
#389 #880616
>>880609

>С таким адским хайлоадом


Ты представляешь себе как быстро эти 500 людей (а это уже неплохо, кстати!) уйдут, если какой-то школопас закажет ддос на недельку и твоя поделка на джаве с "регулируемым хипом" задохнется (можешь зугуглить throughput). inb4 клаудфлара тебе сильно не поможет против половины атак.

Может сразу начать писать на нормальных языках, расчитаных не на быстрое прототипирование, а на взрослых, приспособленных к хайлоаду, языках? Вроде Go, например.
#390 #880617
>>880613
Оказывается, нихуя. Оказывается, спасет. Тут-то и влетает в комнату пиздатый шедулер и стандартные средства стандартной библиотеки Go, заточенные как раз под высоконагруженные сервиса. Крути-не-крути, джава так не сможет.
#391 #880620
>>880616
Вась, для начала разберись в разнице между дудосом и досом.

Единственное к чему приспособлен го — месить говно палками как на той картинке. Пока кто-то будет трахаться с указателем другой уже запилит нужный функционал и пойдет наслаждаться выхлопом.
>>880617
О, ебать поехавший. Шедулер сейчас интернет-канал от спама почистит, подожди. Пока можешь сходить посмотреть как даже fasthttp, в котором высасывают говно из каждого байтика делает смачный минет netty.
>>880630>>880721
sage #392 #880621
>>880543

>Я смог



Головка от хуя.
>>880616>>880617
В голос что-то. Давайте закладывать 100500 rps когда реально будет 1 rps, ведь нас могут заддосить. Ой, а в базу же упремся!!! Срочно ищем подходящее no-sql решение!
>>880630
#393 #880624
Java/Scala:

Закодил на спарке бэкенд, радуешься-раздаешь, хорошее настроение. Ты — довольный джава(scala)-программист. Настроил кэш, сел за клаудфлару. Пришел ддос. Докупаешь память и процессор на digital ocean. Памяти все равно не хватает, потому что как не крути, твое приложение либо будет упираться в хип лимит и проходимость пойдет в пизду, либо придется рестартить его каждые 20 минут и в конечном итоге ты докупишь еще памяти и цпу. Твой сайт тормозит пиздец и ты ничего не можешь с этим сделать, потому что спарк (как и любой другой фреймворк на джаве или скале) хуево скейлится по ядрам и как не крути, под постоянной нагрузкой прогнется. Проходит неделя ддоса и твоя дорогостоящая аналитика пошла по пизде, потому что посещаемость упала до нуля (и вернется нескоро).

Go:

Закодил на gin бэкенд, радуешься-раздаешь, хорошее настроение. Ты — довольный Go-программист. Настроил кэш, сел за клаудфлару. Пришел ддос. Докупаешь совсем немного памяти и пару ядер на digital ocean. Ты написал бэкенд на Go, поэтому рантайм выжмет из твоих ядер все и ты получишь наилучший throughput на рынке. Проходит неделя ддоса и ты почти не пострадал, потому что стоило добавить пару ядер и твой бэкенд на Go расстащил все то, что не смогла убить клаудфлара. Твой бизнес в безопасности.
>>880627>>880635
#394 #880625
>>880616
>>880617
Илюша, спать иди.
>>880631
#395 #880627
>>880624
Илюша, быстро в кроватку.
>>880631
#396 #880630
>>880620

>Пока кто-то будет трахаться с указателем


:))

>Шедулер сейчас интернет-канал от спама почистит


Манька, если у тебя канал забит, то никакой софт не поможет.

>>880621

>Давайте закладывать 100500 rps когда реально будет 1 rps, ведь нас могут заддосить


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

>Ой, а в базу же упремся!!!


Кто делает кеш в базу не упирается.
>>880643
#397 #880631
>>880625
>>880627
Илюша временно отошел, говорит твоя мамка.

Аргументы будут?
#398 #880635
>>880624
Scala: ты сел и написал за пол недели всё как есть на готовых решениях. Всё отлично работает. Надо заскейлить — добавил сервер и не паришься.

===

Go: ты проискал неделю библиотеки, из десятков поделий хипстеров так ни одна и не заработала нормально. Пошёл писать свои.

Пока написал и отладил их прошёл месяц. Код продолжает падать и интерфейсы не равны нилу.

Тем временем требования к обработке данных изменились и ты твой сервер помирает от фрагментации.

Ты берёшь какой нибудь ссаный memcached и прибиваешь ссаными гвоздями. Твой сервер ломают и сливают все данные. Ты проебал половину клиентов и пошёл писать свой менеджер памяти.

Пока писал тебя опять взломали из-за того что где-то не углядел if err != nil. Последние клиенты проёбываются.

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

Не осилил такой масштабный рефакторинг — в коде хуй разберёшься, это такая сишка с комментариями вместо препроцессора. Всё проёбано, пора выпиливаться.
>>880637>>880640
#399 #880637
>>880635

>бинарь всё


Закончился
#400 #880638
>>880608
пробежать по всему массиву и сравнить элементы.

Еще есть https://golang.org/pkg/sort/#Search
такая функция
>>880641
#401 #880640
>>880635
Как жаль что ты это все про скалу написал... Особенно часть

>в коде хуй разберёшься


и

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

>>880645
#402 #880641
>>880638

>Search uses binary search


А если у меня неотсортированный массив?
>>880642
#403 #880642
>>880641
отсортируй и ищи. Разве есть алгоритмы поиска в несортированных массивах?
>>880644
#404 #880643
>>880630

>Манька, если у тебя канал забит, то никакой софт не поможет.


Ещё немного, и ты даже узнаешь о аппаратных фаерволах.
>>880630

>Лучше сразу думать о скейле, чем потом хвататься за голову и терять посетителей.


Так говно ничего для этого и не предраспологает. Самое сильное — может заскейлится на пару ядер.

Абсолютно несравнимо с какой нибудь аккой.

А самое смешное что даже фастхттп отсасывает у той же нетти — и местные кричат "ниет дудосируют!!".
>>880647
#405 #880644
>>880642

>Разве есть алгоритмы поиска в несортированных массивах?


Конечно есть.
Только не для /го/внодебилов, разумеется.
>>880646
#406 #880645
>>880640
Ну скала хоть имеет средства для нормального разделения кода.

Как она может страдать фрагментацией хипа с явовским сборщиком — это что-то из разряда твоей шизы.

Скала как никак дефакто один из главных хайлоад языков, наравне с явой и эрлангом, в отличие от го.

Крупные банковские и интерпрайзнве инфраструктуры или ссаненькие микросервисы — что из этого требует большей стабильности, отказоустойчивости и скорости? Мне кажется очевидно что го — просто игрушка для девопс-утилиток а не хайлоад язык.
>>880648
#407 #880646
>>880644
дай пример
>>880650
#408 #880647
>>880643

>Ещё немного, и ты даже узнаешь о аппаратных фаерволах.


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

>Так говно ничего для этого и не предраспологает.


Ты представляешь себе как работает веб-сервер?

>Абсолютно несравнимо с какой нибудь аккой.


Странно, почему тогда одна из самых хайлоадед компаний в мире (CloudFlare) отдала предпочтение Go и использует его практически всюду?

Может потому что акка это оверкил, заточенный под распределенные системы хотя тут уже стоило бы взять эликсир и не выебываться, которые накладывают свои ограничения на гибкость системы и по правде говоря, нужны только трем компаниям в мире?
>>880649>>880650
#409 #880648
>>880645

>Ну скала хоть имеет средства для нормального разделения кода.


>Скала как никак дефакто один из главных хайлоад языков


Конеееечно, конечно-конечно!
>>880649>>880650
#410 #880649
>>880647

>Ты представляешь себе как работает веб-сервер?


Ты представляешь вообще что такоет горизонтальное масштабирование? Или в твоём супирхайлоаде всё на вертикальном заканчивается?

>Странно, почему тогда одна из самых хайлоадед компаний в мире (CloudFlare)


Лол

>отдала предпочтение Go и использует его практически всюду?


Я открываю их гитхаб и... у них не меньше репозиториев на перде и жаваскрипте. Ещё куча lua. Что же это значит?

>нужны только трем компаниям в мире?


А, я таки был прав, у тебя опыт хайлоада — "ща оперативки добавим и всё будет посаны".
>>880648
На го пишут инфраструктуры банков? Нет? Так может это всё же игрушка?
>>880722
#411 #880650
>>880646
Так ты же /го/внодебил, тебе не положено.
>>880647
>>880648
Вас же разогнали нахуй и больше не платят - ты /го/вно жрешь бесплатно что ли? Ебать ты русский.
Впрочем, держи +15
#412 #880651
>>880616

> Вроде Go, например.


На си нахуй. Пиздец тут поехавших, которые про горизонтальное масштабирование и не слышали.
Внезапные нагрузки? Поднял дроп на дигиталоушене, дописал сервер в конфига нжиникса и платишь по центу в час за топовое железо.
Нагрузки прошли? Убрал строчку из конфига, нажал "удалить" на дроплете
Итого: юзеры довольны, а мы сэкономили полгода времени за 2$
#413 #880721
>>880604

> Сожрет


>>880609

> Будешь разрабатывать из минималистичных говна и палок а-ля го юникс-вей — всё нормально будет да это ява, там размер хипа регулируется одной строчкой конфигурации, о чём вообще речь


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


Да я просто попробовать, мне не хватает сахара в языке, на работе пишу на Python, иногда приходится под iOS еще писать - даже ObjC кажется в этом плане более фичастым языком.
Хз, может из-за сложности как-раз Роб Пайк и решил отказаться от многих идей при реализации.
>>880616
>>880617
>>880620
Ну блядь, я не срача ради спрашивал. Идите уже в Java загон выёбываться.
#414 #880722
>>880649

> перде


Эй, перл охуенный, не надо тут. Моя первая работа была на perl бэк поддерживать и дописывать одной региональной компании. Жаль что хипстеры не понимают его мощь, у них javascript головного мозга.
#415 #881070
ппц котятки, это мега ппц
У сервера Go, по умолчанию нет таймаута на keep-alive соединения.
То есть вы тупо можете забить все коннекты у сервака и все.

PS я вообще не знаю, есть ли у сервака поддержка таймаута на коннект? Если нет, то это будет лютый-вин!
#416 #881082
>>881070
Репорт киберпреступника.
Отписался Усманову и Пайку, жди гостей.
#417 #881124
>>881156
#418 #881150
>>881070
Это неправда. Но там какой-то пиздец с HTTP-запросами точно есть. Из того, что бесит больше всего, могу назвать незакрывающиеся соединения при таймаутах. Если таймаут не указать явно, то быстро в лимит хэндлеров уткнешься. Мне всё лень всерьез разобраться, как это все точно работает, но могу точно сказать, что вы не раз охуеете, когда захотите какой-нибудь йоба-парсер интернетов на Go написать.

Алсо, не используйте surf. Это говно по умолчанию сохраняет историю переходов в самопальный двусвязный список, который по размеру ну никак не ограничен. Автор либы умер, похоже, так что фиксов не ждите тоже. Ещё у Go есть проблемы со всеми XPath-либами, что я пробовал, они полностью не поддерживают всё, что в других языках есть из коробки. Парсер XML падает там, где не падают парсеры из других языков (признаю, что документы , на которых это всё падало, были сделаны какими-то ПТУшниками, но ошибки были мелкие, и, опять же, в проверенных годами языках и либах всё это нормально обрабатывалось. Ой, блядь, короче, серьёзно, не используйте Go для парсинга интернетов пока, а то всё на регулярках делать придётся.
>>881286>>881293
#419 #881156
>>881124

Что там? У меня на работе только двач доступен?
По дефолту никаких таймаутов я не видел
>>881159
#420 #881159
>>881156
В глаза ебешься?

>IdleConnTimeout: 90 * time.Second

>>881164
#421 #881164
>>881159
да хер там, ставил как просто коннект, как keep-live - весит сколько угодно.

То есть по дефолту там ничего нет, но хорошо хоть настроить можно (но кто вообще об таком думает? Типа взял сервер, будь добр прочитай про http протокол...)
>>881165
#422 #881165
>>881164
В смысле, хер там? Открой transport.go и охуеешь, что в конструкторе задается дефолтное значение 90 секунд.
>>881170>>881173
#423 #881170
>>881165
моему телнету видимо похуй или даун ты, перепутав с другим каким-то таймаутом (на уровне TCP, так как телнет TCP то держит нормально)
>>881174
#424 #881173
>>881165
чувак попробуй сам, не троллю
>>881174
#425 #881174
>>881170
// IdleConnTimeout is the maximum amount of time an idle
// (keep-alive) connection will remain idle before closing
// itself.
// Zero means no limit.
IdleConnTimeout time.Duration

>>881173
У меня все работает.
>>881202
#426 #881202
>>881174
лол, значит бага еще плавающая
>>881206>>881212
#427 #881206
>>881202
хотя есть вероятно возможный вариант, что ты пиздабол, ибо же сектанты
#428 #881212
>>881202
Какая версия Go у тебя?
>>881216
#429 #881216
>>881212
go version 1.7.1
>>881219
#430 #881219
>>881216
Показывай код и говори, как воспроизвести то, что делаешь ты.
>>881251
#431 #881251
>>881219
Чувак, я просто поставил слушалку keep-aliveов, открыл на :1313 и потом прямо из хрома накидал соединений, все умирают стабильно через 90 секунд. Мне лень тебе сейчас вот это код копипастить, сравнивать-доказывать. Ищи багу у себя где-то.

Или можешь зафайлить на гитхабе: https://github.com/golang/go/issues/new
>>881255
#432 #881255
>>881251
Тут какая-то рокировочка произошла. Я спрашивал у того анона, который говорил, что у него соединения не закрываются.
>>881264>>881265
#433 #881264
>>881255
Жизнь KA:
апач - 5 сек (по-моему дефолтная настройка, давно он у меня тут, не помню)
jetty - 30 сек
undertown - хуй
какой-то котлин сервак (не помню уже) - 30 сек
go сервер (дефолтный 1.7.1) - хуй

машина - win7, тестил по мужски через telnet, а не перделками.
Заголовок запроса:
GET / HTTP/1.1
host: localhost

PS тестил громко назвать, просто запускал, отправлял и смотрел кто как ждет
>>881266>>881268
#434 #881265
>>881255
А я подумал, что ты — тот анон, у которого соединения не закрываются. Бывает.
#435 #881266
>>881264
пардон, го 1.7.3 (win7 64)
#436 #881268
>>881264
Не работает у тебя пусть ну и не работает. У всех остальных работает. Show me the code.
>>881271>>881276
#437 #881271
>>881268
да мне тоже срать, это же говно. Пускай обжигаются, меньше будут на хипстерский выпук вестись (развели "конфиренских" дормоедов).
18 Кб, 321x264
17 Кб, 497x227
#438 #881276
>>881268
В общем-то, действительно соединение не рвётся. Сейчас проверю не с одним клиентом, а с двумя. Возможно, он коннекты рвёт при появлении новых клиентов.

go version go1.7.3 linux/amd64

Linux ... 4.8.4-pf #1 SMP PREEMPT Sun Oct 30 02:12:50 MSK 2016 x86_64 GNU/Linux
>>881277>>881280
#439 #881277
>>881276
Нет, даже при появлении второго клиента после двух минут ожидания коннект не рвется.
>>881280>>881284
#440 #881280
>>881277
>>881276
Мы долбоёбы. Там IdleConnTimeout, похоже, используется для клиента. У сервера с Keep-Alive всё не очень радужно. Есть ReadTimeout, есть WriteTimeout, есть дедлайны. Per-request таймауты есть, per-connection — вроде как нет, но можно написать самому.

По части сетевой хуйни в Go ещё есть, что дописать/переписать, я считаю.
>>881282
#441 #881282
>>881280
Ой, нет, ReadTimeout и WriteTimeout, собственно, вполне успешно можно использовать для указания Keep-Alive таймаутов. Что-то я заебался сегодня и туплю уже. Вангую, что по дефолту таймаутов нет или они конские. Для http.ServeMux кастомный Transport задать нельзя, следовательно, IdleConnTimeout действительно можно использовать только для клиента.
#442 #881284
>>881277
как мило,
гоферы пишут свои велосипедики,
воть у гоферов появились маленькие юношеские баги...


осталось дождаться статьи или конференции Роба Пайка, на которой он нам расскажет, что это ненужно
>>881286
27 Кб, 477x376
#443 #881286
>>881284
Я >>881150-кун. Считаю, что при всей минималистичности Go в стандартную библиотеку запихали неокторое количество говна, которое нельзя использовать нигде, кроме детских примеров. Когда работаешь с сетью, всегда гарантированно приходится забывать про писечки вроде дефолтного транспорта/клиента и дефолтного же сервера, которые просто хуй клали на всё, включая закрытие соединений в особых случаях.

Код с пика будет работать так, как тебе нужно. Но вот хуй ты его в документации официальной найдешь в качестве примера.
#444 #881289
>>881286
Это таймаут "с последней активности" сокета/канала?
Или же это вообще просто таймаут на весь коннект? (почему спрашиваю, так как есть другая проблема - это атака медленными соединениями,
или же наоборот мы отдаем большой объем данных)

Я понимаю последнее глупо, но это же го.
>>881294
#445 #881290
>>881286

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



>>879707

>личное впечатление: такое ощущение что го писал школьник подросток. Вроде какие-то концепции где-то уловил, но тут же наталкиваешь на очередную тупость.



аналогично
>>881294
#446 #881293
>>881150
почему бы не взять netty (java) гибкая нативная штука и в тоже время не надо на голых сокетах писать (там есть таймаут-хендлер)
>>881294
14 Кб, 736x37
#447 #881294
>>881289
Пикрелейтед. Атаки на медленные запросы не пройдут. Но если взять детский пример из документации, то пройдут. Как я люблю это, вы не представляете.

>>881290
А мне нравится язык. Параллельно еще много на чем пишу. В Go мне очень нравится то, как код пляшет вокруг структур данных. Нет правильной структуры — хуй соси, писать будешь через боль. Есть структура — код льется из тебя как Б-жье молочко с небес, ангелы вокруг поют, нутыпонел. В принципе, иногда ощущение создаётся, что пишешь на скриптопараше без всех её минусов.

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

В данном треде же рекомендую никого не слушать, кроме меня, но я тут почти не появляюсь, потому что здесь все абсолютно отбитые. Потрогайте язык, палкой там потыкайте, и если понравится — используйте, не понравится — хуй с ним. Говорить здесь с кем-то бесполезно, местные школьники на Go пишут хеллоуворлды и всё такое. Плохо, что язык хайпят исключительно неумелые мудаки.

>>881293

> java


Потому что не всем нравится Java, не всем она нужна и не все могут на ней правильно писать.

> нативная


> Java


Choose one.

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


В голых сокетах ничего плохого нет. В том же Go с ними всё ок. Есть и более высокоуровневые штуки в Go, с которыми тоже всё ок. Непонятно, к чему ты тут про сокеты начал втирать.
>>881304>>881307
#448 #881304
>>881294
Я считаю это вин.
Находят детскую-уязвимость на уровне школьной лабораторной по сетевым приложениям, потом для решения проблемы, нужно копнуть не документацию, не гугл, а сорцы, найти там эти сорцы, найти описание, в котором информации столько же сколько в название переменной (т.е. нихуя).

Таймаут чего?? Таймаут канала/cокета вообще, таймаут процесса чтения/заиписи (насколько долго процесс идет) или же таймаут с последней активности на канале/сокете?

Смешно, но в таких случаях нужен контроль всех трех состояний, притом в определенных случаях нельзя просто оборвать канал/сокет по таймауту (но при этом нужно определить не атака ли это с медленными соединениями).
>>881486
#449 #881307
>>881294

>А мне нравится язык. Параллельно еще много на чем пишу. В Go мне очень нравится то, как код пляшет вокруг структур данных. Нет правильной структуры — хуй соси, писать будешь через боль. Есть структура — код льется из тебя как Б-жье



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

Го тут не привнес нехера ничего, скорее ограничил, так как полиморфные структуры данных это реально круто.
#450 #881313
>>881307
...но все же добавлю, так как ты сложнее скриптов вероятно не писал, но думаю хочешь вырасти как программист, скажу - работа с голыми структурами удобна по началу, никаких абстракции, пляшешь вокруг данных. Но потом в один прекрасный момент многолетнего проекта это все превращается хрупкий процедурный мусор.
Проходили это уже сотни раз, просто, вероятно, эволюция прошла мимо го-архитекторов.

Поэтому если для тебя джава стара, погляди на котлин, а процедурного программирование оставь дядям из Си или для скриптов.
>>881344>>881486
#451 #881344
>>881313
нет нихуя, не неси хуйни. Данные и есть ванильные сочные центра любой системы а данные эти толкаются функциями. Это только дебилы в джаве оборачивают все в всратые объекты чтобы потом всрато комбинировать объекты, а не по нормальному данные. Идите на хуй со своим котлином и джавой. Уж вот где блять реально говно не такое уж и говно как при сравнении с джавапарашей.
Сотни раз он проходил, а ну пиздуй отседова интерфейсы реализовывать, джавовский подзалупок!
#452 #881348
>>881307

>публичными полями


>структура будет полиморфной


Ты ничего не попутал?
>>881457
#453 #881380
Ну йобана, решил блин с утреца чутка попилить реализацию своего протокола для одного проекта.
https://groups.google.com/forum/#!msg/golang-nuts/3TY8jX-iRC8/X2hBGSiv4WoJ
Битовые поля не часть языка. Написать так-то велосипед не долго, но опять же непного неприятно.
>>881381
#454 #881381
>>881380

> немного


Опечатался, fix.
#455 #881384
>>881307

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


Когда в Java появится что-то похожее на CLOS - приходи.
>>881395>>881457
#456 #881395
>>881384
Когда оно станет кому-то нужно кроме лисподрочеров — будет.
Ну на жвм-то хоть кложура и порт cl есть для таких развлечений, с это говном вообще никак такое не забахать.
>>881405
#457 #881405
>>881395
Ну и зачем сравнивать чистый ООП язык с императивным?
Почему хейтеры не орут на каждом шагу вах какая Оберон говнина, как мы можете писать на Фортране, это же параша, а к Go столько претензий?
>>881413>>881414
#458 #881413
>>881405
Ты сам-то понял что написал? ООП относится к императивной парадигме, что как бы намекает на состояние твоего мозга.
#459 #881414
>>881405
Оберон и прочие Модулы и так заслуженно подохли. Хотя читал, как на одном из них ПО для российских космических аппаратов пишут, лол.
>>881417>>881426
#460 #881417
>>881414

> Оберон и прочие Модулы и так заслуженно подохли


Ага, и Форт подох, и тикль и окэмл.
#461 #881426
>>881414

>на одном из них ПО для российских космических аппаратов пишут, лол.


На оберон еще пишут компилятор в Excelsior Jet (известная альтернативная реализация JVM)
>>881431
#462 #881431
>>881426

>разрабатываемая c 1997 года компанией Excelsior из Новосибирского Академгородка


Почему-то я не удивлён.
#463 #881457
>>881348
тут походу нужен другой вопрос, для особо одаренных, ты в курсе что такой полиморфизм в ООП?

>>881384
кто пустил это животное, съебись с треда востребованных языков.
>>881464
#464 #881464
>>881457

> востребованных


> golang


Толсто
>>881472
#465 #881472
>>881464
как бы не было забавно, но по-востребованней лиспа.
#466 #881473
Что там у нас с http на Го? Не одного разрыва? (с)
#467 #881486
>>881304
Не передирай. Сорцы читать необходимости нет, но мне по ряду причин иногда удобно такую возможность просто иметь. Уязвимости тоже никакой нет, если писать правильно. Просто хипстота в бложиках и на конференциях не говорит, как правильно писать. У меня такое ощущение, что все, кто говорит о Go, на Go не пишут ничего, кроме твитов и асинхронных хеллоуворлдов.

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


Эту часть совсем не понял. Порвать по таймеру можно что угодно в каком угодно случае. Зачем что-то определять — не совсем тебя понимаю, но если такая необходимость есть, определяй, а так оно и из коробки определится.

>>881307

> Как же вы ограничены


Ограничен, видимо, ты, но мне всё равно, это твоя проблема.

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


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

>>881313

> так как ты сложнее скриптов вероятно не писал


Сильное заявление.
#468 #881531
>>881486

>


Что за детские маневры?
Ты будешь аргументировать или просто перефразировать мои слова в обратную сторону?

Структурно в джаве писать можно, более того там так и пишут (анемичная модель данных дядюшки Мартина Фаулера, лол)

Так что съебись диван отсюда.
#469 #881862
>>881486

>Уязвимости тоже никакой нет, если писать правильно


Если на сишке писть правильно, то там тоже ни багов, ни уязвимостей не будет.
>>882023
#470 #881995
>>881486

> хипстота в бложиках и на конференциях не говорит, как правильно писать


лол
как можешь, так и пиши
>>882009
#471 #882009
>>881995
но я никак не могу что мне делать
>>882012
sage #472 #882012
>>882009
идти в макдональдс
#473 #882023
>>881862
Я с тобой согласен.
#474 #882144
>>881286
Что за язык?
>>882154
#475 #882154
>>882144
Язык заменяющий си в 80е годы, выпущенный в 2012 году.
Или закрытый эксперимент, доказывающий значимость маркетинга над дизайном языка.
>>882202>>882276
#476 #882202
>>882154
Хейтеры здесь круглые сутки пасутся?
#477 #882252
Как вы тут собрались ПХП побеждать, когда ваш кусок говна даже с HTTP обсирается?
>>882260>>882261
#478 #882260
>>882252
php уже сам себя победил
>>882510
#479 #882261
>>882252

> когда ваш кусок говна даже с HTTP обсирается?


Пруф или долбоеб.
>>882510
#480 #882276
>>882154
Очень похоже на джаваскрип типо фанк и ещё оператор такой знакомый, из паскаля вроде или пролога
#481 #882292
>>880529

>- РРЯЯЯЯ, ВАШИ МАНАДЫ НЕ МАНАДЫ Я СКАЗАЛ!11


>- Ты не прав тут и вот здесь. Не берись рассуждать о том в чём не понимаешь


>-ХАХ, ТУПЫЕ ХАСКЕЛИСТЫ, НА ВАШЕМ ХАСКЕЛЕ ТО НИКТО И НЕ ПИШЕТ! ПОЭТОМУ Я ПРАВ А ТЫ НЕТ!


У программиста на каком языке нестолько сильно хромают причинно-следственные связи?
>>882301>>882326
#482 #882301
>>882292
Я пишу на Haskell.
>>882308
#483 #882308
>>882301
Обосравшись -- мимикрировать под противника.
Достойный ход, но я вывел тебя на чистую воду
>>882309
#484 #882309
>>882308
Купи слона!
191 Кб, 960x1280
144 Кб, 1280x960
384 Кб, 2139x1336
41 Кб, 1280x853
#485 #882326
>>882292

>МАНАДЫ


Monads - не актуально.
Arrows - актуально.
>>882395
#486 #882395
>>882326
Какие-то они не очень все, кроме 4.
>>882471
#487 #882471
>>882395
2 тоже неплоха.
>>882476
111 Кб, 600x600
#488 #882473

>Proposal to delete the /r/golang subreddit



https://groups.google.com/forum/m/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJ

АХАХХАХАХАХАХАХАХХАХАХАХАХАХАХА, ПИЗДЕЦ! ЭЛИТА УРОВНЯ GOOGLE ВЗЪЕБЫВАЕТ ОБЕЗЬЯНОК В СООБЩЕСТВЕ КАК ХОЧЕТ. ЕЩЕ НЕМНОГО И ПРОСТО ВОЗЬМУТ И СОТРУТ САБРЕДДИТ, ПОТОМУ ЧТО НЕ ИСКОННО ВЕРНЫЙ.
>>882476>>882512
#489 #882476
>>882471
Анус разработанный — сразу видно пользователя говна.
>>882473
Скоро такими темпам не будут индексировать запросы в стиле "why go is ugly shit".
#490 #882510
>>882261
выше тебе защеку положили уязвимость, причем единственно предложенные вариант это тупой таймаут на сокет (в 2016 году просто обрывать рабочие коннекты, лол)

>>882260
двачую, лет 6-8 назад хипстота захватила руль пхп и понесло его в ебеня ООП (хотя могли улучшить структурное программирование),
причем ввиду интеллекта php комьюнити, умудрились так убого с пародировать джаву, что пердак у меня горит до сих пор.
>>882591
#491 #882512
>>882473
что там, мне лень со словариком сидеть там?
>>882517
#492 #882517
>>882512
Там послевыборная драмма какая-то: мочераторы в каком-то /политота/разделе скрытно редактировали сообщения, от чего у одного из мочераторов говно-доски взорвалась задница и он собрался полностью покинуть реддит, призывая к тому же всех.
#493 #882591
>>882510
А как в 2016 рвут KA?
>>882643
#494 #882612
Ну нихуя себе, не успел перекатить как уже наспамили.
Поднажмите уж 6 постов :3
sage #495 #882617
лан сам посмпамлю
sage #496 #882620
хуй
sage #497 #882621
к бамплимиту
sage #498 #882623
и светлому коммунизму
sage #500 #882628
sage #500 #882628
#501 #882643
>>882591
хуй для перфекционистов
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 13 декабря 2016 года.

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

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