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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
38 Кб, 500x414
We have a go! #812480 В конец треда | Веб
Взялся пописать немного на го.

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

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

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

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

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

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

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

В общем, рекомендую, особенно для душевного отдыха и зализывания ран после скалы.
#2 #812565
Быстрый вопрос - скала или го? Для души, но с возможностью последующего трудоустройства. На первый взгляд оба языка нравятся.
>>812597>>816596
#3 #812572
Хорошо. Тогда почему на него переезжают мейлы, дропбоксы, вкшки. Что же нашли они, тупицы, в этом варварском и примитивном языке? Ладно, в таком случае расскажи, чем сам занимаешься, порекомендуешь что-нибудь?
#4 #812584
>>812572

>Что же нашли они, тупицы, в этом варварском и примитивном языке?


Скорость. Это же обёртка над ассемблером со сборкой мусора! А мне го нравится.
#5 #812592
>>812570
кинул бы нормальную ссылку, а то кто будет по твоим коротышам ходить

проверил, почаны, все норм
#6 #812597
>>812565
Swift.
А если из 2 предложенных, то возможности для трудоустройства примерно одинаковые (сейчас, по-моему, Скала более востребованная, но у Го ещё всё впереди), лучше выбирать исходя из каких-то других критериев, учитывая, что общего у этих языков чуть больше чем ничего.
>>816571
#7 #812772
Бамп треду
#8 #812775
>>812572

>на него переезжают ... вкашки


Подробнее. Вкашка же на компилируемом пхп? Или маилрушкники опять разбушевались?
#9 #812781
>>812572
На него не переезжают, а портируют пару микросервисов и потом визжат о 9000% прироста вообще всего.

Алсо, так же его используют банально потому что он учится питонистом буквально за пару дней.
#10 #814291
>>812480 (OP)
В 95% случаев этот язык используется там, где это не-нуж-но, а просто из-за хайпа и нежелания юных дарований учить ООП, ORM и прочие сложные вещи. Зачем это, когда можно накатать процедурную говнопростыню? Ну какой нахуй толк от скорости Go, когда боттлнеком является база и сеть? Даже тормознутые интерпретируемые языки в состоянии перекинуть пару килобайт из базы в сокет за пару десятков микросекунд. А пару сотен миллисекунд (если не больше) сожрет база. В любом случае, если код бэкэнда является супертонкой прокладкой, то времени цпу он забирает очень мало на любом языке.

А те, кто реально пишут backends со сложной логикой, когда на инстансе в RAM висит несколько гигабайтов данных, а на рдбмс опора идет лишь как на persistance storage (привет разработчики ммошек, рекламных сетей и прочих хайлоадов) - там разрабатывают чуваки, которые и на c++/c#/java спокойно это накатают (не хочу дискриминировать другие языки, просто пример). Повторюсь, все дело в хайпе.
>>814292>>816578
#11 #814292
>>814291

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


Забыл дополнить это тезисом, что толстую прокладку на Go из-за его сишной скупой примитивности написать вряд ли получится.
#12 #814315
Дебил, в жабе точно такая же передача по ссылке. Точнее - это называется by value reference - по копии ссылке т/е.
>>815001
45 Кб, 640x380
#13 #814393
Написал визиточку на Go, прошёл собеседование на go кодера. Расписание дня такое:
Рабочий день с 12:00 до 19:00
12:00-14:00 Брейншторм
14:00-15:00 Латте-брейк
15:00-17:00 Тимбилдинг
17:00-18:00 Смуззи-брейк
18:00-19:00 Коворкинг
Зарабатываю 3.000 евро + бонусы. Мне 17.
#14 #814404
>>814393
Проиграл.
мимо
>>814413
#15 #814406
>>814393
Обосрался вприсядку
>>814413
#16 #814408
>>812480 (OP)

>3) Нет и не будет map


>4) map


You obosralsya.
#17 #814413
>>814404
>>814406
Вы ещё не знаете чем занимаются в моей фирме специалисты по биг дата. Им по 12 лет, и они уже зарабатывают более 10.000 евро. Половина которых уходит ювенальным прокурорам как откат, чтобы не закрыли за детский труд.
#18 #814415
>>814408
Не тот мап, вась.
#19 #814422
Интересно сравнить go и cython. По скорости должны быть сравнимы. У го должна быть безупречная параллельность. У cython вся мощь питона/скорость сишки в зависимости от нужд.
>>823078>>823165
#20 #814552
>>814408
Иногда есть смысл не механически копировать буковки, а стараться их понять.
#21 #815001
>>814315

> по копии ссылке


Чо несешь?
>>816580
#22 #815002
#23 #816074
>>812480 (OP)

>тупость и очевидность ценится, возводится на пьедестал и является объектом поклонения


Суть в том, что из go выкинуто всёлишнее, что только можно. Сделано это, насколько я понимаю, по двум причинам: для простоты разработки компилятора, что, в конечном итоге, выливается в быстродействие программ, а также низкому порогу входа и быстрому переобучению на го бывших языкнейм-макак. Может это и не хорошо, однако является данностью. И заставлять тебя принимать эту данность никто не собирается - либо используй и смиряйся, либо выбирай другой инструмент.
>>816453
#24 #816101
>>814393
А анальные вторники есть?
#25 #816453
>>816074

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


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

Говно выезжает на крутом рантайме.
>>820237
#26 #816558
>>812480 (OP)

> Впрочем, Lua вообще обходится одной коллекцией, ничо, живут.


Это совмещенный Map и List, в чем проблема?
74 Кб, 890x643
#27 #816571
>>812597
Но свифт это для iдевайсов, как на нем бэкенд писать?
>>816582
#28 #816578
>>814291

>висит несколько гигабайтов данных


