М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

87 Кб, 620x620

21 Кб, 300x188

154 Кб, 800x800

95 Кб, 424x599

GoLang #3 GOVNO MEMES EDITION 19 Ноя, 21:31 #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

Ответы>>878499>>878536>>880277

19 Ноя, 21:35 #2 #878499

>>878490 (OP)
>основная сфера применения
>Бюджетный веб
И сразу вопрос: почему средняя компания/стартап должна выбрать голанг вместо питонов, руби, жс говна и прочего пхп?

Ответы>>878502>>878504>>878505>>878510

19 Ноя, 21:39 #3 #878502

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

Ответы>>878510>>878513

19 Ноя, 21:41 #4 #878504

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

Ответы>>878510>>878513>>878834

19 Ноя, 21:41 #5 #878505

>>878499
1) Меньше стоят сервера;
2) За отход вправо-влево от идеологии партии - расстрел. Из чего и следует плюс - можно в любой момент выкинуть охуевшую макаку требующую больше 15 т.р. и заменить на новую, причем качество кода не осядет - язык тупо не позволяет нихуя делать.

Ответы>>878513>>878516>>878581

19 Ноя, 21:44 #6 #878510

>>878499
>>878502
>>878504

но я бы взял джаву, ибо просто пиздец что-то серьезное на этом писать

Ответы>>878520

19 Ноя, 21:50 #7 #878513

>>878502
>>878504
>>878505
Сомнительные плюсы.

19 Ноя, 21:53 #8 #878516

>>878505
1) Программисты обойдутся тебе дороже железа, так что рынок школьников с локалхостами тут не в счет.
Да и там ничего нет. Написать нативные алгоритмы, которые просаживают все и вся будет очень легко (когда в скриптовых они уже оптимизированные)

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

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

Ответы>>878519>>878523

105 Кб, 481x481

414 Кб, 838x1044

19 Ноя, 21:59 #9 #878519

>>878516
1) Программисты тут те же самые что пишут и на пхп и прочем - цена та же. А деплой заканчивается на заливе (всегда одного) бинарника по SSH и запуске, что оче поможет сэкономить при почасовых ставках у фрилансеров. Алсо, еще пикрел демонстрирует типичных гоферов - они как правило любят го и писать код, так что поторговаться до хорошего демпинга не сложно.
2) Ну там и не где ошибиться - см. ниже.
>Еще как позволяет, особенно когда пишут процедурно и контроля над структурой размазывается по всему коду.
Ну нету в вебе таких гигантских проектов, у тебя один хуй самое сложное что будет — это запросы в бд и их реддеринг в виде хтмл.

Ответы>>878531>>878549>>879056

19 Ноя, 22:00 #10 #878520

>>878510
если кому нужен сахар - котлин

Ответы>>878525

19 Ноя, 22:06 #11 #878523

>>878516
>2) Ты частично прав, но качество будет такое, что будет как с историей php (брали с других языков, чтобы потом обучить php, так как вообще не могли вменяемых найти).
Самое главное что именно заменить действительно ОЧЕНЬ легко - даже на всяких пхп кандидату нужно знать какой-либо фреймворк и все прочее, когда у го нету и того.

19 Ноя, 22:08 #12 #878525

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

Ответы>>878533

19 Ноя, 22:18 #13 #878531

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

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

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

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

19 Ноя, 22:20 #14 #878533

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

19 Ноя, 22:21 #15 #878534

https://blog.golang.org/go-fonts
Хипстеры даже свой шрифт запилили, лел.

19 Ноя, 22:32 #16 #878536

>>878490 (OP)
лойс за пикчи

Ответы>>878542

19 Ноя, 22:43 #17 #878542

>>878536
Я рад что тебе понравилось.

19 Ноя, 22:53 #18 #878549

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

12 Кб, 666x461

19 Ноя, 22:58 #19 #878550

19 Ноя, 23:24 #20 #878564

Я смотрю даже радио-т намазали, теперь там так резко стали Го любить и хвалить.

20 Ноя, 00:09 #21 #878581

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

Ответы>>878585

20 Ноя, 00:14 #22 #878585

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

Ответы>>878586

20 Ноя, 00:15 #23 #878586

>>878585
> ничего сложного там тоже нет
> горутины крутстся в горутинах горутин и спамят по каналам горутинам горутин горутин
)))

20 Ноя, 00:23 #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 // и пытайся понять что это блять значит и заучивай что значит, ибо такого говна в коде полно.

Нахуй!

20 Ноя, 00:26 #25 #878591

>Го легкий, учиться за 2 дня.
Наверните говна!
https://habrahabr.ru/company/mailru/blog/314804/
подводных камней там похлеще чем в javascript

Ответы>>878593

20 Ноя, 00:32 #26 #878592

Пишешь себе закрытый модуль из структуры, все поля приватны, тестами покрыл, крутой модуль. Поместил его в отдельный файл my_super_struct.
@
Через полгода все падает, тебя япут.
@
Лезешь в код, через неделю оказывается, в другом файле того же пакета кто-то блять меняет состояние твоего супер модуля, ибо инкапсуляция на весь долбанный пакет.

Ответы>>878595

20 Ноя, 00:33 #27 #878593

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

20 Ноя, 00:33 #28 #878595

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

20 Ноя, 00:37 #29 #878597

Легкие горутины, 4кб каждый, запускай миллионами...
@
Рвешь волосы на жопе, так как отладчик ненужен (с), а ты в душе не знаешь как отладить поведение в 10.000 горутин.

Ответы>>878620

20 Ноя, 00:46 #30 #878606

Взял новый язык Го.
@
Пишешь, работаешь со структурами
@
Местами у полей появляется логика, закрываешь поля, делаешь геттеры и сеттеры.
Визжишь от ручного рефакторинга с регулярками.
@
Половина структуры из полей, половина из геттеров и сеттеров, в душе умирает перфекционист.
@
Опытным путем приходишь к выводу в котором пришли в 90е-2000 годы, что лучше сразу покрыть все геттерами и сеттерами, а поля делать приватными
@
2016 год, на новом современном языке пишешь java-код, но с примитивной и глючной экзосистемой без maven и прочего, начинаешь понимать что тебя где-то наебали.

Ответы>>878607>>878611>>878620

20 Ноя, 00:47 #31 #878607

>>878606
> закрываешь поля, делаешь геттеры и сеттеры.
Нахуя? На Го нельзя писать, используя ООП подходы.
Попиши на Обероне например, на Аде, некоторое время, потом приходи.

Ответы>>878613

20 Ноя, 00:50 #32 #878610

Опенсорсный язык, комьюните трудиться.
@
Без объявление и согласование корпорация "добра", тупо вводит новый синтаксис - алиасы, убивающий всю вменяемость.
@
Пламя жоп видно даже на плутоне.
@
Пока убрали и поняли, что насухую нельзя, надо постепенно

Ответы>>878922

20 Ноя, 00:51 #33 #878611

>>878606
Так ты данные от логики отделяй, тогда и никаких геттеров/сеттеров не понадобится.

джаваслесарь

Ответы>>878620

20 Ноя, 00:52 #34 #878613

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

Ответы>>878614

20 Ноя, 00:54 #35 #878614

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

20 Ноя, 01:02 #36 #878617

В новом патче 1.5 вводят супер крутой сборщик мусора, но цена 20% процессорного времени.
@
Пламя жоп видны за плутоном, так как у некоторых цифры поболее вообще.
@
В 1.8 вводят еще более крутой сборщик с цифрами микросекунд, говорят про плату 5%, умельцы говорят, что просело до 20%
@
Жопы уже не горят, а светят чистой плазмой и не понимаешь зачем в вебе реалтайм GC и зачем за него переплачивать так?

Ответы>>878620>>878625

20 Ноя, 01:04 #37 #878620

>>878597
Суть в том, что асинхронная параша вообще априори неотлаживаемая. Ты хоть один отладчик такой видел? К говноедов и так достаточно фейлов которыми пользуются хейтеры, мне кажется ещё немного и они не пережили бы, поэтому легче повизжать "нинужна".
>>878606
>maven
Ну хоть gradle бы написал, мавен с его xml — начало 2000-х.
>>878611
Ща, братан, я тебе процедурный код поотделяю.
>>878617
Чтобы хтмл быстро рендерить и запросы в бд не тормозили, ты что, никогда большого веба не писал?!

Ответы>>879931

20 Ноя, 01:11 #38 #878625

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

20 Ноя, 01:17 #39 #878628

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

Ответы>>878925

20 Ноя, 01:28 #40 #878636

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

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

>Лолблядь, вот ты сейчас серьёзно спрашиваешь?
Сбрызни отсюда, или иди прочитай про приложения реального времени.
В любом случае GC в 100мс за 5 минут это нормально для веба (дергая проц только во время сборки) или же ты хочешь чтобы постоянно дергался GC, в короткое время, оплачивая процентами процессора (или забивая целое ядро на камне).

20 Ноя, 01:40 #41 #878642

Нужно обработать строку
@
Конвертируешь ее в руну (нехера не бесплатно)
@
В веб приложении большая часть работы - это обработка строк

Ответы>>878774>>878928

20 Ноя, 01:52 #42 #878644

Так что, судя по пикче из оппоста уже разобрались нагружает гц стек или нет???

20 Ноя, 01:55 #43 #878646

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

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

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

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

Не стал ебаться с рефлекцией, ручками прописал поля.
@
При добавление/удаления поля в базе, весело по всему коду ищешь все свои запросы и прописываешь новшество.

20 Ноя, 04:19 #44 #878664

Нахуя в скале фигурные скобки?
Паттэрн матчинг не завези ЧТО ЛИ?

20 Ноя, 13:44 #45 #878774

>>878642
@
не забываешь конвертировать обратно, так как большая часть работает со string, а не рунами.
@
Каждый символ весит 4 байта вместо двух (которых достаточно для глупого utf-8)

Ответы>>878777>>878928

20 Ноя, 13:50 #46 #878777

>>878774
Нельзя было в структуру string добавить сразу ссылку на руну (которая по дефолту nil, но при первом же запросе "собиралась" бы).

Пошел писать собственные эффективные строки...

20 Ноя, 14:34 #47 #878799

Goвноеды, вы больные что ли?
Зачем вы едите goвно?
Вас хотя бы заставляют?

Ответы>>878804>>878805>>878810

20 Ноя, 14:48 #48 #878804

>>878799
А ты что ешь?

20 Ноя, 14:51 #49 #878805

>>878799
Мне вот интересно, что творится в голове у таких людей? Чем их не устраивает то, что на Go кто-то пишет? Это же их дело. Хочу - пишу на Go, не хочу - не пишу. Мой код никак не повлияет на жизнь данного индивида.
Почему же тогда Go вызывает боли в нижней части спины у некоторых?

Ответы>>878809

119 Кб, 604x471

20 Ноя, 14:55 #50 #878809

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

Ты болен, тебе нужна помощь.

20 Ноя, 14:56 #51 #878810

>>878799
Альтернативы кроме haskell есть?

Ответы>>878813>>878841

20 Ноя, 14:58 #52 #878813

>>878810
>кроме haskell
Erlang.

Ответы>>878815

20 Ноя, 15:00 #53 #878815

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

Ответы>>878820>>878831>>878937

20 Ноя, 15:07 #54 #878820

>>878815
>Со статической типизацией?
Но ты же уже знаешь ответ.
Впрочем, если аллергия - бери Ocaml.

20 Ноя, 15:36 #55 #878831

>>878815
Так бери современный ноджс с типами.

20 Ноя, 15:41 #56 #878834

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

