
Foxcool
30.09.2018
04:25:47
https://t.me/whalesgohigh/3571
Надо же как-то оправдать инвестированное на задротство время, когда результаты на широком рынке не востребованы.
А вообще думаю была бы крутой связка именно go + rust.
Первый для написания приложений без страданий. Второй уже для всяких серьезных библиотекек и критичным к производительности и стабильности приложений.
А может и нет. Рыночек порешает. Главное, чтобы не пришлось на кириллическом языке в чебурнете работать

Alexander
30.09.2018
04:31:18


Foxcool
30.09.2018
04:34:15
Объяснение куда проще. Большинству "хаскелистов" приходится работать не с хаскелем. И при этом испытывать болезненные ощущения от того, что он мог бы эту задачу решить легко и просто, но придется городить костыли, потому что у нас тут язык НЕ АКАДЕМИЧЕСКИЙ, А СУГУБО ПРАКТИЧНЫЙ, ага.
Я открою секрет. У многих есть любимый язык, на котором что-то быстрее и проще бы решилось. Я, когда первое время на го писал, постоянно горел от осознания, что на перл это было бы написано в несколько раз быстрее и короче. А если внутреннюю дисциплину иметь, то и не менее понятно.
Но это жизнь.

Google

Foxcool
30.09.2018
04:35:07
И го, не самый плохой вариант, мягко говоря.

Александр
30.09.2018
04:39:00
как раз на "академичном" языке получиться длиннее
взять тот же С и "корректную" работу с сетью, со всеми обработками

Alexander
30.09.2018
04:40:03

Александр
30.09.2018
04:40:14
ээм
он по крайне мере есть в вузовской программе, насколько я знаю

Foxcool
30.09.2018
04:42:48
Функциональные довольно компактны

Alexander
30.09.2018
04:43:12
А, вот у вас какой критерий. Ну тогда, по этому критерию хаскель совсем не академичный. По крайней мере в Российских реалиях. Ибо тут ФП если и преподают, то совсем чуть-чуть и на последнем курсе.

Foxcool
30.09.2018
04:43:26
Перл, кстати, брал фичи функциональщины. Отчасти поэтому можно писать очень компактно

Alexander
30.09.2018
04:43:40

Foxcool
30.09.2018
04:44:13
Скажи это эрлангу
Он будет поуспешнее игрушечного языка

Google


Евгений
30.09.2018
05:11:21
О, шедевр
— Влияет ли на управление сложностью то, что в программировании сейчас довольно много людей со слабой технической базой?
Конечно. Для таких людей даже специальный язык программирования придумали. Называется Go. Я не шучу. Действительно, целью создания языка Go была попытка вовлечения в написание кода студентов и стажеров Google, которые не могут освоить C++. Python им не подходил по производительности, нужно было что-то иное, и в Google придумали Go. Как оказалось, очень много людей готовы на нем писать, потому что он очень простой. Но какой ценой достигнута эта простота? Нам дают не нормальный язык программирования, а его очень урезанную версию — в нем нет практически никаких сложных концептов by design. Нет дженериков, нет такого понятия, как исключения и т.д. И поклонников такого подхода много.
Отсюда https://habr.com/company/oleg-bunin/blog/424393/
Лажа! Я Люблю Go - за его гибкость, неплохую скорость и высокую строгость... И да при этом я не в жизни не писал на Haskell....
Зато при этом запросто пишу под ARM, AVR процессоры на чистых сях или асме...


Alexander
30.09.2018
05:13:24
задрали рустеры и хаскелисты. особенно задрали тем что путают слова "сложный" и "не нужный"

Евгений
30.09.2018
05:14:29
Пускай уже сломают свой мозг! И гордяться своей "крутостью"... ))))))))))
Пока нормальные люди используют удобные языки, всегда найдеться пол сотни зад*тов которые пропагандируют свою великую зад*ченную идею....!

Foxcool
30.09.2018
05:17:30
А годы идут... БМВ не покупается...

Евгений
30.09.2018
05:17:48
БМВ как швейцарские часы - или работают или убитый таз

