@gogolang

Страница 1155 из 1630
Alexander
17.06.2018
07:39:22
на язык сам по себе, без инфраструктуры и экосистемы, совершенно наплевать и растереть
Это чисто бизнес подход, ЯП ещё можно оценивать с точки зрения академической, исследовательской. Ещё язык можно оценивать по перспективам, которые он открывает.

Если оценивать ЯП с точки зрения бизнеса, то устанешь гоняться за хайпом.

Ибо бизнесу нужны программисты, которые будут решать проблемы, и ему не важно каким ЯП их будут решать. А программисты бывают ветренными, могут быть зависимыми от авторитетов, таких как гугл(или оракл когда-то). Да что уж говорить, если есть куча программистов, которые даже не совсем понимают, что такое система типов, термин тип-сумма вызывает у них недоумение и при этом они занимают позиции сеньёров и тимлидов.

hamper ?
17.06.2018
07:50:11
У работодателей еще есть небезосновательный аргумент, по той причине, что хороший разрабоотчик на одной работе обычно больше 2-3 лет не задерживается, то: "как легко будет потом найти человека, который будет поддерживать всё то, что написал этот разработчик".

Google
hamper ?
17.06.2018
07:50:43
И проще всего такое работает с чем-то типа nodejs потому что жсников как грязи.

Alexander
17.06.2018
07:51:29
И проще всего такое работает с чем-то типа nodejs потому что жсников как грязи.
Это, кстати, очень забавно, учитывая насколько плох дизайн у JS

hamper ?
17.06.2018
07:52:41
Ну или многие уже пишут на го, то и новых разрабов преимущественно на го будут искать, как и для любого другого языка, например в некоторые компании принципиально ищут программистов на до диезе, потому что на нем все там уже пишут, а менять или переучивать весь штат слишком затратно.

Alexander
17.06.2018
07:56:44
Кошмар какой, и часто вы используете такие типы в реальной разработке?
Нет, потому-что в языках, которые используются в реальной разработке таких типов нет, и нередко вместо них приходится что-то костылить. Мммм... Коды ошибок, просто сказка

Или конечные автоматы на строковом/численном представлении состояния

Вообще, конечные автоматы без алгебраических типов данных - это сплошной набор костылей

А ещё парсеры без ADT - тоже очень творческая задача по придумыванию костылей разных форм и размеров

Pawel
17.06.2018
08:07:38
Fedor
17.06.2018
08:11:44
Я бы сказал, что типы суммы нужна там, где бизнесу необходимо сдать теории множеств злому лектору. А если сдавать не надо, или лектор добрый, то можно и без них обойтись

Alexander
17.06.2018
08:12:51
Вот и хорошо, пусть молятся на Пайка и других отцов-осннователей голанга. У меня к ним тоже больше доверия чем к Данику Абрамову и Одерски.
Очень странным образом вы своё доверие даруете. Я бы, например, не доверял попыткам Одерски разрабатывать ОС, и не доверяю попыткам Пайка разработать язык программирования. Аргументация проста - это за пределами их профессиональной компетенции.

Google
Igor
17.06.2018
08:16:38
Пайку доверять можно, опыт в Bell Labs, много OS экспериментов, много концепций, создатель UTF8, фантастический текущий проект upspin

Pawel
17.06.2018
08:16:54
Да человек просто хотел выпендриться а ты сейчас будешь доказывать что он не прав )
это понятно что выпендрится. не то что бы доказывать - ясность внести)

Alexandr
17.06.2018
08:18:38
это понятно что выпендрится. не то что бы доказывать - ясность внести)
Уверен, что если бы бизнес не заставил его отыскать в каких-то закромах эту тип-сумму, сам бы про неё он не узнал. Зато понтов перед соискателями выше крыши - они приходят на собес, а он им - Как, вы не знаете тип-сумму?! Видал я это на собеседованиях, неприятно, пипец.

Igor
17.06.2018
08:21:07
И ни одного ЯП до 50+ лет.
известных нет, но много типа newsqueak и т.п. - всё шло в копилку, там тоже CSP

Alexander
17.06.2018
08:23:28
Много теперь где применяешь ?
Опять же не в рабочее время, ибо на работе языки, где их и в помине нет. Хотя часто вижу ситуации, когда нужен простой тип сумма, а вместо этого приходится городить костыль

Alexandr
17.06.2018
08:24:33
Igor
17.06.2018
08:25:10
И ни одного ЯП до 50+ лет.
Сразу заметно, критика из разряда “сам не читал, но не одобряю” ? Чтобы что-то или кого-то критиковать, надо иметь хотя бы какое-то представление ?

Alexander
17.06.2018
08:25:16
что за тип-сумма, чем знаменита?

https://ru.wikipedia.org/wiki/%D0%A2%D0%B8%D0%BF-%D1%81%D1%83%D0%BC%D0%BC%D0%B0

это?

Alexander
17.06.2018
08:25:46
type Either a b = Left a | Right b

Pawel
17.06.2018
08:26:23
Это чисто бизнес подход, ЯП ещё можно оценивать с точки зрения академической, исследовательской. Ещё язык можно оценивать по перспективам, которые он открывает.
а нет другого подхода кроме бизнеса. Изследователи-искатели которые всю жизнь пишут факториал или фибоначи на монадах никому не нужны

Alexander
17.06.2018
08:26:36
type Either a b = Left a | Right b
чет легче не стало от твоих подсказок

это какая-то нечеткая логика?

Google
Alexander
17.06.2018
08:28:03
чет легче не стало от твоих подсказок
Это тип который может содержать значение одного из конечного числа типов. Типом суммой называется потому-что количество значений такого типа = количество значений 1 типа + количество значений 2 типа + ... + количество значений N типа

Alexander
17.06.2018
08:28:41
понял, спасибо

Alexander
17.06.2018
08:29:50
Естественно что рядом собственно со значением должна лежать метка того, какой там лежит за тип. Иначе условие > количество значений такого типа = количество значений 1 типа + количество значений 2 типа + ... + количество значений N типа не выполняется

напоминает динамическую или слабую типизацию. Сейчас флоат а потом бац - интежер.
По факту является обратным - сильной статической типизацией

Pawel
17.06.2018
08:31:32
понял, спасибо
если бы вы видили в какой говнокод превращается работа со значениями таких типов на практике - развесистый паттернматчинг, ужасы с отбивкой пробелами при рефакториге, десяток враперов для простого инта и т.д. -, вы бы не благодарили

Alexander
17.06.2018
08:31:40
на вики пишут, что это Дизъюнктное объединение, то есть общая часть отбрасывается и остается то, чего нет в первой + то , чего нет во второй?

Alexandr
17.06.2018
08:32:03
По факту является обратным - сильной статической типизацией
суть понял, спасибо. Но зачем тогда нужна такая сильная статическая, когда логичнее отдельно пользоваться флоатом и интежером например?

Alexander
17.06.2018
08:34:15
на вики пишут, что это Дизъюнктное объединение, то есть общая часть отбрасывается и остается то, чего нет в первой + то , чего нет во второй?
Значение типа суммы - это всегда значение типа + метка типа, от этого дизъюнктивное объединение, ибо количество значений для объединения типов A и B всегда равно сумме количества значений обоих типов.

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

конечные автоматы - тоже хороший пример

Ещё один канонический пример - AST

Alexandr
17.06.2018
08:38:41
конечные автоматы - тоже хороший пример
Честно говоря, для меня это похоже на теорию, которая применима нигде. В том смысле, что подходящих случаев ноль.

Alexander
17.06.2018
08:39:41
Честно говоря, для меня это похоже на теорию, которая применима нигде. В том смысле, что подходящих случаев ноль.
Это типичное "я не знаю того, что я не знаю". Пока вы с этим не сталкивались и особо то и не знаете что это такое, поэтому и не понимаете зачем это нужно.

Alexander
17.06.2018
08:40:18
Что за книгу?
ммм, проехали. я думал вы из скалоидов.

Pawel
17.06.2018
08:41:05
Честно говоря, для меня это похоже на теорию, которая применима нигде. В том смысле, что подходящих случаев ноль.
подходящие случаи бывают на самом деле. они относятся матану и теории категорий на уровне докторской диссертации. Ни один из мальчиков, с упоением рассказывающих про ФП, об этом даже не догадывется)

Google
Pawel
17.06.2018
08:44:26
обычные проверки в сишном стиле вкупе с операторами if break return читаются на много проще чем паттерн матчинг типов сум. ФП в принципе не может ничего упростить - строго только усложнить. И для задач его применяют соответствующих

Pawel
17.06.2018
08:45:25
нет, не видел. А что не так?

Alexander
17.06.2018
08:46:24
обычные проверки в сишном стиле вкупе с операторами if break return читаются на много проще чем паттерн матчинг типов сум. ФП в принципе не может ничего упростить - строго только усложнить. И для задач его применяют соответствующих
Есть множество людей которые с вами не согласятся. Вообще читаемость в данном контексте крайне субъективна и очень зависит от бэкграунда каждого конкретного программиста.

Vladislav
17.06.2018
08:47:56
Ну так посмотрите. Там объявление интерфейса с приватным методом, который ничего не делает. Потом на нужных типах эти методы «реализуют». И все для того чтобы в качестве аргумента можно было передать только конечное множество типов. А внутри касты интерфейсов к типам.

Admin
ERROR: S client not available

Vladislav
17.06.2018
08:49:53
А в сочетании с утиной типизацией вообще невозможно найти все типы которые можно передать внутрь.

Alexandr
17.06.2018
08:49:53
в смысле ? стейт-машины никогда не писали ?
ну, разве что свичами и иф-зенами.

Vladimir
17.06.2018
08:59:02
Свитчем?? И кастом значения из "* void*?

Daniel
17.06.2018
09:00:12
погодите

вам по-любому нужен там switch или пачка if

Pawel
17.06.2018
09:01:01
Вот именно. Можно подумать паттернамтчинг чем то лучше

Daniel
17.06.2018
09:01:07
потому как параметр вы получили, но на разные параметры вам нужна разная обработка, правда?

Google
Vladimir
17.06.2018
09:01:44
потому как параметр вы получили, но на разные параметры вам нужна разная обработка, правда?
Да, все верно. Просто парень выше говорит, что паттерн метч - говно не читабельное

Так если тот же свитч, только безопасный, в чём не читабельность?

Pawel
17.06.2018
09:02:43
Я так регулярно делаю в случаях работы с деревьями с разнотипными нодами. Switch, даункаст из интрфейса (не пустого). Ни разу проблем не возникало. Никакие стат. гарантии на фиг не впёрлись. Проблема высасона из пальца

Daniel
17.06.2018
09:02:50
но вот то, как именно реализуется этот самый тип-сумма в го - это мерзко. я вот только что (позавчера) нарисовал сообщения, которые у меня уходят в канал, и каждое реализует пустой метод IAmCommand

Alexander
17.06.2018
09:05:04
Vladimir
17.06.2018
09:05:31
Но ладно, раз стат гарантии не нужны - тут все понятно, зачем тогда вообще брать язык компилируемый? На питончике ж быстрее кодится, ещё меньше гарантий

Daniel
17.06.2018
09:06:42
коллега, хватит вот этого, а?

нет, на питончике не быстрее

и нет, не всем нужны эти самые гарантии

Daniel
17.06.2018
09:07:42
вожно понимать, зачем нам вообще нужна статическая строгая типизация

вот вам - зачем?

Alexander
17.06.2018
09:08:12
вот вам - зачем?
Чтобы проще было писать, читать и поддерживать.

Vladimir
17.06.2018
09:08:20
вот вам - зачем?
Сильная типизация позволяет часть контрактов протолкнуть на уровень компилятора

Pawel
17.06.2018
09:08:40
Если вы меня спрашиваете - то мне проще код читать со стат. гарантиями.

Alexander
17.06.2018
09:09:21
это общие слишком слова
тогда > Сильная типизация позволяет часть контрактов протолкнуть на уровень компилятора благодаря этому мне проще писать, читать и поддерживать код, т.к. контракты описанные в документации устаревают(если они вообще описаны), а без контрактов в языке компилятор просто не скомпилирует код

Страница 1155 из 1630