Ответы>>878835

20 Ноя, 15:43 #57 #878835

>>878834
> зачем выбирать goвно
Паскаль на сервере, как батька Вирт завещал

20 Ноя, 15:51 #58 #878841

>>878810
Rust

Ответы>>878854>>878939

20 Ноя, 16:15 #59 #878854

>>878841
Я пытался, честно. Го подкупает своей простотой.

Ответы>>878855>>878858>>880088

20 Ноя, 16:19 #60 #878855

>>878854
Это значит что ты дебил.
Кроме шуток, вполне в медицинском смысле - проверься.

Ответы>>878941

20 Ноя, 16:25 #61 #878858

>>878854
"Простой" ЯП — это как алфавит из пяти букв. Запомнить-то легко, но пользоваться заебешься.
Лучше приложить силы к чему-то "сложному", что делает решение задач простым.

Ответы>>878862

20 Ноя, 16:33 #62 #878862

>>878858
> сложное
Я на работе на C# пишу, ну нафиг, дома хочется чего-то простого. Go в этом плане хорош, удовлетворяет мои хотелки.

Ответы>>878866>>878870

20 Ноя, 16:36 #63 #878866

>>878862
На шарпе можно же писать без линка и прочего добра. Джаваподобный код на шарпе не сложнее говнистого.

20 Ноя, 16:38 #64 #878870

>>878862
А, так ты гребец простое уровня индуса.
Ну так тебе мозг и не нужен, это верно.

20 Ноя, 17:40 #65 #878922

>>878610
Я лично неоднократно высказывался на реддите против алиасов. Но что поделать, сообщество гоферов — секта.

Ответы>>878943

20 Ноя, 17:42 #66 #878925

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

Ответы>>878946

20 Ноя, 17:44 #67 #878928

>>878642
>>878774
Вы че ты тупые блять? Кокрастыке строки в го сделаны пиздато. UTF-8 на уровне языка, с итерацией в коробочке. Ебасосы, как вы собираетесь разобрать UTF-8 строку без разбиения ее на кодпоинты?

Ответы>>878954

20 Ноя, 17:59 #68 #878937

>>878815
интересно как ты собрался делать системы которые должны развиваться с 0 даунтаймом с статической типизацией и зачем вообще нужна статическая типизация? Только без этих тупых отпездок что типа отлавливает ошыпки на этапе компиляции. Ошибки в бизнесс логике тоже отлавливает? Так получается тесты все равно надо писать? :3

Ответы>>878945

20 Ноя, 18:02 #69 #878939

>>878841
ему же писать код надо, а не на конференции доклады делать

20 Ноя, 18:02 #70 #878941

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

20 Ноя, 18:05 #71 #878943

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

Ответы>>878944

20 Ноя, 18:07 #72 #878944

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

20 Ноя, 18:07 #73 #878945

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

Ответы>>879286

20 Ноя, 18:08 #74 #878946

>>878925
маня, накакал тут ты, так как исключения ничего не стоят (практически), пока не возникнут. А if в коде юзаются всегда, тысячи их!!

Ответы>>878950

20 Ноя, 18:10 #75 #878950

>>878946
Ну да, +1 обращению к регистру каждый if это ПИЗДЕЦ перформансу.

Ответы>>878959

20 Ноя, 18:12 #76 #878953

Зато когда возникает исключение, стек идет по пизде, а с ним и кэш. И что ты делаешь? Ты делаешь RESTART. А мы гоферы можем просто справиться, превозмочь.

Ответы>>878961

20 Ноя, 18:12 #77 #878954

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

Сделать строку из код-поинтов сразу!
string // слайз где 16 бит на поинт, которого полностью хватает
и другой вариант:
string32 // для всех хотелок в юникоде (или сделать суррогаты как в джаве)
или сразу из 32 бит, ибо похуй на память

Ответы>>878957>>879040

20 Ноя, 18:17 #78 #878957

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

Уебывай читать https://blog.golang.org/strings

Ответы>>878965>>878973

20 Ноя, 18:19 #79 #878959

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

Ответы>>878960

20 Ноя, 18:20 #80 #878960

>>878959
>обращение к регистру
>этот маленький оверхед
Ты дебил? Пиздуй учить устройство компьютера.

20 Ноя, 18:21 #81 #878961

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

Ебанные, глупые дети...

Ответы>>878964

20 Ноя, 18:22 #82 #878964

>>878961
>не знаешь в каком состояние твое приложение и что именно обосралось
Да нет, я кокрастыке все знаю, потому что у меня на каждом таком возможном месте есть if. А ты ловишь где попало где попало выпущенный эксепшон, слесарь)

Ответы>>878998

20 Ноя, 18:23 #83 #878965

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

Ответы>>878975

20 Ноя, 18:30 #84 #878973

>>878957
>string == []byte
этот дебил думает, что utf-8 строка помещается в байте?

Господа, у нас новый "стек, который тормозит GC"

Ответы>>878986

20 Ноя, 18:30 #85 #878975

>>878965
Ты понимаешь, что такое string и rune? Это алиасы []byte и int32. В чем проблема с тем, как сегодня работают со строками в Go? Итерация по UTF-8 строке гарантированно работает за линейное время.

Ответы>>879006

20 Ноя, 18:33 #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.

20 Ноя, 18:38 #87 #878998

>>878964
Ты хером читаешь, дятел глупый? Исключительная ситуация, а не ванильные ошибки.

20 Ноя, 18:39 #88 #879001

Точно такие же срачи о юникоде я видел в python сообществе лет 8 или 10 назад. Господа, вы повторяетесь.

20 Ноя, 18:43 #89 #879006

>>878975
Причем тут компактная запись уеба, вот тебе с расшифровкой:

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

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

Ответы>>879009>>879010

20 Ноя, 18:46 #90 #879009

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

Ответы>>879013

20 Ноя, 18:47 #91 #879010

>>879006
>Трачу O(1) на преобразование в код-поиты (int32[])
Эээээм никто это не делает. Тебе достаточно только один int32 для итерации, она же последоватльная и за линию гарантированно работает.

20 Ноя, 18:47 #92 #879011

Чувак, ты уверен что до конца понимаешь что такое UTF-8 вообще?

Ответы>>879016

20 Ноя, 18:47 #93 #879013

>>879009
потому что по-умолчанию в Го строка это нехера не код-поинты (не руны, не int32), а поток байтов.

20 Ноя, 18:49 #94 #879015