несколько десятков гигабайт

не благодари
#29 #816580
>>815001
Я несу возмездие, во имя Луны!
#30 #816582
>>816571
OS X Server
>>816583
44 Кб, 384x889
#31 #816583
>>816582
экзотика. вообще вот сейчас выбираю новый язык для изучения и для собственных проектовя сам вебслесарь + пишу на скале и даже не знаю какую альтернативу ГО взять. Что-то он меня слишком смущает свою базовостью что ле
>>816586
#32 #816586
>>816583
Смотря чего тебе не хватает в скале для твоих пет-проектов.
>>816589
98 Кб, 491x541
#33 #816589
>>816586
Я скалу использую на работе, в пет проектах пока что ноду. Вот и хочу для пет проектов что-то новое, чтобы мозги размять. Смотрел на го, но смущает его базовость ( повторюсь ). Даже не знаю что еще можно придумать. На ноде пишу быстро и эффективно, хотелось бы добиться такого от нового языка. Следовательно нужен такой, на котором уже есть готовые решения ( ну вроде аутентификации, много либ ). Поэтому ГО как вероятный кандидат. Короче я что-то слишком дохуя хочу
>>816592>>817084
#34 #816592
>>816589
Очевидный эликсир (если не нравится рабиподобный синтаксис – эрланга).
>>816595
43 Кб, 766x960
#35 #816595
>>816592
Эликсир стоит изучать без знания основ эрланга? Как он вообще подходит для написания веб сервисов/серверов?
>>816601
#36 #816596
>>812565
Erlang и elixir.
#37 #816601
>>816595

>Как он вообще подходит для написания веб сервисов/серверов?


Он для этого и сделан.

>Эликсир стоит изучать без знания основ эрланга?


Вообще можно, но знания Erlang как платформы пригодились бы.
#38 #817084
>>816589
Go подходит, если тебе интересны нестандартные решения. Elixir я бы вообще не советовал от слова совсем. Erlang от слова совсем не предназначен для web приложение. В один прекрасный момент ты здорово удивишься, от чего это у тебя все такое неспешное.
В общем лучший вариант из функциональщины - Ocaml + ocsigen для вебсервера. Но тут порог входы очень высокий.
Из классического подхода - golang. Вначале покажется простым, но в какой-то момент ты можешь начать плеваться с непривычки. Не жди каких-нибудь продвинутых orm типа hibernate/sqlalchemy. Тут есть очень серьёзно развит сетевой стек и этого достаточно.
>>817091>>817098
#39 #817091
>>817084
Люди на РоРе говнокодят и не жалуются на счёт производительности, а ты это критическим недостатком элексира находишь.
#40 #817098
>>817084
проиграл с этого диванного

>Elixir я бы вообще не советовал от слова совсем. Erlang от слова совсем не предназначен для web приложение.


мань, Phoenix - последнее слово в области веб бекендов

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


просто в голосяндру, начё что Elixir/Phoenix спокойно держит 2 ляма одновременных соединений на одной тачке вообще без тормозов?

> Ocaml + ocsigen для вебсервера.


Одноядерный кусок верблюжего говна, с попоулярностью ниже цацкеля, многопоточности нет, нормального ГЦ нет, библиотек меньше чем в хаскеле, инфраструктуры нет, комьюнити нет, охуенный язык просто.
#41 #817115
>>817098

>мань, Phoenix - последнее слово в


мань, что за слово то такое?

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


ох уж эти запускатели миллионных соединений. Ты уж определись, как это без тормозов - а то у тебя прям и latency околонулевая и throughput высокий.
>>817124
#42 #817124
>>817115

>мань, что за слово то такое?


В данном контексте можно трактовать как "мамкин хуйлодир".

другойанон
#43 #817135
>>812480 (OP)

>1) Там нет generics.


Не нужно. Нужно нормальное метапрограммирование.

>2) Очень тупое ООП


Ровно такое ООП, какое требуется. Без наследования и с интерфейсами по типу тайп-классов. Без жабо-сисярпоговна.

>4) Да, кстати, ровно два вида коллекций в стандартной библиотеке


Не пизди https://golang.org/pkg/container/

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


Она нахуй не нужна в языке такого типа.
>>817138>>817141
#44 #817138
>>817135

>Нужно нормальное метапрограммирование.


Как раз таки оно далеко не всегда нужно в отличие от такой универсальной хуёвины.

>жабо-сисярпоговна.


Других ОО-языков ты явно не видел.

>не пизди


Хуя, уже целых 4 контейнера в языке!

>Она нахуй не нужна в языке такого типа.


Это какого? Для паральеьного программирования это очень удобная концепция.
>>817184
#45 #817141
>>817135

>Не нужно.


Это вообще лозунг го. Дженерики не нужны, нормальный синтаксис не нужен, тулинг не нужен, нихуя не нужно. Не понятно вообще зачем сам го тогда нужен.
>>817142>>817162
#46 #817142
>>817141

> зачем сам го тогда нужен.



потому что gogol.
#47 #817162
>>817141
Предложи что-нибудь простое компилируемое для написания системных демонов и сетевых утилит, кроме C.
>>817169>>817173
#48 #817169
>>817162

>компилируемое


нинужно

>системных


>go



мдаа
а вообще - пайтон
#49 #817173
>>817162
Если к тебя под системными утилитами хуитки вроде докера – хоть на раби их пиши. Тут ключевое слово

>простое


а второй го нахер никому не упал.
#50 #817179
>>817098

>многопоточности нет


Есть асинхронность. Есть и версия под многоядерные системы
https://github.com/ocamllabs/ocaml-multicore
Обоснуй чем плох текущий окэмловский gc, да, есть некоторые архитектурные изъяны, но их(недостатков) не лишены сборщики мусора многих других языков.
Сообщество годное, состоящее из адекватных людей. Впрочем, лучше используй дальше свои технологии пожалуйста, не трогай уютный ocaml.
>>817098

>что Elixir/Phoenix спокойно держит 2 ляма одновременных соединений


Как-то странно видеть такие утверждения без каких-нибудь источников, подтверждающих подобное.
>>817268
#51 #817184
>>817138

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


Оно нужно всегда. Так же, как и компилятор в рантайме.

>Других ОО-языков ты явно не видел


Никакое ООП не нужно. ООП вообще вредно.

>Хуя, уже целых 4 контейнера в языке!


Остальные можно добрать библиотеками. Для основного функционала все есть.

>Для паральеьного программирования это очень удобная концепция


Только в языках с перемещающим сборщиком.
#52 #817185
>>817184

>Так же, как и компилятор в рантайме.


/0
Можно на этом закончить.
>>817215
#53 #817187
>>817184

>Только в языках с перемещающим сборщиком.


Хуя взаимосвязь. Что тв за хуйню написал?
>>817218
#54 #817215
>>817185

>Можно на этом закончить


Сразу видно, ты полноценными языками не пользовался никогда.
#55 #817218
>>817187

>Хуя взаимосвязь


Только в языках с перемещающим сборщиком можно без потери производительности создавать кучами иммутабельные объекты, и сразу их убивать, когда они станут не нужны.
>>817223
#56 #817219
>>817184

> Так же, как и компилятор в рантайме.


> ООП не нужно


What the fuck am I reading?

> Только в языках с перемещающим сборщиком.


Наркоман? Током ебнуть? Rust
#57 #817223
>>817218
Обосрался - меняй тему.
Вообще-то речь шла о параллельном программировании, а не о gc.

> потери производительности


А вот и петух-преждевременный аптимизатар вышел.

Годауны, годауны never changes.
#58 #817225
>>817219

>Rust


Да, не ползовался им. С линейными типами тоже можно сделать, наверное.
>>817233
#60 #817232
>>817219

> ООП не нужно


>What the fuck am I reading?


Недавно же тред был, неохота шарманку по новой заводить.
#61 #817233
>>817219

>What the fuck am I reading?


Питуху поманкипатчить охота просто))
>>817225
Не, ты серьёзно ебанутый?
>>817251
#62 #817251
>>817233

>Питуху поманкипатчить охота просто


Как нормальному программисту может быть непонятно, насколько метакомпиляция крутая и повсеместно нужная вещь?
http://swizard.livejournal.com/177303.html
http://swizard.livejournal.com/177506.html
#63 #817268
>>817179

>Как-то странно видеть


особенно в контексте ограничения числа файловых дескрипторов http://serverfault.com/questions/48717/practical-maximum-open-file-descriptors-ulimit-n-for-a-high-volume-system
>>818056
#64 #817281
Вообще, какие - то жиденькие евангелисты пошли. Максимум что умеют - метнуть какашку в другие технологии. Аргументированно и технически грамотно пояснять за свою - не могуть.
#65 #817471
>>817098

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


Ну так потому и сказано, что порог входа высокий. Зато работа в таких спартанских условиях закаляет дух.
>>817493
#66 #817493
>>817471
Так на плюсах сразу бэкэнд писать надо, хули там спартанские условия.
>>817506
#67 #817502
Go - это язык от корпорации для корпораций. Которым важно не допустить появление единственного васяна, который разбирается в системе, потому что нахуевертил какого-то говна на акторах, а желательно вообще, чтобы думал тимлид, а не кодер.
#68 #817506
>>817493
На Ассемблере!
#69 #817544
>>817502
Дык сам гугл на Говне ничего кроме внутренних утилит и не пишет (точнее, не переписывает).
#70 #817545
>>817502
А за васяна думает тимлид – концепция из явы.

И модель акторов – самая понятная и красивая абстракция над многопоточностью, если её понимать будет только 1 васян – остальных надо на мороз выкинуть нахуй.
>>817559>>817848
#71 #817559
>>817545

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


А как же async/await?
>>817561
#72 #817561
>>817559
А они вообще не об этом как и гошные горутины.
>>817572
#73 #817572
>>818081
#74 #817824
Так, я не понял, а где Илюша?!
>>817829
#75 #817829
>>817824
Не нужен
#76 #817848
>>817545
Это мечта аутиста-хаскеллиста, как он весь из себя такой приходит, всех макак выгоняют, а ему платят всю их зарплату. Только вот то, что корпорациям нахуй не надо воспитывать охуевших аутистов, ты похоже, не понимаешь.
>>817882
615 Кб, 600x598
#77 #817866
А мне норм, ребята. Сел посмотреть что за язык, написал парсер по доскам этих ваших двачей, по 10к постов за секунду тащит, чистит от мусора и готовит к сейву. Думаю было бы ещё быстрее, но, по всей видимости, из-за спам защиты после n-досок начинается всякая муть.
А потом достает все эти посты и считает всякий юзлес треш типа количество постов, слов, картинок, банов, саж, выстраевает топ по словам и разбивает посты по 24 часа таймлайну - 350к постов за 7 секунд. И всё это рутины, вызывающие рутины, вызывающие рутины. Круто же.
>>818040
#78 #817882
>>817848
Я в последнее время совсем ахуеваю в какую помойку скатился зк. При чем тут вообще хаскель и всё остальное? Яваиндус считает что модель акторов – кококо фп при том что это чистейшее ооп и нихуя непонятна, сложнаа? Ну хэловорлд-то распаралелить без них может и проще.

А если программист не хочет думать головой – да, ему в этой профессии делать нехуй.
>>817895
#79 #817895
>>817882

>и нихуя непонятна, сложнаа


Это тебе нихуя не понятно, что я написал. Корпорациям нужны винтики, а не одиночки. Поэтому им нужен Go, а не Scala (которую я упоминал в контексте хаскеля, так как на хаскеле все равно работы нет). Вот и все.
>>817902>>823085
#80 #817902
>>817895
Кому он нужен? Кто нибудь написал на нем что-то серьёзнее микросервиса (да даже сам гуглом)? Нет.
Кто нибудь написал что-то серьёзное на скале? Да дохуя банков и твитеры-хуитеры.

И да – я понимаю что ты баран которому что об стену горох что-то объяснять, но всё же скажу – акторы с горутинами, которые косвенно сравниваются тут — абсолютно разные концепции которые сравнивать некорректно.
>>817904>>818014
#81 #817904
>>817902

>И да – я понимаю что ты баран


Это ты баран, тупой. Выдумал какое-то косвенное сравнение акторов с горутинами и начал с выдуманным собеседником спорить. Причем оскорбляя зачем-то меня.
>>817909
#82 #817909
>>817904
Так с тупым животным (хотя животные рациональние тебя) иначе и нельзя. Это как со строителей или сапожником без мата.

Не порт такую хуйню и будет тебе нормальный разговор.
#83 #818014
>>817902
Докер, iris.
А так не имеет смысл искать на неём какие-то приложения. Go идеально подходит для написания логики взаимодействия каких-нибудь сетевых узлов на уровне udp/tcp.
>>818018
#84 #818018
>>818014

>iris


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

>Докер


Набор скриптиков, который не пострадал бы даже если переписать его на Питон.
>>818108
#85 #818025
>>812480 (OP)
го для бекенда норм?
насколько сложен?
>>818518
#86 #818040
>>817866
Я и на жабе такое сделаю.
#87 #818056
>>817268
ulimit -n unlimited
>>818073
#88 #818073
>>818056
man 5 limits.conf
#89 #818081
>>817572

>I dont care if my structures stay on the heap or stack


Реквестирую пикчу про джаву и "стек не нужен".
>>818107
#90 #818107
>>818081
Так тут всё еще хуже: компилятор решает где твоя память аллоцируется. Сука.
>>818117>>818137
#91 #818108
>>818018

>отклоняя чужие коммиты и комитя их от себя?


Ох лол, охуенно. Он мой кумир, обожаю его заочно :3
#92 #818117
>>818107
На самом деле небезынтересная фича, но странно видеть её в типа низкоуровневом языке.
>>818120
#93 #818120
>>818117
Ебать дебил, удивляется говну в /го/вне.
>>818129
#94 #818129
>>818120
кекнул?
>>818133
#95 #818133
>>818129
Прокекался тебе за щеку, /го/внарик.
#96 #818137
>>818107
Нет, тут именно то же самое. Escape analysis, и если побегов указателей не предвидится, то выделяется на стеке.
33 Кб, 856x392
#97 #818146
#98 #818164
>>818146
Хабр по сути, тот же зекач, только там не умеют класть за щеку.
>>818165
#99 #818165
>>818164
Там за это банят просто.
Положил тебе за щёку, проверяй
#100 #818174
>>818146
Все это же относится и к Swift, и к D.
>>818277
#101 #818207
>>817098

>Phoenix - последнее слово в области веб бекендов


Спешите видеть - эталонный фанбой! Раньше поди за раби топил.
#102 #818264
>>818146

> Зачем Haskell? Меня лично привлекает совокупность его особенностей:

#103 #818277
>>818174
Макаку обучить говну проще, чем д или гей-языку. Поэтому го выстрелит в области сетевых технологий. Микросервисы там писать и пр.
Т.е. в говне есть все возможности нормальных языков, но обучить этому языку макаку проще, чем нормальные языки. Вот и всё. А потребность в макаках будет только расти, особенно с "интернетом вещей".
>>818315
#104 #818315
>>818277
На говне в том то и дело, что только МИКРО и можно писать, потому что на этом БЭЙСИКЕ, что-то крупнее разрабатывать просто невозможно. Лично знаю два продукта в долине, которые повелись на хайп и начинали разработку на го, но потому переписывали всё на скалу.

>>>818277


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


Охуительные истории пошли.

>обучить этому языку макаку проще


Уже есть пайтон.

> Вот и всё. А потребность в макаках будет только расти


ДЖЯВА в своё время тоже сделала ставку на простоту и макак, но во-первых, у неё тогда не было конкурентов, во-вторых, масштабный форс ООП, в-третьих - зиллионы долларов вбуханых в макетинг, в-четвёртых, рынок программистов не был особо населён и жява давала возможность любом таксисту вкатиться с нуля. В результате джава хоть и оказалась везде, но её ненавидит каждый, кто когда-то работал с ней. И постоянное появление альтернативных ЯП под JVM, показывает, что люди не хотят писать на этой параше. Так как у гоувна нет всех тех выгодных начальных условий, которые были у ДЖЯВА, то писать на нём никто не хочет прямо сразу, после написания первой тысячи строк кода. Да и макак из 90х уже не осталось, сейчас на рынке куча программистов со стажем (которые уже знают 1 и более языков) и компании берут их, а нюфаги нахуй не нужны, они самые немаржинальные (часто даже отрицательные). Поэтому шкальники которые сейчас учат гоувно, могут только уповать на удачу, что они встретят заказчика-лошка, повёвшегося на гуглохайп, но это и не значит что их не пидорнут уже через 3 месяца разработки, а проект не перепишут на какую нибудь скалу.
#105 #818518
>>818025
Прост, если нужно что-то простое. С orm там слабенько, тому что рефлексия не считается хорошим тоном.
#106 #818522
>>818315

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


Ну сами виноваты, не умеют выбирать продукты под свои задачи, раз scala оказалась в более выигрышном положении.
#107 #818525
>>818315

> а нюфаги нахуй не нужны



Всем нормальным компаниям нужны молодые и перспективные, так, что не пригорай)
>>818772>>819371
#108 #818703
>>818315

>пайтон


Которой в десятки раз медленнее.
>>818752
#109 #818752
>>818703

>Которой в десятки раз медленнее.


Вот тут адепты Go топят за микросервисы, но юмор в том, что как раз для микросервисов быстродействие нафиг не нужно.
Микросервис не справляется? - просто запусти парралельно ещё десяток его инстансов.
>>819191
#110 #818772
>>818525
Найс аутотренниг пошёл))
#111 #819191
>>818315

>Джава сделала ставку на простоту и выстрелила


>Go сделал ставку на еще большую простоту и не выстрелит


Логика.
>>818752

>Микросервис не справляется? - просто запусти парралельно ещё десяток его инстансов.


Ну и еще пошли сказки про то, что железо дешевле рабочего времени программиста. Хотя разработка на Go не медленнее разработки на пайтоне за счет статической типизации, а эффективность в разы выше.
#112 #819208

> runtime.GOMAXPROCS(1488)



Поселюсь тут. Оп, ты с каким бекграундом в го вкатился?
Как думаешь прокачивать? что писать?
79 Кб, 708x696
sage #113 #819371
>>818525

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


Если это перспективные, я не хочу с такими даже за руку здороваться
sage #114 #819477
>>819191

> на Go не медленнее разработки на пайтоне за счет статической типизации


Как раз медленнее.

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


Да, так и есть.
#115 #819479
>>819191

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


Если ты такой умный, то почему такой бедный? Почему копрорации, которые живут по девизу "железо дешевле программистов", имеют много денег, а ты нет?
>>819482>>819501
#116 #819482
>>819479
Потому что ебал твою мамашу
#117 #819501
>>819479
Корпорации разрабатывают go. А против go кукарекаешь ты.
#118 #819513
Наговнокодил тысячу строк, прочитал пару книг и что лично мне не понравилось в Go:
1. Абсолютные импорты (github.com/vasyan666/go-yoba)
2. Хуёвая и функциональная и ООП-парадигма, могли бы с Раста взять пример в этом плане.
3. В 2016 не очень интересно на таком писать в т.ч. из-за п.2 -ни фана, ни челленджа, ни сахарка.
4. Свич-кейс рефлексии заместо дженериков.
5. Отсутствие макросов, но это на любителя.

На хабре как-то сказали, что Go - dsl для сетевых демонов, так в общем-то и стоит его воспринимать.
Хотя работы много, работа появляется, так что, может, и попробую как-нибудь устроиться.
>>819594
#119 #819594
>>819513

>хуёвая ООП-парадигма


Это тебе в java треде сказалт? Наследование не часть ооп.
>>819654>>819655
#120 #819654
>>819594
Только не начинай про Кея и Смолток.
#121 #819655
>>819594

>Наследование не часть ооп.


Эти сектанты даже между собой не могут договориться, что у них там часть чего, как правильно и кто с кем. А потом они утверждают, что ооп - это просто, хорошо и правильно.
>>819673>>819680
#122 #819673
>>819655
Кто-то не осилил ооп?
#123 #819680
>>819655
В случае с прочими т. н. "парадигмами" ещё менее понятно, что часть чего.
>>819777
#124 #819777
>>819680
Ой ли? За структурным программированием стоит статья от Дейкстры. За функциональным программированием огромная фундаментальная теория. И только оопешники так и не могут определиться, влияет ли инкапсуляция на ориентацию, и стоит ли наследовать машину от колеса.
>>819871
#125 #819871
>>819777

>За структурным программированием стоит статья от Дейкстры.


О структурном программировании говорить сейчас бессмысленно, так как языков, которые его не поддерживают, нет (кстати, а раньше были? догадываюсь, что возможность никогда не использовать goto и использовать вместо него циклы, подпрограммы и т. д. была ещё в Фортране 50-х). Поэтому невозможно представить спор вида "язык X является структурным, потому что в нём есть Y! - нет, не является, потому что в нём нет Z!"

>За функциональным программированием огромная фундаментальная теория.


Это лямбда-исчисление?
Если считать наличие ФВП и анонимных функций признаком ФП, то почти любой язык сейчас относится к функциональной парадигме. Так что опять же это понятие является практически бессмысленным.
Если же брать другие особенности, присущие современным ФЯ (например, pattern matching), то вдруг оказывается, что их нет в Лиспе. Как же так, оказывается, Лисп, прародитель ФП, сам не функциональный?
Причём тренд на добавление функциональных фич в императивные и ОО-языки размывает понятие функционального программирования всё сильнее и сильнее.
#126 #819922
Нашли, где спорить ооп vs фп, лол, в Го ни того, ни другого не завезли.
>>820079>>823090
#127 #820079
>>819922
Так ITT есть те, кто доказывает, что завезли.
#128 #820116
Лол.
Год прошел как захожил в треды буйствующего гоблядка, как его там не помню.
С тех пор перекатился на яву и уже сеньор помидор. А годауны все так спорят о том что го нужен.
Идите лучше jvm языки учите лалки
#129 #820131
>>820116
Твоя лычка в бодишопе не делает тебя сеньером.
>>820217
#130 #820148
>>820116
лол, индусня гордится своим говноедством
>>820217
#131 #820187
>>820116

>А годауны все так спорят о том что го нужен.


Ну то просто дауны.
А гоферам как и крестовикам пофиг на споры, им работать надо.
>>820289
#132 #820217
>>820148

>Пук


Простите что?

>>820131

>Дриськ


Пан вы оподливились.
>>820290
#133 #820237
>>816453
Чому это не связано? Либо ты пишешь "компилятор" калькулятора, который умеет только складывать и вычитать целые числа до 1000, либо калькулятора, который поддерживает кучи типов с автоматическим приведением, хуетиричные системы счисления, функции и переопределения операторов. Угадай что работает быстрее. Утрированно, но суть понятна. Сомневаюсь, что кто-то стал бы писать новый gcc с поддержкой многотомного стандарта итд итп
>>820269>>820735
#134 #820269
>>820237
Годауны, годауны never changes.
Речь шла о конкретно скомпилировонном этим компилятором бинарнике, а не о скорости компилятора.
#135 #820289
>>820187

>гоферам


Не правильное название. Правильно их называть гоями. "Ф" там абсолютно неуместна.
#136 #820290
>>820217

>джяваимбецил пытается смыть свой позор на щютках


Провёл тебе abstractsingletonproxyfactorybean'ом по губам. Можешь возвращаться под шконарь.
#137 #820640
>>819191

>Логика.


То есть четыре пункта объяснений ты жопой читал? Понятно.
#138 #820657
>>812480 (OP)
В чем смысл проекта Go?
Есть ли у него будущее (не будущее в манямирке школьника, а то как сейчас он себя за бугром чувствует, где и живет весь ИТ)?

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

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

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

PS а еще этот суслик в качестве талисмана, это какой-то скрытый стёп над уровнем знаний разработчиков, типа легко вкатится и вкатятся такие вот лемминги? Или что?
#139 #820697
>>820657
Гоу изначально - простой язык для простых задач. Что-то, что может выучить любой девопс, при этом компилируемое и легко встраиваемое. Никого никуда вытеснять он не будет - это язык-клей для инфраструктуры, помесь упрощённой сишки и пайтона. В принципе, можно было оставить пайтон, но у гоу есть какая-никакая конкурентная модель, которой у пихтоне нет, плюс куда быстрее работает.
#140 #820711
>>820657

> суслик в качестве талисмана


я думаю что это через make(chan, 1488). каналлы - как тоннели и ходы, по которым ползают эти суслуки
#141 #820735
>>820237
Смешно, но даже тут провал, потому что в реальном мире калькулятор с хуетиричными системами в итоге работал быстрее. А, может быть, и сейчас работает. Поставь haxe и поиграйся. Только помни, что он делает всё то, что гошный компилятор не делает.
>>820737
#142 #820737
>>820735

>haxe


Ебать ты траллишь.
>>820872
#143 #820774
>>820657
Go изначально никто блядь не задумывал делать для сраных web сервисов.
Это отличный статический язык для быстрой разработки всяких прокси, udp/smtp сервером etc, по скорости вполне позволительно уступающий C.
#144 #820872
>>820737
Ебать ты бомбишь.
Ну, теперь, когда мы обменялись бессмысленными постами, ты сядешь и напишешь, что тебя не устраивает?
#145 #820951
>>820657

>Google


>Go


>Gopher


>Суслик

#146 #820997
А вы не охуели? Почему тред не по гайдлайнам? Это уже хоть и нелегитимный 11 го-тред, сучки. Улетаем в космос, нахуй.

А вот и я, Царь и Бог, Илюша. AMA.
#147 #820998
>>820997
Нахуй, блядь, пошёл, хуесос малолетний.
>>821002
#148 #821000
>>820997

> Царь и Бог


Возможно, вы имели ввиду пидорас и хуесос
>>821002
#149 #821002
>>820998
>>821000
Дауны из пхп-треда detected.
>>821004
#150 #821004
>>821002

> пхп


Полностью мимо
#151 #821005
Какой самый ок ресурс для изучения Golang?
>>821018
#152 #821018
>>821005
GET https://2ch.hk/pr/res/812480.html (М) можешь не благодарить
>>821020
#153 #821020
>>821018
I see what you are doing here...
#154 #821037
>>820997
Как школу закончил? Куда поступил?
>>821070
#155 #821049
>>812480 (OP)

> Чтобы ни у кого не было соблазна написать их самому (что несложно), Роб превентивно сделал это сам, выложил на гитхаб и сказал, что использование вот такого функционального гейства discouraged. Мужик!



Это правда чтоли? А можно ссылку на гитхаб?
>>821064
#156 #821064
>>821049
https://github.com/robpike/filter
Гуглится в два счета.
#157 #821065
Помічаю в собі риси персонажів улюблених серіалів. Від "Доктора Хауса" маю цинізм. Від героя англійського серіалу "Доктор Хто" – моделі сприйняття життя. Будете дивитися "Доктора Хто" – раджу з п'ятого сезону.

Ідеальна дівчина має бути сама собою і здатна на нешаблонні вчинки, приміром, зважитися на банджи­­джампінг чи стрибок із парашутом. Важливо, щоб вона була хоч у чомусь розвинена. В науці якійсь – біології чи історії.

Слухаю Arctic Monkeys. Думав, ­краще ­Nirvana нічого бути не може. А таки може.

Короче, вот этот маргинал в Go-тредах срёт?
>>821070
#158 #821070
>>821037
Закончил хорошо. Поступил на кибернетику в КНУ.

>>821065
Ну это давно было, щас-то я слушаю скепту. Алекс Тернер из обезьянок — скатился, слушать их нет смысла. ГРАЙМ — НАШЕ ВСЕ. Доктор, кстати, охуенный сериал, очень классный как для детей и взрослых.

Кстати не забывай, что половину того, что я говорил на интервью, я на самом деле не говорил — это же журналисты.
>>821073>>821075
#159 #821073
>>821070

>Доктор, кстати, охуенный сериал, очень классный как для детей и взрослых.


Для умственно отсталых детей и таких же взрослых.
>>821079
#160 #821075
>>821070
Я сомневаюсь, что даже журнашлюхи могут выдумать настолько изысканное говнецо.
>>821079
#161 #821079
>>821073
Вроде тебя, ахаххахаа.

>>821075
Ой, чувак, никогда недооценивай...
>>821132
#162 #821132
>>821079
Ебануться у тебя с русским проблемы.
>>821135
#163 #821135
>>821132
Но ведь он же хохол...
>>821145
#164 #821145
>>821135
я тоже
#165 #821256
>>820997
Это не тред для обсуждения Go, это тред для опускания Go-даунов
ОП
>>821267
#166 #821267
>>821256
Да какой ты ОП? Я был ОПом когда ты еще даже не думал быть ОПом, пёс. 10 тредов назад

Соси писос и уважай легаси.
#167 #821277
>>821267
Тред как бы не называется ТРЕД ПРО ГО
А конкретно претензии какого-то шизоида, так что ты мимо, собственник хуев.
>>821280
#168 #821280
>>821277
Так это что получается, вся доска проебала легаси?! Пиздец.
>>821282
#169 #821282
>>821280
На говне его еще не успели написать.
#170 #821354
Ну нахуя, ну нахуя в говланге нагородили такую ебаную кашу с массивами? Просто чем им не угодили питоньи массивы, например? Нахуя такой бред с этими слайсами?
>>821493>>821961
#171 #821493
>>821354
для людей с С головного мозга - слайсы очень удобная
абстракция над буфферами ибо хранят в себе капасити,
длину и собственно адрес массива
#172 #821961
>>821354
Когда пилили go, смотрели на пайтон меньше, чем на на Оберон например или С.
>>822050
#173 #822050
>>821961
Зачем вообще на это говно Оберон стоит смотреть?
#174 #822056
>>822050
Сейчас уже наверное нет, хотя идея у Вирта с очень простым языком, средой разработки и ОС (в которую заложено много интересных идей, взятых Plan9 и Inferno) довольно интересна. Пары обзорный статей про ОС хватит наверное, чтобы и про язык почитать.
>>822316
#175 #822057
>>822050
Один из лучших промышленных языков для инжинеров тащемта. Простой, предсказуемый, без всяких undefined behaviour.
#176 #822316
>>822056
Кстати двачую про компонентую ОС на обероне. Туда Виртом вложены очень интересные идеи, интересно было ознакомиться.
Хотя с одной стороны и хорошо, что среди быдлокодеров и не взлетело.
#177 #822333
>>822050
Незачем. Оберон - это недоджява. Тупой и убогий язык.
>>822448
#178 #822448
>>822333

>Оберон - это недоджява


Spring уже накатил?
#179 #823058
Насколько го подходит в качестве замены пехапе?
>>823061
#180 #823061
>>823058
Подходит, как раз оба языка для отбитых дебилов.
98 Кб, 540x612
#181 #823063
>>812480 (OP)
Пиздец. Нахуй он тогда нужен, такой хороший? Можно вполне обойтись стандартным Си.
>>823079
Нуб задает важный вопрос #182 #823078
>>814422

>должна быть безупречная параллельность


>ПАРАЛЛЕЛЬНОСТЬ


Поясните важность этой хуйни. Почему и где это нужно?
>>823081>>823089
#183 #823079
>>823063
Кстати, тоже об этом подумал. Есть C - простой, как топор. Без всяких OOP, STL и прочего ада.
#184 #823081
>>823078
На сервере например, когда нужно обрабатывать запросы множества клиентов одновременно, или при длительных вычислениях, чтобы их ускорить. Только вот в Джаве параллельность делается легко, а в Си - немного посложнее. Чем Го лучше их?
>>823094
#185 #823083
>>817502
Хороший, годный комментарий.
#186 #823085
>>817895

>Корпорациям нужны винтики, а не одиночки.


И этот хороший и годный... комментарий.
#187 #823087
>>818315
Годно про Джаву написал. В точку. Ненавижу это говно тоже.
#188 #823089
>>823078
Чтобы использовать всю мощность процессоров/гпу.
>>823105
#189 #823090
>>819922
Луул, а ведь ты чертовски прав.
>>823092
#190 #823091
>>817502
Так наоборот же, когда пишешь на примитивном невыразительном говне, и закодить нужно что-то сложнее очередного инфраструктурного клея на 100 строчек - приходится городить невменяемое говно из велосипедов, вместо использования всем понятных обобщённых абстракций.
#191 #823092
>>823090

>Провёл тебе abstractsingletonproxyfactorybean'ом по губам.


Взлольнул, по традиции.
#192 #823094
>>823081

> Только вот в Джаве параллельность делается легко


Там она делается точно так же железными валенками как в си, только без указателей. Го в области конкурентности на голову выше обоих. Ты просто пишешь простой код не задумываясь над паралельностью, датарейсами, блокировками и прочим.
>>823098>>823419
#193 #823095
>>821267
Все ебанулись...
#194 #823098
>>823094
Если так хочется, можно использовать какую-нибудь библиотеку, типа Cilk или OpenMP, и никаких проблем.
>>823104
#195 #823102
>>821267

>Соси писос и уважай легаси.


Это кек.
>>823106
#196 #823104
>>823098
Поясни за Cilk и OpenMP.
>>823109
#197 #823105
>>823089
А в пхп, питоне и руби?
>>823150>>823190
Вкусно #199 #823108
Подписался на тред.
#200 #823109
>>823104
Я их ни разу не использовал, лол, просто знаю, что они есть, что они используют особые конструкции/функции, и в них параллельно программировать несколько проще, чем в голом Си с pthreads.
>>823112>>823113
#201 #823112
>>823109
То есть ты рекомендуешь то, что даже не пробовал... Я всё правильно понял?
#202 #823113
>>823109
Ты вообще разницу между conrurrent и parallel понимаешь? хоть кто то тут понимает?
#203 #823150
>>823105
Бамп вопросу.
#204 #823165
>>814422
uvloop гугли, как раз на ситоне написан, по скорости io-операций почти как горутины.
#205 #823186
>>812480 (OP)
Невротики безустанно пытаются оправдать свой выбор марки автомобиля, сигарет, смартфона или парадигмы программирования перед окружающими.
#206 #823190
>>823105
А в чём именно вопрос-то?
>>823221
#207 #823221
>>823190
Параллельность, многопоточность...
>>823790
#208 #823419
>>823094

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


Как и в любом языке, где есть async/await. Вот в Java завезут - и будет всем счастье.
>>823516>>823790
#209 #823516
>>823419

>async/await


довольно слабенькая абстракция, но да, для дотнетомартышек больше и не надо, а то ещё того гляди и говно жрать разонравится
>>823573
#210 #823573
>>823516
Оно уже есть в Пайтоне, который обладает никак не меньшим распространением, чем .net, и скоро будет в Жабаскрипте. Это как минимум.
Отчего же гениальная концепция горутин не распространяется с таким же успехом?
>>823577>>823618
#211 #823577
>>823573

>Отчего же гениальная концепция горутин не распространяется с таким же успехом?


Акторы в эрланге самое близкое.
Но говнокодерам такое не нужно
#212 #823618
>>823573

>Оно уже есть в Пайтоне, который обладает никак не меньшим распространением, чем .net, и скоро будет в Жабаскрипте.


А там и в C++: https://habrahabr.ru/post/278267/
>>823790
Акторы, горутины и т.д. #213 #823651
Что это такое, зачем и где почитать?
>>823777>>823790
#214 #823777
>>823651
Бамп.
#215 #823790
>>823651
В гугле и доках к языкам/либам, где блять ещё.
>>823419
Не сравнивай хуй с пальцем. async/await - хуитка для написания неблокирующегося гуя без анальной ебли, не больше. Рантайм Говна делает за тебя вообще всё, при этом ещё и предоставляет экосистему для всего этого.
>>823618
Ты похоже забыл что их послали нахуй и в лучшем случае они там будут к 2020 году (если вообще будут, модули уже который стандарт мусолят).
>>823221
Ты вопрос-то так и не задал. Что сказать тебе про "Параллельность, многопоточность"? Ну в списке "пхп, питон и руби" первый и третий не обладают такими фичами от слова совсем, второй вполне себе, но смотря какая именно модель многопоточности нужна.
#216 #823814
>>823790

>Ты вопрос-то так и не задал. Что сказать тебе про "Параллельность, многопоточность"? Ну в списке "пхп, питон и руби" первый и третий не обладают такими фичами от слова совсем, второй вполне себе, но смотря какая именно модель многопоточности нужна.


Но есть же всякие апликейшн-сервера и мидлвари (Phusion Passenger, Puma, Raptor, Thin, Unicorn, EventMachine, Tornado), которые... Или я путаю с асинхронностью?
>>823825
#217 #823819
>>823790
Stackful корутины в С++ нормально работают.
>>823825
#218 #823825
>>823819
/0
Это не часть языка, а всё такое же низкоуровенное говно, ради того чтобы реализовать банальную хуитку из 5 строк в языке с нормальными средствами потребуется 50, а потом ещё наслаждение невозможностью отладки этого говна. Да, спасибо, хорошо работают.
>>823814
Ну тебе никто и не мешает написать обёртку над системным апи и создавать сколько влезет потоков. Вопрос в том, сколько для этого потребуется костылей, а тка же в том, что сам язык со своей инфраструктурой для этого не предназначен.
>>823838>>824408
#219 #823838
>>823825

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


Раздался голос со стороны дивана.
>>823845
#220 #823845
>>823838
А что, в плюсах на каждый пук не пишут таллмуды кода?
>>823890
#221 #823890
>>823845
Приверженцы отстаивают это темплейтами
#222 #824349
>>823790

>Не сравнивай хуй с пальцем. async/await - хуитка для написания неблокирующегося гуя без анальной ебли, не больше. Рантайм Говна делает за тебя вообще всё, при этом ещё и предоставляет экосистему для всего этого.


Это не хуй с пальцем, это действительно 2 механизма, по-разному реализующие одно и то же.
>>824381
#223 #824381
>>824349
Ты сам подтвердил что не понимаешь о чём говоришь.
#224 #824408
>>823825

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


Ну и какая разница, где это реализовано - в самом языке или отдельным компонентом??? Объясните!!!1
>>824470>>824494
#225 #824470
>>824408
Мы вам перезвоним.
>>824479
#226 #824479
>>824470
А если серьезно и предметно?
>>824481
#227 #824481
>>824479

>А если серьезно


Серьезно: соси хуй, быдло.
/тема
>>824486
#228 #824486
>>824481
Это бан.
>>824487
#229 #824487
>>824486

>эта БОЛЬ


Очаровательно :3
Зарепортил тебя, кстати.
#230 #824494
>>824408
Ну и какая разница, есть ли классы в языке или можно как в сишке передавать функциям указатель на структуру??? Объясните!!!1

Ну и какая разница, есть ли DSL как средство яызка, если можно накостылять на плюсах через шаблоны и текстовые макросы??? Объясните!!!1

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

Мне продолжать или уже понятно?
>>824500
#231 #824500
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 14 сентября 2016 года.

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

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