Crypt
30.09.2018
05:20:21

Евгений
30.09.2018
05:21:14
Или нет некого, или умерли все )

Crypt
30.09.2018
05:28:02

Foxcool
30.09.2018
05:31:31
Это я и имел ввиду под библиотеками

Alexander
30.09.2018
05:45:09
а ещё задрали гуглы всякие с пайками, которые продавливают технологии используя своё положение монополиста
а ещё задрали люди, которые авторитету всяких гуглов с пайками доверяют
а ещё задрали люди, которые не понимают, что положение, в котором сейчас находится хаскель обусловлено чисто историческими факторами и уж точно не его "академичностью" и "практической неприменимостью"

Alexander
30.09.2018
05:50:10
но упоротые рустеры и хаскелоиды почему считают нормальным приперется в чат другого языка и начать там всем втирать что на го монады сложно коммутировать

Google

Alexander
30.09.2018
05:51:02

Alexander
30.09.2018
05:51:40
так займитесь делом и напишите нормальный proposal, чего вам не хватает, как тут уже сделали
а не вечное нытье "а вот в хацкеле вывод типов есть"

Alexander
30.09.2018
05:52:22
в то что го однажды станет более менее юзабельным языком я не верю

Alexander
30.09.2018
05:53:00
займитесь этим, прям сейчас. я серьезно. каждая строка с нытьем в этом чате отдаляет вас от этого счастливого момента

Olzhas
30.09.2018
05:58:03
На пхп нужно писать

DreamingKitten
30.09.2018
05:58:46
Пыху не хватает строгой типизации
А так был бы суперский язык

Wingman
30.09.2018
06:06:20

Vadim
30.09.2018
07:14:52

V
30.09.2018
07:19:46
пока все в стеке, а не в куче, то не важно где объявлено же

V
30.09.2018
07:19:55
но попоахивает голословностью

Zver
30.09.2018
07:26:48

Pavel
30.09.2018
07:27:57

Wingman
30.09.2018
07:30:09
Товарищи, а есть ли какие-нибудь общепринятые практики для того, чтобы при использовании protobuf делать примерно так (пример из ip-протоколов):
- получил пакет
- прочитал из него хидер (заранее известные N байт)
- по хидеру определил тип пакета
- спарсил пакет в структуру в зависимости от типа
?
На данный момент всё, что я нашел, из well-known применений — тупо proto.Unmarshall в определенный тип структуры.
Это может быть и удобно для чего-то rest-подобного, когда ты точно знаешь, какой ответ должен быть при обращении на некий URL. Сто урлов - сто типов ответов.
Но мне нужно использовать что-то вроде, например, nats-streaming или NSQ: а создавать по каналу для каждого из возможных типов пакетов - как-то бредово

Alexander
30.09.2018
07:31:12

Zver
30.09.2018
07:32:17

Alexander
30.09.2018
07:33:16

Zver
30.09.2018
07:33:59

Google

Zver
30.09.2018
07:41:30

Wingman
30.09.2018
07:42:27
Ну и определять, что было отправлено, на принимающей стороне

Zver
30.09.2018
07:45:50

Wingman
30.09.2018
07:47:20

Pavel
30.09.2018
07:49:06
Сделай тип «тип пакета».

Admin
ERROR: S client not available

Pavel
30.09.2018
07:49:51
Потом switch case по типам и анмаршал делаешь правильный

Wingman
30.09.2018
07:49:53
А оно разве нормально анмаршалится, если там будут куча "лишних" полей?

Pavel
30.09.2018
07:50:26
Сделай его фикс два байта перед сообщением например
?

Wingman
30.09.2018
07:51:35
гм
похоже, мне надо курить тип Any
и пихать в него "настоящий" пакет

Zver
30.09.2018
07:58:32
похоже, мне надо курить тип Any
Зачем тебе any? Если в текстовом виде отправлять, то и размеры никакие не нужны. Указываешь имя (код, тип) пакета и вызываешь нужный обработчик, который анмаршалит.