Тебе ничто не мешает держать в string абсолютно любую кодировку, только тогда придется итерировать не через range, а одну из функций в encoding/* например.

20 Ноя, 18:50 #95 #879016

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

лол, а как ты из "текущего текста" достанешь мне 5 символ(если строка это int8[])?

Ответы>>879019

20 Ноя, 18:51 #96 #879019

>>879016
Проитерирую до пятой руны, очевидно же.

Ответы>>879032

20 Ноя, 18:53 #97 #879022

Фокус в том, что очень редко тебе может понадобиться random-access к UTF-8 строке, которая не помещается в пространство ASCII. Если ты хочешь константный доступ к i-тому элементу, то действительно можно попробовать конвертнуть в []rune, например. Но вопрос в том, нахуя?

20 Ноя, 18:56 #98 #879024

И другой фокус в том, что ни один другой язык В ПРИНЦИПЕ тебе не сможет гарантировать компактную запись и свободный доступ к UTF-8 строке за константное время. Если она не помещается в пространство UTF-8 (кол. кодпоинтов ≠ кол. байт), то тебе так или иначе придется либо перейти в другую запись (аки []int32) или итерировать. Сложность линия будет как не крути.

Ответы>>879026

20 Ноя, 18:57 #99 #879026

>>879024
s/пространство UTF-8/пространство ASCII
быстрофикс

20 Ноя, 19:00 #100 #879029

Слился, я надеюсь?

20 Ноя, 19:02 #101 #879032

>>879019
>кококо в руны никто не конвертирует и похер на затраты на преобразования.
>как ты получишь 5 символ
>Проитерирую до пятой руны

сказачные долбаебы

Ответы>>879034

20 Ноя, 19:02 #102 #879034

>>879032
Хорошо, строки в го реализованы говно. Как ты предлагаешь сделать?

Ответы>>879040>>879046

20 Ноя, 19:08 #103 #879040

>>879034
сразу сделать массив из код-поинтов, чтобы можно было со строкой как со слайсом работать (безопасно, понятно что с ascii такое получиться и так)
>>878954

Ответы>>879042>>879046

20 Ноя, 19:10 #104 #879042

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

Ответы>>879044>>879046

20 Ноя, 19:16 #105 #879044

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

Вообще 16 бит бы хватило, как и писал:
string - это 16 бит массив.
string32 - это аналог "полных" рун в 32 бита, для всех хотелок юникода.

Ответы>>879047>>879048

20 Ноя, 19:17 #106 #879046

>>879034
>>879040
>>879042
Нет, ну что же.
Вообще сделать компактную утф8 с константным (или почти) доступом можно.
Но не нужно, ибо ничем хорошим в итоге для вас это не обернется.
Такова селяви.

Ответы>>879049

20 Ноя, 19:17 #107 #879047

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

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

Ответы>>879054

20 Ноя, 19:18 #108 #879048

>>879044
но сразу с код-поинтами на символ
А то наслушались Пайка и так и не поняли что их наебали со строками (дали сырой поток байт, лол)

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

Ответы>>879051

20 Ноя, 19:18 #109 #879049

>>879046
>компактную утф8 с константным (или почти) доступом можно
Поделись способом. Мне ничего кроме вектора оффсетов рядом в голову не приходит.

Ответы>>879052

20 Ноя, 19:21 #110 #879051

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

Ответы>>879056

20 Ноя, 19:22 #111 #879052

>>879049
>Поделись способом.
Вам такие вещи не нужны - для вашего же блага.
Да ты и сам понимаешь - или хотя бы чувствуешь.

Ответы>>879059>>879065

20 Ноя, 19:22 #112 #879054

>>879047
строка в го это структура - ссылка на массив байт и количество символов, так что хуй она тебе в сумме 12 весить будет, дитё ты глупое.

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

Ответы>>879055>>879065

20 Ноя, 19:24 #113 #879055

>>879054
А 640 килобайт хватит?

Ответы>>879065

20 Ноя, 19:25 #114 #879056

>>879051
За сырую поддержу потока байт? Нахваливают? Серьезно?

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

20 Ноя, 19:27 #115 #879059

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

Вот это маневр! Лолец

Ответы>>879064

20 Ноя, 19:30 #116 #879064

>>879059
А, так ты всерьез хотел получить решение - да еще и бесплатно.
Тяжело тебе такому наивному по жизни, соболезную.

Ответы>>879079

20 Ноя, 19:30 #117 #879065

>>879054
Окей, немного затупил. Еще будет оверхед слайса, но он будет ВЕЗДЕ. В любом языке программирования тебе понадобиться 8/16 байт оверхеда на вектор под массивом (в зависимости от разрядности системы).

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

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

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

Ответы>>879073

20 Ноя, 19:34 #118 #879073

>>879065
>но он будет ВЕЗДЕ
С точки зрения криворукого дебила - несомненно.
посмотрел на тред
Хотя о чем я вообще, /го/вно же.

Ответы>>879089

20 Ноя, 19:37 #119 #879079

>>879064
ты еще не понял, что публично слил?
Мастер маневров))

Ответы>>879086

20 Ноя, 19:43 #120 #879086

>>879079
>эти приемы "взятия на слабо" уровня 8/бэ
И что, на одноклассниках прокатывает?
Ебать они у тебя дебилы.

20 Ноя, 19:43 #121 #879087

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

Ответы>>879089

20 Ноя, 19:48 #122 #879089

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

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

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

Ответы>>879103>>879111

20 Ноя, 19:48 #123 #879090

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

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

Ответы>>879092>>879093

20 Ноя, 19:53 #124 #879092

>>879090
>просто поместили сырой поток байт в массив.
Гугл все правильно делает - с особым цинизмом срет говном прямо на безмозглое быдло.
Быдло верещит от восторга и просит еще.
Ничего нового.

20 Ноя, 19:54 #125 #879093

>>879090
Лучше чем у Go поддержка юникода разве что у Perl 6. http://training.perl.com/OSCON2011/gbu/gbu.pdf

20 Ноя, 19:55 #126 #879095

Сорри вот рабочая ссылка https://www.azabani.com/pages/gbu/

20 Ноя, 19:58 #127 #879103

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

Тебе бы экономкой работать

Ответы>>879108>>879114

20 Ноя, 20:04 #128 #879108

>>879103
Пруфы.

Ответы>>879115

20 Ноя, 20:06 #129 #879111

>>879089
>в твоем любимом питоне
>в твоем любимом
Охуел что ли, пидорасина.

20 Ноя, 20:08 #130 #879114

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

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

Ответы>>879126

20 Ноя, 20:10 #131 #879115

>>879108
защеку, глупый нубас. Иди матчасть читай

Ответы>>879122

20 Ноя, 20:15 #132 #879122

>>879115
https://play.golang.org/p/ocxQqaXbuc

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

Чувак, серьезно, кончай позориться и лучше разберись в способах представления строк.

Ответы>>879127>>879130

20 Ноя, 20:20 #133 #879126

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

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

Ответы>>879128

20 Ноя, 20:22 #134 #879127

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

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

Ответы>>879129

20 Ноя, 20:22 #135 #879128

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

20 Ноя, 20:24 #136 #879129

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

20 Ноя, 20:28 #137 #879130

>>879122
>toIndex := len(s)

Аллё! ты берешь длину байт в строке, тупое ты животное!!!
Но Пайк уже сделал тебе костыль utf8.RuneCountInString

Ответы>>879133>>879136>>879139

20 Ноя, 20:31 #138 #879133

>>879130
Ты умеешь читать код? Причем тут нахуй utf8.RuneCountInString? toIndex это индекс в строке, до которого надо ее порезать (по-дефолту, до последнего). Что тебе не понятно?

Ответы>>879139

20 Ноя, 20:32 #139 #879134

Охуел от толпы дегенератов ITT.

Ответы>>879136

20 Ноя, 20:32 #140 #879136

>>879134
Маневрист >>879130 не палится.

Ответы>>879139

20 Ноя, 20:34 #141 #879139

>>879130
>>879133
>>879136
Два дебила - это сила.
/го/внотред такой /го/внотред.

20 Ноя, 20:39 #142 #879145

Короче, маня ты ебаная. Ты обосрался уже слишком много раз, чтобы тебя вообще всерьез воспринимать. Но я все-таки скажу пару слов на этот счет. Сначала ты спизданул, цитирую:

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

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

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

Ответы>>879155

20 Ноя, 20:49 #143 #879154

Как работает мозг гофера

> Если я спрячу преобразование в руну в range:
> index, runeValue := range xyz
> как
> i := range s
> значит никакого преобразования нет

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

Новый мем: строки в го, почти не конвертируются в руну

Ответы>>879158

20 Ноя, 20:50 #144 #879155

>>879145
>действительно сожрет проца на обход
Это все, что нужно знать о ваших "утф8" "строках".

20 Ноя, 20:53 #145 #879158

>>879154
Ты же понимаешь, что range работает за O(1) по памяти и O(n) по времени?

Ответы>>879160

20 Ноя, 20:54 #146 #879160

>>879158
>и O(n) по времени
Ебаный /го/внодебил с /го/внокостылями.

Ответы>>879171

20 Ноя, 21:12 #147 #879171

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

Ответы>>879184

sage 20 Ноя, 21:24 #148 #879174

>>878249
>Ещё раз. Что тебе мешает не пользоваться расширением и делать ссылочно-прозрачные лямбды?
Существующая экосистема и программисты в команде и вне неё. А еще неизвестно как выражать сайд эффекты, которые есть в любой реальной программе.
>потому что IO - огромный хак
Подробнее про хаки пожалуйста. Желаю полушать очердную диванную теорию.
>В зависимости от того, что ты вкладываешь в слово "одинаковые". При некоторых значениях так оно и есть.
Это словоблудие, ты понял что я хочу сказать. Если нет - другие может поймут. Sapienti sat.

Ответы>>879194

20 Ноя, 21:25 #149 #879175

Знаешь, что обычно (читай: почти всегда) со строками делают? Их сравнивают, например. В них ищут подстроки (Go для этого использует алгоритм Рабина-Карпа), строки сращивают. Их разделяют, их триммят и конечно же, по ним выполняют регулярные выражения. Ни для чего из этого не требуется свободный доступ по кодпоинтам, нахуя в таком случае жертвовать ради этого памятью?

20 Ноя, 21:33 #150 #879184

>>879171
уже легче, мы таки наконец-то признались что это не бесплатно (выздоровление не за горами!)

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

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

Ответы>>879188

20 Ноя, 21:37 #151 #879188

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

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

Ответы>>879210

20 Ноя, 21:45 #152 #879194

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

И ты не ответил на то, что тебе неудобно.

Ответы>>879227

326 Кб, 749x1080

20 Ноя, 22:29 #153 #879210

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

Ответы>>879228

sage 20 Ноя, 22:38 #154 #879227

>>879194
>Тип IO невозможно реализовать без специальной поддержки его компилятором
Мы говорим о ссылочной прозрачности, а не о реализации компилятора.
>Значение реалворлда нельзя вытащить из мандадки ни до, ни после, ни во время. Что это, если не хак
Что ты несешь, просветленный? Зачем его вытаскивать? Какой хак? Как это относится к изначальной теме?
>я прав во всём
Я заметил. Особенно много опыта работы у тебя с ФЯП.

Ответы>>879433

20 Ноя, 22:39 #155 #879228

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

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

Ответы>>879232

20 Ноя, 22:49 #156 #879232

>>879228
>В конечном итоге ты используешь больше памяти
>ты не сможешь ничего
Омежки, омежки never change.
Всё у вас нельзя и запрещено, все (кроме тебя) у тебя виноваты в твоей глупости и бесполезности.
И это нормально - просто такой ты есть.

Ответы>>879238

20 Ноя, 23:17 #157 #879238

>>879232
Блять, ты еще скажи что можно отсортировать в худшем случае лучше, чем за O(nlogn). Есть определенные задачи, которые просто теоретически нельзя реализовать лучше определенной границы.

Ответы>>879257

20 Ноя, 23:19 #158 #879239

Вбил в поиск "golang substring", везде примеры типа str[3:5]
и в таком духе.
Получается если ты родился в правильной стране (с ASCII), тебе хорошо, а если не повезло, прыгай как мудак по рунам и пиши свою substring функцию.

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

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

Ответы>>879246>>879248

20 Ноя, 23:26 #159 #879246

>>879239
Ты еблан? Поиск подстроки и слайсинг это совершенно разные задачи, блять. Слайсинг почти никогда не делают для строк, которые не являются ASCII. А вот поиск подстроки не требует произвольного доступа.

Ответы>>879250

20 Ноя, 23:27 #160 #879248

>>879239
Иди нахуй уже со своими строками в еэрланг и перестань тут вонять, даун.
Зарепортил уёбка.

Ответы>>879251>>879262

20 Ноя, 23:33 #161 #879250

>>879246
Глупое дитя, substring это получение подстроки по индексу.

> Слайсинг почти никогда не делают для строк, которые не являются ASCII
Конечно, ибо вне ASCII он не работает!!!
А ты умён!

Ответы>>879253

20 Ноя, 23:34 #162 #879251

>>879248
что тут у нас? разврыв гоферского сектанского пердока!

20 Ноя, 23:40 #163 #879253

>>879250
Substring это, в переводе с английского, "подстрока", блять. Получение подстроки по индексам ее вхождения это substring extraction (lookup), а substring search это обратная задача — поиск индексов вхождения подстроки по ее значению, блять. Последняя значительно чаще применяется, и внезапно, не требует произвольного доступа к кодпоинтам.

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

Ответы>>879256>>879266

20 Ноя, 23:42 #164 #879255

тся/ться пиздец, целый день сегодня ошибки делаю

20 Ноя, 23:44 #165 #879256

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

Ответы>>879261>>879267

20 Ноя, 23:45 #166 #879257

>>879238
>лучше, чем за O(nlogn)
Вообще-то это невозможно.
Но если очень надо - то а вот это тебе точно знать совсем не нужно

20 Ноя, 23:49 #167 #879261

>>879256
Примеров задач не будет?

Ответы>>879274

20 Ноя, 23:50 #168 #879262

>>879248
Типичный представитель goвна, как только сливает или ему неудобно, начинает истерично клацать по кнопке бан.
Только двач это не сектантское говно-параша, малыш.

20 Ноя, 23:50 #169 #879263

ВНИМАНИЕ!!! ВНИМАНИЕ!!! ВНИМАНИЕ!!!

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

ИЛЮША ПРИДИ ПОРЯДОК НАВЕДИ!!!

Ответы>>879269>>879274

9 Кб, 200x167

20 Ноя, 23:51 #170 #879264

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

Ответы>>879269

20 Ноя, 23:51 #171 #879266

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

Ответы>>879270

20 Ноя, 23:52 #172 #879267

>>879256
>базовой фичи
>вроде перегрузки операторов
Толстота пошла.

Ответы>>879272>>879274

20 Ноя, 23:53 #173 #879269

>>879263
>>879264

вот это маневры у goвняш наших пошли

20 Ноя, 23:54 #174 #879270

>>879266
Будто меня ебет что разные дауны вроде тебя гуглят.

Ответы>>879278

20 Ноя, 23:54 #175 #879272

>>879267
зачем, ведь мы будем в конец функции добавлять по букве
хочешь f
хочешь nl
а хочешь мы тебе впереди F поставим??

Ответы>>879277

20 Ноя, 23:55 #176 #879273

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

Ответы>>879275>>879276

20 Ноя, 23:56 #177 #879274

>>879261
Я хочу пересылать данные по сокетам и читать "прямо рукаме", а там аски будет маловато. Нинужна.

>>879263
Вась, шапху хоть посмотри.
>>879267
Так в чём толстота-то? Сделать возможность перегружать оператор слайса — настолько трудная фича, которую трудно реализовать?

Ответы>>879280>>879288

20 Ноя, 23:57 #178 #879275

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

20 Ноя, 23:57 #179 #879276

>>879273
Братан, я даже несколько оригинальных пикчей сделал, и тебе уже не нравится?

20 Ноя, 23:58 #180 #879277

>>879272
правда я про перегрузки функций :)

20 Ноя, 23:59 #181 #879278

>>879270
Глядите, у нас особенный в треде со своим виденьем подстроки!

Ответы>>879281>>879282

sage 21 Ноя, 00:00 #182 #879280

>>879274
Купи слона.

Ответы>>879283>>879287

sage 21 Ноя, 00:01 #183 #879281

>>879278
Купи слона.

Ответы>>879283

21 Ноя, 00:01 #184 #879282

>>879278
>у нас особенный в треде
Илюша вернулся! :3

Ответы>>879284

21 Ноя, 00:01 #185 #879283

>>879280
>>879281
Привет, Илюша :3

Ответы>>879284>>879285

sage 21 Ноя, 00:05 #186 #879284

>>879282
>>879283
Купи слона.

21 Ноя, 00:05 #187 #879285

>>879283
он тут с перегруженного стека висит

Ответы>>879287

21 Ноя, 00:06 #188 #879286

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

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

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

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

Ответы>>879314

21 Ноя, 00:09 #189 #879287

>>879285
Самое смешное, что обосрались все кто визжал про его неправоту — тред на пейпер в прошлом трете уже кидали.
>>879280
Мозгов гоферам к сожалению купить не смогу.

Вот вы наехали на текущего опа — а а тред тем временем стал супероживлённым.

Ответы>>879293>>879294

21 Ноя, 00:10 #190 #879288

>>879274
>Так в чём толстота-то?
Мне просто понравилось про "базовую фичу", которая есть в полутора языках.

Ответы>>879291

232 Кб, 559x604

21 Ноя, 00:15 #191 #879290

Ответы>>879362

21 Ноя, 00:15 #192 #879291

>>879288
>которая есть в полутора языках.
Чота ору. Ты лучше перечисли где её нет кроме жявы и говна с пхп.

Ответы>>879295>>879301

sage 21 Ноя, 00:16 #193 #879293

>>879287
Купи слона.

Ответы>>879298

21 Ноя, 00:16 #194 #879294

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

Илюша, залогинься, палишься снова (но мы ради что сознался, что это был ты)

Ответы>>879297

sage 21 Ноя, 00:17 #195 #879295

>>879291
Давай я перечислю потом, а ты пока купи слона.

Ответы>>879298

sage 21 Ноя, 00:17 #196 #879297

>>879294
Купи слона.

21 Ноя, 00:18 #197 #879298

>>879293
>>879295
Илюша, с тобой все в порядке?
Гугл нахуй послал с "должности" евангелиста что ли?

Ответы>>879302>>879303>>879305

21 Ноя, 00:20 #198 #879301

>>879291
В Си, например. В ЖС. В Ирлонге.
Но да, что-то я проебался. Мой манямирок требует обновления.

Ответы>>879306

21 Ноя, 00:21 #199 #879302

>>879298
Их еще зимой разогнали, когда эти бараны на хабре слили Го, а ванюша рыдал на весь твиттер

Ответы>>879307

sage 21 Ноя, 00:22 #200 #879303

>>879298
Я думаю что Илюше в отличии от тебя платят <3

Ответы>>879311>>879312

21 Ноя, 00:23 #201 #879305

>>879298
Илюш, не маняврируй, мразь.

Ответы>>879311

21 Ноя, 00:24 #202 #879306

>>879301
А вот и настоящий йилюша

Ответы>>879308>>879311>>879315

21 Ноя, 00:24 #203 #879307

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

Ответы>>879309>>879316

sage 21 Ноя, 00:24 #204 #879308

>>879306
Илюша не палится.

Ответы>>879310>>879311

21 Ноя, 00:27 #205 #879309

>>879307
да загнобили прост

я даже как-то раз видео где тыкал писосиком его фоточку вбрасывал, олдфаги говнотреда помнят :3

Ответы>>879316

21 Ноя, 00:27 #206 #879310

>>879308
илюш:3

21 Ноя, 00:27 #207 #879311

>>879305
>>879306
>>879308
>>879303

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

Ответы>>879313

21 Ноя, 00:28 #208 #879312

>>879303
>Я думаю
Шутку понял.
Смешно :3

21 Ноя, 00:28 #209 #879313

>>879311
Илюш, никого ты не обыграл, расслабься.

21 Ноя, 00:28 #210 #879314

>>879286
>Давай примеры
http://dcevm.github.io/
В джаве горячая замена модулей в общем-то давно есть, хоть и ущербная. А с появлением jRebel и прочего добра хотсвап стал полноценным.
>Получается что статическая типизация у тебя существует только на уровне сервиса а протоколы между сервисами уже динамические?
Разумеется. Ты не можешь дать каких-либо статических гарантий относительно узлов, которые ты не контролируешь. Даже если у тебя все валидируется/энкодится через protobuf-/json-/xml-схему или даже в ASN.1 описано — взаимодействие все равно осуществляется посредством совершенно динамических пакетов. Сеть — это внешний мир, его в типизированную монадку не засунуть.

Ответы>>879317>>879334

21 Ноя, 00:29 #211 #879315

>>879306
Ты что, илюща же гений, у него манямирка быть не может.

21 Ноя, 00:30 #212 #879316

>>879307
>>879309
Тоже мне, достижение целой доски, школьника загнобить. Омежки такие омежки.

Ответы>>879318>>879319>>879324

21 Ноя, 00:30 #213 #879317

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

21 Ноя, 00:30 #214 #879318

>>879316
Илюш, ну ты чего, обиделся что ли :3

21 Ноя, 00:31 #215 #879319

>>879316
Илюш, не расстраивайся, и на твоей улице будет праздник

Ответы>>879320

21 Ноя, 00:31 #216 #879320

>>879319
Зачем ты его обманываешь?

sage 21 Ноя, 00:32 #217 #879321

Единственный вопрос итт: где купить слона?

Ответы>>879323>>879325

21 Ноя, 00:32 #218 #879322

http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiy
Так илюща оказывается в 20-кублучших программеров мира входит кекус
И чо, из своего свинарника уезжать уже передумал или это просто зазывающее описание? Лень смотреть

Ответы>>879327>>879329>>879330

21 Ноя, 00:32 #219 #879323

>>879321
У Ильи.

Ответы>>879326

21 Ноя, 00:33 #220 #879324

>>879316
ути-пути))

21 Ноя, 00:33 #221 #879325

>>879321
На пхп попиши.

sage 21 Ноя, 00:33 #222 #879326

>>879323
Кто такой Илья?

Ответы>>879328

21 Ноя, 00:33 #223 #879327

>>879322
Илюш, кончай пиариться.

21 Ноя, 00:34 #224 #879328

>>879326
Это ильйуша, ты и я.

21 Ноя, 00:34 #225 #879329

>>879322
>http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiy
Видел этого пидора на http://ebanoe.it , деревянными гуферами торговал.

21 Ноя, 00:35 #226 #879330

>>879322
ути какой голосок стал мужественный:3

Ответы>>879333

21 Ноя, 00:35 #227 #879331

Кстати кто помнит его никнейм? Предлагаю затравить и там.

Ответы>>879335

21 Ноя, 00:35 #228 #879332

228

21 Ноя, 00:35 #229 #879333

>>879330
Выебал бы его? :3

Ответы>>879336

21 Ноя, 00:36 #230 #879334

>>879314
Сеть — это внешний мир, его в типизированную монадку не засунуть.
Ну к этому я и вел, что полностью все уместить в типы не получится, тот же эрланг именно по этой причине динамически типизирован. Никакая система типов не защитит тебя от того что ты дебил и делишь на ноль. Я просто пытаюсь уловить ход мыслей чела который пишет ой бля эрланг динамически типизированый фи, почему фи? Для документации можно аннотации писать или спецификации, статический анализ можно проводить по тем же аннотациям.

Ответы>>879344

21 Ноя, 00:36 #231 #879335

>>879331
namespace/tucnak/где как

Ответы>>879342

21 Ноя, 00:38 #232 #879336

>>879333
не будь аноном отсосал бы

Ответы>>879337>>879338

21 Ноя, 00:38 #233 #879337

>>879336
:3

21 Ноя, 00:39 #234 #879338

>>879336
>отсосал бы
Педик что ли?
Просто выеби его, будь мужиком.

Ответы>>879339>>879340

21 Ноя, 00:40 #235 #879339

>>879338
>Педик что ли?
Как что-то плохое написал. Я просто хочу сделать приятно :3

21 Ноя, 00:40 #236 #879340

>>879338
Илюша не палится.

21 Ноя, 00:40 #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

21 Ноя, 00:41 #238 #879342

>>879335
А Илюша все и не стесняется о себе напомнить так невзначай.

Ответы>>879343

21 Ноя, 00:43 #239 #879343

>>879342
не маняврируй илюш

21 Ноя, 00:44 #240 #879344

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

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

Ответы>>879347>>879350

21 Ноя, 00:46 #241 #879345

>>879341
Может он балалаечник? Больше трех струн для музыки не нужно!

Ответы>>879346

21 Ноя, 00:48 #242 #879346

>>879345
Как и лишней хромосомы для го.

21 Ноя, 00:51 #243 #879347

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

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

Ответы>>879348>>879351>>879437

21 Ноя, 00:53 #244 #879348

>>879347
З А В И С И М Ы Е_____Т И П Ы

16 Кб, 934x261

sage 21 Ноя, 00:54 #245 #879349

Плохие новости, он не придет. Мб передумает. Если много людей напишет, то думаю все-таки вернется. Неравнодушные, давайте все-таки вернем его. Или это только мне не похуй?

Ответы>>879350

21 Ноя, 00:56 #246 #879350

>>879349
Хорошая попытка, но он сурьёзно здеся >>879344

21 Ноя, 00:57 #247 #879351

>>879347
>покрывать код тестами
Спасибо, идите нахуй.

Ответы>>879352>>879358>>879359

21 Ноя, 00:58 #248 #879352

>>879351
$ go test

Ответы>>879353>>879354

21 Ноя, 00:59 #249 #879353

>>879352
go get
@
go vendor
@
get setup go_eleet_fonts

Ответы>>879355

21 Ноя, 01:01 #250 #879354

>>879352
>go
Рака всего тебе, гнида.

Ответы>>879357

sage 21 Ноя, 01:02 #251 #879355

>>879353
Купи слона

Ответы>>879356>>879357

21 Ноя, 01:04 #252 #879356

>>879355
Покупаю твой минет, свинтус

21 Ноя, 01:04 #253 #879357

>>879355 - >>879354

21 Ноя, 01:05 #254 #879358

>>879351
В зависимые типы я еще не погружался так что хуй знает, не шарю

21 Ноя, 01:05 #255 #879359

>>879351
понятно все с тобой, на го пишешь?

Ответы>>879420

21 Ноя, 01:10 #256 #879361

Итт есть хоть кто-то кто пишет на Go?

Ответы>>879362>>879423

21 Ноя, 01:15 #257 #879362

>>879361
->
>>879290

Писать на нем можно только монолитный код из 80х годов

Ответы>>879365

21 Ноя, 01:25 #258 #879364

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

Ответы>>879367

21 Ноя, 01:25 #259 #879365

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

21 Ноя, 01:33 #260 #879367

>>879364
>просто устал терпеть.
Так сходи посри, не мучайся.

Ответы>>879370

21 Ноя, 01:38 #261 #879370

>>879367
Зачем, я уже пришел в готред.

Ответы>>879417

21 Ноя, 09:16 #262 #879417

>>879370
Когда ты уже выпилишься?

21 Ноя, 10:31 #263 #879420

>>879359
На с+асм
Еще дебильные вопросы есть?

21 Ноя, 10:34 #264 #879423

>>879361
Я немного кодировал в свободное время. А что?
Всё, за что критикуют Го оказалось правдой.

Ответы>>879426

21 Ноя, 10:58 #265 #879426

>>879423
>Я немного кодировал в свободное время.
Лучше бы ты в свободное время хуи сосал

Ответы>>879427

21 Ноя, 10:59 #266 #879427

>>879426
Вся суть готреда.

Ответы>>879428

21 Ноя, 11:03 #267 #879428

>>879427
Вся суть /зк, дурачок.
Ебаное ит такое ебаное.

21 Ноя, 11:23 #268 #879433

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

Ответы>>879515

21 Ноя, 11:32 #269 #879437

>>879347
>в динамической ты получаешь фидбек во время прогона тестов
Или не получаешь. Если так получилось, что какую-то ветку кода протестировать забыл. А потом в рантайме упадёшь из-за того, что буковку о два раза нажал в имени переменной.
>Но статическая типизация не избавит тебя от необходимости писать тесты
Вообще-то, избавит. Не ото всех, конечно, но там, где на питоне тебе надо будет захерачить сорок тестов, на окамле будет достаточно десяти (а то и меньше - в большинстве случаев достаточно лишь граничные значения проверить, потому что если они работают и не написаны в виде if a = 1 then X else compute_shit(), то всё в порядке).

Ответы>>879440>>879562

21 Ноя, 11:39 #270 #879440

>>879437
Зачем ты разговариваешь с дебилами, дурачок?

21 Ноя, 11:43 #271 #879442

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

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

Ответы>>879446>>879607>>879707

21 Ноя, 11:47 #272 #879446

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

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

Ответы>>879449

21 Ноя, 11:49 #273 #879449

>>879446
Илюша, please.

Ответы>>879450>>879508

21 Ноя, 11:50 #274 #879450

>>879449
Хорошая попытка, но нет.

21 Ноя, 14:17 #275 #879492

Ну так стоит его учить для написания своей соцсети?

Ответы>>879501>>879511

21 Ноя, 14:30 #276 #879501

>>879492
Нет. Учи Haskell.
Установи Snap! или Yesod и вперёд.

Ответы>>879504

21 Ноя, 14:35 #277 #879504

>>879501
>Haskell
Но я не люблю ебать себя в жопу.

Ответы>>879505

21 Ноя, 14:38 #278 #879505

>>879504
А зачем ебать себя в жопу, и месить ГОвно, если можно просто по-человечески писать на хаскелле?

Ответы>>879506

21 Ноя, 14:39 #279 #879506

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

21 Ноя, 14:41 #280 #879508

>>879449
илюша детектит сам себя и думает что всех наебал многоходовочкой
но мы-то знаем

21 Ноя, 14:42 #281 #879511

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

Ответы>>879519

21 Ноя, 14:49 #282 #879515

>>879433
Еще раз: как реализация IO связана с ссылочной прозрачностью? Впрочем, можешь не отвечать, моё изначальное мнение подтверждено - ты нулевой долбоёб который говорит о том чего не понимает.
Поскольку разговор я затеял ради мимокрокодилов, интересующихся ФП, вывел нулевого на чистую воду и дал термины которые нужно гуглить, спешу покинуть этот Goдюшник.
Можешь писать слив засчитан ололо, просветленный знаток ФП.

Ответы>>879526

0 Кб, 512x512

21 Ноя, 14:55 #283 #879519

>>879511
Но я хочу быть модным.

Ответы>>879521

21 Ноя, 14:59 #284 #879521

>>879519
Ну тогда все ок. На любом митапе тебя примут за своего и даже поняжат под хвост :3

21 Ноя, 15:07 #285 #879526

>>879515
Нет, подруга, так не пойдёт. Разговор начался с моего утверждения, что чтобы быть функциональным языком, достаточно лишь иметь первоклассные функции. Потом вылезла ты и заявила, что это не так, и что ещё нужны ленивости и мандадки, попутно признав, что в ламбда исчислении этого всего нет, но "функциональным языком" оно является. Это уже говорит о том, что ты не понимаешь и с логикой у тебя не очень. После этого ты уже начала приплетать сюда всю эту хуйню о программистах и их командах, как будто они на что-то влияют, при этом уже третий пост подряд старательно игнорируя мой неудобный вопрос.
>как реализация IO связана с ссылочной прозрачностью?
А вот на это я отвечу. Сайд-эффекты есть - чистоты нет. Сайд-эффектов нет - чистота есть. Согласна? IO делает сайдэффекты. Они не чистые, потому что ты не получаешь "новый мир" в мандадке (получаешь только в теории, а не на практике). Потому что IO - хак. Поэтому код с IO не является ссылочно-прозрачным. Вот так и связана.
>ты нулевой долбоёб который говорит о том чего не понимает.
>вывел нулевого на чистую воду
>Можешь писать слив засчитан ололо, просветленный знаток ФП
Если ты думаешь, что вот такой призыв к эмоциям возвысит тебя в глазах окружающих, то ты сильно ошибаешься.

Ответы>>879533>>879655

21 Ноя, 15:18 #286 #879533

>>879526
Илюша, угомонись.

Ответы>>879547

21 Ноя, 15:47 #287 #879547

>>879533
Лол, ты лошок и не разбираешься в Илюше.

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

Ответы>>879551

21 Ноя, 15:50 #288 #879551

>>879547
>...
Ну что же ты, илюша.

21 Ноя, 16:08 #289 #879562

>>879437

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

Ответы>>879568>>879574

21 Ноя, 16:15 #290 #879568

>>879562
>Отказы в системах это нормально.
Это все что нужно знать о говнокодерах вроде тебя

Ответы>>879580

21 Ноя, 16:22 #291 #879574

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

Ответы>>879580

21 Ноя, 16:27 #292 #879580

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

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

Ответы>>879581>>879591

21 Ноя, 16:30 #293 #879581

>>879580
>я не пишу на говне я пишу на эрланге
Сорта говна такие сорта.

Ответы>>879585

152 Кб, 1600x1000

21 Ноя, 16:33 #294 #879585

>>879581

Ответы>>879594>>879674

21 Ноя, 16:37 #295 #879591

>>879580
Сильная типизация не мешает им падать в рантайме из-за опечаток в имени переменной.

21 Ноя, 16:41 #296 #879594

>>879585
На пике напиши "ну давай, расскажи мне про хаскель"
Вот ленивый пидор, всему вас учить.

Ответы>>879599>>879619

21 Ноя, 16:42 #297 #879599

>>879594
Почему сразу хаскелль-то? Это уже прошлый век.

21 Ноя, 16:49 #298 #879607

>>879442
Отдаёт json/xml, собирает статистику, рекламный сервер
Просто поддерживать код, горутины в языке для паралельных запросов s2s упростили многое, например.
Недавно еще искали рубиста, он таки быстро втянулся в работу.
Хотя генериков не хватает конечно, надоело с типизацией ебаться в тех местах, где можно было бы все сделать более красиво и читаемо.

21 Ноя, 17:07 #299 #879619

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

Ответы>>879643

21 Ноя, 17:28 #300 #879643

>>879619
Да.

21 Ноя, 17:50 #301 #879655

Блять, придёться ответить, даун путает людей.
>что ещё нужны ленивости и мандадки
Я этого не говорил. Вот мой первый пост: >>877204
>>Лямбда-исчисление - это функции
>По твоему, лямбда = функция, долбоёб?
>>879526
>IO делает сайдэффекты
>код с IO не является ссылочно-прозрачным.
Еще одно доказательство того что ты не разбираешься в том о чем говоришь. IO не делает сайдэффектов, оно описывает вычисления имеющие их. Значения IO a ссылочно прозрачны. Дальше сам разбирайся на хаскель вики зайди чтоле, твоим образованием я заниматься не намерен. Ты туп и невежественнен.

Ответы>>879699

21 Ноя, 18:09 #302 #879674

>>879585
На пике напиши "Стесняюсь спросить даже, Владимир Владимирович... А можно... У Вас отсосать?"

Ответы>>879680

21 Ноя, 18:16 #303 #879680

>>879674
Нельзя, чернь блядь. Зубы иди от ГОвна вычисти.

21 Ноя, 18:23 #304 #879688

А вы знали? Если вы сделали db.Prepare для своего запроса, но коннект на котором вы это делали вдруг стал занят (потому что у Го нет нормального пула коннектов), умный Го будет делать заново Prepare на новом коннекте!!!

...что то?? Го для высоконагруженных проектов? Ага...

Ответы>>879690

21 Ноя, 18:26 #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.

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

21 Ноя, 18:43 #306 #879699

>>879655
>Я этого не говорил
То-то я смотрю, она помолодела слегка и сажу забыла повесить. Энивей, ты влез в середину разговора взяв себе чужую позицию, тебе и отдуваться.
>Вот мой первый пост
А вот это ты зря. В том посте ты обосрался на стольких уровнях, что это даже не смешно. Я бы вот на твоём месте постыдился об этом упоминать. Можешь помедитировать, например, на то, что ты сейчас процитировал, если ещё не дошло.
>оно описывает вычисления имеющие их
"Его убил не я, а нож". Программа на С описывает вычисления. Абсолютно любая программа описывает вычисления.
>Значения IO a ссылочно прозрачны
Яcно, тебе просто насрали в голову. В теории это, конечно, так. На практике же ты не можешь достать реалворлд и проверить, тот же он там или уже другой. Если ты записал что-то в файл, то ты не можешь достать предыдущую версию файла из прошлой версии IO. Ты не можешь их ни сравнить, ни ещё что-то с ними сделать. При этом если ты каким-нибудь образом запишешь в файл строку "хуй", сохранишь версию реалворлда, запишешь в файл ещё один "хуй", достанешь сохранённую версию реалворлда и прочтёшь файл, то ты получишь ровно два хуя, а не один. Такая-то прозрачность.
>туп и невежественнен
Ты можешь знать больше меня (в чём я сомневаюсь, но чем чёрт не шутит), но вот понимания у тебя нет.

А вопрос так и остался проигнорированным.

Ответы>>879760>>880090>>880512

21 Ноя, 18:51 #307 #879707

>>879442

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

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

PS личное впечатление: такое ощущение что го писал школьник подросток. Вроде какие-то концепции где-то уловил, но тут же наталкиваешь на очередную тупость. Новые языки почему то глупее старых.

Ответы>>879720>>879752>>881290

21 Ноя, 18:54 #308 #879712

Крутой тред, прямо филиал /b на программаче. Но энивей Гоферы сосут хуй

21 Ноя, 19:10 #309 #879720

>>879707
>такое ощущение что го писал школьник подросток
Это потому что Ричи сдох.
Вот был бы Ричи жив, такой хуйны не было бы сейчас.

Ответы>>879727

21 Ноя, 19:18 #310 #879727

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

Ответы>>879738

21 Ноя, 19:29 #311 #879738

>>879727
>вероятно даже ничего могли сказать против
Всегда можно выбить нахуй зубы погонщику и уйти на +500.

21 Ноя, 19:44 #312 #879752

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

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

Ответы>>879754>>879759

21 Ноя, 19:45 #313 #879754

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

Ответы>>879798

21 Ноя, 20:00 #314 #879759

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

Ответы>>879766>>879798

21 Ноя, 20:01 #315 #879760

>>879699
>взяв себе чужую позицию, тебе и отдуваться
Написал на дваче - взял чужую позицию. Крутая логика, как раз твоего уровня. Я для кого квочу конкретные утверждения?
>Абсолютно любая программа описывает вычисления.
Вот же тупое животное.
https://wiki.haskell.org/Introduction_to_Haskell_IO/Actions
>Яcно, тебе просто насрали в голову ... сумбурное бормотание дауна ...
Еще раз подтверждаешь незнание элементарных вещей.
>понимания у тебя нет
Нет его у тебя. Ты - типичный пример эффекта даннинга-крюгера.

21 Ноя, 20:07 #316 #879766

>>879759
или map[string]interface{}
коих наплодили сейчас

3030 Кб, Webm

21 Ноя, 20:50 #317 #879798

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

>>879759
>о да, а с interface{} все еще дешевле
Я говорил про индустрию в целом, не про GO на нем вообще не писал.

Ответы>>879806

21 Ноя, 21:10 #318 #879806

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

Очередное животное, услышало о "статичности-кококо" и давай свое говномнение вне контекста писать.

Ответы>>879825>>879831

21 Ноя, 21:39 #319 #879825

>>879806
Вот тебя то разорвало то.
Как и везде есть градации лучше-хуже.
Но любая GOвнястая статическая типизация лучше динамикопараши, ноу дискас

Ответы>>879831>>879875

21 Ноя, 21:43 #320 #879831

>>879806
>>879825
Илюша, пожалуйста.

21 Ноя, 23:13 #321 #879875

>>879825
тебе еще раз говорят, иди нахер со своей философией. Полезность нормальной статической типизацией без тебя известна, но в го она такая бестолковая, что больше мешает

Ответы>>879889

21 Ноя, 23:51 #322 #879889

>>879875
Роберт Гризмер и Роб Пайк наверное забыли у сыча из /pr/ мнение спросить когда проектировали систему типов.

Ответы>>879893>>879896

21 Ноя, 23:56 #323 #879893

>>879889
>Роберт Гризмер и Роб Пайк
Уноси этих двух клоунов откуда принес.

Ответы>>879904>>880063

22 Ноя, 00:04 #324 #879896

>>879889
убери линейку, сынок, на /зк такими хуями не меряются (пиздуй в свой го чат, или что там у вас у сектантов)

Ответы>>879913

22 Ноя, 00:06 #325 #879898

Тем временем завезли новый раунд тестов:
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext

Ответы>>879902

22 Ноя, 00:14 #326 #879902

>>879898
rust как всегда отсасывает, даже в быстрые хелло-ворды не смогли?

22 Ноя, 00:18 #327 #879904

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

Ответы>>879909

22 Ноя, 00:29 #328 #879909

>>879904
>спроситть
Эк тебя, /го/вняша.

22 Ноя, 00:32 #329 #879913

>>879896
Т.е. ты считаешь что мнение сыча с имиджборды может хоть как-то сравниться с такими авторитетами, как Роберт Гризмер, например?

Ответы>>879918

22 Ноя, 00:34 #330 #879915

Сыч с двача считает и свято верит в то, что все шарит и все понимает и знает как сделать лучше. НО на САМОМ деле, нихуя не знает, и ничего не может сделать сам. Расс Кокс опустит такого сыча, при возможности, за 10 минут. Но на АИБ выебываться петушок горазд, это да.

НЕ знаешь ТОНКОСТИ разработки языков программирования, не пизди. А ты не знаешь

22 Ноя, 00:35 #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

22 Ноя, 00:37 #332 #879918

>>879913
>Роберт Гризмер
ФУБЛЯ

Ответы>>879939

22 Ноя, 00:38 #333 #879919

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

61 Кб, 500x250

22 Ноя, 00:39 #334 #879920

Чисто статистически все тролли в этом итт треде были опущены ниже плинтуса. Друзья, это не я, это все статистика!

Ответы>>879923

22 Ноя, 00:43 #335 #879923

>>879920
>Друзья
Ты пидор что ли?

22 Ноя, 01:02 #336 #879931

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

22 Ноя, 01:13 #337 #879939

>>879918
мля, я же кушал!!!

22 Ноя, 10:44 #338 #880054

Анон, как смириться и начать писать на Go?

Ответы>>880065>>880076

22 Ноя, 11:28 #339 #880063

>>879893
Борщехлебу то виднее естественноно.

Ответы>>880155

22 Ноя, 11:30 #340 #880065

>>880054
Берешь и пишешь. По сравнению с серверным js, это еще годнота.

22 Ноя, 11:59 #341 #880076

>>880054
Перестаешь слушать петуханов итт и просто, без задней мысли, начинаешь писать на Go.

sage 22 Ноя, 12:16 #342 #880088

>>878854
Лёгкость != простота. goвно разве что лёгкое

Ответы>>880149

sage 22 Ноя, 12:23 #343 #880090

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

Ответы>>880155

22 Ноя, 14:52 #344 #880149

>>880088
> goвно разве что лёгкое
И так же простое. Ты в расте пытался писать асинхронный код? Мне больно блять на это смотреть, хз как люди такое парсить будут при поддержке какого-нибудь проекта.

Ответы>>880155

22 Ноя, 15:06 #345 #880155

>>880090
Нихуя, линус-хуинус трет освятил.
>>880149
А нахуя ты его с растом сравниваешь-то? Особенно учиытвая что там и нету асинхронщины в языке
Сравнивай с питоном, жсом, шарпом.
>>880063
Ну все остальные почему-то пытаются развивать языки, а один Пайк такой говорит: ребят, вы все пидорасы, а я - дартаньян.

22 Ноя, 15:22 #346 #880167

Многие хейтят Go, но скажите, в хаскеле есть SELECT? А быть может быть в хаскеле есть GOTO? Когда я последний раз проверял, в хаскеле было НИХУЯ, кроме типовой петушни и сомнительных парадигм, которые непонятно как принесут мне ДЕНЬГИ. Для меня, как программиста-бизнесмена, хаскель не несет объективной ЦЕННОСТИ, в отличии от Go.

Ответы>>880171

22 Ноя, 15:24 #347 #880169

Вы программистишки плешавые задроты, никого абсолютно не ебет что у вас там за философия кода. Я хочу иметь возможность легко и быстро вас менять (один ушел — другой пришел), а также быстро и дешево итерировать. ЭТО — ценность, реальная и объективная. Можете дальше дрочить на теоретические качества языков программирования, а я буду зарабатывать деньги, применяя Go в своем бизнесе.

41 Кб, 604x453

22 Ноя, 15:25 #348 #880171

>>880167

22 Ноя, 15:29 #349 #880173

Microsoft ежегодно зарабатывает боснословные деньги. Но что-то пока я там работал, НИ РАЗУ не видел функционального кода. Потому что, ВНЕЗАПНО, функциональные языки — не более, чем маня-увлечения ботаников и задротов, которые просирают свою жизнь на PhD в области чего? Дизайна ЯП? АХаххахххаха.

Ответы>>880203>>880255

22 Ноя, 16:26 #350 #880203

>>880173
ну это просто потомушто ты байтослесарь и наняли тебя не языки дизайнить а байты ебать, ghc мостли разрабатывался в майкрософте, эрик майерс который запилил линк для сисярпа хаскелист и а про F# ваще молчу.

Ответы>>880284

22 Ноя, 17:24 #351 #880255

>>880173
> Но что-то пока я там работал, НИ РАЗУ не видел функционального кода.
Кто-же кодомакаку к порядочным кодерам сразу пустит? Вам лишь бы посрать на каком-нибудь форуме, а им делами надо заниматься.

Ответы>>880289

22 Ноя, 17:46 #352 #880277

>>878490 (OP)
Почему никто ещё не запилил форк без всякой идеологически правильной хуйни?

22 Ноя, 17:55 #353 #880284

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

22 Ноя, 17:56 #354 #880289

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

Ответы>>880309

22 Ноя, 18:40 #355 #880309

>>880289
Да кому ты нахуй надо с объектами своими, никогда не учи функциональные языки, это все от лукавого. Оварквалифицируешься еще на родной джаве станет неприятно писать. Ктоже будет БИЗНЕС ЛОГИКУ писать, уж точно не те кто теоремы умеют доказывать.

Ответы>>880322>>880324

ГОФЕР 22 Ноя, 18:46 #356 #880312

мой любимый тред на ЗК

Ответы>>880326

22 Ноя, 18:57 #357 #880322

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

Ответы>>880324>>880330

22 Ноя, 19:01 #358 #880324

>>880309
>>880322
Ну что же вы, програмистишки.

Илюша 22 Ноя, 19:02 #359 #880326

>>880312
И мой :з

sage 22 Ноя, 19:07 #360 #880329

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

22 Ноя, 19:07 #361 #880330

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

Ответы>>880345>>880350

22 Ноя, 19:20 #362 #880345

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

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

Ответы>>880357

22 Ноя, 19:25 #363 #880350

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

Ответы>>880358

22 Ноя, 19:28 #364 #880357

>>880345
>АХахаххаха
>Ахахахах.

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

Ответы>>880360

22 Ноя, 19:28 #365 #880358

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

Ответы>>880359>>880360

22 Ноя, 19:29 #366 #880359

>>880358
>сам сидит
И дрочит*

22 Ноя, 19:32 #367 #880360

>>880357
>миллионы мух выбирают правильные инструменты
Чувак, люди деньги зарабатывают. До тех пор пока джава приносит больше всего денег, она останется лучшим языком программирования в мире. Ценность твоего ЯП ~ сумме денег, которых он приносит в проде во всем мире.
>Хотя если ты делаешь ГОвно
В это время десятки инженеров в гугл пишут шедевральный инфраструктурный код на Go и смеются тебе в ебало сквозь свои конские зарплаты, на которые ОНИ могут позволить СЕБЕ нанять штат таких фантазеров как ты)

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

Ответы>>880363>>880376>>880386

22 Ноя, 19:34 #368 #880363

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

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

Ответы>>880386>>880529

Аноним 22 Ноя, 19:50 #369 #880376

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

Ответы>>880380>>880529

чернило !AN5G2JJLXA 22 Ноя, 20:07 #370 #880380

>>880376
> изучить весь ужаснейший говнокод и разбираться в этой параше
Как что-то плохое. Результат то один - подохну и я, и этот топовый инженер, и наши дети, и их дети. Лет через 200-250 всем будет абсолютно похуй уже на такие мелочи.
Зачем ты сейчас высрал это - яннп.

Ответы>>880381

22 Ноя, 20:11 #371 #880381

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

Ответы>>880418

22 Ноя, 20:22 #372 #880386

>>880360
>>880363
ИЛЮША ПРИДИ ВЫГАНИ ФП ПИДАРАСОВ!
@
ИЛЮША ТАЙКОМ КОЛИТ ЭРЛАНГ И НЮХАЕТ ОКАМЛ
чота орнул

22 Ноя, 20:37 #373 #880413

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

Ответы>>880445

22 Ноя, 20:39 #374 #880418

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

22 Ноя, 21:01 #375 #880445

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

Ответы>>880465

22 Ноя, 21:18 #376 #880465

>>880445
Модулей не будет — очень оверинжиниринг, а вот тайпклассы в том или ином виде есть везде.
Иммутабельность во всех новых языках уже есть, а СА наполовину в таких реализован.
Паттерн матчинг с адт уже есть везде кроме жявы с говном (даже в шарпе пм уже завезли, адт туда запилят в следующем же релизе).
Чистоты по умолчанию как и сейчас кроме хачкеля нигде нет и не будет.

22 Ноя, 22:27 #377 #880512

>>879699
Ой, дибил, просто иди нахуй. Хаскель не для тебя, равно как и размышления о нем. Иди вот с Goвнюками побщайся, аудитория твоего уровня
мимо-другой

Ответы>>880529

22 Ноя, 22:54 #378 #880529

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

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

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

Ответы>>880535>>880537>>880612>>882292

sage 22 Ноя, 23:05 #379 #880535

>>880529
>я слышал что в программах на хаскеле очень редко находят баги... потому что их НИКТО не компилирует нахуй
Свежая интеллектуальная подъёбка от успешного %17-летнего% бизнесмена.

Ответы>>880543

22 Ноя, 23:05 #380 #880537

>>880529
>Я предпочитаю заниматься бизнесом
Этого пидора на http://ebanoe.it видел - деревянными хохлами торгует.

22 Ноя, 23:12 #381 #880543

>>880535
Не расстраивайся, я в прошлом тоже был кодерошлюхой. Пройдет время, осознаешь всю ущербность своего положения и поймешь, что нет абсолютно НИКАКОЙ разницы, на чем писать. Ведь главное что от тебя требуется, чтобы Я смог заработать денег.

Ответы>>880621

23 Ноя, 00:40 #382 #880597

Поясните за первый пик, неужто скала настолько проста?
Как оно по памяти? Не сожрет на вдс с 2 гб оперативки все что найдет? Держу там небольшой сервис на Go под ~500 юзеров в день.

Ответы>>880604>>880609

23 Ноя, 00:57 #383 #880604

>>880597
>неужто скала настолько проста?
Спустя 1000 строчек превращается в нерефактабельную кашу. Скала это аки С++ мира JVM: нахваталась кучу всего из кучи разных языков, но никакой общей картинки нет и код очень быстро без анального контроля превращается в адъ.
>Как оно по памяти?
Хуево, но терпимо.
>Не сожрет на вдс с 2 гб оперативки все что найдет?
Сожрет.
>Держу там небольшой сервис на Go под ~500 юзеров в день.
Ты делаешь все правильно.

Ответы>>880721

23 Ноя, 01:00 #384 #880608

Как в Go найти элемент в массиве?

Ответы>>880638

23 Ноя, 01:04 #385 #880609

>>880597
>Поясните за первый пик, неужто скала настолько проста?
Нет, лол. Она удобна и лаконична, но не проста.
>Как оно по памяти?
Как и жава. В общем — как напишешь так и поедет.
>Не сожрет на вдс с 2 гб оперативки все что найдет?
Понатащишь фреймворков и свистоперделок — сожрёт. Будешь разрабатывать из минималистичных говна и палок а-ля го юникс-вей — всё нормально будет да это ява, там размер хипа регулируется одной строчкой конфигурации, о чём вообще речь
>Держу там небольшой сервис на Go под ~500 юзеров в день.
С таким адским хайлоадом хоть на руби с рельсами (самое тормозное что есть на рынке) перепиши — оно летать будет, тебе явно не стоит парится по поводу производительности.

Ответы>>880611>>880616>>880721

23 Ноя, 01:05 #386 #880611

>>880609
>тебе явно не стоит парится по поводу производительности.
это до первого школоддоса

Ответы>>880613

23 Ноя, 01:06 #387 #880612

>>880529
>Это не пруф. По-моему он говорил только что планирует взять несколько синтаксических фишек из эрланга и окамла.
А по-моему ты всё же долбоёб. Вот блять даже обосновывать не стану.

23 Ноя, 01:09 #388 #880613

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

Ответы>>880617

23 Ноя, 01:12 #389 #880616

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

Может сразу начать писать на нормальных языках, расчитаных не на быстрое прототипирование, а на взрослых, приспособленных к хайлоаду, языках? Вроде Go, например.

Ответы>>880620>>880621>>880625>>880651>>880721

23 Ноя, 01:15 #390 #880617

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

Ответы>>880620>>880621>>880625>>880721

23 Ноя, 01:21 #391 #880620

>>880616
Вась, для начала разберись в разнице между дудосом и досом.

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

Ответы>>880630>>880721

sage 23 Ноя, 01:21 #392 #880621

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

Ответы>>880630

23 Ноя, 01:25 #393 #880624

Java/Scala:

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

Go:

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

Ответы>>880627>>880635

23 Ноя, 01:25 #394 #880625

>>880616
>>880617
Илюша, спать иди.

Ответы>>880631

23 Ноя, 01:26 #395 #880627

>>880624
Илюша, быстро в кроватку.

Ответы>>880631

23 Ноя, 01:30 #396 #880630

>>880620
>Пока кто-то будет трахаться с указателем
:))
>Шедулер сейчас интернет-канал от спама почистит
Манька, если у тебя канал забит, то никакой софт не поможет.

>>880621
>Давайте закладывать 100500 rps когда реально будет 1 rps, ведь нас могут заддосить
Чувак говорил про посещаемость 500 юзеров в день. За нее уже надо бороться. Лучше сразу думать о скейле, чем потом хвататься за голову и терять посетителей.
>Ой, а в базу же упремся!!!
Кто делает кеш в базу не упирается.

Ответы>>880643

23 Ноя, 01:32 #397 #880631

>>880625
>>880627
Илюша временно отошел, говорит твоя мамка.

Аргументы будут?

23 Ноя, 01:39 #398 #880635

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

===

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

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

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

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

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

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

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

Ответы>>880637>>880640

23 Ноя, 01:40 #399 #880637

>>880635
>бинарь всё
Закончился

23 Ноя, 01:41 #400 #880638

>>880608
пробежать по всему массиву и сравнить элементы.

Еще есть https://golang.org/pkg/sort/#Search
такая функция

Ответы>>880641

23 Ноя, 01:42 #401 #880640

>>880635
Как жаль что ты это все про скалу написал... Особенно часть
>в коде хуй разберёшься
и
>Тем временем требования к обработке данных изменились и ты твой сервер помирает от фрагментации.

Ответы>>880645

23 Ноя, 01:43 #402 #880641

>>880638
>Search uses binary search
А если у меня неотсортированный массив?

Ответы>>880642

23 Ноя, 01:45 #403 #880642

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

Ответы>>880644

23 Ноя, 01:45 #404 #880643

>>880630
>Манька, если у тебя канал забит, то никакой софт не поможет.
Ещё немного, и ты даже узнаешь о аппаратных фаерволах.
>>880630
>Лучше сразу думать о скейле, чем потом хвататься за голову и терять посетителей.
Так говно ничего для этого и не предраспологает. Самое сильное — может заскейлится на пару ядер.

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

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

Ответы>>880647

23 Ноя, 01:49 #405 #880644

>>880642
>Разве есть алгоритмы поиска в несортированных массивах?
Конечно есть.
Только не для /го/внодебилов, разумеется.

Ответы>>880646

23 Ноя, 01:50 #406 #880645

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

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

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

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

Ответы>>880648

23 Ноя, 01:51 #407 #880646

>>880644
дай пример

Ответы>>880650

23 Ноя, 01:53 #408 #880647

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

>Так говно ничего для этого и не предраспологает.
Ты представляешь себе как работает веб-сервер?

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

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

Ответы>>880649>>880650

23 Ноя, 01:55 #409 #880648

>>880645
>Ну скала хоть имеет средства для нормального разделения кода.
>Скала как никак дефакто один из главных хайлоад языков
Конеееечно, конечно-конечно!

Ответы>>880649>>880650

23 Ноя, 02:02 #410 #880649

>>880647
>Ты представляешь себе как работает веб-сервер?
Ты представляешь вообще что такоет горизонтальное масштабирование? Или в твоём супирхайлоаде всё на вертикальном заканчивается?
>Странно, почему тогда одна из самых хайлоадед компаний в мире (CloudFlare)
Лол
>отдала предпочтение Go и использует его практически всюду?
Я открываю их гитхаб и... у них не меньше репозиториев на перде и жаваскрипте. Ещё куча lua. Что же это значит?
>нужны только трем компаниям в мире?
А, я таки был прав, у тебя опыт хайлоада — "ща оперативки добавим и всё будет посаны".
>>880648
На го пишут инфраструктуры банков? Нет? Так может это всё же игрушка?

Ответы>>880722

23 Ноя, 02:11 #411 #880650

>>880646
Так ты же /го/внодебил, тебе не положено.
>>880647
>>880648
Вас же разогнали нахуй и больше не платят - ты /го/вно жрешь бесплатно что ли? Ебать ты русский.
Впрочем, держи +15

23 Ноя, 02:14 #412 #880651

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

23 Ноя, 10:24 #413 #880721

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

23 Ноя, 10:33 #414 #880722

>>880649
> перде
Эй, перл охуенный, не надо тут. Моя первая работа была на perl бэк поддерживать и дописывать одной региональной компании. Жаль что хипстеры не понимают его мощь, у них javascript головного мозга.

23 Ноя, 20:29 #415 #881070

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

PS я вообще не знаю, есть ли у сервака поддержка таймаута на коннект? Если нет, то это будет лютый-вин!

Ответы>>881082>>881124>>881150

23 Ноя, 20:49 #416 #881082

>>881070
Репорт киберпреступника.
Отписался Усманову и Пайку, жди гостей.

23 Ноя, 21:40 #417 #881124

>>881070
Ты неправ. https://go-review.googlesource.com/#/c/22670/

Ответы>>881156

23 Ноя, 22:30 #418 #881150

>>881070
Это неправда. Но там какой-то пиздец с HTTP-запросами точно есть. Из того, что бесит больше всего, могу назвать незакрывающиеся соединения при таймаутах. Если таймаут не указать явно, то быстро в лимит хэндлеров уткнешься. Мне всё лень всерьез разобраться, как это все точно работает, но могу точно сказать, что вы не раз охуеете, когда захотите какой-нибудь йоба-парсер интернетов на Go написать.

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

Ответы>>881286>>881293

23 Ноя, 22:36 #419 #881156

>>881124

Что там? У меня на работе только двач доступен?
По дефолту никаких таймаутов я не видел

Ответы>>881159

23 Ноя, 22:38 #420 #881159

>>881156
В глаза ебешься?

>IdleConnTimeout: 90 * time.Second

Ответы>>881164

23 Ноя, 22:49 #421 #881164

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

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

Ответы>>881165

23 Ноя, 22:50 #422 #881165

>>881164
В смысле, хер там? Открой transport.go и охуеешь, что в конструкторе задается дефолтное значение 90 секунд.

Ответы>>881170>>881173

23 Ноя, 22:55 #423 #881170

>>881165
моему телнету видимо похуй или даун ты, перепутав с другим каким-то таймаутом (на уровне TCP, так как телнет TCP то держит нормально)

Ответы>>881174

23 Ноя, 22:56 #424 #881173

>>881165
чувак попробуй сам, не троллю

Ответы>>881174

23 Ноя, 22:57 #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

23 Ноя, 23:19 #426 #881202

>>881174
лол, значит бага еще плавающая

Ответы>>881206>>881212

23 Ноя, 23:23 #427 #881206

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

23 Ноя, 23:25 #428 #881212

>>881202
Какая версия Go у тебя?

Ответы>>881216

23 Ноя, 23:27 #429 #881216

>>881212
go version 1.7.1

Ответы>>881219

23 Ноя, 23:30 #430 #881219

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

Ответы>>881251

24 Ноя, 00:06 #431 #881251

>>881219
Чувак, я просто поставил слушалку keep-aliveов, открыл на :1313 и потом прямо из хрома накидал соединений, все умирают стабильно через 90 секунд. Мне лень тебе сейчас вот это код копипастить, сравнивать-доказывать. Ищи багу у себя где-то.

Или можешь зафайлить на гитхабе: https://github.com/golang/go/issues/new

Ответы>>881255

24 Ноя, 00:18 #432 #881255

>>881251
Тут какая-то рокировочка произошла. Я спрашивал у того анона, который говорил, что у него соединения не закрываются.

Ответы>>881264>>881265

24 Ноя, 00:43 #433 #881264

>>881255
Жизнь KA:
апач - 5 сек (по-моему дефолтная настройка, давно он у меня тут, не помню)
jetty - 30 сек
undertown - хуй
какой-то котлин сервак (не помню уже) - 30 сек
go сервер (дефолтный 1.7.1) - хуй

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

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

Ответы>>881266>>881268

24 Ноя, 00:43 #434 #881265

>>881255
А я подумал, что ты — тот анон, у которого соединения не закрываются. Бывает.

24 Ноя, 00:44 #435 #881266

>>881264
пардон, го 1.7.3 (win7 64)

24 Ноя, 00:45 #436 #881268

>>881264
Не работает у тебя пусть ну и не работает. У всех остальных работает. Show me the code.

Ответы>>881271>>881276

24 Ноя, 00:56 #437 #881271

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

18 Кб, 321x264

17 Кб, 497x227

24 Ноя, 01:04 #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

24 Ноя, 01:08 #439 #881277

>>881276
Нет, даже при появлении второго клиента после двух минут ожидания коннект не рвется.

Ответы>>881280>>881284

24 Ноя, 01:16 #440 #881280

>>881277
>>881276
Мы долбоёбы. Там IdleConnTimeout, похоже, используется для клиента. У сервера с Keep-Alive всё не очень радужно. Есть ReadTimeout, есть WriteTimeout, есть дедлайны. Per-request таймауты есть, per-connection — вроде как нет, но можно написать самому.

По части сетевой хуйни в Go ещё есть, что дописать/переписать, я считаю.

Ответы>>881282

24 Ноя, 01:19 #441 #881282

>>881280
Ой, нет, ReadTimeout и WriteTimeout, собственно, вполне успешно можно использовать для указания Keep-Alive таймаутов. Что-то я заебался сегодня и туплю уже. Вангую, что по дефолту таймаутов нет или они конские. Для http.ServeMux кастомный Transport задать нельзя, следовательно, IdleConnTimeout действительно можно использовать только для клиента.

24 Ноя, 01:25 #442 #881284

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

осталось дождаться статьи или конференции Роба Пайка, на которой он нам расскажет, что это ненужно

Ответы>>881286

27 Кб, 477x376

24 Ноя, 01:32 #443 #881286

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

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

Ответы>>881289>>881290>>882144

24 Ноя, 01:42 #444 #881289

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

Я понимаю последнее глупо, но это же го.

Ответы>>881294

24 Ноя, 01:46 #445 #881290

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

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

аналогично

Ответы>>881294

24 Ноя, 01:57 #446 #881293

>>881150
почему бы не взять netty (java) гибкая нативная штука и в тоже время не надо на голых сокетах писать (там есть таймаут-хендлер)

Ответы>>881294

14 Кб, 736x37

24 Ноя, 02:04 #447 #881294

>>881289
Пикрелейтед. Атаки на медленные запросы не пройдут. Но если взять детский пример из документации, то пройдут. Как я люблю это, вы не представляете.

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

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

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

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

> нативная
> Java
Choose one.

> в тоже время не надо на голых сокетах писать
В голых сокетах ничего плохого нет. В том же Go с ними всё ок. Есть и более высокоуровневые штуки в Go, с которыми тоже всё ок. Непонятно, к чему ты тут про сокеты начал втирать.

Ответы>>881304>>881307

24 Ноя, 02:48 #448 #881304

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

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

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

Ответы>>881486

24 Ноя, 02:59 #449 #881307

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

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

Го тут не привнес нехера ничего, скорее ограничил, так как полиморфные структуры данных это реально круто.

Ответы>>881313>>881348>>881384>>881486

24 Ноя, 03:15 #450 #881313

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

Поэтому если для тебя джава стара, погляди на котлин, а процедурного программирование оставь дядям из Си или для скриптов.

Ответы>>881344>>881486

24 Ноя, 06:43 #451 #881344

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

24 Ноя, 08:11 #452 #881348

>>881307
>публичными полями
>структура будет полиморфной
Ты ничего не попутал?

Ответы>>881457

24 Ноя, 11:11 #453 #881380

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

Ответы>>881381

24 Ноя, 11:12 #454 #881381

>>881380
> немного
Опечатался, fix.

24 Ноя, 11:26 #455 #881384

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

Ответы>>881395>>881457

24 Ноя, 11:55 #456 #881395

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

Ответы>>881405

24 Ноя, 12:28 #457 #881405

>>881395
Ну и зачем сравнивать чистый ООП язык с императивным?
Почему хейтеры не орут на каждом шагу вах какая Оберон говнина, как мы можете писать на Фортране, это же параша, а к Go столько претензий?

Ответы>>881413>>881414

24 Ноя, 12:35 #458 #881413

>>881405
Ты сам-то понял что написал? ООП относится к императивной парадигме, что как бы намекает на состояние твоего мозга.

24 Ноя, 12:39 #459 #881414

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

Ответы>>881417>>881426

24 Ноя, 12:44 #460 #881417

>>881414
> Оберон и прочие Модулы и так заслуженно подохли
Ага, и Форт подох, и тикль и окэмл.

24 Ноя, 13:01 #461 #881426

>>881414
>на одном из них ПО для российских космических аппаратов пишут, лол.
На оберон еще пишут компилятор в Excelsior Jet (известная альтернативная реализация JVM)

Ответы>>881431

24 Ноя, 13:11 #462 #881431

>>881426
>разрабатываемая c 1997 года компанией Excelsior из Новосибирского Академгородка
Почему-то я не удивлён.

24 Ноя, 13:44 #463 #881457

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

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

Ответы>>881464

24 Ноя, 13:55 #464 #881464

>>881457
> востребованных
> golang
Толсто

Ответы>>881472

24 Ноя, 14:05 #465 #881472

>>881464
как бы не было забавно, но по-востребованней лиспа.

24 Ноя, 14:06 #466 #881473

Что там у нас с http на Го? Не одного разрыва? (с)

24 Ноя, 14:31 #467 #881486

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

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

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

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

>>881313
> так как ты сложнее скриптов вероятно не писал
Сильное заявление.

Ответы>>881531>>881862>>881995

24 Ноя, 17:16 #468 #881531

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

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

Так что съебись диван отсюда.

25 Ноя, 12:13 #469 #881862

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

Ответы>>882023

25 Ноя, 16:45 #470 #881995

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

Ответы>>882009

25 Ноя, 17:14 #471 #882009

>>881995
но я никак не могу что мне делать

Ответы>>882012

sage 25 Ноя, 17:17 #472 #882012

>>882009
идти в макдональдс

25 Ноя, 17:33 #473 #882023

>>881862
Я с тобой согласен.

25 Ноя, 20:42 #474 #882144

>>881286
Что за язык?

Ответы>>882154

25 Ноя, 21:19 #475 #882154

>>882144
Язык заменяющий си в 80е годы, выпущенный в 2012 году.
Или закрытый эксперимент, доказывающий значимость маркетинга над дизайном языка.

Ответы>>882202>>882276

25 Ноя, 22:52 #476 #882202

>>882154
Хейтеры здесь круглые сутки пасутся?

26 Ноя, 00:42 #477 #882252

Как вы тут собрались ПХП побеждать, когда ваш кусок говна даже с HTTP обсирается?

Ответы>>882260>>882261

26 Ноя, 00:55 #478 #882260

>>882252
php уже сам себя победил

Ответы>>882510

26 Ноя, 01:00 #479 #882261

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

Ответы>>882510

26 Ноя, 01:33 #480 #882276

>>882154
Очень похоже на джаваскрип типо фанк и ещё оператор такой знакомый, из паскаля вроде или пролога

26 Ноя, 02:13 #481 #882292

>>880529
>- РРЯЯЯЯ, ВАШИ МАНАДЫ НЕ МАНАДЫ Я СКАЗАЛ!11
>- Ты не прав тут и вот здесь. Не берись рассуждать о том в чём не понимаешь
>-ХАХ, ТУПЫЕ ХАСКЕЛИСТЫ, НА ВАШЕМ ХАСКЕЛЕ ТО НИКТО И НЕ ПИШЕТ! ПОЭТОМУ Я ПРАВ А ТЫ НЕТ!
У программиста на каком языке нестолько сильно хромают причинно-следственные связи?

Ответы>>882301>>882326

26 Ноя, 03:09 #482 #882301

>>882292
Я пишу на Haskell.

Ответы>>882308

26 Ноя, 03:20 #483 #882308

>>882301
Обосравшись -- мимикрировать под противника.
Достойный ход, но я вывел тебя на чистую воду

Ответы>>882309

26 Ноя, 03:21 #484 #882309

>>882308
Купи слона!

191 Кб, 960x1280

144 Кб, 1280x960

384 Кб, 2139x1336

41 Кб, 1280x853

26 Ноя, 05:23 #485 #882326

>>882292
>МАНАДЫ
Monads - не актуально.
Arrows - актуально.

Ответы>>882395

26 Ноя, 13:13 #486 #882395

>>882326
Какие-то они не очень все, кроме 4.

Ответы>>882471

26 Ноя, 15:05 #487 #882471

>>882395
2 тоже неплоха.

Ответы>>882476

111 Кб, 600x600

26 Ноя, 15:06 #488 #882473

>Proposal to delete the /r/golang subreddit

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

АХАХХАХАХАХАХАХАХХАХАХАХАХАХАХА, ПИЗДЕЦ! ЭЛИТА УРОВНЯ GOOGLE ВЗЪЕБЫВАЕТ ОБЕЗЬЯНОК В СООБЩЕСТВЕ КАК ХОЧЕТ. ЕЩЕ НЕМНОГО И ПРОСТО ВОЗЬМУТ И СОТРУТ САБРЕДДИТ, ПОТОМУ ЧТО НЕ ИСКОННО ВЕРНЫЙ.

Ответы>>882476>>882512

26 Ноя, 15:09 #489 #882476

>>882471
Анус разработанный — сразу видно пользователя говна.
>>882473
Скоро такими темпам не будут индексировать запросы в стиле "why go is ugly shit".

26 Ноя, 16:11 #490 #882510

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

>>882260
двачую, лет 6-8 назад хипстота захватила руль пхп и понесло его в ебеня ООП (хотя могли улучшить структурное программирование),
причем ввиду интеллекта php комьюнити, умудрились так убого с пародировать джаву, что пердак у меня горит до сих пор.

Ответы>>882591

26 Ноя, 16:12 #491 #882512

>>882473
что там, мне лень со словариком сидеть там?

Ответы>>882517

26 Ноя, 16:33 #492 #882517

>>882512
Там послевыборная драмма какая-то: мочераторы в каком-то /политота/разделе скрытно редактировали сообщения, от чего у одного из мочераторов говно-доски взорвалась задница и он собрался полностью покинуть реддит, призывая к тому же всех.

26 Ноя, 18:57 #493 #882591

>>882510
А как в 2016 рвут KA?

Ответы>>882643

26 Ноя, 19:35 #494 #882612

Ну нихуя себе, не успел перекатить как уже наспамили.
Поднажмите уж 6 постов :3

sage 26 Ноя, 19:56 #495 #882617

лан сам посмпамлю

sage 26 Ноя, 20:01 #496 #882620

хуй

sage 26 Ноя, 20:03 #497 #882621

к бамплимиту

sage 26 Ноя, 20:05 #498 #882623

и светлому коммунизму

sage 26 Ноя, 20:07 #499 #882627

ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)

sage 26 Ноя, 20:07 #500 #882628

ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)

sage 26 Ноя, 20:07 #500 #882628

ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)
ПЕРЕКОТ
https://2ch.hk/pr/res/882625.html (М)

Показать весь текст

26 Ноя, 20:33 #501 #882643

>>882591
хуй для перфекционистов

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion