Что это за язык?Компилируемый, многопоточный язык программирования со статической типизацией, разработанный компанией Google.Какие у него сильные стороны?Быстрая компиляция и работа, устойчивость к нагрузкам, простота, богатая стандартная библиотека, универсальность.А так же асинхронность, спрятанная под капотом (100% утилизация железа). Очень легкие зеленные потоки, которых можно запустить по миллиону штук (программисты на многоядерных квантовых компьютерах в восторге).Какие у него слабые стороны?Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей. В основном сейчас знания языка приветствуется (особенно для коллег с питона).На какие языки он похож?C, PHP, JS, 1CКакая у него основная сфера применения?Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки.Какая у него основная сфера применения в будущем (вполне вероятном будущем)Разработка на новых квантовых процессорах тупо будет недоступна - язык чисто императивный, что как бы намекает нормально векторизовать и распаралелить код на архитектуре без синхронизации да даже на текущих x86 не может возможным не представляется.ХоливарЯзык настолько убог и топорен, но при этом захайпован что подрывает жопы всех - от закоренелых бородачей до молодых студентов, но очень любим хипстерами и манагерами - первыми за то, что хайп, вторыми за то, что можно сделать из программиста безликую макаку, которую заменить как в два пальца пососать.Так же его фанаты работают "на конференции" - любят понасрать и переписать какой нибудь микросервис на го, потом еще пол года катаясь по конфочкам и рассказывая басни крылова.Собственно, пытается маняврировать между высокоуровенными и низкоуровенными языками - но делает сасай у обоих, не дотягивая по удобству и средствам до высокоуровенных и сасая по перформансу у низкоуровенных.Производительностьhttps://benchmarksgame.alioth.debian.org/u64q/go.htmlhttps://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=dbhttps://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%3A>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
>>878490 (OP)>основная сфера применения>Бюджетный вебИ сразу вопрос: почему средняя компания/стартап должна выбрать голанг вместо питонов, руби, жс говна и прочего пхп?
>>878499экономия на железе, производительность и озу
>>878499статическая типизация, если не знаешь для чего тебе в большом проекте такое, можешь идти лесом
>>8784991) Меньше стоят сервера;2) За отход вправо-влево от идеологии партии - расстрел. Из чего и следует плюс - можно в любой момент выкинуть охуевшую макаку требующую больше 15 т.р. и заменить на новую, причем качество кода не осядет - язык тупо не позволяет нихуя делать.
>>878499>>878502>>878504но я бы взял джаву, ибо просто пиздец что-то серьезное на этом писать
>>878502>>878504>>878505Сомнительные плюсы.
>>8785051) Программисты обойдутся тебе дороже железа, так что рынок школьников с локалхостами тут не в счет.Да и там ничего нет. Написать нативные алгоритмы, которые просаживают все и вся будет очень легко (когда в скриптовых они уже оптимизированные)2) Ты частично прав, но качество будет такое, что будет как с историей php (брали с других языков, чтобы потом обучить php, так как вообще не могли вменяемых найти).>язык тупо не позволяет нихуя делать.Еще как позволяет, особенно когда пишут процедурно и контроля над структурой размазывается по всему коду.
>>8785161) Программисты тут те же самые что пишут и на пхп и прочем - цена та же. А деплой заканчивается на заливе (всегда одного) бинарника по SSH и запуске, что оче поможет сэкономить при почасовых ставках у фрилансеров. Алсо, еще пикрел демонстрирует типичных гоферов - они как правило любят го и писать код, так что поторговаться до хорошего демпинга не сложно.2) Ну там и не где ошибиться - см. ниже.>Еще как позволяет, особенно когда пишут процедурно и контроля над структурой размазывается по всему коду.Ну нету в вебе таких гигантских проектов, у тебя один хуй самое сложное что будет — это запросы в бд и их реддеринг в виде хтмл.
>>878510если кому нужен сахар - котлин
>>878516>2) Ты частично прав, но качество будет такое, что будет как с историей php (брали с других языков, чтобы потом обучить php, так как вообще не могли вменяемых найти).Самое главное что именно заменить действительно ОЧЕНЬ легко - даже на всяких пхп кандидату нужно знать какой-либо фреймворк и все прочее, когда у го нету и того.
>>878520И как потом менять макак когда те наговнокодят? Где хайрить котлин-девелоперов гоферов всегда можно откуда угодно переучить.Так же сервера будут выходить дороже, и расценки у ява-рынка выше.
>>878519>Ну нету в вебе таких гигантских проектов, у тебя один хуй самое сложное что будет — это запросы в бд и их реддеринг в виде хтмл.Твой опыт конечно печалит, но скажу что есть такие проекты.Но если ты кроме CRUDа не видел ничего, то тебе и всяких питонов с пхп хватит за глаза.Я прошел через опыт, когда писали процедурно на пхп для веба, даже в мелком проекте-портале это был ад. По началу просто и писать и сопровождать, а потом тупо лапша, "дернешь" в одном месте, неожиданно в другом все засыпалось (причем не всегда поймешь, ибо динамические типы и все ошибки в рантайме).То есть никакой изоляции модулей и тем более IoC, хотя юзали классы, лол.Этот ад ждет и Го, потому что-писать процедурно поначалу проще, чем вьебывать пустые модули с геттерами и сеттерами.-нет нормального ООП и полиморфизма.-нет исключений (ошибки проще заглушить, а паники не имеют типов, хер пойми что хочешь поймать)
>>878525В том и фишка, что ничего менять не надо. Можно тут же писать на джаве и котлине (да и думаю с радостью перекаться на котлин с джавы ибо просто сахар тупо)
https://blog.golang.org/go-fontsХипстеры даже свой шрифт запилили, лел.
>>878490 (OP)лойс за пикчи
>>878536Я рад что тебе понравилось.
>>8785191 - как же я ему завидуюсам бы хотел себе отсосать, только хер маловат, а позвоночник у меня не особо гибкий кагбэВот...
Я смотрю даже радио-т намазали, теперь там так резко стали Го любить и хвалить.
>>878505> язык тупо не позволяет нихуя делать.> указатели> интерфейсы> горутиныЯ тебе могу так наговнокодить, что и 10 макак не расхлебают
>>878581Реально говнокодить из перечисленного тобой помогают только интерфейсы, которые одновременно всё и ничто, у го на редкость ахуительная система типов.Указатели — с ними нихуя делать нельзя лол, горутины — да это дефолтный го код, где горутины крутстся в горутинах горутин и спамят по каналам горутинам горутин горутин, ничего сложного там тоже нет.
>>878585> ничего сложного там тоже нет> горутины крутстся в горутинах горутин и спамят по каналам горутинам горутин горутин)))
Лол, можно сделать так: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.MySuperFieldix.MySuperFieldИли вот такое:HFDcon.LeXYZ // и пытайся понять что это блять значит и заучивай что значит, ибо такого говна в коде полно.Нахуй!
>Го легкий, учиться за 2 дня.Наверните говна!https://habrahabr.ru/company/mailru/blog/314804/подводных камней там похлеще чем в javascript
Пишешь себе закрытый модуль из структуры, все поля приватны, тестами покрыл, крутой модуль. Поместил его в отдельный файл my_super_struct.@Через полгода все падает, тебя япут.@Лезешь в код, через неделю оказывается, в другом файле того же пакета кто-то блять меняет состояние твоего супер модуля, ибо инкапсуляция на весь долбанный пакет.
>>878591> подводных камней> Если вы импортируете пакет и потом не используете какие-либо из его функций, интерфейсов, структур или переменных, то код не скомпилируется.Если это подводные камни, то иди нахуй
>>878592> инкапсуляция на уровне пакетавсе верно
Легкие горутины, 4кб каждый, запускай миллионами...@Рвешь волосы на жопе, так как отладчик ненужен (с), а ты в душе не знаешь как отладить поведение в 10.000 горутин.
Взял новый язык Го.@Пишешь, работаешь со структурами@Местами у полей появляется логика, закрываешь поля, делаешь геттеры и сеттеры.Визжишь от ручного рефакторинга с регулярками.@Половина структуры из полей, половина из геттеров и сеттеров, в душе умирает перфекционист.@Опытным путем приходишь к выводу в котором пришли в 90е-2000 годы, что лучше сразу покрыть все геттерами и сеттерами, а поля делать приватными@2016 год, на новом современном языке пишешь java-код, но с примитивной и глючной экзосистемой без maven и прочего, начинаешь понимать что тебя где-то наебали.
>>878606> закрываешь поля, делаешь геттеры и сеттеры.Нахуя? На Го нельзя писать, используя ООП подходы.Попиши на Обероне например, на Аде, некоторое время, потом приходи.
Опенсорсный язык, комьюните трудиться.@Без объявление и согласование корпорация "добра", тупо вводит новый синтаксис - алиасы, убивающий всю вменяемость.@Пламя жоп видно даже на плутоне.@Пока убрали и поняли, что насухую нельзя, надо постепенно
>>878606Так ты данные от логики отделяй, тогда и никаких геттеров/сеттеров не понадобится.джаваслесарь
>>878607>Нахуя?вот иди подумай нахера.И прочитай как начальники "заставляют" делать этоhttps://golang.org/doc/effective_go.html#Getters
>>878613> начальники "заставляют"Меня никто не заставляет сеттеры например использовать
В новом патче 1.5 вводят супер крутой сборщик мусора, но цена 20% процессорного времени.@Пламя жоп видны за плутоном, так как у некоторых цифры поболее вообще.@В 1.8 вводят еще более крутой сборщик с цифрами микросекунд, говорят про плату 5%, умельцы говорят, что просело до 20%@Жопы уже не горят, а светят чистой плазмой и не понимаешь зачем в вебе реалтайм GC и зачем за него переплачивать так?
>>878597Суть в том, что асинхронная параша вообще априори неотлаживаемая. Ты хоть один отладчик такой видел? К говноедов и так достаточно фейлов которыми пользуются хейтеры, мне кажется ещё немного и они не пережили бы, поэтому легче повизжать "нинужна".>>878606>mavenНу хоть gradle бы написал, мавен с его xml — начало 2000-х.>>878611Ща, братан, я тебе процедурный код поотделяю.>>878617Чтобы хтмл быстро рендерить и запросы в бд не тормозили, ты что, никогда большого веба не писал?!
>>878617> зачем в вебе реалтайм GCЛолблядь, вот ты сейчас серьёзно спрашиваешь?
Шел 80-90е годы@Видя человеческий фактор, которому свойственно игнорить си-подобные ошибки - лучшие умы вводят исключения, чтобы если и приходилось игнорить, то нужно было выполнить как минимум финт ушами (а если не сделал, приложение отругает).@Приходит современность, завозят язык в котором можно даже заглушить ошибки, многие устают писать портянку err != nil, которая еще портит читабельность (и кстати не бесплатна по перформансу).@Наблюдая проблему, что же делают гоперы? Правильно! Пишут очередную тулзу-костыль (сотни их), которая сканирует и проверяет все ли ошибки были проверены.
>Меня никто не заставляет сеттеры например использоватьТы еще в программирование не вырос и не понимаешь до конца все кейсы инкапсуляции. Фишка в том, что в других языках есть проперти, но го эволюция обошла.Вчера только рефакторил монстра, который наполовину был из публичных полей, а другой частью из аксессеров (это "класс" жалобно кричал "...убейте меня")>Лолблядь, вот ты сейчас серьёзно спрашиваешь?Сбрызни отсюда, или иди прочитай про приложения реального времени.В любом случае GC в 100мс за 5 минут это нормально для веба (дергая проц только во время сборки) или же ты хочешь чтобы постоянно дергался GC, в короткое время, оплачивая процентами процессора (или забивая целое ядро на камне).
Нужно обработать строку@Конвертируешь ее в руну (нехера не бесплатно)@В веб приложении большая часть работы - это обработка строк
Так что, судя по пикче из оппоста уже разобрались нагружает гц стек или нет???
Взял современный язык@Не нашел линкованой мапы (мапа сохраняющая порядок), не других базовых коллекций.@Плачешь, так как придеться писать самому, или вибрать из 100500 в гитхабе----------------------SQL Scan() принимает кортеж.@Тут же думаешь, что в момент развернешь структуру в кортеж.@Хуй тебе, в Го нет кортежа, ебись с со своей структурой и рефлексией сам.----------------------Не стал ебаться с рефлекцией, ручками прописал поля.@При добавление/удаления поля в базе, весело по всему коду ищешь все свои запросы и прописываешь новшество.
Нахуя в скале фигурные скобки?Паттэрн матчинг не завези ЧТО ЛИ?
>>878642@не забываешь конвертировать обратно, так как большая часть работает со string, а не рунами.@ Каждый символ весит 4 байта вместо двух (которых достаточно для глупого utf-8)
>>878774Нельзя было в структуру string добавить сразу ссылку на руну (которая по дефолту nil, но при первом же запросе "собиралась" бы).Пошел писать собственные эффективные строки...
Goвноеды, вы больные что ли?Зачем вы едите goвно?Вас хотя бы заставляют?
>>878799А ты что ешь?
>>878799Мне вот интересно, что творится в голове у таких людей? Чем их не устраивает то, что на Go кто-то пишет? Это же их дело. Хочу - пишу на Go, не хочу - не пишу. Мой код никак не повлияет на жизнь данного индивида. Почему же тогда Go вызывает боли в нижней части спины у некоторых?
>>878805>Чем их не устраивает то, что сладкий хлеб кто-то ест?>Это же их дело. Хочу - ем сладкий хлеб, не хочу - не ем. Ты болен, тебе нужна помощь.
>>878799Альтернативы кроме haskell есть?
>>878810>кроме haskell Erlang.
>>878813Со статической типизацией? Олдфажный ноджс мне на сервере не вперся нахуй.
>>878815>Со статической типизацией?Но ты же уже знаешь ответ.Впрочем, если аллергия - бери Ocaml.
>>878815Так бери современный ноджс с типами.
>>878504>статическая типизацияОк, если тебя так система типов волнует, зачем выбирать goвно?
>>878834> зачем выбирать goвноПаскаль на сервере, как батька Вирт завещал
>>878810Rust
>>878841Я пытался, честно. Го подкупает своей простотой.
>>878854Это значит что ты дебил.Кроме шуток, вполне в медицинском смысле - проверься.
>>878854"Простой" ЯП — это как алфавит из пяти букв. Запомнить-то легко, но пользоваться заебешься.Лучше приложить силы к чему-то "сложному", что делает решение задач простым.
>>878858> сложноеЯ на работе на C# пишу, ну нафиг, дома хочется чего-то простого. Go в этом плане хорош, удовлетворяет мои хотелки.
>>878862На шарпе можно же писать без линка и прочего добра. Джаваподобный код на шарпе не сложнее говнистого.
>>878862А, так ты гребец простое уровня индуса.Ну так тебе мозг и не нужен, это верно.
>>878610Я лично неоднократно высказывался на реддите против алиасов. Но что поделать, сообщество гоферов — секта.
>>878628>которая еще портит читабельность (и кстати не бесплатна по перформансу).По-моему ты обосрался. Исключения всегда будут значительно дороже сишной обработки, потому что они стэк потрошат.
>>878642>>878774Вы че ты тупые блять? Кокрастыке строки в го сделаны пиздато. UTF-8 на уровне языка, с итерацией в коробочке. Ебасосы, как вы собираетесь разобрать UTF-8 строку без разбиения ее на кодпоинты?
>>878815интересно как ты собрался делать системы которые должны развиваться с 0 даунтаймом с статической типизацией и зачем вообще нужна статическая типизация? Только без этих тупых отпездок что типа отлавливает ошыпки на этапе компиляции. Ошибки в бизнесс логике тоже отлавливает? Так получается тесты все равно надо писать? :3
>>878841ему же писать код надо, а не на конференции доклады делать
>>878855ему же не самоутверждаться за счет синтаксиса нужно, а писать программы
>>878922ты не понял всей ситуции, это не было обоюдным согласием сообщества, они просто вкинули то, что хотели, потому что хозяева и могут (просто им там понадобилось в кодо-базе и срать на всех).
>>878943Спасибо, я в курсе. Но это не отменяет того, что куча сектантов продолжали топить за хозяевов.
>>878937Во-первых, нулевого даунтайма не бывает. Для создания системы с шестью девятками требуется литр единорожьей крови в год.Во-вторых, статическая типизация и горячая замена модулей в едином рантайме вполне совместимы.В третьих — система на то и система, что можно выключить один из многих ее кусков, обновить и перезапустить. Какие типы прописаны в коде разных кусков не имеет значение, главное соответствие протоколу.
>>878925маня, накакал тут ты, так как исключения ничего не стоят (практически), пока не возникнут. А if в коде юзаются всегда, тысячи их!!
>>878946Ну да, +1 обращению к регистру каждый if это ПИЗДЕЦ перформансу.
Зато когда возникает исключение, стек идет по пизде, а с ним и кэш. И что ты делаешь? Ты делаешь RESTART. А мы гоферы можем просто справиться, превозмочь.
>>878928>Ебасосы, как вы собираетесь разобрать UTF-8 строку без разбиения ее на кодпоинты?Сделать строку из код-поинтов сразу!string // слайз где 16 бит на поинт, которого полностью хватаети другой вариант:string32 // для всех хотелок в юникоде (или сделать суррогаты как в джаве)или сразу из 32 бит, ибо похуй на память
>>878954Ты понимаешь, что string == []byte, только иммутабельный. Строка в Go по-дефолту юникодовая, но может в теории содержать любую кодировку. Ты охуеешь, но вместо того чтобы делать 15 разных типов, чуваки просто решили интерполировать все в массив []byte (восьмибитные числа, блять). Это maxxximum компактно, блять. Ты не можешь компактнее.Уебывай читать https://blog.golang.org/strings
>>878950для твоих скриптов нет, но если ты был бы программистом, то понимал что этот маленький оверхед ввиду его частой используемости перерастет в ощутимую просадку для всего приложения.Если бы такого не было то всякие джавы не тормозили бы в два раза от С++
>>878959>обращение к регистру>этот маленький оверхедТы дебил? Пиздуй учить устройство компьютера.
>>878953когда происходит исключительная ситуация, ты гофер идешь сосать хуй, потому что не знаешь в каком состояние твое приложение и что именно обосралось (то что можно подтереть и работать дальше или же все, пиздец)Ебанные, глупые дети...
>>878961>не знаешь в каком состояние твое приложение и что именно обосралосьДа нет, я кокрастыке все знаю, потому что у меня на каждом таком возможном месте есть if. А ты ловишь где попало где попало выпущенный эксепшон, слесарь)
>>878957иди нахуй, если ты не понимаешь что любую строку, полученную из вне для посимвольной обработки тебе нужно будет перегнать в руну, а потом обратно, даже если ты ебучий американец с ASCII текстом, то я тебе ничем помочь не могу
>>878957>string == []byteэтот дебил думает, что utf-8 строка помещается в байте?Господа, у нас новый "стек, который тормозит GC"
>>878965Ты понимаешь, что такое string и rune? Это алиасы []byte и int32. В чем проблема с тем, как сегодня работают со строками в Go? Итерация по UTF-8 строке гарантированно работает за линейное время.
>>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.
>>878964Ты хером читаешь, дятел глупый? Исключительная ситуация, а не ванильные ошибки.
Точно такие же срачи о юникоде я видел в python сообществе лет 8 или 10 назад. Господа, вы повторяетесь.
>>878975Причем тут компактная запись уеба, вот тебе с расшифровкой:Хочу обработать посимвольно строку@Трачу O(1) на преобразование в код-поиты (int32[])@Потом обратно в string(int8[])----В любом другом языке, берешь и сразу обрабатываешь посимвольно строку, ибо строка есть массив.
>>879006То есть, если ты неуверен что там ascii текс (а в любых внешних данных ты априори не уверен не в чем) то ты обязан преобразовать поток байт в код-поинты UTF-8!!!!
>>879006>Трачу O(1) на преобразование в код-поиты (int32[])Эээээм никто это не делает. Тебе достаточно только один int32 для итерации, она же последоватльная и за линию гарантированно работает.
Чувак, ты уверен что до конца понимаешь что такое UTF-8 вообще?
>>879009потому что по-умолчанию в Го строка это нехера не код-поинты (не руны, не int32), а поток байтов.
Тебе ничто не мешает держать в string абсолютно любую кодировку, только тогда придется итерировать не через range, а одну из функций в encoding/* например.
>>879011>Эээээм никто это не делаетлол, а как ты из "текущего текста" достанешь мне 5 символ(если строка это int8[])?
>>879016Проитерирую до пятой руны, очевидно же.
Фокус в том, что очень редко тебе может понадобиться random-access к UTF-8 строке, которая не помещается в пространство ASCII. Если ты хочешь константный доступ к i-тому элементу, то действительно можно попробовать конвертнуть в []rune, например. Но вопрос в том, нахуя?
И другой фокус в том, что ни один другой язык В ПРИНЦИПЕ тебе не сможет гарантировать компактную запись и свободный доступ к UTF-8 строке за константное время. Если она не помещается в пространство UTF-8 (кол. кодпоинтов ≠ кол. байт), то тебе так или иначе придется либо перейти в другую запись (аки []int32) или итерировать. Сложность линия будет как не крути.
>>879024s/пространство UTF-8/пространство ASCIIбыстрофикс
Слился, я надеюсь?
>>879019>кококо в руны никто не конвертирует и похер на затраты на преобразования.>как ты получишь 5 символ>Проитерирую до пятой рунысказачные долбаебы
>>879032Хорошо, строки в го реализованы говно. Как ты предлагаешь сделать?
>>879034сразу сделать массив из код-поинтов, чтобы можно было со строкой как со слайсом работать (безопасно, понятно что с ascii такое получиться и так)>>878954
>>879040Да, только тогда все строки будут занимать в два раза больше памяти в среднем, а это нахуй не надо никому.
>>879042А в рунах 4 раза больше, но тут почему-то не тявкаешь, лол.Вообще 16 бит бы хватило, как и писал:string - это 16 бит массив.string32 - это аналог "полных" рун в 32 бита, для всех хотелок юникода.
>>879034>>879040>>879042Нет, ну что же.Вообще сделать компактную утф8 с константным (или почти) доступом можно.Но не нужно, ибо ничем хорошим в итоге для вас это не обернется.Такова селяви.
>>879044>А в рунах 4 раза больше, но тут почему-то не тявкаешь, лол.Поэтому никто и не хранит строки в рунах?Строка "привет" в питоне займет 86 байт, а в Go — всего лишь 12. Строка "привет0" в Go займет 88 байт, а в Go — 13. Чувствуешь, к чему я веду? Это тоже trade off. Оказывается, рандомно итерировать по строке нужно значительно реже, чем итерировать по ней, например. Поэтому в Go (и не только в Go, кстати), принято решение использовать компактную запись.
>>879044но сразу с код-поинтами на символА то наслушались Пайка и так и не поняли что их наебали со строками (дали сырой поток байт, лол)ебанные сектанты
>>879046>компактную утф8 с константным (или почти) доступом можноПоделись способом. Мне ничего кроме вектора оффсетов рядом в голову не приходит.
>>879048Ты так говоришь только потому что ты плохой программист, и это не имеет отношения к Go вообще никакого. Go не без изъянов, но строки в нем сделаны очень разумно. За отличную поддержку UTF-8 его и нахваливают, на самом деле.
>>879049>Поделись способом.Вам такие вещи не нужны - для вашего же блага.Да ты и сам понимаешь - или хотя бы чувствуешь.
>>879047строка в го это структура - ссылка на массив байт и количество символов, так что хуй она тебе в сумме 12 весить будет, дитё ты глупое.Тебе сказали что 16 бит на символ достаточно будет.
>>879054А 640 килобайт хватит?
>>879051За сырую поддержу потока байт? Нахваливают? Серьезно?Вот наверно нахваливают (как в первой картинке), да?>>878519
>>879052>Вам такие вещи не нужны - для вашего же блага.Вот это маневр! Лолец
>>879059А, так ты всерьез хотел получить решение - да еще и бесплатно.Тяжело тебе такому наивному по жизни, соболезную.
>>879054Окей, немного затупил. Еще будет оверхед слайса, но он будет ВЕЗДЕ. В любом языке программирования тебе понадобиться 8/16 байт оверхеда на вектор под массивом (в зависимости от разрядности системы).>Тебе сказали что 16 бит на символ достаточно будет.Ну да, только вот в таком случае все строки для которых было бы достаточно ASCII будут занимать в два раза больше памяти :))) И это ты тут про перформанс кукарекаешь.>>879055Бамп вопросу.>>879052Все понятно, еще один маневрист.
>>879065>но он будет ВЕЗДЕС точки зрения криворукого дебила - несомненно.посмотрел на тредХотя о чем я вообще, /го/вно же.
>>879064ты еще не понял, что публично слил?Мастер маневров))
>>879079>эти приемы "взятия на слабо" уровня 8/бэИ что, на одноклассниках прокатывает?Ебать они у тебя дебилы.
>ASCII будут занимать в два раза больше памятиа если руна то в 4, ебанные сектанты
>>879073Короче, смотри. Есть строка "хочу передать привет даунам с двача". На 32-битной системе она займет в конечном счете 73 байта. Пруф: https://play.golang.org/p/JaLqQJaq9-На моем 64-битном компьютере она занимает 81 байт. В то время как аналогичная строка в твоем любимом питоне, который под капотом держит строки прямо так, как ты говоришь, по 16 бит на строку, занимает на моем компьютере 144 байта. Это почти в два раза больше.>>879087Если постараться, то можно и по 640 килобайт на символ выделять, но вопрос в том, какой идиот будет держать строки в []rune? Правильно, никакой, потому что в отличии от тебя все уже давно прочитали blog.golang.org/strings
>ничего не делали, просто поместили сырой поток байт в массив.>ко-ко-ко в Go самая лучшая поддержка UTF-8, все это отмечают.ебанные сектанты :)
>>879090>просто поместили сырой поток байт в массив.Гугл все правильно делает - с особым цинизмом срет говном прямо на безмозглое быдло.Быдло верещит от восторга и просит еще.Ничего нового.
>>879090Лучше чем у Go поддержка юникода разве что у Perl 6. http://training.perl.com/OSCON2011/gbu/gbu.pdf
Сорри вот рабочая ссылка https://www.azabani.com/pages/gbu/
>>879089Как только я захочу получить срез со строки, то твой костыль мало того что сожрет проца на обход и преобразование в код-поинты, так еще и аллоцирует памяти на всю строку где будет 32 бита на символ (в 4 раза больше для ASCII).А потом снова вернет тебе сырой поток байтов.Тебе бы экономкой работать
>>879103Пруфы.
>>879089>в твоем любимом питоне>в твоем любимомОхуел что ли, пидорасина.
>>879103Охуеть просто, внезапно свободный доступ с компактной записью не дружит (а срез строки это на самом деле биекция свободного доступа). Охуеть новость ты только что рассказал!>сожрет проца на обход и преобразование в код-поинтыОн не будет ничего преобразовать, просто за константную память и линейное время посчитает где начинается и заканчивается определенный кодпоинт.>аллоцирует памяти на всю строку где будет 32 бита на символНет, никто не будет аллоцировать такую память.
>>879108защеку, глупый нубас. Иди матчасть читай
>>879115https://play.golang.org/p/ocxQqaXbucПожалуйста, я заговнокодил тебе UTF-8 слайс функцию. Там нет ничего такого, о чем ты говоришь.Чувак, серьезно, кончай позориться и лучше разберись в способах представления строк.
>>879114>кококо, преобразование сырых байтов в код-поинт бесплатен!>кококо, ничего не аллоцируется, ведь срез с руны не берется из руны![примечание]примечаниеЧтобы получить срез символов (НЕ байт!), тебе по-любому в Го нужно будет перевести строку руны, и будет аллокация и будет преобразование в код-поинты.Единственно можешь оптимизировать и выйти раньше по циклу (но хз как там работает, может на выход тебе всю руну дают, это же Го)
>>879122>кококо вот тебе никаких преобразований и рун> в цикле обрабатывает рунуебанные сектанты
>>879126Ты, к сожалению, не понимаешь, что такое UTF-8, что такое компактная запись, что такое аллокация и что такое асимптотическая сложность. И ты даже не пытаешься разобраться! С тобой бесполезно спорить, я умываю руки.
>>879127> в цикле обрабатывает рунуЧТО ЖЕ ТЫ СУКА ЗА ДАУН?! ЭТО ОДНА РУНА. КОНСТАНТНАЯ ПАМЯТЬ. 4 байта памяти на стэке. Нигде не возникает полного преобразования []int8 в []rune.
>>879122>toIndex := len(s)Аллё! ты берешь длину байт в строке, тупое ты животное!!!Но Пайк уже сделал тебе костыль utf8.RuneCountInString
>>879130Ты умеешь читать код? Причем тут нахуй utf8.RuneCountInString? toIndex это индекс в строке, до которого надо ее порезать (по-дефолту, до последнего). Что тебе не понятно?
Охуел от толпы дегенератов ITT.
>>879134Маневрист >>879130 не палится.
>>879130>>879133>>879136Два дебила - это сила./го/внотред такой /го/внотред.
Короче, маня ты ебаная. Ты обосрался уже слишком много раз, чтобы тебя вообще всерьез воспринимать. Но я все-таки скажу пару слов на этот счет. Сначала ты спизданул, цитирую:>Как только я захочу получить срез со строки, то твой костыль мало того что сожрет проца на обход и преобразование в код-поинты, так еще и аллоцирует памяти на всю строку где будет 32 бита на символ (в 4 раза больше для ASCII). А потом снова вернет тебе сырой поток байтов.Оказывается, мой костыль действительно сожрет проца на обход (и это плата за компактную запись), но он не аллоциировал вообще ничего (кроме интовых счетчиков на стэке — это константные затраты и их мы можем даже не считать). Опять-таки, "свободный доступ к кодпоинтам в компактной utf8 записи" это биекция задачи о "срезе компактной utf8 записи по кодпоинтам". Несложно доказать, что нельзя реализовать первую лучше, чем за O(n) по времени и за O(1) по памяти, а значит аналогично и последнюю (ее биекцию).Если хочешь, могу все это доказать. Но ты не хочешь, потому что тебя не интересует истина, а только профанация и обсирание Go на дваче.
Как работает мозг гофера> Если я спрячу преобразование в руну в range:> index, runeValue := range xyz> как> i := range s> значит никакого преобразования нетебанные сектантыНовый мем: строки в го, почти не конвертируются в руну
>>879145>действительно сожрет проца на обходЭто все, что нужно знать о ваших "утф8" "строках".
>>879154Ты же понимаешь, что range работает за O(1) по памяти и O(n) по времени?
>>879158>и O(n) по времениЕбаный /го/внодебил с /го/внокостылями.
>>879160Я уже тебе объяснил, почему свободный доступ работает за линейное время. Ты всегда выбираешь либо эффективную память, либо быстрый свободный доступ, третьего не надо. Если тебе прямо так часто надо обращаться к юникодовой строке по индексу и O(n) для тебя неприемлимое время, то ничто в Go не мешает тебе хранить строки в []int16 и обращаться сколько влезет. Но обычно это не надо, поэтому в Go было принято решение по-дефолту экономить память на строки.
>>878249>Ещё раз. Что тебе мешает не пользоваться расширением и делать ссылочно-прозрачные лямбды?Существующая экосистема и программисты в команде и вне неё. А еще неизвестно как выражать сайд эффекты, которые есть в любой реальной программе.>потому что IO - огромный хакПодробнее про хаки пожалуйста. Желаю полушать очердную диванную теорию.>В зависимости от того, что ты вкладываешь в слово "одинаковые". При некоторых значениях так оно и есть.Это словоблудие, ты понял что я хочу сказать. Если нет - другие может поймут. Sapienti sat.
Знаешь, что обычно (читай: почти всегда) со строками делают? Их сравнивают, например. В них ищут подстроки (Go для этого использует алгоритм Рабина-Карпа), строки сращивают. Их разделяют, их триммят и конечно же, по ним выполняют регулярные выражения. Ни для чего из этого не требуется свободный доступ по кодпоинтам, нахуя в таком случае жертвовать ради этого памятью?
>>879171уже легче, мы таки наконец-то признались что это не бесплатно (выздоровление не за горами!)Пойдем дальше:>Ты всегда выбираешь либо эффективную память, либо быстрый свободный доступИ это ты мне сейчас втираешь про эффективную память в контексте кодировки UTF-8???Никогда мир еще так не экономил...ебанные сектанты
>>879184>мы таки наконец-то признались что это не бесплатноЯ и не говорил, что это бесплатно. Это O(n) по времени и O(1) по памяти, я об этом с самого начала говорю, это ты какую-то хуйню несешь.>И это ты мне сейчас втираешь про эффективную память в контексте кодировки UTF-8???Причем тут нахуй UTF-8? Тут выбор между тем, чтобы использовать в два раза больше памяти ради свободного доступа или отказаться от свободного доступа, но сэкономить память. Ты еще про UTF-8 попизди, блять.
>>879174>Существующая экосистема и программисты в команде и вне неё.>как жаль, что из функциональных языков у нас осталась одна unlambda>Подробнее про хаки пожалуйста.Тип IO невозможно реализовать без специальной поддержки его компилятором. Значение реалворлда нельзя вытащить из мандадки ни до, ни после, ни во время. Что это, если не хак? Даже сами авторы хаскеля это признают (RealWorld is deeply magical).>диванную теорию.Раз уж ты так настойчиво стараешься покидаться говном. Понимаешь, дело в том, что я достиг просветления и прав во всём, а ты нахватался по верхам из постов в интернетике от таких же долбоёбов и теперь лезешь с умным видом в разговор к взрослым дядям.И ты не ответил на то, что тебе неудобно.
>>879188>Это O(n) по времени и O(1) по памятиА должно быть хотя бы О(ln(n))Это гуманный вариант, потому что с О(1) у вас вообще все очень плохо.
>>879194>Тип IO невозможно реализовать без специальной поддержки его компиляторомМы говорим о ссылочной прозрачности, а не о реализации компилятора.>Значение реалворлда нельзя вытащить из мандадки ни до, ни после, ни во время. Что это, если не хакЧто ты несешь, просветленный? Зачем его вытаскивать? Какой хак? Как это относится к изначальной теме?>я прав во всёмЯ заметил. Особенно много опыта работы у тебя с ФЯП.
>>879210>А должно быть хотя бы О(ln(n))Во-первых, правильно говорить O(logn). Во-вторых, чтобы получить логарифмический лукап, тебе придется каким-то образом использовать дерево. Для дерева тебе придется использовать указатели или хэш-таблицу. В конечном итоге ты используешь больше памяти, чем просто используя []int32, как предлагает больной выше.Опять-таки, я могу формально доказать почему лучше O(n) по времени и O(1) по памяти для компактной записи ты не сможешь ничего написать. Но делать этого я конечно же не стану.
>>879228>В конечном итоге ты используешь больше памяти>ты не сможешь ничегоОмежки, омежки never change.Всё у вас нельзя и запрещено, все (кроме тебя) у тебя виноваты в твоей глупости и бесполезности.И это нормально - просто такой ты есть.
>>879232Блять, ты еще скажи что можно отсортировать в худшем случае лучше, чем за O(nlogn). Есть определенные задачи, которые просто теоретически нельзя реализовать лучше определенной границы.
Вбил в поиск "golang substring", везде примеры типа str[3:5]и в таком духе.Получается если ты родился в правильной стране (с ASCII), тебе хорошо, а если не повезло, прыгай как мудак по рунам и пиши свою substring функцию.Что это, алгоритм "Рабина-Карпа"?Нет, алгоритм "Хулибина-Осётра"!ебаные сектанты
>>879239Ты еблан? Поиск подстроки и слайсинг это совершенно разные задачи, блять. Слайсинг почти никогда не делают для строк, которые не являются ASCII. А вот поиск подстроки не требует произвольного доступа.
>>879239Иди нахуй уже со своими строками в еэрланг и перестань тут вонять, даун.Зарепортил уёбка.
>>879246Глупое дитя, substring это получение подстроки по индексу.> Слайсинг почти никогда не делают для строк, которые не являются ASCIIКонечно, ибо вне ASCII он не работает!!!А ты умён!
>>879248что тут у нас? разврыв гоферского сектанского пердока!
>>879250Substring это, в переводе с английского, "подстрока", блять. Получение подстроки по индексам ее вхождения это substring extraction (lookup), а substring search это обратная задача — поиск индексов вхождения подстроки по ее значению, блять. Последняя значительно чаще применяется, и внезапно, не требует произвольного доступа к кодпоинтам.>Конечно, ибо вне ASCII он не работает!!!Просто задач нет. Назови мне какие-то реалистичные задачи, для которых может понадобится дробление юникодной подстроки по заданным индексам. Такое только в теории бывает по-моему (или очень редко), обычно со строками совершенно иные вещи делают.
тся/ться пиздец, целый день сегодня ошибки делаю
>>879253>нинужнаНу ясн.А всё снова лишь потому, что нет даже базовой фичи вроде перегрузки операторов.
>>879238>лучше, чем за O(nlogn)Вообще-то это невозможно.Но если очень надо - то а вот это тебе точно знать совсем не нужно
>>879256Примеров задач не будет?
>>879248Типичный представитель goвна, как только сливает или ему неудобно, начинает истерично клацать по кнопке бан.Только двач это не сектантское говно-параша, малыш.
ВНИМАНИЕ!!! ВНИМАНИЕ!!! ВНИМАНИЕ!!!ДАННЫЙ ГОТРЕД БЫЛ ЗАХВАЧЕН ТРОЛЛЯМИ!!! С ЭТОЙ МИНУТЫ СЧИТАЕТСЯ НЕЛЕГИТИМНЫМ!!!ИЛЮША ПРИДИ ПОРЯДОК НАВЕДИ!!!
ДАННЫЙ ГОТРЕД БЫЛ ЗАХВАЧЕН ТРОЛЛЯМИ!!! С ЭТОЙ МИНУТЫ СЧИТАЕТСЯ НЕЛЕГИТИМНЫМ!!!
>>879253там для тебя деблоида было написано погуглить по этой фразе и там именно народ получает подстроку по индексам, а не твои маня фантазиям, не позорься
>>879256>базовой фичи>вроде перегрузки операторовТолстота пошла.
>>879263>>879264вот это маневры у goвняш наших пошли
>>879266Будто меня ебет что разные дауны вроде тебя гуглят.
>>879267зачем, ведь мы будем в конец функции добавлять по буквехочешь fхочешь nlа хочешь мы тебе впереди F поставим??
Так, все блять, вы доигрались. Щас буду писать на почту Илюше, чтобы пришел и взял это кубло под свой контроль, потому что текущий ОП почему-то не в состоянии курировать тред.
>>879261Я хочу пересылать данные по сокетам и читать "прямо рукаме", а там аски будет маловато. Нинужна.>>879263Вась, шапху хоть посмотри.>>879267Так в чём толстота-то? Сделать возможность перегружать оператор слайса — настолько трудная фича, которую трудно реализовать?
>>879273да залогинься ты уже петухан, мы знаем что это ты так тупо сливаешь
>>879273Братан, я даже несколько оригинальных пикчей сделал, и тебе уже не нравится?
>>879272правда я про перегрузки функций :)
>>879270Глядите, у нас особенный в треде со своим виденьем подстроки!
>>879274Купи слона.
>>879278Купи слона.
>>879278>у нас особенный в тредеИлюша вернулся! :3
>>879280>>879281Привет, Илюша :3
>>879282>>879283Купи слона.
>>879283он тут с перегруженного стека висит
>>878945> Во-вторых, статическая типизация и горячая замена модулей в едином рантайме вполне совместимы.Давай примеры, как ты опишешь расширение или изменение протокола при статической типизации в рантайме.>В третьих — система на то и система, что можно выключить один из многих ее кусков, обновить и перезапустить. Какие типы прописаны в коде разных кусков не имеет значение, главное соответствие протоколу.Получается что статическая типизация у тебя существует только на уровне сервиса а протоколы между сервисами уже динамические?
>>879285Самое смешное, что обосрались все кто визжал про его неправоту — тред на пейпер в прошлом трете уже кидали.>>879280Мозгов гоферам к сожалению купить не смогу.Вот вы наехали на текущего опа — а а тред тем временем стал супероживлённым.
>>879274>Так в чём толстота-то?Мне просто понравилось про "базовую фичу", которая есть в полутора языках.
>>879288>которая есть в полутора языках.Чота ору. Ты лучше перечисли где её нет кроме жявы и говна с пхп.
>>879287Купи слона.
>>879287>Самое смешное, что обосрались все кто визжал про его неправотуИлюша, залогинься, палишься снова (но мы ради что сознался, что это был ты)
>>879291Давай я перечислю потом, а ты пока купи слона.
>>879294Купи слона.
>>879293>>879295Илюша, с тобой все в порядке?Гугл нахуй послал с "должности" евангелиста что ли?
>>879291В Си, например. В ЖС. В Ирлонге.Но да, что-то я проебался. Мой манямирок требует обновления.
>>879298Их еще зимой разогнали, когда эти бараны на хабре слили Го, а ванюша рыдал на весь твиттер
>>879298Я думаю что Илюше в отличии от тебя платят <3
>>879298Илюш, не маняврируй, мразь.
>>879301А вот и настоящий йилюша
>>879302Илюша вроде и не был, у него бомбила что его коммьюнити не приняло. В общем подростковые обиды.
>>879306Илюша не палится.
>>879307да загнобили простя даже как-то раз видео где тыкал писосиком его фоточку вбрасывал, олдфаги говнотреда помнят :3
>>879308илюш:3
>>879305>>879306>>879308>>879303Одно и тоже каждый раз. Илюша снова всех обхитрил, малолетний долбаёб
>>879303>Я думаюШутку понял.Смешно :3
>>879311Илюш, никого ты не обыграл, расслабься.
>>879286>Давай примерыhttp://dcevm.github.io/В джаве горячая замена модулей в общем-то давно есть, хоть и ущербная. А с появлением jRebel и прочего добра хотсвап стал полноценным.>Получается что статическая типизация у тебя существует только на уровне сервиса а протоколы между сервисами уже динамические?Разумеется. Ты не можешь дать каких-либо статических гарантий относительно узлов, которые ты не контролируешь. Даже если у тебя все валидируется/энкодится через protobuf-/json-/xml-схему или даже в ASN.1 описано — взаимодействие все равно осуществляется посредством совершенно динамических пакетов. Сеть — это внешний мир, его в типизированную монадку не засунуть.
>>879306Ты что, илюща же гений, у него манямирка быть не может.
>>879307>>879309Тоже мне, достижение целой доски, школьника загнобить. Омежки такие омежки.
>>879314>Сеть — это внешний мир, его в типизированную монадку не засунуть.Скоро будет чебурашка, её - засунуть.
>>879316Илюш, ну ты чего, обиделся что ли :3
>>879316Илюш, не расстраивайся, и на твоей улице будет праздник
>>879319Зачем ты его обманываешь?
Единственный вопрос итт: где купить слона?
http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiyТак илюща оказывается в 20-кублучших программеров мира входит кекусИ чо, из своего свинарника уезжать уже передумал или это просто зазывающее описание? Лень смотреть
>>879321У Ильи.
>>879316ути-пути))
>>879321На пхп попиши.
>>879323Кто такой Илья?
>>879322Илюш, кончай пиариться.
>>879326Это ильйуша, ты и я.
>>879322>http://inter.ua/ru/video/episode/faces_utro/2016/09/13/kovalevskiyВидел этого пидора на http://ebanoe.it , деревянными гуферами торговал.
>>879322ути какой голосок стал мужественный:3
Кстати кто помнит его никнейм? Предлагаю затравить и там.
228
>>879330Выебал бы его? :3
>>879314Сеть — это внешний мир, его в типизированную монадку не засунуть.Ну к этому я и вел, что полностью все уместить в типы не получится, тот же эрланг именно по этой причине динамически типизирован. Никакая система типов не защитит тебя от того что ты дебил и делишь на ноль. Я просто пытаюсь уловить ход мыслей чела который пишет ой бля эрланг динамически типизированый фи, почему фи? Для документации можно аннотации писать или спецификации, статический анализ можно проводить по тем же аннотациям.
>>879331namespace/tucnak/где как
>>879333не будь аноном отсосал бы
>>879336:3
>>879336>отсосал быПедик что ли?Просто выеби его, будь мужиком.
>>879338>Педик что ли?Как что-то плохое написал. Я просто хочу сделать приятно :3
>>879338Илюша не палится.
>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!Ухты какой он талантливый! Программист, предприниматель, музыкант. Может он еще и лидер метальной группы?
>>879335А Илюша все и не стесняется о себе напомнить так невзначай.
>>879342не маняврируй илюш
>>879334>почему фи?Очевидно же почему: потому что в динамике возникает много тривиальных ошибок, от которых тот чел мог уже устать.Я от ирлонга и динамики в целом устать еще не успел, но где могу стараюсь посыпать код типами.Впрочем, тот чел с великой вероятностью даже о диалайзере не слышал, так что "фи ирлонг" могло быть простым кукареком.
>>879341Может он балалаечник? Больше трех струн для музыки не нужно!
>>879345Как и лишней хромосомы для го.
>>879344>Очевидно же почему: потому что в динамике возникает много тривиальных ошибок, от которых тот чел мог уже устать.Ошибки те же самые что и при статической типизации, только в случае с статической типизацией ты получаешь фидбек во время компиляции а в динамической ты получаешь фидбек во время прогона тестов. Но статическая типизация не избавит тебя от необходимости писать тесты. Так что для меня, лично, это весьма странный аргумент, деление в рантайме на ноль выкинет систему нахуй в атсрал при любой типизации, тут надо быть просто не долбоебом, обладать кое-каким опытом и покрывать код тестами
>>879347З А В И С И М Ы Е_____Т И П Ы
Плохие новости, он не придет. Мб передумает. Если много людей напишет, то думаю все-таки вернется. Неравнодушные, давайте все-таки вернем его. Или это только мне не похуй?
>>879349Хорошая попытка, но он сурьёзно здеся >>879344
>>879347>покрывать код тестамиСпасибо, идите нахуй.
>>879351$ go test
>>879352go get@go vendor@get setup go_eleet_fonts
>>879352>goРака всего тебе, гнида.
>>879353Купи слона
>>879355Покупаю твой минет, свинтус
>>879355 - >>879354
>>879351В зависимые типы я еще не погружался так что хуй знает, не шарю
>>879351понятно все с тобой, на го пишешь?
Итт есть хоть кто-то кто пишет на Go?
>>879361->>>879290Писать на нем можно только монолитный код из 80х годов
Я хочу признаться. На самом деле я Илюша и я действительно в треде с самого начала сижу. Не думал, что меня раскусят, но сейчас уже просто устал терпеть.
>>879362Даже поясню, писать структурный код по началу просто и удобно, минимум загонов. Но потом код становится чрезмерно, что ли, хардкорным.Может мы не поняли дзена. Но придерживаясь философии го - мы сделали вывод "ненужно" (с) нам это.
>>879364>просто устал терпеть. Так сходи посри, не мучайся.
>>879367Зачем, я уже пришел в готред.
>>879370Когда ты уже выпилишься?
>>879359На с+асмЕще дебильные вопросы есть?
>>879361Я немного кодировал в свободное время. А что?Всё, за что критикуют Го оказалось правдой.
>>879423>Я немного кодировал в свободное время.Лучше бы ты в свободное время хуи сосал
>>879426Вся суть готреда.
>>879427Вся суть /зк, дурачок.Ебаное ит такое ебаное.
>>879227>ой, да мы вообще не об этом>ой, да это не важно>ой, да ты просто тупой и нипонимаеш>тем временем всё неудобное, с чего разговор и начался, остаётся проигнорированнымСиськи с супом давай, а потом продолжим.
>>879347>в динамической ты получаешь фидбек во время прогона тестовИли не получаешь. Если так получилось, что какую-то ветку кода протестировать забыл. А потом в рантайме упадёшь из-за того, что буковку о два раза нажал в имени переменной.>Но статическая типизация не избавит тебя от необходимости писать тестыВообще-то, избавит. Не ото всех, конечно, но там, где на питоне тебе надо будет захерачить сорок тестов, на окамле будет достаточно десяти (а то и меньше - в большинстве случаев достаточно лишь граничные значения проверить, потому что если они работают и не написаны в виде if a = 1 then X else compute_shit(), то всё в порядке).
>>879437Зачем ты разговариваешь с дебилами, дурачок?
Пока малолетний долбаеб-музыкант засерает тред, проведем небольшой близ опрос для тех кто все же юзает Го.1. Для чего используете, в какой области?2. Что привлекает в языке/технологии?3. Что наоборот отталкивает или раздражает?
>>879442>Пока малолетний долбаеб-музыкант засерает тредКстати подозреваю что это какой-то другой малолетний пиздабол. Там анон выше постил скрин переписки с Илюшей, вроде он реально не при делах. Хотя может быть это все многоходовочка. Мне лично кажется что это кто-то нарошно форсит школьника чтобы утопить тред.>1. Для чего используете, в какой области?Фантазировать>2. Что привлекает в языке/технологии?Хайп>3. Что наоборот отталкивает или раздражает?Тролли в треде
>>879446Илюша, please.
>>879449Хорошая попытка, но нет.
Ну так стоит его учить для написания своей соцсети?
>>879492Нет. Учи Haskell. Установи Snap! или Yesod и вперёд.
>>879501>HaskellНо я не люблю ебать себя в жопу.
>>879504А зачем ебать себя в жопу, и месить ГОвно, если можно просто по-человечески писать на хаскелле?
>>879505>по-человечески писать на хаскеллеoh wow
>>879449илюша детектит сам себя и думает что всех наебал многоходовочкойно мы-то знаем
>>879492Нет, язык для толчения говна байтов в жепе, для чего-то сложнее паростроничного бложика подхрдит плохо. Возьми более распространенные веб-языки, я сурьезно.
>>879433Еще раз: как реализация IO связана с ссылочной прозрачностью? Впрочем, можешь не отвечать, моё изначальное мнение подтверждено - ты нулевой долбоёб который говорит о том чего не понимает.Поскольку разговор я затеял ради мимокрокодилов, интересующихся ФП, вывел нулевого на чистую воду и дал термины которые нужно гуглить, спешу покинуть этот Goдюшник.Можешь писать слив засчитан ололо, просветленный знаток ФП.
>>879511Но я хочу быть модным.
>>879519Ну тогда все ок. На любом митапе тебя примут за своего и даже поняжат под хвост :3
>>879515Нет, подруга, так не пойдёт. Разговор начался с моего утверждения, что чтобы быть функциональным языком, достаточно лишь иметь первоклассные функции. Потом вылезла ты и заявила, что это не так, и что ещё нужны ленивости и мандадки, попутно признав, что в ламбда исчислении этого всего нет, но "функциональным языком" оно является. Это уже говорит о том, что ты не понимаешь и с логикой у тебя не очень. После этого ты уже начала приплетать сюда всю эту хуйню о программистах и их командах, как будто они на что-то влияют, при этом уже третий пост подряд старательно игнорируя мой неудобный вопрос.>как реализация IO связана с ссылочной прозрачностью?А вот на это я отвечу. Сайд-эффекты есть - чистоты нет. Сайд-эффектов нет - чистота есть. Согласна? IO делает сайдэффекты. Они не чистые, потому что ты не получаешь "новый мир" в мандадке (получаешь только в теории, а не на практике). Потому что IO - хак. Поэтому код с IO не является ссылочно-прозрачным. Вот так и связана.>ты нулевой долбоёб который говорит о том чего не понимает.>вывел нулевого на чистую воду>Можешь писать слив засчитан ололо, просветленный знаток ФПЕсли ты думаешь, что вот такой призыв к эмоциям возвысит тебя в глазах окружающих, то ты сильно ошибаешься.
>>879526Илюша, угомонись.
>>879533Лол, ты лошок и не разбираешься в Илюше.>первоклассные фкнкции>Сайд-эффекты есть - чистоты нет.>Сайд-эффектов нет - чистота есть>Если ты думаешь, что вот такой призыв к эмоциям возвысит тебя в глазах окружающих, то ты сильно ошибаешься.Илюша так никогда бы не написал...
>>879547>... Ну что же ты, илюша.
>>879437>Вообще-то, избавитДа? В типах бизнесс логика содержится? Спешите видеть. Если твоя программка это положить или достать чета в какой-нибудь ебучий список или бд, то да, типизация как в хаскеле лишит тебя необходимости писать тесты. Но в реальных приложениях там дохуя триггеров, гардов, надо еще поддерживать транзакционность. Ты кладешь в одну хуйню еще по дороге должен залупнуться в 5 внешних сервисов и положить чета в другие коллекции а в какие-то может и не должен если то что кладешь в 3-ю больше 10. И как тут помогут типы проверить корректность программы?> А потом в рантайме упадёшь из-за того, что буковку о два раза нажал в имени переменной.Серьезно? Ты из динамических языков только джаваскрипт знаешь? Или ты привык писать код в вижыл студии или какой-нибудь идеи где огромный комбайн тебя за ручку водит. Никакие ограничения не защитят тебя от того что ты дебил, я про это уже говорил. Вчера кто-то заговорил про зависимые типы и я посмотрел на идрис, прикольная херня и годится там где ты делаешь критический софт, потом обмажу. Но я например пишу сетевой софт, я не боюсь если какой-то компонент системы ебанется или в системе случится ошибка. Отказы в системах это нормально.
>>879562>Отказы в системах это нормально.Это все что нужно знать о говнокодерах вроде тебя
>>879562>Ты из динамических языков только джаваскрипт знаешь?Спалился. Давай, расскажи мне, как какие-нибудь питон или руби в этом плане отличаются.
>>879568я не пишу на говне я пишу на эрланге, у меня прямо ща в системе 2 генсервера пишут в лог что они умирают но супервайзер их поднимает и система работает, поправить их сейчас даже не в приоритете лол>>879574ну для питона и для руби верняк есть цивильные статические анализаторы, потомушта там сильная типизация. Отличаются собственно тем что там сильная типизация, не?
>>879580>я не пишу на говне я пишу на эрлангеСорта говна такие сорта.
>>879581
>>879580Сильная типизация не мешает им падать в рантайме из-за опечаток в имени переменной.
>>879585На пике напиши "ну давай, расскажи мне про хаскель"Вот ленивый пидор, всему вас учить.
>>879594Почему сразу хаскелль-то? Это уже прошлый век.
>>879442Отдаёт json/xml, собирает статистику, рекламный серверПросто поддерживать код, горутины в языке для паралельных запросов s2s упростили многое, например.Недавно еще искали рубиста, он таки быстро втянулся в работу.Хотя генериков не хватает конечно, надоело с типизацией ебаться в тех местах, где можно было бы все сделать более красиво и читаемо.
>>879594ващета я знаю хаскел и даже люблю, на продакшене ничего на нем не писал, на нем и не попишешь те продакшены что я пишу, он для других целей ващета. А ты наверн крутой спец раз суешь везде свою любимую ебу.
>>879619Да.
Блять, придёться ответить, даун путает людей.>что ещё нужны ленивости и мандадкиЯ этого не говорил. Вот мой первый пост: >>877204>>Лямбда-исчисление - это функции>По твоему, лямбда = функция, долбоёб?>>879526>IO делает сайдэффекты>код с IO не является ссылочно-прозрачным.Еще одно доказательство того что ты не разбираешься в том о чем говоришь. IO не делает сайдэффектов, оно описывает вычисления имеющие их. Значения IO a ссылочно прозрачны. Дальше сам разбирайся на хаскель вики зайди чтоле, твоим образованием я заниматься не намерен. Ты туп и невежественнен.
>>879585На пике напиши "Стесняюсь спросить даже, Владимир Владимирович... А можно... У Вас отсосать?"
>>879674Нельзя, чернь блядь. Зубы иди от ГОвна вычисти.
А вы знали? Если вы сделали db.Prepare для своего запроса, но коннект на котором вы это делали вдруг стал занят (потому что у Го нет нормального пула коннектов), умный Го будет делать заново Prepare на новом коннекте!!!...что то?? Го для высоконагруженных проектов? Ага...
>>879688When 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.ебанные сектанты
>>879655>Я этого не говорилТо-то я смотрю, она помолодела слегка и сажу забыла повесить. Энивей, ты влез в середину разговора взяв себе чужую позицию, тебе и отдуваться.>Вот мой первый постА вот это ты зря. В том посте ты обосрался на стольких уровнях, что это даже не смешно. Я бы вот на твоём месте постыдился об этом упоминать. Можешь помедитировать, например, на то, что ты сейчас процитировал, если ещё не дошло.>оно описывает вычисления имеющие их"Его убил не я, а нож". Программа на С описывает вычисления. Абсолютно любая программа описывает вычисления.>Значения IO a ссылочно прозрачныЯcно, тебе просто насрали в голову. В теории это, конечно, так. На практике же ты не можешь достать реалворлд и проверить, тот же он там или уже другой. Если ты записал что-то в файл, то ты не можешь достать предыдущую версию файла из прошлой версии IO. Ты не можешь их ни сравнить, ни ещё что-то с ними сделать. При этом если ты каким-нибудь образом запишешь в файл строку "хуй", сохранишь версию реалворлда, запишешь в файл ещё один "хуй", достанешь сохранённую версию реалворлда и прочтёшь файл, то ты получишь ровно два хуя, а не один. Такая-то прозрачность.>туп и невежественненТы можешь знать больше меня (в чём я сомневаюсь, но чем чёрт не шутит), но вот понимания у тебя нет.А вопрос так и остался проигнорированным.
>>8794421. Играюсь. Хотел взять для веба.2. Структурное программирование, простота.3. Конструкции if err !=nil иногда превращают простую логику в простой функции в простыню на пол экрана. На фоне отсутствия дженериков и их очередной "ненужно", не понимаю, почему язык не сделали с динамической типизацией. Какая-то пародия получилась.PS личное впечатление: такое ощущение что го писал школьник подросток. Вроде какие-то концепции где-то уловил, но тут же наталкиваешь на очередную тупость. Новые языки почему то глупее старых.
Крутой тред, прямо филиал /b на программаче. Но энивей Гоферы сосут хуй
>>879707>такое ощущение что го писал школьник подростокЭто потому что Ричи сдох.Вот был бы Ричи жив, такой хуйны не было бы сейчас.
>>879720сочувствую галерным рабам там, их заставили жрать эту пародию на язык и вероятно даже ничего могли сказать против
>>879727>вероятно даже ничего могли сказать против Всегда можно выбить нахуй зубы погонщику и уйти на +500.
>>879707>почему язык не сделали с динамической типизациейПотому что слишком дорого писать крупные проекты без статической типизации>Новые языки почему то глупее старых.Не обобщая
>>879752Илюша, добрый вечер :3
>>879752о да, а с interface{} все еще дешевле
>>879699>взяв себе чужую позицию, тебе и отдуватьсяНаписал на дваче - взял чужую позицию. Крутая логика, как раз твоего уровня. Я для кого квочу конкретные утверждения?>Абсолютно любая программа описывает вычисления.Вот же тупое животное.https://wiki.haskell.org/Introduction_to_Haskell_IO/Actions>Яcно, тебе просто насрали в голову ... сумбурное бормотание дауна ...Еще раз подтверждаешь незнание элементарных вещей.>понимания у тебя нетНет его у тебя. Ты - типичный пример эффекта даннинга-крюгера.
>>879759или map[string]interface{}коих наплодили сейчас
>>879754>Илюша, добрый вечер :3Под кроватью илюшу поищиТо что разработка на статических языках дешевле это общеизвестный факт.>>879759>о да, а с interface{} все еще дешевлеЯ говорил про индустрию в целом, не про GO на нем вообще не писал.
>>879798так вот мы, блядь, говорим как раз о го и его псевдо-статичности, глупое ты дитя!Очередное животное, услышало о "статичности-кококо" и давай свое говномнение вне контекста писать.
>>879806Вот тебя то разорвало то. Как и везде есть градации лучше-хуже.Но любая GOвнястая статическая типизация лучше динамикопараши, ноу дискас
>>879806>>879825Илюша, пожалуйста.
>>879825тебе еще раз говорят, иди нахер со своей философией. Полезность нормальной статической типизацией без тебя известна, но в го она такая бестолковая, что больше мешает
>>879875Роберт Гризмер и Роб Пайк наверное забыли у сыча из /pr/ мнение спросить когда проектировали систему типов.
>>879889>Роберт Гризмер и Роб ПайкУноси этих двух клоунов откуда принес.
>>879889убери линейку, сынок, на /зк такими хуями не меряются (пиздуй в свой го чат, или что там у вас у сектантов)
Тем временем завезли новый раунд тестов:https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext
>>879898rust как всегда отсасывает, даже в быстрые хелло-ворды не смогли?
>>879893>клоуновЗабыли спроситть твою оценку их персон.
>>879904>спроситтьЭк тебя, /го/вняша.
>>879896Т.е. ты считаешь что мнение сыча с имиджборды может хоть как-то сравниться с такими авторитетами, как Роберт Гризмер, например?
Сыч с двача считает и свято верит в то, что все шарит и все понимает и знает как сделать лучше. НО на САМОМ деле, нихуя не знает, и ничего не может сделать сам. Расс Кокс опустит такого сыча, при возможности, за 10 минут. Но на АИБ выебываться петушок горазд, это да.НЕ знаешь ТОНКОСТИ разработки языков программирования, не пизди. А ты не знаешь
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.
>>879913>Роберт ГризмерФУБЛЯ
Но конечно же мальчики из зекача лучше знают, как делать языки. Конечно же мальчики из зекача лучше разбираются. Фокус в том, что статистически так получается, что вероятность того, что трое таких толковых мужиков со стеной опыта в прошлом — неправы, значиииииительно ниже, чем вероятность, что тролль из зекача по верхам нахватался и не имеет представления о том, о чем говорит.
Чисто статистически все тролли в этом итт треде были опущены ниже плинтуса. Друзья, это не я, это все статистика!
>>879920>ДрузьяТы пидор что ли?
>>878620В вебе белых людей возьмут кластер из машин с 32+гб памяти и намажут на него джяву, и она будет работать в разы лучше чем говноу.
>>879918мля, я же кушал!!!
Анон, как смириться и начать писать на Go?
>>879893Борщехлебу то виднее естественноно.
>>880054Берешь и пишешь. По сравнению с серверным js, это еще годнота.
>>880054Перестаешь слушать петуханов итт и просто, без задней мысли, начинаешь писать на Go.
>>878854Лёгкость != простота. goвно разве что лёгкое
>>879699>если ты каким-нибудь образом запишешь в файл строку "хуй", сохранишь версию реалворлда, запишешь в файл ещё один "хуй", достанешь сохранённую версию реалворлда и прочтёшь файл, то ты получишь ровно два хуя, а не один.Talk is cheap. Show me the code.
>>880088> goвно разве что лёгкое И так же простое. Ты в расте пытался писать асинхронный код? Мне больно блять на это смотреть, хз как люди такое парсить будут при поддержке какого-нибудь проекта.
>>880090Нихуя, линус-хуинус трет освятил.>>880149А нахуя ты его с растом сравниваешь-то? Особенно учиытвая что там и нету асинхронщины в языкеСравнивай с питоном, жсом, шарпом.>>880063Ну все остальные почему-то пытаются развивать языки, а один Пайк такой говорит: ребят, вы все пидорасы, а я - дартаньян.
Многие хейтят Go, но скажите, в хаскеле есть SELECT? А быть может быть в хаскеле есть GOTO? Когда я последний раз проверял, в хаскеле было НИХУЯ, кроме типовой петушни и сомнительных парадигм, которые непонятно как принесут мне ДЕНЬГИ. Для меня, как программиста-бизнесмена, хаскель не несет объективной ЦЕННОСТИ, в отличии от Go.
Вы программистишки плешавые задроты, никого абсолютно не ебет что у вас там за философия кода. Я хочу иметь возможность легко и быстро вас менять (один ушел — другой пришел), а также быстро и дешево итерировать. ЭТО — ценность, реальная и объективная. Можете дальше дрочить на теоретические качества языков программирования, а я буду зарабатывать деньги, применяя Go в своем бизнесе.
>>880167
Microsoft ежегодно зарабатывает боснословные деньги. Но что-то пока я там работал, НИ РАЗУ не видел функционального кода. Потому что, ВНЕЗАПНО, функциональные языки — не более, чем маня-увлечения ботаников и задротов, которые просирают свою жизнь на PhD в области чего? Дизайна ЯП? АХаххахххаха.
>>880173ну это просто потомушто ты байтослесарь и наняли тебя не языки дизайнить а байты ебать, ghc мостли разрабатывался в майкрософте, эрик майерс который запилил линк для сисярпа хаскелист и а про F# ваще молчу.
>>880173> Но что-то пока я там работал, НИ РАЗУ не видел функционального кода.Кто-же кодомакаку к порядочным кодерам сразу пустит? Вам лишь бы посрать на каком-нибудь форуме, а им делами надо заниматься.
>>878490 (OP)Почему никто ещё не запилил форк без всякой идеологически правильной хуйни?
>>880203>ghc мостли разрабатывался в майкрософтMicrosoft Research != Microsoft. Рисерч отделение майкрософта — это такие же ботаники как вы, чьи увлечения дяденьки финансируют в надежде, что вы на что-то дельное в процессе своего фантазирования наткнетесь. Ничего общего со взрослым программированием майкрософт рисерч не имеет.
>>880255>Кто-же кодомакаку к порядочным кодерам сразу пустит?Ахахаха функциональный блядок порвался. Посмотрим что запоешь когда через 10 лет поймешь, что инвестировал свое время и силы в тупиковую ветвь развития ЯП.
>>880289Да кому ты нахуй надо с объектами своими, никогда не учи функциональные языки, это все от лукавого. Оварквалифицируешься еще на родной джаве станет неприятно писать. Ктоже будет БИЗНЕС ЛОГИКУ писать, уж точно не те кто теоремы умеют доказывать.
мой любимый тред на ЗК
>>880309>теоремы умеют доказыватьОчко себе докажи ахахахах) Маня-фантазер, ебать. Твой удел монадки в HASKELL компостировать, чмо)
>>880309>>880322Ну что же вы, програмистишки.
>>880312И мой :з
>делить людей на "объектных" и "функциональных"Вы совсем ебанулись?
>>880322>Очко себе докажи ахахахах) Маня-фантазер, ебать. Твой удел монадки в HASKELL компостировать, чмо)>ну, сука вот блять хаскелисты петухи блять делают штоа на нипанятном синтаксисе)) во смари чо мы с пацнами нахуярили внатуреhttps://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition/не то что эти функциональщики там у себя борщи хлебают, зато на джаве работу легко найтиФП НИНУЖЕН
>>880330>нипанятном синтаксисеЛол, пиздло, кончай себе цену набивать. В синтаксисе хаскеля нет ничего непонятного, дело в том, что язык не дает тебе НИЧЕГО. Корутины? Забудь. Шедулер? Нет. Кросс-компиляция? Ахахахах. Потребление памяти? АХахаххаха. Хаскель придумали такие же маня-фантазеры, как и ты. И используют его, в результате, такие же маня-фантазеры, как ты. Поэтому на Go за 7 лет написали и развернули в проде в 100 раз больше софта, чем за 20 лет на хаскеле.Ну зато вы впереди планеты всей! Интеллектуальная элита программистишек, охуеть!
>>880330>не то что эти функциональщики там у себя борщи хлебают, зато на джаве работу легко найтипока будешь учить хаскель, илюша уже 3 раза успеет в гугл и фейсбук съездить
>>880345>АХахаххаха>Ахахахах.вот ты испалился дурачок, все это есть в хаскеле, тока тебе в рот это никто не положил, ты всеравно не прожуешь, подавишься :з Ну а на пхп то и жаваскрипте сколько софта набыдлили, твоему го и не присницца, миллионы мух выбирают правильные инструменты. Хотя если ты делаешь ГОвно то ГО отличный выбор
>>880350Илюша, который сам сидит на эрланг и мловые пайпы? Ну лан.
>>880358>сам сидитИ дрочит*
>>880357>миллионы мух выбирают правильные инструментыЧувак, люди деньги зарабатывают. До тех пор пока джава приносит больше всего денег, она останется лучшим языком программирования в мире. Ценность твоего ЯП ~ сумме денег, которых он приносит в проде во всем мире.>Хотя если ты делаешь ГОвноВ это время десятки инженеров в гугл пишут шедевральный инфраструктурный код на Go и смеются тебе в ебало сквозь свои конские зарплаты, на которые ОНИ могут позволить СЕБЕ нанять штат таких фантазеров как ты)>>880358>Илюша, который сам сидит на эрланг и мловые пайпыПруф.
>>880360>Пруф.Если бы ты сидел тут больше полугода — застал бы его хотя он недавно тут был и филосовствовал об эрленкеМожешь поискать там прототипы его маняязычка (он даже в прошлом треде отписывался) и посмотреть что и откуда там.
>>880360лол блять так и представил как топовый инженер в гугле с салярой 100к в год месит круды на го.Ты бля такой тупой что даже не понимаешь что го и джава это технологии не для инженеров, это технологии для воркеров, чтобы клепать круды формы и интеграции с сервисами которые настоящему инженеру делать тупо скучно. И пиарится эта залупа и продвигается для того чтобы ты был более заменимый и дешевый. Карьерный топ для такого инженегра это как можно больше лет провеслать на своей аутсорсинговой конторке чтобы выслужицца до сеньера, изучить весь ужаснейший говнокод и разбираться в этой параше чтобы не быть слишком заменимым и тебя не смогли выкинуть на мороз.
>>880376> изучить весь ужаснейший говнокод и разбираться в этой парашеКак что-то плохое. Результат то один - подохну и я, и этот топовый инженер, и наши дети, и их дети. Лет через 200-250 всем будет абсолютно похуй уже на такие мелочи.Зачем ты сейчас высрал это - яннп.
>>880380И правда. Видимо то что для меня не ок, вполне ок для гоферов и джавистов. Пускай пишут, в моих же интересах чтобы шеб интерфейсы и круды были дешевле.
>>880360>>880363ИЛЮША ПРИДИ ВЫГАНИ ФП ПИДАРАСОВ!@ИЛЮША ТАЙКОМ КОЛИТ ЭРЛАНГ И НЮХАЕТ ОКАМЛчота орнул
Тем временем, пока долбоманя выше истекает говнищем, все мейнстримные языки (даже уберконсервативная жява) впитывают в себя потихоньку элементы фп. Да даже CSP горутины с каналами — чисто декларативная концепция, что как бы намекает.
>>880381> в моих же интересах чтобы шеб интерфейсы и круды были дешевлеОпять же, как что-то плохое, лол.Когда я умру - не будет никого, кто бы это опроверг.
>>880413> впитывают в себя потихоньку элементы фпНихуясебе функции высших порядков каналы в 2016 году, такой катин эдж что ща голову нахуй отрежет, это есть всего лишь во всех скриптах, сисярпе и вообще всех функциональных языках интересно когда же завезут имьютабилити и сингл асайнмент, сделают модули с чистыми функциями и алгебраические типы данных с паттерн матчингом, есть там такой майлстоун? :з
>>880445Модулей не будет — очень оверинжиниринг, а вот тайпклассы в том или ином виде есть везде.Иммутабельность во всех новых языках уже есть, а СА наполовину в таких реализован.Паттерн матчинг с адт уже есть везде кроме жявы с говном (даже в шарпе пм уже завезли, адт туда запилят в следующем же релизе).Чистоты по умолчанию как и сейчас кроме хачкеля нигде нет и не будет.
>>879699Ой, дибил, просто иди нахуй. Хаскель не для тебя, равно как и размышления о нем. Иди вот с Goвнюками побщайся, аудитория твоего уровнямимо-другой
>>880363Это не пруф. По-моему он говорил только что планирует взять несколько синтаксических фишек из эрланга и окамла.>>880376>топовый инженер в гугле с салярой 100к в год месит круды на гоЭээээээм, вообще-то 100к это не такая уж и большая зарплата в гугле. Два годика поработаешь и будешь иметь. Это во-первых. Во-вторых, КАКИЕ НАХУЙ КРУДЫ? Круды на го нет смысла писать, на го здоровые люди пишут сетевуху, блять. но вообще ты прав, топовые инженеры не против пописать на Go.>И пиарится эта залупа и продвигается для того чтобы ты был более заменимый и дешевый.Не хочу тебя расстраивать, но я (лично) уже несколько лет не работаю программистом. Я предпочитаю заниматься бизнесом и покупать дешевых проституточек вроде ТЕБЯ!>>880512Да, я глупый, 99% программистов в мире дебилы, а хаскеллисты ВСЕ ПОНЯЛИ. Манька, вы в воображаемом мире живете, хорошо хоть RealWorld завезли, а то программы так бы и ничего не делали. Кстати, я слышал что в программах на хаскеле очень редко находят баги... потому что их НИКТО не компилирует нахуй.
>>880529>я слышал что в программах на хаскеле очень редко находят баги... потому что их НИКТО не компилирует нахуйСвежая интеллектуальная подъёбка от успешного %17-летнего% бизнесмена.
>>880529>Я предпочитаю заниматься бизнесомЭтого пидора на http://ebanoe.it видел - деревянными хохлами торгует.
>>880535Не расстраивайся, я в прошлом тоже был кодерошлюхой. Пройдет время, осознаешь всю ущербность своего положения и поймешь, что нет абсолютно НИКАКОЙ разницы, на чем писать. Ведь главное что от тебя требуется, чтобы Я смог заработать денег.
Поясните за первый пик, неужто скала настолько проста?Как оно по памяти? Не сожрет на вдс с 2 гб оперативки все что найдет? Держу там небольшой сервис на Go под ~500 юзеров в день.
>>880597>неужто скала настолько проста?Спустя 1000 строчек превращается в нерефактабельную кашу. Скала это аки С++ мира JVM: нахваталась кучу всего из кучи разных языков, но никакой общей картинки нет и код очень быстро без анального контроля превращается в адъ.>Как оно по памяти?Хуево, но терпимо.>Не сожрет на вдс с 2 гб оперативки все что найдет?Сожрет.>Держу там небольшой сервис на Go под ~500 юзеров в день. Ты делаешь все правильно.
Как в Go найти элемент в массиве?
>>880597>Поясните за первый пик, неужто скала настолько проста?Нет, лол. Она удобна и лаконична, но не проста.>Как оно по памяти?Как и жава. В общем — как напишешь так и поедет.>Не сожрет на вдс с 2 гб оперативки все что найдет?Понатащишь фреймворков и свистоперделок — сожрёт. Будешь разрабатывать из минималистичных говна и палок а-ля го юникс-вей — всё нормально будет да это ява, там размер хипа регулируется одной строчкой конфигурации, о чём вообще речь>Держу там небольшой сервис на Go под ~500 юзеров в день.С таким адским хайлоадом хоть на руби с рельсами (самое тормозное что есть на рынке) перепиши — оно летать будет, тебе явно не стоит парится по поводу производительности.
>>880609>тебе явно не стоит парится по поводу производительности.это до первого школоддоса
>>880529>Это не пруф. По-моему он говорил только что планирует взять несколько синтаксических фишек из эрланга и окамла.А по-моему ты всё же долбоёб. Вот блять даже обосновывать не стану.
>>880611Ну так от него го и не спасает, это к фаерволу который обычно у хостеров по деофлту настроен дропать подобных личностей — у них трафик тоже не резиновый.
>>880609>С таким адским хайлоадомТы представляешь себе как быстро эти 500 людей (а это уже неплохо, кстати!) уйдут, если какой-то школопас закажет ддос на недельку и твоя поделка на джаве с "регулируемым хипом" задохнется (можешь зугуглить throughput). inb4 клаудфлара тебе сильно не поможет против половины атак.Может сразу начать писать на нормальных языках, расчитаных не на быстрое прототипирование, а на взрослых, приспособленных к хайлоаду, языках? Вроде Go, например.
>>880613Оказывается, нихуя. Оказывается, спасет. Тут-то и влетает в комнату пиздатый шедулер и стандартные средства стандартной библиотеки Go, заточенные как раз под высоконагруженные сервиса. Крути-не-крути, джава так не сможет.
>>880616Вась, для начала разберись в разнице между дудосом и досом.Единственное к чему приспособлен го — месить говно палками как на той картинке. Пока кто-то будет трахаться с указателем другой уже запилит нужный функционал и пойдет наслаждаться выхлопом.>>880617О, ебать поехавший. Шедулер сейчас интернет-канал от спама почистит, подожди. Пока можешь сходить посмотреть как даже fasthttp, в котором высасывают говно из каждого байтика делает смачный минет netty.
>>880543>Я смог>ЯГоловка от хуя.>>880616>>880617В голос что-то. Давайте закладывать 100500 rps когда реально будет 1 rps, ведь нас могут заддосить. Ой, а в базу же упремся!!! Срочно ищем подходящее no-sql решение!
Java/Scala:Закодил на спарке бэкенд, радуешься-раздаешь, хорошее настроение. Ты — довольный джава(scala)-программист. Настроил кэш, сел за клаудфлару. Пришел ддос. Докупаешь память и процессор на digital ocean. Памяти все равно не хватает, потому что как не крути, твое приложение либо будет упираться в хип лимит и проходимость пойдет в пизду, либо придется рестартить его каждые 20 минут и в конечном итоге ты докупишь еще памяти и цпу. Твой сайт тормозит пиздец и ты ничего не можешь с этим сделать, потому что спарк (как и любой другой фреймворк на джаве или скале) хуево скейлится по ядрам и как не крути, под постоянной нагрузкой прогнется. Проходит неделя ддоса и твоя дорогостоящая аналитика пошла по пизде, потому что посещаемость упала до нуля (и вернется нескоро).Go:Закодил на gin бэкенд, радуешься-раздаешь, хорошее настроение. Ты — довольный Go-программист. Настроил кэш, сел за клаудфлару. Пришел ддос. Докупаешь совсем немного памяти и пару ядер на digital ocean. Ты написал бэкенд на Go, поэтому рантайм выжмет из твоих ядер все и ты получишь наилучший throughput на рынке. Проходит неделя ддоса и ты почти не пострадал, потому что стоило добавить пару ядер и твой бэкенд на Go расстащил все то, что не смогла убить клаудфлара. Твой бизнес в безопасности.
>>880616>>880617Илюша, спать иди.
>>880624Илюша, быстро в кроватку.
>>880620>Пока кто-то будет трахаться с указателем:))>Шедулер сейчас интернет-канал от спама почиститМанька, если у тебя канал забит, то никакой софт не поможет.>>880621>Давайте закладывать 100500 rps когда реально будет 1 rps, ведь нас могут заддоситьЧувак говорил про посещаемость 500 юзеров в день. За нее уже надо бороться. Лучше сразу думать о скейле, чем потом хвататься за голову и терять посетителей.>Ой, а в базу же упремся!!!Кто делает кеш в базу не упирается.
>>880625>>880627Илюша временно отошел, говорит твоя мамка.Аргументы будут?
>>880624Scala: ты сел и написал за пол недели всё как есть на готовых решениях. Всё отлично работает. Надо заскейлить — добавил сервер и не паришься.===Go: ты проискал неделю библиотеки, из десятков поделий хипстеров так ни одна и не заработала нормально. Пошёл писать свои.Пока написал и отладил их прошёл месяц. Код продолжает падать и интерфейсы не равны нилу.Тем временем требования к обработке данных изменились и ты твой сервер помирает от фрагментации.Ты берёшь какой нибудь ссаный memcached и прибиваешь ссаными гвоздями. Твой сервер ломают и сливают все данные. Ты проебал половину клиентов и пошёл писать свой менеджер памяти.Пока писал тебя опять взломали из-за того что где-то не углядел if err != nil. Последние клиенты проёбываются.Надо заскейлить — и ты идёшь, блять, переписываешь всё подмикросервисную архитектуру, все дела, с модными контейнерами и прочим — один бинарь всё.Не осилил такой масштабный рефакторинг — в коде хуй разберёшься, это такая сишка с комментариями вместо препроцессора. Всё проёбано, пора выпиливаться.
>>880635>бинарь всёЗакончился
>>880608пробежать по всему массиву и сравнить элементы.Еще есть https://golang.org/pkg/sort/#Searchтакая функция
>>880635Как жаль что ты это все про скалу написал... Особенно часть>в коде хуй разберёшьсяи>Тем временем требования к обработке данных изменились и ты твой сервер помирает от фрагментации.
>>880638>Search uses binary searchА если у меня неотсортированный массив?
>>880641отсортируй и ищи. Разве есть алгоритмы поиска в несортированных массивах?
>>880630>Манька, если у тебя канал забит, то никакой софт не поможет.Ещё немного, и ты даже узнаешь о аппаратных фаерволах.>>880630>Лучше сразу думать о скейле, чем потом хвататься за голову и терять посетителей.Так говно ничего для этого и не предраспологает. Самое сильное — может заскейлится на пару ядер.Абсолютно несравнимо с какой нибудь аккой.А самое смешное что даже фастхттп отсасывает у той же нетти — и местные кричат "ниет дудосируют!!".
>>880642>Разве есть алгоритмы поиска в несортированных массивах? Конечно есть.Только не для /го/внодебилов, разумеется.
>>880640Ну скала хоть имеет средства для нормального разделения кода.Как она может страдать фрагментацией хипа с явовским сборщиком — это что-то из разряда твоей шизы.Скала как никак дефакто один из главных хайлоад языков, наравне с явой и эрлангом, в отличие от го.Крупные банковские и интерпрайзнве инфраструктуры или ссаненькие микросервисы — что из этого требует большей стабильности, отказоустойчивости и скорости? Мне кажется очевидно что го — просто игрушка для девопс-утилиток а не хайлоад язык.
>>880644дай пример
>>880643>Ещё немного, и ты даже узнаешь о аппаратных фаерволах.Еще немного и ты узнаешь, что даже самые пиздатые фаерволы, оказывается, не работают.>Так говно ничего для этого и не предраспологает.Ты представляешь себе как работает веб-сервер?>Абсолютно несравнимо с какой нибудь аккой.Странно, почему тогда одна из самых хайлоадед компаний в мире (CloudFlare) отдала предпочтение Go и использует его практически всюду?Может потому что акка это оверкил, заточенный под распределенные системы хотя тут уже стоило бы взять эликсир и не выебываться, которые накладывают свои ограничения на гибкость системы и по правде говоря, нужны только трем компаниям в мире?
>>880645>Ну скала хоть имеет средства для нормального разделения кода.>Скала как никак дефакто один из главных хайлоад языковКонеееечно, конечно-конечно!
>>880647>Ты представляешь себе как работает веб-сервер?Ты представляешь вообще что такоет горизонтальное масштабирование? Или в твоём супирхайлоаде всё на вертикальном заканчивается?>Странно, почему тогда одна из самых хайлоадед компаний в мире (CloudFlare) Лол>отдала предпочтение Go и использует его практически всюду?Я открываю их гитхаб и... у них не меньше репозиториев на перде и жаваскрипте. Ещё куча lua. Что же это значит?>нужны только трем компаниям в мире?А, я таки был прав, у тебя опыт хайлоада — "ща оперативки добавим и всё будет посаны".>>880648На го пишут инфраструктуры банков? Нет? Так может это всё же игрушка?
>>880646Так ты же /го/внодебил, тебе не положено.>>880647>>880648Вас же разогнали нахуй и больше не платят - ты /го/вно жрешь бесплатно что ли? Ебать ты русский.Впрочем, держи +15
>>880616> Вроде Go, например.На си нахуй. Пиздец тут поехавших, которые про горизонтальное масштабирование и не слышали.Внезапные нагрузки? Поднял дроп на дигиталоушене, дописал сервер в конфига нжиникса и платишь по центу в час за топовое железо. Нагрузки прошли? Убрал строчку из конфига, нажал "удалить" на дроплетеИтого: юзеры довольны, а мы сэкономили полгода времени за 2$
>>880604> Сожрет>>880609> Будешь разрабатывать из минималистичных говна и палок а-ля го юникс-вей — всё нормально будет да это ява, там размер хипа регулируется одной строчкой конфигурации, о чём вообще речь> тебе явно не стоит парится по поводу производительности. Да я просто попробовать, мне не хватает сахара в языке, на работе пишу на Python, иногда приходится под iOS еще писать - даже ObjC кажется в этом плане более фичастым языком.Хз, может из-за сложности как-раз Роб Пайк и решил отказаться от многих идей при реализации.>>880616>>880617>>880620Ну блядь, я не срача ради спрашивал. Идите уже в Java загон выёбываться.
>>880649> пердеЭй, перл охуенный, не надо тут. Моя первая работа была на perl бэк поддерживать и дописывать одной региональной компании. Жаль что хипстеры не понимают его мощь, у них javascript головного мозга.
ппц котятки, это мега ппцУ сервера Go, по умолчанию нет таймаута на keep-alive соединения.То есть вы тупо можете забить все коннекты у сервака и все.PS я вообще не знаю, есть ли у сервака поддержка таймаута на коннект? Если нет, то это будет лютый-вин!
>>881070Репорт киберпреступника.Отписался Усманову и Пайку, жди гостей.
>>881070Ты неправ. https://go-review.googlesource.com/#/c/22670/
>>881070Это неправда. Но там какой-то пиздец с HTTP-запросами точно есть. Из того, что бесит больше всего, могу назвать незакрывающиеся соединения при таймаутах. Если таймаут не указать явно, то быстро в лимит хэндлеров уткнешься. Мне всё лень всерьез разобраться, как это все точно работает, но могу точно сказать, что вы не раз охуеете, когда захотите какой-нибудь йоба-парсер интернетов на Go написать.Алсо, не используйте surf. Это говно по умолчанию сохраняет историю переходов в самопальный двусвязный список, который по размеру ну никак не ограничен. Автор либы умер, похоже, так что фиксов не ждите тоже. Ещё у Go есть проблемы со всеми XPath-либами, что я пробовал, они полностью не поддерживают всё, что в других языках есть из коробки. Парсер XML падает там, где не падают парсеры из других языков (признаю, что документы , на которых это всё падало, были сделаны какими-то ПТУшниками, но ошибки были мелкие, и, опять же, в проверенных годами языках и либах всё это нормально обрабатывалось. Ой, блядь, короче, серьёзно, не используйте Go для парсинга интернетов пока, а то всё на регулярках делать придётся.
>>881124Что там? У меня на работе только двач доступен?По дефолту никаких таймаутов я не видел
>>881156В глаза ебешься?>IdleConnTimeout: 90 * time.Second
>>881159да хер там, ставил как просто коннект, как keep-live - весит сколько угодно.То есть по дефолту там ничего нет, но хорошо хоть настроить можно (но кто вообще об таком думает? Типа взял сервер, будь добр прочитай про http протокол...)
>>881164В смысле, хер там? Открой transport.go и охуеешь, что в конструкторе задается дефолтное значение 90 секунд.
>>881165моему телнету видимо похуй или даун ты, перепутав с другим каким-то таймаутом (на уровне TCP, так как телнет TCP то держит нормально)
>>881165чувак попробуй сам, не троллю
>>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У меня все работает.
>>881174лол, значит бага еще плавающая
>>881202хотя есть вероятно возможный вариант, что ты пиздабол, ибо же сектанты
>>881202Какая версия Go у тебя?
>>881212go version 1.7.1
>>881216Показывай код и говори, как воспроизвести то, что делаешь ты.
>>881219Чувак, я просто поставил слушалку keep-aliveов, открыл на :1313 и потом прямо из хрома накидал соединений, все умирают стабильно через 90 секунд. Мне лень тебе сейчас вот это код копипастить, сравнивать-доказывать. Ищи багу у себя где-то.Или можешь зафайлить на гитхабе: https://github.com/golang/go/issues/new
>>881251Тут какая-то рокировочка произошла. Я спрашивал у того анона, который говорил, что у него соединения не закрываются.
>>881255Жизнь KA:апач - 5 сек (по-моему дефолтная настройка, давно он у меня тут, не помню)jetty - 30 секundertown - хуйкакой-то котлин сервак (не помню уже) - 30 секgo сервер (дефолтный 1.7.1) - хуймашина - win7, тестил по мужски через telnet, а не перделками.Заголовок запроса:GET / HTTP/1.1host: localhostPS тестил громко назвать, просто запускал, отправлял и смотрел кто как ждет
>>881255А я подумал, что ты — тот анон, у которого соединения не закрываются. Бывает.
>>881264пардон, го 1.7.3 (win7 64)
>>881264Не работает у тебя пусть ну и не работает. У всех остальных работает. Show me the code.
>>881268да мне тоже срать, это же говно. Пускай обжигаются, меньше будут на хипстерский выпук вестись (развели "конфиренских" дормоедов).
>>881268В общем-то, действительно соединение не рвётся. Сейчас проверю не с одним клиентом, а с двумя. Возможно, он коннекты рвёт при появлении новых клиентов.go version go1.7.3 linux/amd64Linux ... 4.8.4-pf #1 SMP PREEMPT Sun Oct 30 02:12:50 MSK 2016 x86_64 GNU/Linux
>>881276Нет, даже при появлении второго клиента после двух минут ожидания коннект не рвется.
>>881277>>881276Мы долбоёбы. Там IdleConnTimeout, похоже, используется для клиента. У сервера с Keep-Alive всё не очень радужно. Есть ReadTimeout, есть WriteTimeout, есть дедлайны. Per-request таймауты есть, per-connection — вроде как нет, но можно написать самому.По части сетевой хуйни в Go ещё есть, что дописать/переписать, я считаю.
>>881280Ой, нет, ReadTimeout и WriteTimeout, собственно, вполне успешно можно использовать для указания Keep-Alive таймаутов. Что-то я заебался сегодня и туплю уже. Вангую, что по дефолту таймаутов нет или они конские. Для http.ServeMux кастомный Transport задать нельзя, следовательно, IdleConnTimeout действительно можно использовать только для клиента.
>>881277как мило,гоферы пишут свои велосипедики,воть у гоферов появились маленькие юношеские баги...осталось дождаться статьи или конференции Роба Пайка, на которой он нам расскажет, что это ненужно
>>881284Я >>881150-кун. Считаю, что при всей минималистичности Go в стандартную библиотеку запихали неокторое количество говна, которое нельзя использовать нигде, кроме детских примеров. Когда работаешь с сетью, всегда гарантированно приходится забывать про писечки вроде дефолтного транспорта/клиента и дефолтного же сервера, которые просто хуй клали на всё, включая закрытие соединений в особых случаях.Код с пика будет работать так, как тебе нужно. Но вот хуй ты его в документации официальной найдешь в качестве примера.
>>881286Это таймаут "с последней активности" сокета/канала?Или же это вообще просто таймаут на весь коннект? (почему спрашиваю, так как есть другая проблема - это атака медленными соединениями,или же наоборот мы отдаем большой объем данных)Я понимаю последнее глупо, но это же го.
>>881286>Go в стандартную библиотеку запихали неокторое количество говна, которое нельзя использовать нигде, кроме детских примеров.>>879707>личное впечатление: такое ощущение что го писал школьник подросток. Вроде какие-то концепции где-то уловил, но тут же наталкиваешь на очередную тупость.аналогично
>>881150почему бы не взять netty (java) гибкая нативная штука и в тоже время не надо на голых сокетах писать (там есть таймаут-хендлер)
>>881289Пикрелейтед. Атаки на медленные запросы не пройдут. Но если взять детский пример из документации, то пройдут. Как я люблю это, вы не представляете.>>881290А мне нравится язык. Параллельно еще много на чем пишу. В Go мне очень нравится то, как код пляшет вокруг структур данных. Нет правильной структуры — хуй соси, писать будешь через боль. Есть структура — код льется из тебя как Б-жье молочко с небес, ангелы вокруг поют, нутыпонел. В принципе, иногда ощущение создаётся, что пишешь на скриптопараше без всех её минусов.Просто, как и везде, есть своя атмосфера. От существующих непоняток спасает то, что очень хорошо читаются исходники либ, включая стандартную библиотеку, и что общий тон документации задан хорошо, хотя и не без греха вроде, опять же, уебанских просто примеров. Но это не проблема языка, скажем честно, хотя и не очень понятно, зачем в стандартной библиотеке откровенно опасные хуйни и везде в качестве примеров использование этих опасных хуень.В данном треде же рекомендую никого не слушать, кроме меня, но я тут почти не появляюсь, потому что здесь все абсолютно отбитые. Потрогайте язык, палкой там потыкайте, и если понравится — используйте, не понравится — хуй с ним. Говорить здесь с кем-то бесполезно, местные школьники на Go пишут хеллоуворлды и всё такое. Плохо, что язык хайпят исключительно неумелые мудаки.>>881293> javaПотому что не всем нравится Java, не всем она нужна и не все могут на ней правильно писать.> нативная> JavaChoose one.> в тоже время не надо на голых сокетах писатьВ голых сокетах ничего плохого нет. В том же Go с ними всё ок. Есть и более высокоуровневые штуки в Go, с которыми тоже всё ок. Непонятно, к чему ты тут про сокеты начал втирать.
>>881294Я считаю это вин.Находят детскую-уязвимость на уровне школьной лабораторной по сетевым приложениям, потом для решения проблемы, нужно копнуть не документацию, не гугл, а сорцы, найти там эти сорцы, найти описание, в котором информации столько же сколько в название переменной (т.е. нихуя).Таймаут чего?? Таймаут канала/cокета вообще, таймаут процесса чтения/заиписи (насколько долго процесс идет) или же таймаут с последней активности на канале/сокете?Смешно, но в таких случаях нужен контроль всех трех состояний, притом в определенных случаях нельзя просто оборвать канал/сокет по таймауту (но при этом нужно определить не атака ли это с медленными соединениями).
>>881294>А мне нравится язык. Параллельно еще много на чем пишу. В Go мне очень нравится то, как код пляшет вокруг структур данных. Нет правильной структуры — хуй соси, писать будешь через боль. Есть структура — код льется из тебя как Б-жье Как же вы ограничены, возьми в джаве класс с публичными полями и ты получишь структуру. При том в отличие от го - твоя структура будет полиморфной (что дает просто дичайшие плюсы и гибкость).Так кстати реально делают (и на java и на php видел).Видел деревья таких структур данных (где некоторые поля тоже структуры, а в них еще и списки, это для json была структура).Го тут не привнес нехера ничего, скорее ограничил, так как полиморфные структуры данных это реально круто.
>>881307...но все же добавлю, так как ты сложнее скриптов вероятно не писал, но думаю хочешь вырасти как программист, скажу - работа с голыми структурами удобна по началу, никаких абстракции, пляшешь вокруг данных. Но потом в один прекрасный момент многолетнего проекта это все превращается хрупкий процедурный мусор.Проходили это уже сотни раз, просто, вероятно, эволюция прошла мимо го-архитекторов.Поэтому если для тебя джава стара, погляди на котлин, а процедурного программирование оставь дядям из Си или для скриптов.
>>881313нет нихуя, не неси хуйни. Данные и есть ванильные сочные центра любой системы а данные эти толкаются функциями. Это только дебилы в джаве оборачивают все в всратые объекты чтобы потом всрато комбинировать объекты, а не по нормальному данные. Идите на хуй со своим котлином и джавой. Уж вот где блять реально говно не такое уж и говно как при сравнении с джавапарашей.Сотни раз он проходил, а ну пиздуй отседова интерфейсы реализовывать, джавовский подзалупок!
>>881307>публичными полями>структура будет полиморфнойТы ничего не попутал?
Ну йобана, решил блин с утреца чутка попилить реализацию своего протокола для одного проекта.https://groups.google.com/forum/#!msg/golang-nuts/3TY8jX-iRC8/X2hBGSiv4WoJБитовые поля не часть языка. Написать так-то велосипед не долго, но опять же непного неприятно.
>>881380> немногоОпечатался, fix.
>>881307> При том в отличие от го - твоя структура будет полиморфной (что дает просто дичайшие плюсы и гибкость).Когда в Java появится что-то похожее на CLOS - приходи.
>>881384Когда оно станет кому-то нужно кроме лисподрочеров — будет.Ну на жвм-то хоть кложура и порт cl есть для таких развлечений, с это говном вообще никак такое не забахать.
>>881395Ну и зачем сравнивать чистый ООП язык с императивным?Почему хейтеры не орут на каждом шагу вах какая Оберон говнина, как мы можете писать на Фортране, это же параша, а к Go столько претензий?
>>881405Ты сам-то понял что написал? ООП относится к императивной парадигме, что как бы намекает на состояние твоего мозга.
>>881405Оберон и прочие Модулы и так заслуженно подохли. Хотя читал, как на одном из них ПО для российских космических аппаратов пишут, лол.
>>881414> Оберон и прочие Модулы и так заслуженно подохлиАга, и Форт подох, и тикль и окэмл.
>>881414>на одном из них ПО для российских космических аппаратов пишут, лол.На оберон еще пишут компилятор в Excelsior Jet (известная альтернативная реализация JVM)
>>881426>разрабатываемая c 1997 года компанией Excelsior из Новосибирского АкадемгородкаПочему-то я не удивлён.
>>881348тут походу нужен другой вопрос, для особо одаренных, ты в курсе что такой полиморфизм в ООП?>>881384кто пустил это животное, съебись с треда востребованных языков.
>>881457> востребованных> golangТолсто
>>881464как бы не было забавно, но по-востребованней лиспа.
Что там у нас с http на Го? Не одного разрыва? (с)
>>881304Не передирай. Сорцы читать необходимости нет, но мне по ряду причин иногда удобно такую возможность просто иметь. Уязвимости тоже никакой нет, если писать правильно. Просто хипстота в бложиках и на конференциях не говорит, как правильно писать. У меня такое ощущение, что все, кто говорит о Go, на Go не пишут ничего, кроме твитов и асинхронных хеллоуворлдов.> Смешно, но в таких случаях нужен контроль всех трех состояний, притом в определенных случаях нельзя просто оборвать канал/сокет по таймауту (но при этом нужно определить не атака ли это с медленными соединениями).Эту часть совсем не понял. Порвать по таймеру можно что угодно в каком угодно случае. Зачем что-то определять — не совсем тебя понимаю, но если такая необходимость есть, определяй, а так оно и из коробки определится.>>881307> Как же вы ограниченыОграничен, видимо, ты, но мне всё равно, это твоя проблема.> возьми в джаве класс с публичными полями и ты получишь структуруЛол, этот особенный ребёнок буквально воспринял мои слова про структуры данных. Извини, бро, в дальнейшей полемике не заинтересован.>>881313> так как ты сложнее скриптов вероятно не писалСильное заявление.
>>881486> Что за детские маневры?Ты будешь аргументировать или просто перефразировать мои слова в обратную сторону?Структурно в джаве писать можно, более того там так и пишут (анемичная модель данных дядюшки Мартина Фаулера, лол)Так что съебись диван отсюда.
>>881486>Уязвимости тоже никакой нет, если писать правильноЕсли на сишке писть правильно, то там тоже ни багов, ни уязвимостей не будет.
>>881486> хипстота в бложиках и на конференциях не говорит, как правильно писатьлолкак можешь, так и пиши
>>881995но я никак не могу что мне делать
>>882009идти в макдональдс
>>881862Я с тобой согласен.
>>881286Что за язык?
>>882144Язык заменяющий си в 80е годы, выпущенный в 2012 году.Или закрытый эксперимент, доказывающий значимость маркетинга над дизайном языка.
>>882154Хейтеры здесь круглые сутки пасутся?
Как вы тут собрались ПХП побеждать, когда ваш кусок говна даже с HTTP обсирается?
>>882252php уже сам себя победил
>>882252> когда ваш кусок говна даже с HTTP обсирается?Пруф или долбоеб.
>>882154Очень похоже на джаваскрип типо фанк и ещё оператор такой знакомый, из паскаля вроде или пролога
>>880529>- РРЯЯЯЯ, ВАШИ МАНАДЫ НЕ МАНАДЫ Я СКАЗАЛ!11>- Ты не прав тут и вот здесь. Не берись рассуждать о том в чём не понимаешь>-ХАХ, ТУПЫЕ ХАСКЕЛИСТЫ, НА ВАШЕМ ХАСКЕЛЕ ТО НИКТО И НЕ ПИШЕТ! ПОЭТОМУ Я ПРАВ А ТЫ НЕТ!У программиста на каком языке нестолько сильно хромают причинно-следственные связи?
>>882292Я пишу на Haskell.
>>882301Обосравшись -- мимикрировать под противника.Достойный ход, но я вывел тебя на чистую воду
>>882308Купи слона!
>>882292>МАНАДЫ Monads - не актуально.Arrows - актуально.
>>882326Какие-то они не очень все, кроме 4.
>>8823952 тоже неплоха.
>Proposal to delete the /r/golang subreddithttps://groups.google.com/forum/m/#!msg/golang-nuts/XoOhzUClDPs/jgSWxng7CAAJАХАХХАХАХАХАХАХАХХАХАХАХАХАХАХА, ПИЗДЕЦ! ЭЛИТА УРОВНЯ GOOGLE ВЗЪЕБЫВАЕТ ОБЕЗЬЯНОК В СООБЩЕСТВЕ КАК ХОЧЕТ. ЕЩЕ НЕМНОГО И ПРОСТО ВОЗЬМУТ И СОТРУТ САБРЕДДИТ, ПОТОМУ ЧТО НЕ ИСКОННО ВЕРНЫЙ.
>>882471Анус разработанный — сразу видно пользователя говна.>>882473Скоро такими темпам не будут индексировать запросы в стиле "why go is ugly shit".
>>882261выше тебе защеку положили уязвимость, причем единственно предложенные вариант это тупой таймаут на сокет (в 2016 году просто обрывать рабочие коннекты, лол)>>882260двачую, лет 6-8 назад хипстота захватила руль пхп и понесло его в ебеня ООП (хотя могли улучшить структурное программирование), причем ввиду интеллекта php комьюнити, умудрились так убого с пародировать джаву, что пердак у меня горит до сих пор.
>>882473что там, мне лень со словариком сидеть там?
>>882512Там послевыборная драмма какая-то: мочераторы в каком-то /политота/разделе скрытно редактировали сообщения, от чего у одного из мочераторов говно-доски взорвалась задница и он собрался полностью покинуть реддит, призывая к тому же всех.
>>882510А как в 2016 рвут KA?
Ну нихуя себе, не успел перекатить как уже наспамили.Поднажмите уж 6 постов :3
лан сам посмпамлю
хуй
к бамплимиту
и светлому коммунизму
ПЕРЕКОТ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ПЕРЕКОТ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
>>882591хуй для перфекционистов