Мерлин
30.09.2018
07:58:44
О, шедевр
— Влияет ли на управление сложностью то, что в программировании сейчас довольно много людей со слабой технической базой?
Конечно. Для таких людей даже специальный язык программирования придумали. Называется Go. Я не шучу. Действительно, целью создания языка Go была попытка вовлечения в написание кода студентов и стажеров Google, которые не могут освоить C++. Python им не подходил по производительности, нужно было что-то иное, и в Google придумали Go. Как оказалось, очень много людей готовы на нем писать, потому что он очень простой. Но какой ценой достигнута эта простота? Нам дают не нормальный язык программирования, а его очень урезанную версию — в нем нет практически никаких сложных концептов by design. Нет дженериков, нет такого понятия, как исключения и т.д. И поклонников такого подхода много.
Отсюда https://habr.com/company/oleg-bunin/blog/424393/
Так и есть, и я не понимаю почему это воспринимается как троллинг.
Большая часть плюсов Go связана с его тщательно продуманной простотой


snip
30.09.2018
08:13:34

Google

snip
30.09.2018
08:16:18

Nick
30.09.2018
08:19:24
И самое печальное, что это не первый такой проект

Zver
30.09.2018
08:20:11

snip
30.09.2018
08:21:28

Nick
30.09.2018
08:22:12
И я бы не сказал, что люди используют простые подходы
Это конечно все относительно

Wingman
30.09.2018
08:23:23

Yo
30.09.2018
08:23:44
Холивар какой то...

Мерлин
30.09.2018
08:23:46
Ну вот не так. Да, один из главных плюсов го это простота, добиться которой не так легко, но изначальный посыл в том тексте неверный, и быстрорастущая популярность го это не результат того что большое кол-во неучей готовы писать на го
Ну в общем-то отчасти как раз из-за того, что Go простой и позволяет писать более менее надёжный код даже говнокодерам, он так прёт в популярности. Ну, помимо всяких плюшек рантайма, простоты поддержки и пиара от гугла. И в этом нет ничего плохого — раньше говнокодеры шлёпали CRUD на ноде и пыхе, сейчас начинают шлёпать более надёжные на Go. А тесты как они не писали, так и не пишут.
А те программисты, которые Программисты, почти всегда найдут себе интересную и оплачиваемую работу хоть на Go, хоть на Rust, хоть на Scala, хоть на Java

Nick
30.09.2018
08:24:13

Wingman
30.09.2018
08:24:42

Мерлин
30.09.2018
08:25:22

Nick
30.09.2018
08:25:34

Wingman
30.09.2018
08:26:15

Yo
30.09.2018
08:26:34
А посмотреть внутренности unmarshal не пробовали? Есть ли там вообще нужные концы для вашей проблемы? Гугл тоже...только на англ надо найти правильную формулировку проблемы.

Wingman
30.09.2018
08:26:45

Nick
30.09.2018
08:27:31
Пошел гуглить)
Но я не уверен что там так можно, можно на протобафе сделать говно структуру конечно


snip
30.09.2018
08:27:51
Ну в общем-то отчасти как раз из-за того, что Go простой и позволяет писать более менее надёжный код даже говнокодерам, он так прёт в популярности. Ну, помимо всяких плюшек рантайма, простоты поддержки и пиара от гугла. И в этом нет ничего плохого — раньше говнокодеры шлёпали CRUD на ноде и пыхе, сейчас начинают шлёпать более надёжные на Go. А тесты как они не писали, так и не пишут.
А те программисты, которые Программисты, почти всегда найдут себе интересную и оплачиваемую работу хоть на Go, хоть на Rust, хоть на Scala, хоть на Java
Да, только говнокодеры могут говнокодить на го потому что тимлиды оценили преимущества го, но не наоборот
И да, простота, пиар и прочее это несомненно сыграло роль
Только го не задумывался как язык для тех кто не может освоить с++ а как язык на котором могут начать писать вчерашние студенты не тратя годы на освоение сложного инструмента