Это копия, сохраненная 10 апреля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Запрягайте повозки, поехали...
Python
+ Всем давно известно, что никто не хочет писать код ради кода, все хотят в пару строк написать работающее "нечто" и всех это устраивает. Питон проложил свой путь в машинном обучение и подкупает своей простотой и удобством (где не нужно бороться с языком, ради надуманных ограничений, которые матёрому программисту и не нужны).
- Великий вдохновитель который дал нам питом таким какой он есть - ушел. И это значит, что сейчас язык поплывет по колдобинам хайпа, благодаря подросшим одноклеточным хиспетрам, как это было в свое время с пхп. Язык с космическим и не "таким как все" синтаксисом, где многие решения из других языков делаются всегда чуток по другому, по своему, по идиотски ограниченно.
Несмотря на боль миграции с 2 на 3 версию, даже 3 версия несет еще тучу говно-синтаксиса (и эти люди в свое время со своим вторым питоном смеялись над php 5, лицемеры, у них даже нормального ООП до сих пор нет). В языке, где каждый пробел может повлиять на код, отступы приняты именно в виде пробелов, а не табуляции (и в этом весь питон, ему всегда надо где-то быть нелогичным и идиотским).
Rust
+ Еще одна попытка победить С++. Побеждать С++ надо - это достойная роль.
- Сделать язык еще мудренее чем С++, это талант.
PHP
+ Мощный и удобный язык для веба.
- Вместо того чтобы делать из языка еще более мощный и удобный инструмент для веба, комьюнити сделало из него джаву, от чего он и стух.
Хипстер снова погадил.
JavaScript
+ Абсолютная монополия в браузерах, нередко это первая любовь многих ваннаби-программистов. Отсюда просто бешеная популярность, где на нём теперь пишут даже IDE, которые, что странно - тормозят меньше чем всякие java-IDE.
Если твой язык не транслируется в js - то он остой, братюнь!
- Превратится в тыкву сразу же, как только потеряет монополию в браузерах. Легион ваннаби-программистов просто не вытянет этот разросшийся пузырь свистелок и перделок.
Go
+ Конкурентный и асинхронный язык без всяких ваших обещаний (промисов) и асинк-авеев. Прост как палка, чем и доставляет.
- Если добавить тот факт что дизайн языка говно, то мы сможем смело мастерить поделки из говна и палок (эталон микросервисной архитектуры).
Dart
+ Новая версия, флагманский проект в виде флаттера, кроссмобильная разработка, многие шумят о новой ОС с основой из флаттера. Чудеса! Прям возрождение феникса!
- Мертворожденный проект, который пытаются натянуть на глобус, местами синтаксис конечно лучше вашей джавы, но местами видно скрещивание с javascript, что доставляет только боль.
Почему нельзя было сделать нормальный си-шарпно-подобный конкурентный (асинхронный) язык на базе технологий языка go - никто не знает. Такое ощущение что всем насрать или гугл просто не умеет в языки.
Java
+ Как говорят - самый популярный язык. Имеет тонну де-факто стандартных решений и некоторое количество хороших IDE, что делает разработку на нём достаточно комфортной (наверное самые удобные инструменты которые я вообще встречал в языках).
- COBOL тоже был очень популярен, java еще слышится анону только благодаря мобильной разработки и тырпрайзным конференциям, от которых польза чуть больше чем никакая. Если сама jvm допилена до блеска и порой показывает хорошие результаты в дробилках, то вот многие тырпразные решениях делают как раз ровно наоборот. Если у вас нет машин с дохера-гигибайтными планками ОЗУ и вы не желаете платить дохера зеленых за спринг-дармоедов, которые за месяц делают то, что делает питонист меньше чем за неделю, то джава это не ваше.
Scala
+ Попытка замены джавы. Более богатый синтаксис. Можно пощупать функциональщину.
- Приелась джава? Вдруг вы поняли, что CRUD можно писать функционально? Тогда вам точно нужно разбежаться и впечаться об скалу.
Groovy
+ Прикольная попытка сделать еще один динамический язык.
- Попытка то прикольная, но зачем на jvm (на сях то эти динамические языки тормозят ппц, а тут жаба-машина).
Kotlin
+ Радость для андроид разработки. Попытка замена джавы.
- Опыт с провалом скалы и груви не был убедительным, поэтому авторы сего творения решили накатить очередное ненужное, на не совсем уже нужном jvm. Ведь наше ненужное, самое лучшее из ненужных, как же иначе. Авторы языка пытались сделать ставку на тулинг, позабыв что уже сделали хороший тулинг для джавы, и людей как бы все устраивало. Понятное дело, никаких флагманских проектов, типа кроссплатформенного флаттера нет, но зато есть транслятор в js (а то там у них прокси языков мало) и никому не нужный нейтив (реально хотят потеснить свифт? Серьезно?).
Я всегда рад новым языкам и инструментам, но хватит уже таскаться за jvm и пытаться выехать на сомнительном багаже джава наследия (параллельно пытаясь фиксить синтаксические баги джавы, которые надо просто выкинуть). Реально, легиону джавы все хватает, так как тулинг действительно хорош, кому хотелось экзотики, те навернули скалу. И все, больше рыбы там нет.
Typescript
+ Действительно годная альтернатива javascript, хоть какие-то статические типы и вообще ощущение правил в языке и независимость от ваших js стандартов.
- Прокси язык (неполноценный), как и паразиты в животном мире - живет ровно до того пока живет хозяин, то есть js. Статические типы для фронтент-программистов нужны так же как пятое колесо мотоциклу, но если такая потребность появляется, то тру-js-кодер всегда накатит всякие babel и flow, и пошлет всех нахер (и будет прав, нахера еще учить 100500 языков у которых сомнительное будущее).
Ruby
+ Местами выглядит удобнее и красивее чем ваши питоны (и продуманнее), может приносит удовольствие автору во время кодинга.
- Язык с тонной говномагии и отсуствием вменяемой кросскомпиляции.
Поезд хайпа ушел, а ржавые рельсы остались.
Haskell, Lisp, OCaml, Clojure, Erlang...
+ Расширяем кругозор, щупаем ФП.
- Когда все детство мама говорила что ты особенный и тетя Оля говорила что ты особенный... а ты пишешь опердени на шестой джаве, то конечно тебе хочется самоутвердиться. Тут то на помощь и приходит вся эта экзотическая херня, но писать на этом говне конечно так же уныло и скучно, поэтому ты тратишь большую часть времени не на код, а на словесные бои в сети, отстаивая проф-пригодность этого хлама.
C#
+ Лучшая джава, но уже не на вашей jvm.
- Опять же вирт.машина. Практически ненужная хрень (для тырпрайза). А ведь если бы дали достойную официальную кроссплатформенность в свое время, то джава бы соснула (особенно в те года, когда язык штормило или он стагнировал на одной версии).
Увы и пох.
С
+ Созданный умными людьми - востребован почти более 50 лет. Как никогда удобен чтобы поеб..ться с байтами в ограниченных ресурсах.
- Мир давно ушел от программ в 10000 строк и писать на таком что-то насыщенное бизнес-логикой - жопа.
С++
+ Берешь любимый си и приклеиваешь к нему ООП, что может быть лучше?
Создавался не хипстерами, поэтому выстрелил и востребован до сих пор.
+ Наеб..н тысячелетия, пока си стагнировал, умные, но хитрые человеки, придумали что можно завернуть в структуры функции и скормили это народу (придумали ООП). Неожиданно это взлетело, потому как программы действительно писались уже более чем 10000 строк и требовалась хоть какая-то вменяемая инкапсуляция для стада программистов (а потом и этого стало мало, накатили вам джаву).
ASM
+ Когда можешь навернуть байты так, что позавидует Си.
- Но так мало кто умеет, да и ненужно.
1С
+ Великое доказательство того, что технологиями правит бизнес, а не задрот программист в холливар треде.
- П..здец.
Лойс за старание, братиш.
BraunDe, ты?
>Haskell, Lisp, OCaml, Clojure, Erlang...
Erlang очень эффективен в узкой области для которой он задумывался.
>С
>Мир давно ушел от программ в 10000 строк и писать на таком что-то насыщенное бизнес-логикой - жопа.
Представь себе, есть программисты, которые бизнес логикой не занимаются, а пишут, например, модули ядра для обработки сетевого трафика.
ASM
>ненужно
Смотри выше про C.
>>C
>+ Созданный умными людьми - востребован почти более 50 лет. Как никогда удобен чтобы поеб..ться с байтами в ограниченных ресурсах.
Двачую
Капитанство. На любом языке можно писать программы. На любом языке можно найти работу. Поэтому рассуждать что выстрелит, а что нет - ребячество.
Ну так проблема в советчиках, а не в питоне
Значит ты ни алгоритмы, ни программирование не изучал. Потому что в эти знания входят и знания как происходит интерпретация. Если не знаешь правил трансляции, как можно писать программы? Правила трансляции это договор между программистом и машиной, о том как писать код и как его интерпретировать.
Есть что сказать объективное? Плюсы, минусы? Хочу вкатиться, а в соседнем тематическом треде так и не понял стоит ли.
Какие плюсы у ограниченно-платформенного молотка, который может забивать гвозди, только от изготовителя но кто-то где-то пообещал или смог забить пару гвоздей от другого производителя
Commodore 64
>И какими платформами он ограничен?
Опять надеешься, что выстрелит какой-нибудь рантайм на коленке подобие mono и весь бизнес с аноном ринутся в этот увлекательный мир костылеварения?
Пока нет офф поддержки достойного уровня, смотреть в ту сторону даже не стоит.
Делаю ставку на JS.
Быть может typescript за счет влияния JS
Из неожиданных может дарт таки и выстрелит.
Всякие пхп, джавы, плюсы - будут с нами еще долго.
Го тоже закрепился, по крайней мере по числу звездных проектов на гитхабе. Как на нём пишут большие проекты я не понимаю.
Раст - не знаю, с трудом верю в него, пускай удивит. Насколько знаю флагманских проектов еще нет.
Может быть котлин выстрелит, если соберут нормальный фонд и запилят уже какой-нибудь флагман (надеюсь не костыль-транслятор для флаттера). Хотя там у них за спиной уже маячит vs code код, я бы на их месте ресурсы на другом сосредоточился бы. Но если сил хватит, надеюсь для веба чего крутого придумают чтобы жабье наследие не тоскать
>Делаю ставку на JS.
JS – будущее, согласен, как бы у кого от этого ни бомбило.
>Из неожиданных может дарт таки и выстрелит
Уже, см. Flutter. В последний год усилился.
>Как на нём пишут большие проекты я не понимаю
Причём не "как?", а КАК…
На самом деле охуенное время для погромистов. Это же вторые 80-е, расцвет.
Все языки существующие языки корявые и живут 5 лет, стандарта нет, старые мастодонты умирают, а новых не завозят.
Тот, кто сейчас замутит йобовый язык - заработает миллиарды.
Для обычного пограмера тоже заебись.
Выучил какой-нибудь жс, goвно или питон за 2 месяца - и ты уже погромист, можешь получать зарплату и выебываться.
Выбирай любой смузихлебный стек, все равно нет того, что было бы явно лучше него, одни сорта хуйни.
Ммм, заебись....
Придумали дебильное словосочетание "ебаться с байтами". Я не понимаю что это значит. В моем понимании это программирование микроконтроллеров.
> Scala
> + Попытка замены джавы. Более богатый синтаксис.
> на этом плюсы заканчиваются
познания уровня /pr/
>"ебаться с байтами"
Выполнять низкоуровневые операции.
В целом, делать за 100 строк кода то, что в высокоуровневых языках делают за 5.
Особенно смешно это начинает выглядеть, когда на явно низкоуровневом языке пытаются делать что-то очень высокоуровневое.
Что можешь сказать про божественную дишечку?
Следовательно если я напишу ДСЛ для конкретной предметной области, в котором 1 строчка будет соответствовать 20 на высокоуровневом языке общего назначения, то байтоебством уже будет высокоуровневый.
Commodore 64
Удвою. Надо пользоваться.
>Я не понимаю что это значит.
Значит не ебался ни разу. Байтовый девственник ЛАЛ.
Есть такая штука - бинарные файлы и бинарные протоколы. В них, как правило, в отличие от текстовых, где размер полей произволен, а данные перед сериализацией конвертируются в текст, что максмально упрощает отладку и повышает надежность при битых данных, есть следующие вещи:
1. Длина массива записывается в начале, затем идет поток байтов без какой-либо метки конца
2. Числа записываются методом дампа памяти, то есть если у тебя машина big endian, то на машине с little endian велик шанс, что у тебя все сломается
3. Указатели заменяются на смещения в такой йобе
4. Много другого
Что в принципе создано для одного - максимизировать скорость обработки данных.
Так вот, отладка программ, которые с этим работают, превращается в песню. Когда, например, где-то потерялся байт и вся структура файла поехала нахуй. Или какое-то поле злой хацкер переполнил и перезаписал другие данные. И так далее. Вот такая отладка и называется байтоеблей.
Сишка способствует байтоебле, потому что в стандартной библиотеке нет даже способа сериализовать массив и велик соблазн просто сбрасывать дампы памяти прямо в файл, но на самом деле от байтоебли отходят уже и в сишке, благо на гитхабе есть все, в том числе и хорошие реализации протоколов. Ну как, отходят. Я отхожу, а куча дядек за 30 - нет, так и ебут байты.
>а новых не завозят
Сейчас каждая вторая конторка печатает очередной йоба-язык, в надежде что опенсорс схавает их чудо и вознесет в гору (что звучит больше как влажные мечты).
Желание сейчас выехать на легионе опенсорса, то есть на халяве, равносильно "как выдать замуж 60 летнюю девственницу".
Программирование с самого зарождения и по сей день выглядит как кустарное ремесло без четких стандартов где все пишут одно и тоже, но каждый по своему.
Увы, но до "промышленной революции" еще далеко.
>заработает миллиарды.
Если только миллиард вопросов в гитхабе, не на чем там зарабатывать. Платные библиотеки или фреймворки (да уже и платные IDE) звучит как моветон (как например платный браузер, а такое раньше было анонче).
>познания уровня /pr/
Ну попробуй нам рассказать технические плюсы скалы, без перехода в онанизм на ФП.
Хочу язык с космическими названиями, типа Орион, Протуберанец, Квазар.
> тс/flow хипстеркам не нужен
Еще как нужен, каждый второй легаси проект переводят на тс, каждый первый новый стартуют на нем же (в паре с реактом/вью/ангуларом, офк). А флоу не нужен, т.к. мертвое говно.
мимо хипстер
Та ситуация, когда тебе нужно писать что-то близкое к машине и из-за малых ресурсов (и производительность тоже ресурс) - тебе буквально приходится дергать что-то по байтам или пытаться запихнуть невпихуемое дроча эти байты или побитово смещать и контролить ручками память (именно контролить так, чтобы добиться какого-то результата, а не просто почувствовать себя GC-мартыхой).
В общем, заниматься системной херней, которая CRUD программистам даже и не снилась (и не нужна)
Весьма распространено ложное утверждение что байтоёбство крайне необходимо в системном программировании. На самом деле этого легко избежать. Рассмотрим среднестатистическую аппаратную платформу. Краеугольными камнями любой аппаратной платформы являются:
Процессорная архитектура
Memory map - адресное пространство, в которое отображаются RAM, ROM и внешние устройства
Протоколы управления этими самыми внешними устройствами.
Так вот, всё вышеперечисленное вполне можно вполне декларативно описать обычным конфигурационным файлом, не прибегая к программированию вовсе. Затем, скормить этот файл генератору платформ и на выходе получить готовый фреймворк-скелет нашей операционной системы, доступ к которому можно получить из любого языка программирования. Вот так вот просто, если бы байтоёбство гологного моска не мешало.
Знакомый пишет на нем, говорит хорошо зделоли, я лично вживую видел ровно одну вакансию.
Мало что знаю, но из того что знаю:
D
+ Достойная замена С++, и что немаловажно, без изнасилования всего синтаксиса. Допуск в братство GNU gcc, что роляет.
- Нет фонда или авторитетного денежного покровителя, от чего бизнес будет чураться его, без бизнеса и историй успеха (маркетинга) языку не выжить в эпоху перенасыщения языков.
Ну еще бизнесу нужно хотя бы знать в каком направление этот продукт будет двигаться, не захотят ли завтра авторы все переписать или забить на что-то (поэтому и нужны солидные и влиятельные покровители, которые понимают весь этот бизнес)
>Сейчас каждая вторая конторка печатает очередной йоба-язык
Ну так это норма, 1000 контор печатает, одна когда-нибудь напечатает.
Не думаю, если взять какой-нибудь С или С++ (и даже java), несмотря на тонну очень примитивных мест и проёб..в (на текущий день) языки местами показывают достаточно глубокую проработку для своего времени. Сразу видно человека со сложным инженерным/математическим мышлением, который хотел не продукт слепить, а сделать конкретно удобный инструмент для таких же людей как он.
Причем реально удобный, без преувеличения, и даже не приходилось об этом говорит 100500 раз на конференциях (-"вот наша йоба! сама лучшая!! повторяйте за мной... самая лучшая! Еще раз....... А теперь достаем твиттеры и пишем как мы очень влюблены в этот язык.")
А кто сейчас делает??
-"Ко-ко-ко я программист, значит я знаю каким должен быть язык... ща мы тут типы подвинем, это выкенем... а вот это я видел в этом языке, мы это возьмем себе... и это тоже... все хватит, я устали так сойдет, тащите маркетологов..."
Получиться, что на фоне 100500 говно языков, появится реально практичный с новой парадигмой, но его никто не заметит или попрут с него идеи и так поматросят и бросят.
В итоге получиться что говно языки дальше будут править баллом, а новый стухнет за ненадобностью. Так как сейчас в 2К19 решает маркетинг и хомяки с твиттером
И ни один составитель этих даунских копипаст не смог написать ни ядро ОС, ни ПО для микроконтроллеров, ни даже игровой движок на Хаскеле.
Да что там, нет даже ни одного компилятора функционального языка под 8-битные платформы.
Байтоебы боги, функциональщики петухи.
Борщехлебский вымысел.
Смысл? Кому надо, тот спросит в скала-треде или найдет в интернетах. Просто сразу понятно, что ты ни один реальный проект на скале не делал и пишешь тут хуйню, которую прочитал на википедии или в скала-треде, вводя в заблуждение ньюфагов.
Да ну тогда кинь свой тезис то, в этом и суть дискусса.
Если говорить что все не "правильно" и при этом юлить и не говорить как правильно - знаешь как это будет называется? Выпук!
>Просто сразу понятно, что ты ни один реальный проект на скале не делал
Чтобы понять что говно есть ничто иное как говно - обязательно нужно это переживать?
не хочу
Хули там прозревать, Фаулера прочел и готово.
Все влажные мечты писать программы мышкой или командами (все теми же вашими дсл). Об этом мечтают каждое поколение уже лет 50-60, но на практике хер.
Тут приходится даже в фреймворках через одном место скатать, как только немного коснешься границ фантазии автора, а вы на целые ДСЛ дрочите.
Но вот если машин-лёрнинг сможет так, что начнет делать реально гибкие дсл - тогда да.
Но тут проблема в том что 80-90% программистов станет ненужно (да и на это ИИ уже тоже дрочат те же 50-60 лет)
Ты не понимаешь сути дсл.
>мышкой
Первое что приходит на ум: LabView, Unity
>командами
Тысячи их: маткад, максима, цсс, хтмл, и тд
>но на практике хер
На практике каждый мало-мальски грамотный программист ежедневно пишет свой хуёвенький еДСЛ, только не осознаёт этого.
Выразительность синтаксиса, семантику предметной области, легкое чтение для не программиста, быстрый вкат в программирование на этом дсл.
>Выразительность синтаксиса, семантику предметной области, легкое чтение для не программиста, быстрый вкат в программирование на этом дсл.
Новый язык просто создает новую специализацию программистов, только используют они не нормальные инструменты под названием "универсальные языки программирования", а какую-то тошнотворную йобу типа LabView, 1С или маткада.
>цсс, хтмл, и тд
Ага, придумывают хтмл и потом натягивают js потому что статичная херня, даже с css анимацией.
Придумывают 3d редактор, а потом присобачиваются эти ваши питоны
Тоже с sql, вроде бы просто работа с базой, а заканчивается операторами if и процедурами и все это становится портянкой на целую страницу.
Каждый раз декларативным способом упрощают что-то, все писаются от счастья, а потом прикручивают императивное, потому что иначе явно унылое не гибкое говно.
Вот увидите, html закончиться каким-нибудь флаттером, где веб будет строиться на дерганье API (например js) и все скажут как круто, нахера мы раньше html писали с вашими css.
И так каждый раз.
НУ ТАК ЙОБА11!! ПИШИТЕ В ГУГЛЕС ВСЕМ ДВАЧЕМ ПИСЬМА МОЛ ВОЗЬМИТЕ D ПОД СВОЕ КРЫЛО, БАБКИ СРАЗУ РЕКОЙ ПОТЕКУТ, а dart нахуй на мороз. Целую эпоху проебем жеж
Тебе го и дарта мало, хочешь норм язык угробить?
Завтра же из него выкинуть дженерики и пол синтаксиса перепишут под js-стайл в один поток.
Не думал что это скажу когда-нибудь, но уж лучше бы микромягкие бы взяли под свое крыло.
> Если добавить тот факт что дизайн языка говно, то мы сможем смело мастерить поделки из говна и палок (эталон микросервисной архитектуры).
>
Бля смешно сука!
Почитай СИКП. С первых глав рассказывают как интерпретируются программы. Показывают разные модели вычислений, что такое подстановочная модель, модель с окружениями, ленивые вычисления, энергичные вычисления, вызовы по значению/ссылке/необходимости, аппликативный порядок, нормальный порядок, и т.д. и т.п.
Ты не хочешь всего это знать, ну хорошо, только как ты будешь писать программы непонятно.
Ну почему ты хочешь жрать говно? Сотни инженеров трудились что бы ты не забивал этой ерундой голову, а просто творил, но нет же, лезут под капот.
Ты понимаешь, что некоторые интерпретаторы/компиляторы имеют аппликативный порядок вычислений, а другие нормальный? Это задает порядок вычисления функций и их аргументов. В языке с аппликативным порядком вычислений, при передаче в функцию аргумента с бесконечной рекурсией, процесс повиснет. В языках с нормальным порядком вычислений такого не произойдет, так как аргументы не вычисляются сразу.
Если этого не знать, исполнение программы будет как магия. И поэтому писать эффективно станет невозможно.
define нормальные инструменты
>тошнотворную йобу типа LabView
А ученым норм. Будут они еще разбираться с вашими питонами и жабами. Им надо быстренько перекоммутировать два устройства и получить результат прямо во время эксперимента, а не конпелировать этот ваш богомерзкий с++.
>>26377
В этом и суть ДСЛей. Поддерживать предметную область. Это не язык общего назначения.
мне должно быть ПОЕБАТЬ как там что вычисляется, нормальный язык должен не позволять мне отстреливать ноги.
>define нормальные инструменты
Ты на пару слов правее прочитай.
>А ученым норм
Кому-то и говно жрать норм.
>Будут они еще разбираться с вашими питонами и жабами
В конце концов и разбираются. Самая жопа, когда производитель поддерживает только labview. Тут становится очень весело. Примерно так же весело, как весело 1С-программистам.
>а не конпелировать этот ваш богомерзкий с++.
Поэтому ученые из ЦЕРН придумали ROOT
>Им надо быстренько перекоммутировать два устройства и получить результат прямо во время эксперимента
А потом эксперимент усложняется и пизда. На пике, например то, что на нормальном языке займет пару строчек
>Ты на пару слов правее прочитай.
Универсальных ЯП не существует. Так что define.
>Поэтому ученые из ЦЕРН придумали ROOT
Не поэтому. Им потребовалась быстрая числодробильня, они её и запилили.
Для рядового экспериментатора лабвью - самое оно, а учитывая, что программа на лабвью легко конпелируется в модуль FPGA для платформы PXI, так вообще красота: можешь гигасемплы в секунду получать при желании. А любителю писать с нуля придется еще и HDL какой-нибудь поизучать, и поебаться с очередной отладкой с плисиной.
>На пике
На пике типичный You're doing it wrong. Лабвью предназначено для описания эксперимента и сбора/визуализации данных, а не для верчения жсоном и прочей подобной хуйнёй. То, что там из каких-то там соображений добавлена поддержка этого, еще не означает, что этим надо пользоваться в каждом проекте. А если очень надо, то один раз запилил subvi и у тебя аккуратный квадратик на схеме.
>А потом эксперимент усложняется и пизда
Большой пиздец будет при использовании ЯП общего назначения, особенно, если это делает не программист с опытом проектирования комплексных программ. А если это делает последний, то он будет переизобретать лабвью.
++
Ты что читать не умеешь?! Тебе же говорят, что в разных языках, разный порядок вычислений. От этого никуда не деться.
>Универсальных ЯП не существует
Универсальный - это антоним domain specific. Если ты употребляешь термин DSL, ты автоматом подразумеваешь, что есть не-DSL, иначе ты бы просто говорил "язык программирования".
>На пике типичный You're doing it wrong. Лабвью предназначено для описания эксперимента и сбора/визуализации данных, а не для верчения жсоном и прочей подобной хуйнёй
На пике типичная ситуация с labview. Ты просто диванный теоретик, как и положено dsl-онанисту, который, аки марксист, стремится осчастливить человечество тем, что ему нахуй не нужно.
>Большой пиздец будет при использовании ЯП общего назначения, особенно, если это делает не программист с опытом проектирования комплексных программ.
Большего пиздеца, чем на пике, не будет.
Пиздану хуйню.
Прочитал 80 стр циспа, сделал 70% дз
Вот в душе ни ебу, где может использоваться нормальный порядок, вместо аппликативного. Там же в книги по факту расписали, что вычислений дохуя при использовании нормального.
Н: pow(square(x), 4) = square(x)square(x) square(x)square(x) // считаем square 4 раза + 3 оп умножения.
А: pow(square(x), 4) = / посчитали x в квадрате и 3 оп умножения */
Итого 7 операций против 4, (считаем, что pow без оптимизации аля X^a = (X^2)^(a/2))
Ну вот в сухую проебывпет же
Ты полон зла.
Начнем с того, что нормальный порядок не требует повторять вычисления.
Продолжим тем, что избежать одной тяжелой ветви исполнения, но повторить десяток раз более легкую, может быть выгоднее.
Закончим отсутствием конкретных измерений — всерьез о производительности можно говорить лишь тогда, когда код исполнен и время его исполнения выяснено.
>Универсальный - это антоним domain specific
Существуют языки общего назначения. Если бы существовал универсальный язык, все бы использовали только его. Он же универсальный.
>На пике типичная ситуация с labview.
На пике типичная ситуация, когда к программированию допускают необразованных домохозяек, не видевших книжек типа SICPа.
>который, аки марксист, стремится осчастливить человечество тем, что ему нахуй не нужно.
Причем здесь человечество, идиот? Хорошие DSLи обычно узкоспециализированы, они разрабатывается так, чтобы программы на них были понятны как программистам, так и специалистам в этой предметной области.
>Большего пиздеца, чем на пике, не будет.
Ты хоть видел программы, написанные людьми, у которых программирование по стольку по скольку? Это по сути скрипты уровня /bash что есть самый большой пиздец.
>Существуют языки общего назначения. Если бы существовал универсальный язык, все бы использовали только его. Он же универсальный.
То же можно сказать про "общее назначение". Это взаимозаменяемые термины, странно, что ты с этим столкнулся первый раз.
>На пике типичная ситуация, когда к программированию допускают необразованных домохозяек, не видевших книжек типа SICPа.
То есть для программирования на LabView нужно читать SICP.
>Ты хоть видел программы, написанные людьми, у которых программирование по стольку по скольку? Это по сути скрипты уровня /bash что есть самый большой пиздец.
Я видел. Просто такая менее выразительная вещь, как DSL, приводит к двум вещам
1. Код не-программиста остается говном, то есть изначальная цель не достигается
2. Программистам становится сложнее взаимодействовать с не-программистами. Появляется каста "программистов на DSL"
3. В конце концов у DSL'а растет кодобаза, которая пишется любителями, в итоге программы на DSL начинают обладать адским vendor lock-in и превращаются в легаси чемодан без ручки.
Визуальные языки это отдельная история - ни в гит не запихнешь толком, ни дифф не посмотришь.
DSL'и не нужны, нужны библиотеки и фреймворки для существующих языков. Не С++, конечно, но питон вполне удобоворим.
>Это взаимозаменяемые термины
Это не так. Си, Питон, Хаскель ЯП общего назначения. Но они не универсальны. Конечно, на Си можно теоретически написать вообще что угодно, но тут уже Десятое правило Гринспена.
>То есть для программирования на LabView нужно читать SICP.
Для программирования на чем угодно надо читать SICP
>менее выразительная вещь, как DSL
ДСЛ, наоборот, более выразительный, чем ЯП общего назначения. Он позволяет программировать непосредственно в терминах предметной области, забыв о всякой низкоуровневой лабуде. А хорошо написанная библиотека представляет собой еДСЛ (например, питоний нампай).
1. Код не-программиста остается говном, то есть изначальная цель не достигается
Изначальная цель ДСЛ - программировать в терминах предметной области. А уж кто это будет делать - дело десятое.
2. Программистам становится сложнее взаимодействовать с не-программистами.
Наоборот, непрограммисты могут читать программы, не зная при этом вообще никаких ЯП, даже этого ДСЛ. А так же тыкать программистов в их обосрамсы.
3.
Это вообще про любой ЯП можно сказать.
>Визуальные языки это отдельная история - ни в гит не запихнешь толком, ни дифф не посмотришь.
По крайней мере в моей работе и работе моих коллег никакой необходимости в использовании систем контроля версий для лабвьюшных программ не было. Рисует программу обычно один человек, программа используется в течение серии измерений, пишется статья, и программа выбрасывается. Максимум, что переиспользуется - это viшки для инструментов, но даже для них никакой гит не нужен.
>Это не так
Это так, ты доебался до термина, которого не слышал. Универсальный ЯП и general purpose - это одно и то же.
>Для программирования на чем угодно надо читать SICP
Поэтому даже авторы SICP выпилили SICP как вводный курс. SICP сейчас не особо нужен, после SICP ты не будешь писать что-то напоминающее хороший код, и эта книга годится только для людей уже с опытом программирования, при чем далеко не в 2 месяца.
>ДСЛ, наоборот, более выразительный, чем ЯП общего назначения.
DSL может быть более выразителен только в своей области, в остальных областях он никакой. Универсальный ЯП представляет собой компромисс - он менее выразителен в предметной области, зато выразителен во всех областях сразу. При чем это "менее" - это действительно минорные синтаксические проблемы.
Если сравнивать, то можно сравнить нампай с матлабом, с которого нампай был слизан. Матлаб лаконичнее, но как только ты выходишь за пределы матриц, все становится грустно - выразительность по сравнению с питоном резко падает. При этом матлаб - это, так или иначе, текстовый язык, довольно мощный. А маткад превращается в совсем пиздец, зато можно рисовать красивые интегралы и есть поддержка единиц измерений.
Поэтому есть четкая грань между ДСЛ и тем, что ты называешь еДСЛ (а на деле это просто называется словом библиотека). еДСЛ нужны, ДСЛ нет. Собственно, лиспоаутисты это поняли давно уже, ведь лиспы это как раз про едсл. Я добавляю к этому еще одно: гомоиконность и макросы тоже не нужны.
>Наоборот, непрограммисты могут читать программы, не зная при этом вообще никаких ЯП, даже этого ДСЛ. А так же тыкать программистов в их обосрамсы.
Хуйню с пика >>26564 даже я прочитать не могу. А это как раз момент, когда программисту нужно то, что он бы в другом языке получил бесплатно. Типичный пример - взять где-то на сервере конфиг и что-то с ним сделать.
>Это вообще про любой ЯП можно сказать.
Значит я неверно передал мысль. Мысль такая: любой ДСЛ неизбежно превращается в хуевый универсальный язык со временем. А у любого хуевого языка такая судьба. У хорошего языка судьба другая, кодобаза пишется профессионалами, а lock-in'а нет, потому что имплементаций несколько, или они хотя бы опенсорсные.
>По крайней мере в моей работе и работе моих коллег никакой необходимости в использовании систем контроля версий для лабвьюшных программ не было.
Как она могла появиться, если она невозможна? Это вещь, которой необходимо учиться, и она довольно сильно может поменять стиль кодирования.
Если говорить по поводу визуальных языков, то я за подход HTML: код пишется текстом, но из него генерируется графическое представление.
>Это не так
Это так, ты доебался до термина, которого не слышал. Универсальный ЯП и general purpose - это одно и то же.
>Для программирования на чем угодно надо читать SICP
Поэтому даже авторы SICP выпилили SICP как вводный курс. SICP сейчас не особо нужен, после SICP ты не будешь писать что-то напоминающее хороший код, и эта книга годится только для людей уже с опытом программирования, при чем далеко не в 2 месяца.
>ДСЛ, наоборот, более выразительный, чем ЯП общего назначения.
DSL может быть более выразителен только в своей области, в остальных областях он никакой. Универсальный ЯП представляет собой компромисс - он менее выразителен в предметной области, зато выразителен во всех областях сразу. При чем это "менее" - это действительно минорные синтаксические проблемы.
Если сравнивать, то можно сравнить нампай с матлабом, с которого нампай был слизан. Матлаб лаконичнее, но как только ты выходишь за пределы матриц, все становится грустно - выразительность по сравнению с питоном резко падает. При этом матлаб - это, так или иначе, текстовый язык, довольно мощный. А маткад превращается в совсем пиздец, зато можно рисовать красивые интегралы и есть поддержка единиц измерений.
Поэтому есть четкая грань между ДСЛ и тем, что ты называешь еДСЛ (а на деле это просто называется словом библиотека). еДСЛ нужны, ДСЛ нет. Собственно, лиспоаутисты это поняли давно уже, ведь лиспы это как раз про едсл. Я добавляю к этому еще одно: гомоиконность и макросы тоже не нужны.
>Наоборот, непрограммисты могут читать программы, не зная при этом вообще никаких ЯП, даже этого ДСЛ. А так же тыкать программистов в их обосрамсы.
Хуйню с пика >>26564 даже я прочитать не могу. А это как раз момент, когда программисту нужно то, что он бы в другом языке получил бесплатно. Типичный пример - взять где-то на сервере конфиг и что-то с ним сделать.
>Это вообще про любой ЯП можно сказать.
Значит я неверно передал мысль. Мысль такая: любой ДСЛ неизбежно превращается в хуевый универсальный язык со временем. А у любого хуевого языка такая судьба. У хорошего языка судьба другая, кодобаза пишется профессионалами, а lock-in'а нет, потому что имплементаций несколько, или они хотя бы опенсорсные.
>По крайней мере в моей работе и работе моих коллег никакой необходимости в использовании систем контроля версий для лабвьюшных программ не было.
Как она могла появиться, если она невозможна? Это вещь, которой необходимо учиться, и она довольно сильно может поменять стиль кодирования.
Если говорить по поводу визуальных языков, то я за подход HTML: код пишется текстом, но из него генерируется графическое представление.
>которого не слышал
Он не тождественен термину "Язык общего назначения", поскольку такие языки не универсальны. И Питон с Прологом тому подтверждение.
>Поэтому даже авторы SICP выпилили SICP
Авторы заебались из года в год одно и то же читать, почитай интервью с одним из них, с Абельсоном, вроде.
>после SICP ты не будешь писать что-то напоминающее хороший код,
Я стал писать гораздо лучше благодаря этой книге.
>DSL может быть более выразителен только в своей области, в остальных областях он никакой.
Ах лол. А где ты еще его собрался применять? Он на то и ПРЕДМЕТНО-ОРИЕНТИРОВАННЫЙ, чтобы решать задачи конкретной области, а не абстрактные факториалы считать. Вобщем-то тут всё ясно с тобой.
>Хуйню с пика >>26564 даже я прочитать не могу
Просто ты не шаришь в этой предметной области.
>Типичный пример - взять где-то на сервере конфиг и что-то с ним сделать.
Конфиги, кстати, самые яркие примеры DSL. И без курения манов, или комментов в конфигфайле, только долбоёбы полезут их править.
>любой ДСЛ неизбежно превращается в хуевый универсальный язык со временем.
Сильное заявление, проверять, конечно же мы его не будем?
>Как она могла появиться, если она невозможна? Это вещь, которой необходимо учиться, и она довольно сильно может поменять стиль кодирования.
Как оно поменяет-то стиль? Прост вместо создания бэкапов делаешь git commit на каждый чих, ну и еще добавляет некоторые вкусности. Программы на DSL обычно небольшого размера и легко поддерживаются и без систем контроля версий. Ты видел когда-нибудь в /etc хоть что-то напоминающее контроль версий? А там кругом одни маленькие ДСЛи - конфиги.
В Хаскелле например.
В СИКП есть пример с if, где его реализовывают через cond. Так вот, так как Scheme энергичный язык, такая функция if будет вешать программу.
>Вот в душе ни ебу, где может использоваться нормальный порядок
Например тут:
op = (hui != null and hui.pizda == ebana)
При аппликативном порядке для and ты получишь null pointer exception
>Авторы заебались из года в год одно и то же читать, почитай интервью с одним из них, с Абельсоном, вроде.
Нет, авторы изменили курс в соответствии с требованиями времени. Иными словами, даже авторы SICP не считают, что начинать нужно с SICP. И это правильно.
>Ах лол. А где ты еще его собрался применять? Он на то и ПРЕДМЕТНО-ОРИЕНТИРОВАННЫЙ, чтобы решать задачи конкретной области, а не абстрактные факториалы считать. Вобщем-то тут всё ясно с тобой.
У тебя память как у колибри что ли и когда ты видишь точку парсер чистит стек?
"DSL может быть более выразителен только в своей области, в остальных областях он никакой. Универсальный ЯП представляет собой компромисс - он менее выразителен в предметной области, зато выразителен во всех областях сразу.". Это аргумент, а не твое вырванное из контекста предложение. DSL'и не нужны, потому что преимущества ничтожные, а недостатков много.
>Просто ты не шаришь в этой предметной области.
Там нет никакой предметной области. Я специально загуглил "как прочитать json в labview". Это универсальная задача, на которой labview закономерно сосет. Есть много таких универсальных задач, например, REST-запросы.
>Конфиги, кстати, самые яркие примеры DSL. И без курения манов, или комментов в конфигфайле, только долбоёбы полезут их править.
То есть самые яркие примеры DSL не являются тьюринг-полными языками. Ну, это имеет смысл. Но тут тоже произошла важная метаморфоза. Раньше каждый пилил конфиг кто во что горазд. Сейчас у тебя должны быть очень веские причины не взять универсальный формат. Папка /etc хуевый пример, потому что там лежат тонны легаси, некоторым форматам там по 20 лет.
>Сильное заявление, проверять, конечно же мы его не будем?
Это индуктивное заявление, оно не доказывается. Я видел много языков, все они такие. Ты это можешь опровергнуть, предоставив старый и популярный DSL, который не превратился в хуевый универсальный язык. Популярный, потому что у непопулярного языка может быть какой-то фичреквест, но его просто некому реализовать.
>Как оно поменяет-то стиль? Прост вместо создания бэкапов делаешь git commit на каждый чих, ну и еще добавляет некоторые вкусности.
Многое меняется. Главное не бэкапы, а диффы. Я могу весь день перепидорашивать код и не держать в голове то, какой он был, а в конце дня посмотрю дифф и выберу важное. В работе программиста вообще важно держать кратковременную память пустой.
>Ты видел когда-нибудь в /etc хоть что-то напоминающее контроль версий? А там кругом одни маленькие ДСЛи - конфиги.
Ну так в /etc-то пиздец. Есть пакетный менеджер линукса, который и должен соблюдать версионность. Но так как он не гит, чтобы вылетать с конфликтом, твой конфиг он может молча затереть. Или не затереть, и тогда устанавливаемая программа работать не будет.
Разрешение таких конфликтов, тот еще гемор. Поэтому люди, которые занимаются ОС профессионально придумывают вещи типа докера, с использованием которого у тебя есть докерфайл, который лежит в репозитории.
Докерфайл, кстати, пример того, о чем я говорю, в плане конфигов. Сначала они запилили свой формат. В docker-compose поумнели и стали использовать yaml.
>Авторы заебались из года в год одно и то же читать, почитай интервью с одним из них, с Абельсоном, вроде.
Нет, авторы изменили курс в соответствии с требованиями времени. Иными словами, даже авторы SICP не считают, что начинать нужно с SICP. И это правильно.
>Ах лол. А где ты еще его собрался применять? Он на то и ПРЕДМЕТНО-ОРИЕНТИРОВАННЫЙ, чтобы решать задачи конкретной области, а не абстрактные факториалы считать. Вобщем-то тут всё ясно с тобой.
У тебя память как у колибри что ли и когда ты видишь точку парсер чистит стек?
"DSL может быть более выразителен только в своей области, в остальных областях он никакой. Универсальный ЯП представляет собой компромисс - он менее выразителен в предметной области, зато выразителен во всех областях сразу.". Это аргумент, а не твое вырванное из контекста предложение. DSL'и не нужны, потому что преимущества ничтожные, а недостатков много.
>Просто ты не шаришь в этой предметной области.
Там нет никакой предметной области. Я специально загуглил "как прочитать json в labview". Это универсальная задача, на которой labview закономерно сосет. Есть много таких универсальных задач, например, REST-запросы.
>Конфиги, кстати, самые яркие примеры DSL. И без курения манов, или комментов в конфигфайле, только долбоёбы полезут их править.
То есть самые яркие примеры DSL не являются тьюринг-полными языками. Ну, это имеет смысл. Но тут тоже произошла важная метаморфоза. Раньше каждый пилил конфиг кто во что горазд. Сейчас у тебя должны быть очень веские причины не взять универсальный формат. Папка /etc хуевый пример, потому что там лежат тонны легаси, некоторым форматам там по 20 лет.
>Сильное заявление, проверять, конечно же мы его не будем?
Это индуктивное заявление, оно не доказывается. Я видел много языков, все они такие. Ты это можешь опровергнуть, предоставив старый и популярный DSL, который не превратился в хуевый универсальный язык. Популярный, потому что у непопулярного языка может быть какой-то фичреквест, но его просто некому реализовать.
>Как оно поменяет-то стиль? Прост вместо создания бэкапов делаешь git commit на каждый чих, ну и еще добавляет некоторые вкусности.
Многое меняется. Главное не бэкапы, а диффы. Я могу весь день перепидорашивать код и не держать в голове то, какой он был, а в конце дня посмотрю дифф и выберу важное. В работе программиста вообще важно держать кратковременную память пустой.
>Ты видел когда-нибудь в /etc хоть что-то напоминающее контроль версий? А там кругом одни маленькие ДСЛи - конфиги.
Ну так в /etc-то пиздец. Есть пакетный менеджер линукса, который и должен соблюдать версионность. Но так как он не гит, чтобы вылетать с конфликтом, твой конфиг он может молча затереть. Или не затереть, и тогда устанавливаемая программа работать не будет.
Разрешение таких конфликтов, тот еще гемор. Поэтому люди, которые занимаются ОС профессионально придумывают вещи типа докера, с использованием которого у тебя есть докерфайл, который лежит в репозитории.
Докерфайл, кстати, пример того, о чем я говорю, в плане конфигов. Сначала они запилили свой формат. В docker-compose поумнели и стали использовать yaml.
>Нет, авторы изменили курс в соответствии с требованиями времени. Иными словами, даже авторы SICP не считают, что начинать нужно с SICP. И это правильно.
Давай ты не будешь выдумывать хуйни. Авторы усталии не только и дропнули курс в 1997 году. Эта инфа легко гуглится.
>Это аргумент
Нахуя ты вообще заговорил о ДСЛ вне предметной области? Только полные ебланы будут использовать ДСЛ таким образом.
>Там нет никакой предметной области
Парсинг жсона - не предметная область для лабвью, а такая кривая поддержка этого была добавлена из-за тупости разрабов. Им следовало бы решить это другим способом.
>тьюринг-полными языками.
Лол, я уж надеялся ты не заговоришь про это. Тьюринг полнота вообще не важна для ДСЛ. А порой даже вредна.
>Сейчас у тебя должны быть очень веские причины не взять универсальный формат.
Нет никакого универсального форматасинтаксиса. Да и важна семантика. Ямл, жсон, иксмл, ини, хоть си-подобный синтаксис запили, кому какое дело-то? Все равно без документации конфиг не поправишь.
>предоставив старый и популярный DSL, который не превратился в хуевый универсальный язык
regex, sgml, css, TeX, различные конфиги, postscript, awk, sed, VHDL, lexx, yacc, тысячи их.
>Главное не бэкапы, а диффы
Для проектов на ЯП общего назначения - да, для ДСЛей это не так важно. Хотя мы с коллегами юзаем гит для ТеХовских документов, но нам надо совместно работать.
>Но так как он не гит, чтобы вылетать с конфликтом, твой конфиг он может молча затереть.
Если семантика конфига поменяется, то никакой гит не отследит. Хорошие пакетные менеджеры типа пакмана, или апт кладут новый конфиг рядом, сообщают, или спрашивают че делать.
Слушай, я прочитал все твои посты, - в них одна пустота. Ты можешь коротко сформулировать свою мысль? Что ты хочешь сказать то вообще?
Продолжай.
Попробуй в шлюхи. Ну серьёзно, что за дебильный вопрос? Кто кроме тебя самого скажет, чем тебе заниматься?
Дурачком прикидываешься? Swift сделан Apple для себя. Много ли людей будет писать проекты на Swift для использования вне экосистемы Apple?
>Swift сделан Apple для себя
Дурачок ты по ходу.
Во-первых, где пруфы?
Во-вторых, сделанное для себя может вполне начать использоваться дохуя кем. Вдобавок Свифт это попенсорс.
В-третьих, IBM запилил решение — бэк веб-сервера на Свифте и он юзается. Они же запилили лямбды на Свифте.
>сделанное для себя может вполне начать использоваться дохуя кем
Да не работает оно так. Опыт с шарпом показал, пока сама компания не накатит качественное решение с 100500 человеко часов, нормальным это не будет.
Мне теперь уже даже думается, что подобное костылеварения типа моно делают ради известности.
>Кто кроме тебя самого скажет, чем тебе заниматься?
Это из серии "иди погугли". Помню еще эпоху говно-форумов, где аноны давали ответы, которым бы позавидовал капитан очевидность. И вот два легиона долба..бов, одни не могут разобраться в предметной области что им прощается, другие не могут направить или разъяснить, потому что так же тупы, но знают чуть больше.
Так и живем до сих пор.
Если бы анон сам знал, он бы не спросил, да?
Mono вполне зрелый продукт. Проекту больше 10 лет. 110 000! коммитов, 615 контрибьюторов. Благодаря Mono F# работает на Линуксе. Все стабильно.
Ты спрашивал куда перекатываться? Отвечаю - куда хочешь. Если нет никаких желаний и целей, то все печально у тебя. Не нужно истерить как девченка. Тебе все правильно ответили. Живи так как знаешь, иди туда куда хочешь.
Даже если я тебе сейчас скажу что делать, ты все равно этого не сделаешь. Ты найдешь тысячу причин начать вопить, что я не правильно советую. Так что мимо.
Ты как-то неправильно того анона понял. Он имел ввиду вкатывайся туда, куда душа лежит - дальше сам увидишь.
А я и не спорил, что на данный момент Свифт нахуй никому не нужен, кроме мобилок и макоси. Но и за пределами Эппла дело пилится. Через n лет усё будзець добре. Мне похуй на Свифт, оптимизм из-за того, насколько он взлетел — сами Эпплы того же не ожидали. Сравнить с тем же кококотлином.
Почему про JAI ни слова?
Ну и что? Это не отменяет того факта, что Mono зрелый, рабочий продукт. Важно чтобы работало, а не туманная перспектива. Если работает, значит решает свою задачу.
Свифт это приложение по большому счёту, которая в своём манямирке позволяет юзеру писать алгоритмы и скрывая от него всё работу с байтоёблей.
Хуясе ебать! Ты только что описал суть высокоуровневого языка программирования.
>Mono зрелый, рабочий продукт
У них было 20 лет в запасе, чтобы потеснить питон на линупсах. Не получилось, не шмогли. Вывод: мертвый проект без перспектив.
>У них было 20 лет в запасе, чтобы потеснить питон на линупсах. Не получилось, не шмогли. Вывод: мертвый проект без перспектив.
Какое то невнятное высказывание. Mono это не язык, и он не конкурирует с питоном. Получается Java тоже не смогла Питон потеснить на Линуксах. Ты понимаешь вообще разницу между Питоном и Java/C#? Это языки для других задач.
Просто на линупсовом десктопе большинство программ написано либо на си, либо на питоне(!) Питон в качестве высокоуровневого языка для десктопных приложений как-то не очень, и выбор этот явно не от хорошей жизни.
mono делают те же люди что и gnome, у них был реальный шанс сделать C# де факто стандартным языком для написания десктопа, тем более учитывая что у них была и есть охуенная ide monodevelop, которая превращала написание десктопных программ на линукс в силки смуз экспириенс.
Не получилось. Там вроде швабодные питухи взбунтовались против mono и как-то все стухло.
Опять ты все в кучу вмешиваешь. Разберись в вопросе сначала. Linux это не ОС, а ядро. Те кто пишут Gnome не имеют никаких рычагов, чтобы затолкать во все Линукс дистрибутивы Mono. И вообще, откуда инфа, что Mono и Gnome пишут одни и те же люди? Тем более Mono выкуплено Microsoft.
Линукс свободное ПО. Поэтому развивается не по сценариям каких-то умников. Повторюсь, C# и Java языки с тяжеловесным рантаймом, они не конкурируют с Питоном. В Linux есть своя идеология. Есть путь, который исторически как-то сложился, и продолжает идти своим чередом. Никто не может просто так взять и изменить эту идеологию.
Разработчики gnome могли затолкать mono и написать на нем весь свой десктоп, который в половине дистрибутивов.
Да и в общем мне все равно на этот петушиный угол. Речь была о том, что моно мертвый проект
Это ничего, в рантайме наебнется, поймет, что был не прав.
>Просто на линупсовом десктопе большинство программ написано либо на си, либо на питоне(!)
На линуксовом десктопе большинство программ называется браузер. Что ты там вообще на десктопе забыл.
На питоне пишут в основном всякие редакторы конфигов, что правильно, потому что нахуя там что-то еще.
Обидно...
>На линуксовом десктопе большинство программ называется браузер
Ну вот например плеер на питоне https://gitlab.gnome.org/World/lollypop
Народ, а что вы скажите про тенденцию, что всю больше программ будет именно браузерных c WebAssembly ?
blueprints на unrealengine
Ты не уловил ту мысль, когда я говорил почему оба лагеря тупы. Я занимаюсь разработкой 14 лет и мне тоже было бы услышать чью-то интересную мысль по этому поводу не факт бы что я принял на базе своего опыта, но все же. А твое мышление такое же многогранное и сложное как доска, особенно когда ответ на грани капитана очевидности.
Хуже нет когда ответ это громкий выпук вида - "только ты сам сможешь себе ответить, юный падаван..."
Хороший актер
Как только бизнес проснется и перестанет сливать тонну бабла и времени на низкокачественный результат программистов, то есть осознает, что в текущей ситуации программист неэффективен и я верю что это начнется с доступной робототехникой. Тогда и появятся требования к языкам и подобная стандартизации выкинет половину всякого говна как js, питон и ну и новых "неочем" языков - на помойку
Говорят о будущем, а он джавой обмазался. И её в топку, хотя у нее было в зародыше попытка "стандартизации", но такое чудо как EE, показал что нам такое не надо.
Элементами программы являются или объекты или функции, но все это превращается в тыкву, когда открываешь большой проект.
Ты тратишь тонну времени, чтобы из говна и палок представить общую картину. Хотя ООП и ФП позволяет обобщать, но так никто не делает, потому что проще лепить из говна и палок.
То есть, нужные какие-то элементы задающие архитектуру.
Такие архитектуры должны быть стандартизированы (веб одно, мобила одно,, чайник на кухне другое).
То есть, пока там придумывают всякие монады, хренады, интерфейсы реальными методами, или как в конструктор инжектить говно и палки, никто не задумывался о том, что действительно важно (какая-то жалкая попытка была с паттернами и то опять же для говна и палок).
И так далее, чтобы можно было программистов хотя бы обучать. А то либо учат азам, которые с реальной разработкой никакого отношения не имеет, либо упарываются и обучают фреймворку, который завтра или перепишут или новым завезут или вообще ограничит кругозор на всю жизнь (как должна это была сделать стандартизированная херня)
И получается что к 30-40 годам, ты не продвинутый инженер знающий архитектуры и способный за счет скила закрытыми глазами сопровождать любой проект, а старый ненужный динозавр.
И речь не о том что нужно поддерживать свежие знания, как в других профессиях, а в том что цена таким знаниям нулевая, так как уже через 5-10 лет будет все по другому.
Еще скажите что кризиса в профессии нет. Нельзя не научить глубинным знаниям, потому что все знания только о говне и палках (и таких ньюфагов миллион) и нельзя удержаться специалиста, потому что их крайне мало и они как хомяки прыгают туда где гладят лучше (ибо знают себе цену)
Commodore 64
Сразу так борща захотелось
Тащемта все правильно сказал. Я рос среди красноглазых линуксоидов и придуманных одинаковых шуточках про админов на башорге, и тоже верил, что опенсорс это взял софтину, внес туда свои правки и пользуйся. Но когда открыл нужным мне опенсорс проект и на неделю залип, я понял что этот кал никак от проприетарного ПО и не отличается то, это эталонное говно-палковое проектирование, там реально требуется целая первобытная археология.
Изобрести код на матане, типо теории типов.
Нафига? Типы тебе были даны чтобы удобно память распределять и определить набор операций над ними, а не делать компилятор для мазахистов.
>Говорят о будущем, а он джавой обмазался
На изначальном пике была нода и жава.
>Элементами программы являются или объекты или функции, но все это превращается в тыкву, когда открываешь большой проект.
А еще переменные и выражения. В чем проблема, какие еще элементы тебе нужны, которые при этом не смогли быть объектами или функциями? Модули если только. И то, в ФП-языке, потому что объекты это первоклассные модули по сути, и если у тебя есть объекты, то модуль либо будет объектом, либо ты странный чувак.
>Ты тратишь тонну времени, чтобы из говна и палок представить общую картину.
Потому что ты неопытный программист. Программист программисту может описать общую картину за полчаса. А если документации нет, то это не совсем полноценная программа уже.
>Хотя ООП и ФП позволяет обобщать, но так никто не делает, потому что проще лепить из говна и палок.
Ну да, проще лепить из говна и палок. Это называется гибкость архитектуры. Если бы нам пришлось как при разработке автомобиля сначала 3 года утрясать архитектуру, а потом реализовывать ее, такого развития IT не было бы. Это не баг, это фича.
>Такие архитектуры должны быть стандартизированы (веб одно, мобила одно,, чайник на кухне другое).
Кому должны?
Вот есть, например, индивидуальный жилой дом. Он в принципе стандартизирован. Но на самом деле каждый делает как ему нужно, в завимости от участка, соседей, привычек и так далее. Если человек пишет веб-фреймворк, значит его не устраивают существующие, ну и о каких стандартах может идти речь?
Если что-то закостенело настолько, что там можно ввести стандарт, там уже не нужны программисты - все уже написано.
>И получается что к 30-40 годам, ты не продвинутый инженер знающий архитектуры и способный за счет скила закрытыми глазами сопровождать любой проект, а старый ненужный динозавр.
Сомневаюсь, что тебе 30-40 лет. Спроси у реальных сорокалетних, каково им. Мне вот 30 и у меня все хорошо.
>И речь не о том что нужно поддерживать свежие знания, как в других профессиях, а в том что цена таким знаниям нулевая, так как уже через 5-10 лет будет все по другому.
Это неправда. 10 лет назад был 2008, с тех пор сильно изменился только веб-фронтэнд. А так именно что нужно поддерживать знания, при этом с багажом тебе проще, чем вкатывальщкам.
>Говорят о будущем, а он джавой обмазался
На изначальном пике была нода и жава.
>Элементами программы являются или объекты или функции, но все это превращается в тыкву, когда открываешь большой проект.
А еще переменные и выражения. В чем проблема, какие еще элементы тебе нужны, которые при этом не смогли быть объектами или функциями? Модули если только. И то, в ФП-языке, потому что объекты это первоклассные модули по сути, и если у тебя есть объекты, то модуль либо будет объектом, либо ты странный чувак.
>Ты тратишь тонну времени, чтобы из говна и палок представить общую картину.
Потому что ты неопытный программист. Программист программисту может описать общую картину за полчаса. А если документации нет, то это не совсем полноценная программа уже.
>Хотя ООП и ФП позволяет обобщать, но так никто не делает, потому что проще лепить из говна и палок.
Ну да, проще лепить из говна и палок. Это называется гибкость архитектуры. Если бы нам пришлось как при разработке автомобиля сначала 3 года утрясать архитектуру, а потом реализовывать ее, такого развития IT не было бы. Это не баг, это фича.
>Такие архитектуры должны быть стандартизированы (веб одно, мобила одно,, чайник на кухне другое).
Кому должны?
Вот есть, например, индивидуальный жилой дом. Он в принципе стандартизирован. Но на самом деле каждый делает как ему нужно, в завимости от участка, соседей, привычек и так далее. Если человек пишет веб-фреймворк, значит его не устраивают существующие, ну и о каких стандартах может идти речь?
Если что-то закостенело настолько, что там можно ввести стандарт, там уже не нужны программисты - все уже написано.
>И получается что к 30-40 годам, ты не продвинутый инженер знающий архитектуры и способный за счет скила закрытыми глазами сопровождать любой проект, а старый ненужный динозавр.
Сомневаюсь, что тебе 30-40 лет. Спроси у реальных сорокалетних, каково им. Мне вот 30 и у меня все хорошо.
>И речь не о том что нужно поддерживать свежие знания, как в других профессиях, а в том что цена таким знаниям нулевая, так как уже через 5-10 лет будет все по другому.
Это неправда. 10 лет назад был 2008, с тех пор сильно изменился только веб-фронтэнд. А так именно что нужно поддерживать знания, при этом с багажом тебе проще, чем вкатывальщкам.
Сразу можно легко отсечь программистов которые крупных программ и не писали никогда.
Проблема с типами, а точнее проблема с невнимательностью, это <5% всех возможных ошибок.
Вы серьезно считаете, что аутизм с типами это основные ошибки в сложном коде?
>На изначальном пике была нода и жава.
Ты забыл что не на пикабу, тут никто не будет следить за ветвью твоих глупых мыслей, какая еще картинка блин.
>какие еще элементы тебе нужны
А ты вот сядь и подумай, если не получается понять, это не страшно, подумай еще.
>Программист программисту может описать общую картину за полчаса
>А если документации нет, то это не совсем полноценная программа уже.
Когда у нас стали писать документацию к сопровождению кода? Дитя.
>Ну да, проще лепить из говна и палок.
>Это называется гибкость архитектуры.
Спасибо, теперь я знаю как это называть.
>3 года утрясать архитектуру
Нефига ты фантазер
>Если бы нам пришлось как при разработке автомобиля сначала 3 года утрясать архитектуру, а потом реализовывать ее, такого развития IT не было бы. Это не баг, это фича.
Каждый день я вижу "автомобили" у которых колеса в дверях, а педаль газа на месте зеркала заднего вида.
Речь про стандартизацию, а не лепки из говная и палок и сразу в продакш.
Ты очередной гуманитарный программист который научился лепить из говна и палок и твой кругозор этим и ограничен. За 10 лет даже С++ изменился существенно, даже вокруг джавы произошли существенные движения.
Понимаешь, миру уже нужны инженеры, а кругом только гуманитарные программисты как ты, которые все что и могут, это взять говна и горстку палок и лепить и лепить...
>Ты забыл что не на пикабу, тут никто не будет следить за ветвью твоих глупых мыслей, какая еще картинка блин.
Просто иди нахуй
Сразу можно легко отсечь программистов которые на языках с завтипами и не писали никогда.
>Проблема с типами,
Это проблема с выбором подходящих типов на начальном этапе.
>Вот увидите, html закончиться каким-нибудь флаттером, где веб будет строиться на дерганье API (например js) и все скажут как круто, нахера мы раньше html писали с вашими css.
Уже
>C#
>+ Лучшая джава, но уже не на вашей jvm.
>- Опять же вирт.машина. Практически ненужная хрень (для >тырпрайза). А ведь если бы дали достойную официальную >кроссплатформенность в свое время, то джава бы соснула >(особенно в те года, когда язык штормило или он стагнировал на >одной версии).
>Увы и пох.
Net.Core 2 уже выстрялил, куча вакансий. Иди читай.
а так ещё Flutter будет набирать обороты
>Сразу можно легко отсечь программистов которые на языках с завтипами и не писали никогда.
Таки как раз всю жизнь типами и жонглирую. Пока я наяриваю очередной каскад дженериков ради дженериков, по соседству динамо-программист клепает б-логику и жонглирует тупо данными что в действительности должен был делать и я
Ты просто забыл, что ты на анонимной доске и всем на тебя плевать, такое бывает. Учись выражать мысли без привязки к никнейму или рейтингу.
>Кстати, а МС в целом норм. Тот же гитхабчик развивается.
Только лишь потому, что поздно осознали что просрали.
Но это не плохо, конкуренция среди монополистов это весело
Что там учить, та же жабка.
В отличие от всяких растов, котлинов, свифтов, люди решили не срать в мозги программистов и оставили почти так как они привыкли (от чего всякие С++, джавы и пхп в свое время и выстрелили) ибо нехер щелкать клювом, надо хотя бы рынок изучить
Ты небось в жабке жонглируешь, а не нормальном яп.
Практически на любом проекте тебя ждет легаси а в тырпрайзе я не вижу ничего плохого.
Да и причем здесь это? Мы же деньги здесь хотим зарабатывать а не дрочить на инструменты.
>Net.Core 2 уже выстрялил
Это что-то из серия Dart 2?
Теперь конвертацию эксель таблиц в среднеконторках станет еще быстрее писать?
Начни с java EE 6
>ну и о каких стандартах может идти речь?
О стандартах архитектуры.
Ты знаешь, что в жилом доме тебе нужны такие-то и такие комнаты, тебе нужно провести коммуникации по известным стандартам и правилам и т.д. То есть на большинство проблем уже есть готовые формальные решения.
Например, событийная архитектура win32 оконных программ. Или WPF + MVVM архитектура. Или MVC для веба. Ты просто придерживаешься заданной архитектуры и не изобретаешь велосипед.
В программировании именно теория таких архитектур находится в зачаточном состоянии.
>Ты знаешь, что в жилом доме тебе нужны такие-то и такие комнаты, тебе нужно провести коммуникации по известным стандартам и правилам и т.д. То есть на большинство проблем уже есть готовые формальные решения.
Формальных нет. Есть гайдлайны типа "котельная на север, спальня на восток", но они очень нестрогие.
А строгих быть не может. Каждый дом индивидуален. Когда архитектура становится достаточно строгой, ее встраивают в языки/библиотеки и забывают о ней.
Например, "событийная архитектура win32 оконных программ" это всего навсего костыльная реализация смоллтока (не говорю ООП, потому что это слишком размытый термин) на сишном апи.
>В программировании именно теория таких архитектур находится в зачаточном состоянии.
Тут скорее момент в том, что ты не можешь смириться с неформальной природой архитектуры как есть. А ее неформальность следует из определение. Как только что-то становится формальным, оно перестает быть архитектурой. И этот дрейф происходит постоянно.
пссссс! не ломай мальчику его детский розовый мир.
Обоссут тебя, когда ты розетку в окно поставишь, а пока в каждом королевстве свои стандарты в виде логтей, аршинов и пядей по размерам текущего короля, не о какой промышленной революции речи быть тут не может.
мимокродил
Одно только MVC сделало говно-палко-строение возможный к сопровождению
До сих пор юзаю проект, где в момент рендеринга из функций на php Карл!, корректируются права пользователя (и это популярный форум на движке IPB правда версии 2хх).
Хотя половина до сих пор не понимает сути mvc и размазывают говно по контроллеру и по модели, а потом не выдерживают и рендеринг
Каждое поколение наворачивает свое говно, что там у вас сейчас? Какой-нибудь MVVC, MVCVCVCVC?
Очередное чудо - 95% которого никто не понимает точнее каждый по своему (хотя идея всегда одна и таже - отделяй котлеты от мух).
Удачной отладки на ближайщие 10 лет, зуммеры.
Хотя речь пойдет не про стримы, но я видел код и по страшнее.
Не раз убеждаюсь в непригодности ФП в больших масштабах. Если в каком-нибудь ООП ты в конечном итоге упираешься в какой-то звучный метод типа updateStatus() и сразу понимаешь что тут обновляется какой-то там статус, то открывая тоже в ФП я вижу сражу кишки наружу из 2-3 лямб, в которых, в конечно итоге и происходит какой-то нативное, обновление какого-то статуса.
1. Никто не поймет спаггети из лямбд, пока их не прочтут. Это факт. Серьезно, это кишки наружу, порой ты читаешь столь нативное, что вообще не поймешь, что тут было то (и зачем тебе это).
2. Мне быть может быть и не надо было это читать, если я вижу updateStatus() и мне он не нужен, я туда не полезу, это ускоряет чтение и кода, но с лесенками из лямбд - ты обязан всегда по ним пробежаться.
Определенно ФП в больших масштабах это не сопровождаемая каша.
Учитывая, что ты думаешь, что фп - это что-то про лямбды, твое мнение не стоит нихуя, так как ты полнейший дилетант и круглый идиот.
Где ты тут котлин увидел? Этож молодящаяся джава, пытающаяся прикрыть модным ФП свое старое ебало.
Кто-то решил, что это хорошее название для метода. Скажи спасибо, что не по русски назвал.
Любая массовая хуйня в интернете проходит несколько этапов своего развития если она в принципе развивается, а не подыхает сразу же.
1) Её начинают делать специалисты с образованием и пониманием того что они делают.
2) Приходят другие специалисты, интересующиеся, но нихуя не понимающие в текущей теме.
3) И потом приходят полные долбоёбы, которые не понимают нигде и ни в чём, ни в своей области знаний, ни в чужой. Да и области у них никакой нет. И смешивают всё с говном.
Любая открытая разработка обречена дойти до последего пункта.
А ты в курсе, что все люди в конце-концов умирают?
В других языках, том же питоне, такие ошибки зачастую отсутствуют как класс.
А в ядрах операционных систем, написанных на брейнфаке, вообще нет ошибок. Прикинь!
тот однозначно подкупает лёгкостью разработки и сопровождения.
Не смеши мои тапочки! Накатать простыню на 10тыс строк в С — элементарно! Через 10 лет открываешь, и все понятно, можно спокойно вносить изменения. В случае с goвном, педеrust'ом или пхытоном каким-нибудь ты, во-первых, никогда без ошибок 10тыс строк кода не напишешь, во-вторых, запутаешься в этом быдлокоде еще на стадии разработки! А уж поддерживать через 10 лет — вообще фантастика!!!
И да, если мозгов нет, то и пхытон не поможет. Если же ты хоть немного интеллектом наделен, тебе С за глаза под все задачи хватит.
https://www.linux.org.ru/forum/development/14784177?cid=14792450
Сразу видно юного теоретика, который еще не столкнулся с реальным миром продукта и его продвижения.
1. Делают какую-то херню (ЯП, либа, приложение), воодушевленно утопичной идей (или просто потому что у других есть, а у нас нет), но сталкиваясь с проблемами, через череду компромиссов, делают очередное "Г", которое решает часть старых проблем, но завозит еще больше новых.
2. Понимая что "идеальный продукт" это только в их головах, накатывают мощный маркетинг. Но в реале от примитивного навязчивого маркетинга прилипают к товару всякий малограмотный мусор.
3. Наконец-то приходят специалисты, накатывают на волне хайпа сие чудо и откровенно понимают что это "Г", сливают его.
4. Продукт входит в период стагнации, тот малограммотный мусор уже переключился на другие свестелки и перделки (потому маркитологи умеют слабый ум переманить).
И все, продукт в дерьме, компания не делает ничего чтобы из говна сделать конфетку и тупо продолжает выбрасывать деньги в мусор, пока не осознают реальность что уже все.
ФП это не про лямбды. Лямбда это анонимная функция если что. Ты просто не умеешь писать код в ФП стиле. Мне кажется ты вообще не умеешь писать код. Ты даже не понимаешь что такое абстракция и интерфейс. Чтобы использовать абстракцию не нужно знать ее внутренности, для этого есть ее интерфейс.
Короче, прежде чем ныть и набрасывать, научись программировать.
Найс бейт
Может ты не в курсе (потому что о разработке софта знаешь только по ньюфаг-треду в /pr), но лямбды уже даже в джаве есть.
Алсо, погугли, что значит слово "дсл".
Знакомый путал 屁股 и 苹果。Или это такой известный анекдот.
Что такое ФП?
Дибил, лябмда это из Лямбда-исчисления. Ебланоид, чтобы писать используя лямбды нужно блять быть подкованным в CS. А ты нубиус, личинка программиста. Ты даже на императиве писать не умеешь.
>Может ты не в курсе (потому что о разработке софта знаешь только по ньюфаг-треду в /pr), но лямбды уже даже в джаве есть.
Вы слышали? Лямбды есть в джаве, поэтому это не ФП!!!
С кем, блин, я тут сижу.
Еще раз убеждаюсь, что для большинства ФП - это еще один способ компенсации в попытке самоутвердится.
Ну да, в джаве есть лямбды. И да, джава - не фп. Капитан на связи. Ты в основном тут сидишь со своими соратниками по интеллекту, но иногда бывают и исключения, при которых у тебя происходит культурный шок, который мы сейчас и наблюдаем.
А ты думал, что можно бездумно создавать анонимные функции и все само собой будет разруливаться? Еще раз убедился что адепты ООП не умеют в элементарную процедурную абстракцию. Потом ноют, что код непонятный. Сами пишут хрен знает что, и код им непонятный. И еще раз напоминаю, лямбды это не ФП.
Поняли ребята, создавайте анонимные функции обдумана, думайте над каждой так, как если бы думали над обычной функцией её название. Это вам уже не ООП тут все серьезно.
Ты даже не понял, да?
Он говорит, буквально, что лямбды макнули в ООП и теперь лямбды это не ФП.
с кем я сижу
У тебя либо галлюцинации, либо ты просто конченый кретин не на пхп случаем пишешь?. Загугли уже, что такое functional programmin, и кончай выставлять себя идиотом.
Слабый маневр, совсем не стараетесь.
>приняты именно в виде пробелов, а не табуляции
Ты почаще гойских свиней слушай
Табуляция, ноудискасс
Есть. Есть абстракция, это объявление функции. И есть аппликация, это применение функции к аргументу.
https://ru.wikipedia.org/wiki/Лямбда-исчисление
Вирт - Паскаль. (С) Говно
Процедурная абстракция это абстракция с помощью функций (процедур). Так это называются в СИКП. Нет никаких оснований оспаривать это.
>Конкретная же реализация в языках, запускающихся на тьюринг машине, это дело другое.
Речь именно об этом. Т.к. большинство программистов называют лямбдами анонимную процедуру в разных ЯП, а не лямбда-абстракцию в лямбда исчислении. Большинство из этого большинства даже и знать не знают ничего о лямбда исчислении.
>>46178
Функция - это подтип процедур.
>Функция - это подтип процедур.
Наоборот же. Формально, любая процедура - это функция типа World -> World.
Если уж подходить формально, то:
procedure : a
т.е. нихуя не возвращает, а вот a уже может быть чем угодно: IO (), t -> t итд.
Тя ебет далбаеб? ты же дизайнер ебучий, а не програмер. иди макет закрепи над рабочим местом, а то опять хуйню налепишь какую-то
- Когда все детство мама говорила что ты особенный и тетя Оля говорила что ты особенный... а ты пишешь опердени на шестой джаве, то конечно тебе хочется самоутвердиться. Тут то на помощь и приходит вся эта экзотическая херня, но писать на этом говне конечно так же уныло и скучно, поэтому ты тратишь большую часть времени не на код, а на словесные бои в сети, отстаивая проф-пригодность этого хлама.
Всех одаренный по ФП сюда согнали. Завязывайте с этой х.... мы говорим об языках будущего.
Одни пытаются на язык программирования натянуть матан, получая ФП бред с попыткой доказать что-то с типами, другие на ЯП натягивают разговорный язык, от чего высирают подобие COBOL. Явно будущее не за карго культом
>Python
>и эти люди в свое время со своим вторым питоном смеялись над php 5, лицемеры, у них даже нормального ООП до сих пор нет
true, true
- performance
>JavaScript
- Маняпарк фреймворков
>Ruby
- Дагестанский Python
2023 году японская неизвестная компания выпустит алгоритм мамашиного обучения позволяющий роботам игрушкам производит полноценное обучение по внешней среде. Из это безобидной поначалу затеи выльется целая новая эпоха. Но фишка будет в другом, из-за феноменально популярности станет популярен их интерпретируемый язык, вводящий новую парадигму программирования и позволяющий более гибко работать с машинным обучением.
Язык будет очень популярен потому, как будет давать возможность делать кастомизицию своих "дивайсов" (в том числе своих домашних полу-роботов) - простому обывателю. Ввиду этого язык станет де-факто стандартом.
В будущем будут делать подъязыки способные, скажем, работать с памятью как си или нечто подобное, но сам язык будет уже стандартом.
Синтаксис будет, кстати, не очень, язык изначально будет прост, но достаточно удобен именно для новой парадигмы написания кода. Этакий клон го, фич мало, но дизайн не тяп-ляп.
Суть новой парадигмы я не опишу, но идея в том, что написав что-то нативное один раз по определенным правилам (будь-то веб форма или запросы к базе или еще что), ты сможешь ре-юзать алгоритм, описывая уже что хочешь, без описания как делать (конечно не все так идеально будет, но будет эффективно, теперь можно будет за жизнь написать CRUD только один раз, или уже взять готовый и юзат на всех продуктах).
>JavaScript
> Легион ваннаби-программистов просто не вытянет этот разросшийся пузырь свистелок и перделок.
Всё было бы так, но он активно развивается и сейчас то, что раньше делалось при помощи JQuery и подобными свистоперделками, уже можно делать на ванильном JS.
Дед, а помнишь как в 70-х годах ты мечтал о компьютерах пятого поколения?
>просто и понятно
Блять, как же вы уже доебали ебучие дизайнеры. Нипанятна джава какиита класы..... нипанятна си там нада паметь выделять ещё блин типы приводить!!! Питон блин не понел там чето не так... Руби тоже гавно блин пробовал не понравилось там непонятно...
Сука ебаное быдло сидящее на своей макакской хуйне не могущее въехать в стандарты прошлого века я уверен вам даже хтмл кажется непонятным
Хтмл нипанятна.. какииета закрывать скобки, каките без палки закрываются.. сиэсэс нипанятна.. какието через тире ставятся, какие-то переменные... ДЕДА, А ДЕДА, НАПИШИ МНЕ АЛГОРИТМ КРУЧЕНИЯ ДЕРЕВА НА ИКСЕЛЕ
Зачем осиливать ФП если на нем никто ничего не пишет? В каждом чатике и борде находятся очередной фанбой с пеной у рта доказывающий что-то из книги или конференции, но из года в год как было это экзотической дичью так и осталось.
Сложного там ничего нет, просто ненужно.
Ну как ненужин F# )))) вон разучивают даже 14 летние школьницы, по митапам выступают,работают 300к\с.. Так там ее звали, не подскажите?
>>47875
Какой-то странный триггер у тебя сработал.
Но вообще да, область тупо перенасыщена куйней, наплодили столько инструментов, что больше изучать инструменты чем писать результативное что-то.
Вот сейчас сижу в вашей джаве и смотрю стектрейс из 147 методов и нахера оно мне надо, когда мне надо модификатор добавить к числу.
А к вашим дизайнерам из javascript я вообще боюсь лесть, на процент полезного действия, там просто тонна оверхед хлама.
>Точно не 17?
А я думал будет реакция типа "азаза, старый не может в джяваскрипд, азаза".
Нет, как раз в свои 37, когда стал успешным руководителем, понял что программисты создают избыточно себе проблем. У них мышление код-ради-кода, когда должно быть: код-ради-продукта.
Представь себе строителя, который 90% времени тратит на решение проблем созданным его же инструментами, а не на постройку сооружения. Абсурд? Но вот такое сейчас промышленное программирование.
Всегда думал если у тебя 300к в миллисекунду, нафига как клоун скакать по сцене, причем реально же надо как-то там шутить или что-то делать чтобы не выглядело уныло и на тебя приходили посмотреть конечно если ты красивая девушка, тебе сразу бонус
Мне как-то раз объясняли что это какие-то евангелисты специальные, которые как бы к разработке имеют посредственное отношение (ну типа могут, но лучше по сцене скачут, чем могут)
мимо программист интроверт, призерающий всякие выступления
Яркий пример из недавнего, это миграция базы. Все то хорошо было, но понадобилось впервые за 4 года откатиться, так поломали все к херам.
Конечно перед миграцией делается бэкап и откатили за час, но потом неделю решали багу в этой самой миграции, которая за 4 года и не нужна была (и так руками бэкап откатили).
Или это страдание с ORM когда оно делает что-то не то...
Конечно. А потом оказывается, что продакшеном ты называешь свой пет проект (очередную крудо-мешалку на-коленке).
Знаем, проходили.
>Зачем осиливать ФП если на нем никто ничего не пишет?
Я на крестах мешаю ооп с фп например, очень удобно.
>Зачем осиливать ФП если на нем никто ничего не пишет?
Сильное заявление, проверять, конечно же, мы его не будем?
Одно дело взять нормальный процедурный/ООП язык и заюзать в нем полезные некоторые фичи ФП, в меру, другое дело упороться полностью в ФП и кроме него ничего не видеть считать все остальное говном
Мой поинт в том, что ФП лапшу труднее сопровождать.
>Мой поинт в том, что ФП лапшу труднее сопровождать.
Код в FP стиле по определению не может быть лапшой. Процедурный и ООП код, читай императивный, почти всегда является лапшой, так это заложено в его идею. Ты или не достаточно квалифицирован, или не достаточно грамотно набрасываешь.
Предсказуемый шизик предсказуем
У тебя дефекты речи? СИКП пишется через "к".
Как влажно то, а теперь давай посмотрим количество реальных проектов.
https://github.com/search?l=haskell&o=desc&q=stars:>1000&s=stars&type=Repositories
https://github.com/search?l=ocaml&o=desc&q=stars:>1000&s=stars&type=Repositories
https://github.com/search?l=erlang&o=desc&q=stars:>1000&s=stars&type=Repositories
https://github.com/search?l=elixir&o=desc&q=stars:>1000&s=stars&type=Repositories
https://github.com/search?l=scheme&o=desc&q=stars:>1000&s=stars&type=Repositories
https://github.com/search?l=clojure&o=desc&q=stars:>1000&s=stars&type=Repositories
А потом смотри мою картинку и наблюдай какое количество реп при 1К звезд у нормальных языков.
>на хаскеле никто ничего не пишет
>мало звёзд на гитхабе
Как это ожидаемо. Типичное виляние жопой после очередного обосрамса.
Лапша — макаронные изделия, представляющие собой длинные узкие полосы теста. Страна зарождения продукта - Япония. Изготавливается из муки
Тупой гуманитарий, 42 репы против пяти сотен и тысяч других - говорит о том что на нем, условно, никто не пишет.
Так статистическая погрешность.
Даже школьнику понятно, что найдутся те кто будет дрочить на всякие хаскелы и кложуры, но это не показатель, вообще
PS хоть Го и говно, но кол-во звездных реп говорит что он выстрелил как язык, а твоя экзотика живет десятками лет и трется под плинтусом "ненужности".
Ой, ну все, начались маневры. За то какая громкая фраза "по определению не может быть лапшой"
Так это ты нам должен рассказать про лапшу, чувак.
Это шизик, который никогда тебе по существу не ответит. Он в программировании не ноль, это какие-то отрицательные величины и компиляция рандомных фраз из интернета.
>Тупой гуманитарий
Здесь ты, ибо
>условно, никто не пишет.
не эквивалентно
>никто не пишет.
>Так статистическая погрешность.
Значение-то этого словосочетания, хоть знаешь?
>будет дрочить на всякие хаскелы и кложуры, но это не показатель
Эти языки используются в разработке тырпрайзных решений, о каком дроче ты говоришь? Один только эрланг работает на миллиардах девайсов в телекоме.
>Здесь ты, ибо
Да нет, ты, тебя раскусили давно уже. Роди хоть одно утверждение по существу, а не эту гуманитарную чушь, впрочем, у тебя не получится.
Ясно-понятно. Ты не знаешь что такое статистическая погрешность, а значит можешь проследовать нахуй.
Я не тот анон, который написал пост про статистическую погрешность. Меня ты заебал примерно пару недель назад, и я, чтобы другие не тратили на тебя время, пишу, что ты ноль в программировании.
И нахуй именно ты проследуешь, как следствие - кому интересно мнение не программиста?
Ну и хули ты лезешь? Мне насрать кто и кого там заебал. Если ты тоже не можешь отличить "никто не пишет" от "мало кто пишет", иди нахуй.
>Мне насрать кто и кого там заебал
Ну мне-то не насрать. Ты меня заебал.
Программист бы написал: да, пишут мало, но зато пишет элитка и блаблабла. И с этим можно было бы спорить (но отспорили уже до того, как в Java появились лямбды и время показало, кто прав).
А с животным типа тебя спорить нельзя, потому что оно доебывается до гиперполы как фигуры речи и даже в аргумент про то, что ФП для элитки не может. Оно вообще не может в аргументы, связанные с программированием, только в рандомную хуйню из интернета.
>кококо, смотри как нужен мой элексир на гитхламе
>...но на тысячу звезд, только 29 репы, чувак.
>кококо, а знаешь, вот знаешь, мой элексир на триллионах машин прямо в продакшене сейчас!!!
..........................................................
>кококо, ФП по определению окуенен и не может быть лапшой.
>...ну так дай это определение
>кудах-тах-тах, кудах-тах-тах, лапша
Какие вы ФэПэшники жалкие.
>42 репы
Где? Глаза открой. На Хаскелле сотни библиотек если не тысячи. Проектов серьезных на гитхабе может и не много, потому что их пишут в закрытых репах.
У тебя школьная логика. Языку больше 25 лет, на нем пишут во все мире, даже в РФ пишут проекты. Но школьная логика говорит о том, что должно быть миллион репозиториев от школьников, иначе школьник считает, что язык не годится для прода. На Хаскелле пишут только самые продвинутые, поэтому проектов всегда будет меньше чем на жабоскрипте. Так как на жабоскрипте пишет любой школьник. Но не любой школьник способен писать на Хаскелле.
Слышь, не переобувайся. Ты же писал что на ФП лапша. Так давай определение что такое лапша.
>Значение-то этого словосочетания, хоть знаешь?
Что не так, ты же знаешь я не могу отвечать на пустой выпук.
Очередной плач школьника. Раз нету тысяч школьников на F#, значит он мертв. Детская логика.
Лямбды в джаве это обычные костыли. И заметь их всунули не смотря на то, что такие школьники как ты кричат что они не нужны.
>Где? Глаза открой.
Ссылки то открой, распетушился тут. Никто фантомные твои репы без звезд считать не будет (даже если все твои одноклассники звезды проставили).
Нам интересны только проекты фавориты, а не свалка пет-проектов.
Не заебался с гуманитарными срачами о терминах? Любой программист знает о том, что такое лапша. Кроме тебя. Поэтому ты написал хуйню уровня "Код в FP стиле по определению не может быть лапшой". Блядь, да набери ты haskell antipatterns в гугли и попробуй почитать код по ссылкам, даун.
Сука, что ни пост, то "X - Y, я прочитал так в интернете". Ноль собственных мыслей, а в качестве аргументации гуманитарный дебилизм уровня "ой, а тут у тебя формулировка предложения способствует доебкам".
>по определению не может быть лапшой
Я до сих пор не услышал этого определения.
Мы будем маневрировать или отвечать?
>Ну мне-то не насрать. Ты меня заебал.
Это твои проблемы.
>Программист бы написал
>но зато пишет элитка
Ахаха, и этот пидор запрещает мне ковыряться в носу. Элитка у него на ФП языках пишет. На ФП языках, или даже в парадигме, приближенной к ФП (привет Егорка), пишут те, кого совсем заебало месить говно.
>доебывается до гиперполы
Я тут и до грамматики русского языка доебался бы, но не буду. Сам ищи где обосрался, школьник.
>На Хаскелле сотни библиотек если не тысячи.
Потому что хасель это академический язык и на хаскеле сотни студенческих проектов уровня "а давайте мы сделаем то, что делали миллион раз, только на хаскелле".
Типа вот этого говна - https://www.youtube.com/watch?v=0jYdu2u8gAU , тормозной шутер с графикой уровня кваки через 15 лет после появления кваки.
И ничем больше академического языка он не является, и никогда не являлся.
На хакэдже 13 000 пакетов https://hackage.haskell.org/packages/browse
Зайди в хаскель чат в телеграме и спроси какие крупные проекты есть. И даже если нет ни одного проекта, хотя это далеко не так, это не говорит о том, что язык мертв. Экосистема развивается ежеминутно. Только глупая школота с детской логикой может такое говорить.
>На ФП языках, или даже в парадигме, приближенной к ФП (привет Егорка), пишут те, кого совсем заебало месить говно.
- Когда все детство мама говорила что ты особенный и тетя Оля говорила что ты особенный... а ты пишешь опердени на шестой джаве, то конечно тебе хочется самоутвердиться. Тут то на помощь и приходит вся эта экзотическая херня, но писать на этом говне конечно так же уныло и скучно, поэтому ты тратишь большую часть времени не на код, а на словесные бои в сети, отстаивая проф-пригодность этого хлама.
Опять переобулся. От меня требуешь определение, а сам сдуваешься сразу, и начинаешь кидать общие фразы, что все программисты знают... Кто сказал что ты программист и что то знаешь? Давай проверим что ты знаешь. Пиши что ты понимаешь под лапшой на ФП. Иначе твой слив будет засчитан.
>Это твои проблемы.
Нет, это твои проблемы.
>Ахаха, и этот пидор запрещает мне ковыряться в носу. Элитка у него на ФП языках пишет. На ФП языках, или даже в парадигме, приближенной к ФП (привет Егорка), пишут те, кого совсем заебало месить говно.
Меня заебало месить говно и я занимаюсь дипленингом на питоне. А ФП-опердени пишут те же самые унылые крудошлепы, которым просто хочется повыебываться, так как за пределами оперденей они не умеют нихуя - не знают ни матана, ни какой-то предметной области, чтобы ебашить модели. В итоге пишут просто приличный код, который можно было бы писать на любом языке, просто на ФП и утверждают, что этот приличный код - следствие ФП.
Опят переобуваешься. Ты же первый написал, что на ФП лапша. Что это значит? Или ты даже этого обосновать не можешь? Походу совсем тупенький. Зря тут на тебя время трачу.
Снова детская логика. Регулярно появляются вакансии в телеге. И проекты не уровня жабоскриптовых крудов. Сомневаюсь что и такую игру напишешь на любом языке, не говоря уже на Хаскелле. Неосилятор.
>От меня требуешь определение
Ни разу не требовал, гуманитарный даун. Это другой анон требует. Ты пишешь "Код в FP стиле по определению не может быть лапшой" - пиши по какому такому определению он не может быть лапшой.
>Давай проверим что ты знаешь
Ты нихуя не можешь проверить, потому что не являешься программистом.
>говорят про проекты фавориты
>приводит в пример свалку пакетов как javascprit
Как можно по пакетной свалке определить относительную популярность, сам же правильно привел пример на гитхабе, нах нам эти пакетные загоны сейчас?
Ладно
Может тебе еще содержимое кошелька показать... Надо будет пойдешь в чат и найдешь.
>Регулярно появляются вакансии в телеге.
Вакансии в чатиках - работа, которую ты заслужил, анон.
Борща хоть наливают?
Хочешь сказать для языка не нужны либы? Это первый показатель что экосистема живая и развивается. На Хаскелле не пишут такие школьники какие пишут на жабоскрипте. Обычно это те кто уже программирует лет 10. Поэтому уровень кода намного выше.
Ога, представь себе. Все самые вкусные и горячие вакансии давно уже в телеге.
Лол. Меня и на хаскель-проекты зовут, прикинь. Раз в пару месяцев примерно падает приглашение на фуллтайм. А тебя зовут? Если нет, то довольно странно спорить о хаскелле с тем, кто востребован на рынке хаскелля и считает его хуйней, не находишь?
>>48211
Нет, это ты слился очередной раз. Все по тому же сценарию - беспруфное утверждение, гуманитарные огрызания. И все с четким намеком на то, что перед тобой диванный теоретик.
Если ты не тупой, то поймешь что я сейчас напишу. Ты ли не ты, не важно, написал что на ФП лапша. Я написал в ответ, что не считаю так. Так почему я должен кому то писать определения, если этот кто то, может и не один, не может дать определение что такое лапша на ФП?
Да даже на COBOL еще пишут и что?
Как была эта ФП-андеграунд помойка, так и осталась. только где-то в 2010 произошел всплеск популярности ФП и в языки понатаскали более менее востребованное, а потом хайп ушел
Маня, конструктива с тобой не будет никогда, потому что ты гуманитарий и не программист. Мне конструктив от тебя не нужен - если бы ты был в него способен, ты бы его хоть раз продемонстировал. А твои тупые посты видны за версту.
Ты обделался, это не я писал выше.
karlson-data-scientist.jpg
Мне похуй, хоть поебитесь. Если бы ты написал "хочу услышать обоснование", это одно. Но ты написал "ФП не лапша по определению". И тем самым выдал утверждение, за которое уже с тебя могут спросить. А то, что ты маневрируешь и сливаешься значит, что это не утверждение, а пук.
Это язык для экспериментов в области CS для академических специалистов, которые используют хаскель и в дальнейшем переносят фичи в мейнстрим. Наука не обязана приносить пользу, это немного не так работает.
Проблема в том, что это магнит для шизиков и аутистов. В основном в РФ. Хаскель-сообщество за рубежом замечательное.
>Только ты не осилишь его.
Вот тётя Оля обрадуется, наш Ванечка то какой язык осилил, никто не смог, а он вот смог! Просто кампутерный гений в семье растёт.
Если ты увидел где то или заюзал анонимные функции, не говорит о том что код написал в рамках ФП парадигмы. Так что слейся. Ты просто пернул в лужу. Ты нихрена не знаешь про ФП.
При чем тут я, сучечка? Ты написал "ФП не лапша по определению". Написал? Написал. И теперь тебя как котенка будут в эту хуйню тыкать весь тред.
>Наука не обязана приносить пользу
Я прям вижу:
-"Василий, держите грант, делайте что хотите, экспериментируйте..."
Это не ты тот баран, который сказал что для лямбд требуется уровень CS чтобы их использовать?
Вы заебали.
Идем на википедию.
Функциональное программирование - раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних
По определению не лапша. Всё.
>-"Василий, держите грант, делайте что хотите, экспериментируйте..."
Василий, держите грант, с вас публикация в рецензируемом журнале. А не ГДЕ БЛЯДЬ ОКУПАЕМОСТЬ СУКА МЫ MS RESEARCH ЗРЯ СОДЕРЖИМ ЧТО ЛИ.
Маняврируешь как трусливая болонка. Какие признаки спагетти-кода существуют? Один из главных - глобальные переменные. В ФП пропагандируется неизменяемое состояние. Значит по этому признаку код в ФП стиле не может быть лапшой. Какие еще признаки лапшекода существуют?
>По определению не лапша.
Из определения это не следует. Вычисления функций могут быть лапшой спокойно.
Самый банальный пример - явная рекурсия вместо комбинаторов.
Пример менее банальный - IO где достаточно ST, ST где достаточно Reader или Writer.
Еще менее банальный - экзистенциальные тайпклассы. И так далее. На ФП лапшу написать очень просто, особенно с учетом того, что того объема гайдлайнов, который есть для императивного программирования, в академии просто не требуется.
Поэтому эта фраза - признак диванного теоретика и не программиста, у которого зарплата - мамкины борщи.
Тупо написал набор ключевых слов. Признаков лапшекода так и нет от тебя. Опять маняврируешь.
Если бы ты умел программировать на хаскелле, то ты бы связал "IO где достаточно ST, ST где достаточно Reader или Writer." с проблемой представления глобального стейта в чистых функциональных языках. И что IO - это в том числе и глобальные переменные ровно в том виде, в котором они есть в императивных языках. Поэтому ""IO где достаточно ST" - это оно. Это та самая лапша, которая в хаскелле сплошь и рядом. Берешь в гугле набираешь "haskell" "considered harmful" и читаешь сотни статей.
Но ты не являешься программистом и для тебя это все пустой звук. Кто в этом виноват?
Только я, что опустился до разговора с тобой. Рожденный ползать летать не может.
>Признаков лапшекода так и нет от тебя
goto, magic numbers, копипаста, однобуквенные наименования переменных, глобальный стейт, явное протаскивание стейта, несокрытие внутренного представления, архитектурные антипаттерны. Тысячи их. Программисту они очевидны и нет смысла их обсуждать. Обсуждать можно, например, есть ли возможность в ФП нахуярить goto - есть, называется явная рекурсия в вместо комбинаторов. magic numbers? А кто запретит. Копипаста? zipWidth3 передает привет. Однобуквенные наименования? Сколько угодно. Глобальный стейт? Открой исходники любого реальног проекта типа XMonad и удивись, явное протаскивание стейта? школьники типа тебя только так и пишут. Бля, ну не можешь ты со мной спорить, потому что твои аргументы заканчиваются на гуманитарной хуйне уровня "это все хуйня, а я прав". Давай спорить о терминах, лол, у тебя это так хорошо получается. Хуй соси, в общем.
Чего ты долго готовился. Ну нагуглил ты ключевых слов, а что толку. Ты 2 часа пердел в лужу. И тут вдруг разродился. Снова школьная логика, если в Хаскелле есть GOTO, значит это по определению лапша, и все в этом роде. Если ты не можешь писать нормальный код, то это говорит о том, что вся парадигма говно. Любой программист в 2019 знает, что ФП дает более чистый код чем ООП.
Лол, даже не удосужился прочитать первые пять строчек, прежде чем понять, что выйдет очередной обосрамс. Гений-дата-сайнетист.
Статья ни о чем. Просто спор о терминах. В комментах Бартош Милевски это тоже подметил.
>глобальный стейт, явное протаскивание стейта
Иными словами, признаки говнокода - это глобальный стейт и локальный стейт. Ну то есть вообще любой стейт. Ок. Ясно.
Smalltalk тоже зрелый рабочий "продукт", но востребован в основном в образовательных целях. Perl - тоже тот еще продукт, но на фоне других скриптовых языков (в частности пистона, который отобрал у перла последний рубеж - системные линуксовые скрипты) он стал легаси-тыквой.
А моно это вообще эталонная техно-тыква. В свое время он был единственной имплементацией .NET CLR на *nix, потому и был востребован как подстилка. Теперь же, когда MS активно пилят .NET Core - Mono стал просто ветошью
>моно
На моно работае Visual Studio Для MacOS. На моно работает компилятор F#. И так далее. Остальное даже комментировать не хочется. Сравнение теплого с мягким. Абсурд на абсурде.
Там, в промышленном мире, давно уже не все так однозначно. Все пишут в процедурном стиле:
сервисы без состояний - функции,
тонкие данные без поведения - структуры.
Даже идол и великий орган Мартин пишет, что надо юзать структуры, но так как ООП головного мозга наносит существенный урон, он не может признаться, что снова открыл структуры.
https://www.martinfowler.com/bliki/AnemicDomainModel.html
мимо жаба-пром-мэн
>Все пишут в процедурном стиле
За всех отвечаешь? Структуры это всего лишь один из способов абстракции данных. Не самый лучший прямо скажем.
Как причём? У тебя куча ссылок разбросаны во времени и в пространстве на кучку байтов в куче которая по тем или иным причинам может стать невалидна. Тащемта много где сейчас это обсуждается.
Асинхронность и работа с памятью везде по разному реализуется. Ты говоришь о одном выражденном случае, и говоришь что все так пишут. Это ерунда.
Асинхронность и параллельность нормально по-человечески работают только либо на иммутабельных данных, либо с линейными типами. Все, других вариантов нет. Ооп-хуйоп там вообще не всрался inb4: щас начнешь говорить, что ооп это не про классы а про проектирование и вообще все на свете это ооп, даже небо, даже аллах
мимо
Ух блять, петух ёбаный, а сразу не судьба сказать по-человечески? Надо выебнуться обязательно?
Я говорю за джаву в промке, что там делают андроид кустари и пет-проекщики я не знаю.
Потом лапша-код стали называть любой трудносопровождаемый (трудночитаемый) код, например каллбэк хел, или ООП-блинный код, когда бизнес логику размазывают по сотням объектов в туче наследования.
Какие нахер глобальные переменные, что за детсад??
PS
Да и вообще проигрываю с гуманитариев, когда они говорят что глобальное состояние плохо, а потом я вижу у них синглетоны через всякие спринги и они даже не понимают что это тоже глобальное состояние (и жопа при масштабировании) при этом они думают что именно IoC делает их программу без глобального состояния, передавая всем дочерним объектам один и тот же синглетон
> хотя до сих пор жив break и continue - это все те же прерыватели потока исполнения
Всё так, но они ограничены тем loop или switch, который прерывают. Из тех языков, где сейчас есть goto, 99% ограничивают его функцией.
т.е. всё это детский лепет по сравнению с первобытным GOTO, который мог тебя выкинуть нахуй куда угодно, хотя в начало main, хоть на два вызова вверх по стэку (который ты пилил бы вручную, лол)
Время показало, что запутать можно и в структурном коде.
ФП, раз о нем была речь, в настоящем его виде наичистейшем, вообще не подразумевает что программа хранит состояние отсюда базовый дроч на иммутабельность, ака константы или выполняет побочные действия по сути, изменяет тоже состояние.
То есть, результатом всегда будет функция, а там другая функция и такой каскад боли и унижения до корня стектрейса, особенно вспоминая что ФэПэшники любят писать имена методов по 2-4 буквы, то это превращается в превозмогания короткие имена переменных вообще признак профнепригодности
И все, это и есть базовое понятие ФП, результатом всегда является функция и нет состояний на самом деле оно есть, но размазано иммутабельностью, что как-будто и нету
Императивное же программирование, никогда не ставило себе цели превозмогать идей над реальностью, оно с оглядкой на опыт дало программисту возможность хранить промежуточные состояния, чтобы сделать исполнение программы строчкой за строчкой командой за командой, как это делает камень, ну и хранить состояние как тебе удобно даже хранить их всех в одном месте, даже в запуганом всеми глобальном состояние , с учетом мультипоточности, если такова потребность есть.
ФП по сути утопическая мечта, не имеющая никакого отношения к реальности задач и PC и уж тем более бизнес задач. Я видел на кложуре программку, там все сводилось к функциям и мапкам, то есть текущие выросшие поколение сейчас программирует тупо в процедурном стиле и все сейчас прибежит очередной долбоящер, у которого при слове процедурный сработает триггер на Си
PS когда борщехлебы научаться писать полностью программы на чистых функциях, тогда мы и поговорим - называть это ФП или нет, а пока все это продвинутая процедурщина.
Между чистыми функциями и иммутабельностью никакой связи нет, ага. Линейность корутинам из-за одного этого слова с тобой уже все понятно, кстати вообще никак не нужна, ага. Съеби.
>ФэПэшники любят писать имена методов по 2-4 буквы
Маняфантазии.
>Императивное же программирование, никогда не ставило себе цели превозмогать идей над реальностью
Императивное программирование проистекает исключительно из деталей реализации памяти на современных ЭВМ.
>ну и хранить состояние как тебе удобно
Я не могу хранить состояния "как мне удобно", потому что типичный императивный язык не предоставляет инструментов контроля за хранением состояния, в отличие от.
>ФП по сути утопическая мечта, не имеющая никакого отношения к реальности задач
Как там в 60-ых? Перфокарты еще набиваете?
>там все сводилось к функциям и мапкам
Это и есть функциональный стиль (конкретнее - data-oriented его подвид).
>>48566
>PS когда борщехлебы научаться писать полностью программы на чистых функциях
Я не знаю, как тебе об этом сообщить... но ты про Х-ль или clean, или идрис, или йунеймит что-нибудь слышал? Иди разберись в матчасти, ну и вообще возьми в привычку не пиздеть о том, в чем не шаришь - на дваче-то норм, а вот в реальности можешь себя идиотом выставить.
>Императивное программирование проистекает исключительно из деталей реализации памяти на современных ЭВМ.
Тебе кто-то запрещает писать на VHDL?
Процессоры создали для императивного программирования. Потому что это удобнее, тем dataflow подход в каком-нибудь ламповом телевизоре.
Двачую... скакать на сцене должны только какие-нибудь топ-манагеры или CTO
Гуманитарий, они остались, их перевезли в IoC контейнеры.
Нет в принципе никакой разницы из этих двух реализаций ну кроме как в IoC удобнее тестить
Бля борща захотелось, а тяучка отсутствует... А еще говорят что тянучки не нужны. Пока ты изучаешь хаскелл борщ сам не приготовится!
>Маняфантазии.
Ну хоть спорить перестали, а то мне еще доказывать пытались что 2-4 символа это норма.
>Императивное программирование проистекает исключительно из деталей реализации памяти на современных ЭВМ.
ШТА??? Да хоть она будет на катушках магнитных храниться, сути это не поменяет. Императивное программирование пошло из-за последовательных команд процессора ну и удобством восприятие последовательности для человека
>Я не могу хранить состояния "как мне удобно", потому что типичный императивный язык не предоставляет инструментов контроля за хранением состояния, в отличие от.
ШТА??? Возьми Си и храни как тебе хочется. Не выдумывай, как раз проблем с хранением нет просто это уже не каждому то и надо
>Как там в 60-ых? Перфокарты еще набиваете?
Таки как раз ФП это маняфантазия из тех времен, которую сейчас натягивают на процедурного императивное программирование.
>Это и есть функциональный стиль (конкретнее - data-oriented его подвид).
Нет, это процедурное программирование как есть. Нет никакой идеи в ФП рассчитанной на ориентированность данных, более того в ФП данные это и есть функция.
Нельзя было "продать" снова процедурное программирование, так как он выглядел в свое время как атавизм, тогда надмозги натянули сову на глобус процедурное программирование на ФП мир.
Что насчет 100% чистой функций, это из серии вечного двигателя. Программа состоящая 100% из чистых, не делает ничего это даже логично
>конкретнее - data-oriented его подвид
Чел тупо услышал где-то слово, но даже не попытался понять что оно означает.
Data oriented programming/disign- это организация данных так (кэширование, структурирование) чтобы максимально выжать производительность из железа (в том числе выравнивание по байтикам). Этой штукой интересуются в основном в играх.
Этот хер позорит всю вашу ФП "команду"
>Ну хоть спорить перестали, а то мне еще доказывать пытались что 2-4 символа это норма.
Я еще раз повторяю, что у тебя манямирок, притом терминальной стадии. Вангую, что ты пообщался с каким-нибудь проФФессором (которому вообще наверняка срать на разработку софта) и делаешь из этого вывод о каких-то мифических "фэпэшниках". Открой на гитхабе любой репозиторий на какой-нибудь скалке и ищи там двухбуквенные методы: https://github.com/TinkoffCreditSystems
>Императивное программирование
...основано на манипуляции stateful памятью. Функциональный стиль основан на композиции функций и применении их к значениям. Первое происходит из устройства ЭВМ (более низкоуровневый подход, но зато зачастую дающий большую производительность), второе происходит из удобства формальных рассуждений для человека о таком коде (более высокоуровневый подход - ближе к человеку, дальше от железа).
>ШТА??? Возьми Си и храни как тебе хочется.
Ну вот видишь, ты даже не понимаешь, о чем идет речь. Подобные диалоги мне видятся эдаким exercise in futility просто потому, что люди рассуждают о том, в чем не разбираются ни с теоретической, ни с практической точки зрения.
>Таки как раз ФП это маняфантазия из тех времен, которую сейчас натягивают на процедурного императивное программирование.
Как раз "сейчас" (начиная с 90-ых годов) распространились полностью чистые языки, в то время как в "те времена" под фп зачастую подразумевалось что-то уровня нынешнего es6 (см. тот же common lisp).
>Нет, это процедурное программирование как есть.
Ну раз тыскозал, то так и есть. Анониму с дваче ведь виднее, чем автору обсуждаемого языка. Логично, чо.
>Нет никакой идеи в ФП рассчитанной на ориентированность данных
Ты не понимаешь, что такое "ФП". Прочитай https://en.wikipedia.org/wiki/Functional_programming и любую книжку по хаскелю.
>более того в ФП данные это и есть функция
Ты путаешь ФП c т.н. totally functional programming и zoetic data. Подозреваю, что это все идет из того, что ты что-то услышал о church encoding и теперь думаешь, что в любом функциональном языке интеджеры должны кодироваться функциями. Ну, что тут сказать... СЛАВА ПЕЙТОНДЖОНСУ!!1
>Что насчет 100% чистой функций, это из серии вечного двигателя.
Ты не понимаешь, что значит "чистая функция". Подозреваю, что у тебя просто нет математического\инженерного образования, поэтому ты и не можешь в формальные определения и пользуешься интуитивными представлениями типа "ну чистая - это тип которая ниче не делает, как-то так".
>Ну хоть спорить перестали, а то мне еще доказывать пытались что 2-4 символа это норма.
Я еще раз повторяю, что у тебя манямирок, притом терминальной стадии. Вангую, что ты пообщался с каким-нибудь проФФессором (которому вообще наверняка срать на разработку софта) и делаешь из этого вывод о каких-то мифических "фэпэшниках". Открой на гитхабе любой репозиторий на какой-нибудь скалке и ищи там двухбуквенные методы: https://github.com/TinkoffCreditSystems
>Императивное программирование
...основано на манипуляции stateful памятью. Функциональный стиль основан на композиции функций и применении их к значениям. Первое происходит из устройства ЭВМ (более низкоуровневый подход, но зато зачастую дающий большую производительность), второе происходит из удобства формальных рассуждений для человека о таком коде (более высокоуровневый подход - ближе к человеку, дальше от железа).
>ШТА??? Возьми Си и храни как тебе хочется.
Ну вот видишь, ты даже не понимаешь, о чем идет речь. Подобные диалоги мне видятся эдаким exercise in futility просто потому, что люди рассуждают о том, в чем не разбираются ни с теоретической, ни с практической точки зрения.
>Таки как раз ФП это маняфантазия из тех времен, которую сейчас натягивают на процедурного императивное программирование.
Как раз "сейчас" (начиная с 90-ых годов) распространились полностью чистые языки, в то время как в "те времена" под фп зачастую подразумевалось что-то уровня нынешнего es6 (см. тот же common lisp).
>Нет, это процедурное программирование как есть.
Ну раз тыскозал, то так и есть. Анониму с дваче ведь виднее, чем автору обсуждаемого языка. Логично, чо.
>Нет никакой идеи в ФП рассчитанной на ориентированность данных
Ты не понимаешь, что такое "ФП". Прочитай https://en.wikipedia.org/wiki/Functional_programming и любую книжку по хаскелю.
>более того в ФП данные это и есть функция
Ты путаешь ФП c т.н. totally functional programming и zoetic data. Подозреваю, что это все идет из того, что ты что-то услышал о church encoding и теперь думаешь, что в любом функциональном языке интеджеры должны кодироваться функциями. Ну, что тут сказать... СЛАВА ПЕЙТОНДЖОНСУ!!1
>Что насчет 100% чистой функций, это из серии вечного двигателя.
Ты не понимаешь, что значит "чистая функция". Подозреваю, что у тебя просто нет математического\инженерного образования, поэтому ты и не можешь в формальные определения и пользуешься интуитивными представлениями типа "ну чистая - это тип которая ниче не делает, как-то так".
Разберись в терминах. Data-oriented design design, а не "disign" - не то же самое, что data-oriented programming. Терминология, конечно, путающая, как обычно и бывает в естественных языках, но достаточно просто погуглить и разобраться, чтобы из контекста понимать, о чем идет речь. tl;dr: DOD - это jai, DOP - это кложа.
Это glorified глобальные переменные. Нет, ну я на самом деле конечно подтролливаю своей категоричностью, но суть в том, что любой кусочек состояния у тебя должен иметь строго определенный лайфсайкл. Есть очень простая лакмусовая бумажка для архитектуры, состоящая из двух критериев: 1) ты можешь остановить и запустить снова свой апп, не останавливая и не перезапуская целиком родительский процесс; 2) ты можешь запустить два аппа с разными конфигурациями в одном процессе. Если оба критерия выполняются, то у тебя все православно, ресурсы и состояние хендлятся кошерно, а обычная книжная реализация синглтонов из 90-ых, как ты понимаешь, ломает эти свойства.
>Открой на гитхабе любой репозиторий на какой-нибудь скалке и ищи там двухбуквенные методы:
А почему не на C# или на расте? Открой любой репозиторий на хаскеле и наслаждайся. Не методами, но именами параметров - пожалуйста.
>Первое происходит из устройства ЭВМ
Которую специально задизайнили для императивного программирования. Хуево быть программистишкой с нулевыми познаниями в электронике - приходится рассуждать о том, что сначала жыды придумали процессор, а потом поверх него появилось ФП. Хотя все было наоборот, это процессор освободил людей от этого злоебучего подхода, который принят в аналоговой электронике до сих пор, например.
>Ну вот видишь, ты даже не понимаешь, о чем идет речь
Естественно речь о том, как 9000 видов монад, сложенных в стеки, отлично решат несуществующие проблемы.
При чем проблемы настолько несуществующие, что тебе приходится приводить в пример репозитории на скале.
>Подозреваю, что у тебя просто нет математического\инженерного образования, поэтому ты и не можешь в формальные определения и пользуешься интуитивными представлениями типа "ну чистая - это тип которая ниче не делает, как-то так".
Именно так. Чистая функция - объект из пространства идей Платона. Для CS это не большая абстракция, чем машина Тьюринга с _бесконечной_ лентой (например, для любой реальной машины проблемы остановки не существует, так как число ее стейтов конечно).
>Подозреваю, что это все идет из того, что ты что-то услышал о church encoding и теперь думаешь, что в любом функциональном языке интеджеры должны кодироваться функциями
Утенок не палится
Да обосрался уже, хватит.
Раз вики открываешь, то там первая строчка, что не надо путать с "Data-driven programming"
но за то сегодня узнал много нового, да?
Тут явно больше 2-ух символов.
>>48825
>А почему не на C# или на расте?
Потому что ты про фп спрашивал? Раст, конечно, тоже фп, но оче специфическое (да и там ты как раз на всякие Rc стриггеришься, кек).
>сначала жыды придумали процессор, а потом поверх него появилось ФП
Ты какую-то хуйню несешь. Перечитай еще раз мой предыдущий пост, пожалуйста.
>Естественно речь о том, как 9000 видов монад, сложенных в стеки, отлично решат несуществующие проблемы.
Монады решают вполне конкретную проблему и решают ее вполне хорошо. Лично мне монадный io не нравится, но фп им и не ограничивается. Не вижу предмета для дискуссии.
>Подозреваю, что у тебя просто нет математического\инженерного образования
>Именно так.
;)
Я не вижу особого смысла продолжать этот диалог, так как он свелся к "неттыдурак". Это скучно и несодержательно.
>>48828
Ну ок, допустим, что ты нашел аж две функции с двухбуквенными именами в одном репозитории (ссылка-то будет?). И как из этого следует, что "ФэПэшники любят писать имена методов по 2-4 буквы"? Если я найду два двухбуквенных метода на джаве, то ты признаешь, что джависты любят писать имена методов по 2-4 буквы? Ну ты же сам понимаешь, что это хуйня.
Ну да, детектед. Смешные картинки, все дела.
>Ну ок
Этого достаточно. Дальше уже маневры, не нужно.
Последовал твоему совету, твоя ссылка, первая скала репа и все это в одном файле, Карл.
https://github.com/TinkoffCreditSystems/typed-schema/blob/master/src/main/scala/ru/tinkoff/tschema/FromParam.scala#L112
>Потому что ты про фп спрашивал? Раст, конечно, тоже фп, но оче специфическое (да и там ты как раз на всякие Rc стриггеришься, кек).
Раст - императивный язык. Как и неакадемическая скала. Вот такая, https://github.com/TinkoffCreditSystems/ScalaDatabase/blob/master/src/main/scala/ru/tcsbank/utils/database/database.scala#L36 , например.
Тут есть типичная для ФП подмена: из полезности каких-то фич, рождаемых в недрах академического сообщества, использующих хаскель как тестовый полигон, не следует, что ФП не является говном. Тайпклассы - хорошо. Лямбды - неплохо. FRP - тоже ничего, по месту. Иммутабельность - не монопольно принадлежит ФП. И паттерн-матчинг бывает заебись. А вот ФП в целом такое говно, что приходится код по ссылке объявлять ФП, чтобы хоть как-то оправдать существование этой парадигмы.
>Ты какую-то хуйню несешь. Перечитай еще раз мой предыдущий пост, пожалуйста.
Перечитал: 'Первое происходит из устройства ЭВМ (более низкоуровневый подход'.
Это типичная для фпшника попытка натянуть сову на глобус. Это электроника тяготит к stateless dataflow дизайну. Математика тяготит к чему-то разумному, вечному А процессор с императивной программой - интеллектуальный шаг вперед. ФП - шаг назад. Особенно когда программы типа веб-сервера проектируют так, как будто это ламповый телевизор.
>Монады решают вполне конкретную проблему и решают ее вполне хорошо
Монады решают несуществующую проблему: что состояние-де такая неуловимая штука, что оборачивание возвращаемого типа в монаду тебе якобы чем-то от этого поможет. Альтернативы еще хуже. А если отказаться от чистых функций, уже не ФП.
>Не вижу предмета для дискуссии.
А ты всегда не видишь предмета для дискуссии, когда тебя приставляют к стенке. Лучше обсуждать двухбуквенные методы, понимаю. Впрочем, твоя реакция на "data-oriented programming" и неумение признавать ошибки говорит о том, что ты даже свой откровенный отсос признать не можешь.
И? Это локальные переменные, область видимости которых - полторы строчки. Для них как раз совершенно уместны короткие имена иди читай clean code или как его там. Та же история с hr\tr. Давай я тебе точно такие же имена в стандартной библиотеке джавы принесу:
https://docs.oracle.com/javase/7/docs/api/java/util/List.html
>E e, Object o, Collection c
- все, значит джависты любят имена методов по 2-4 буквы. Просто признай уже, что ты жил в манямирке, и закончим эту тему.
>Раст - императивный язык.
Ты скозал? Типичная для императивщика подмена, что не нравится — то ФП, а что нравится любимая императивщина.
>Это электроника тяготит к stateless dataflow дизайну. Математика тяготит к чему-то разумному, вечному А процессор с императивной программой - интеллектуальный шаг вперед.
Пошли бессмыссленные наборы слов. Иди почитай про историю математики и программирования.
> ФП - шаг назад.
Ты скозал? То-то все популярные языки стали тянуть фичу за фичей из ФП.
>Раст - императивный язык.
Ну вот его авторы считают, что раст - это такой низкоуровневый хаскель, но анону с двача виднее, конечно.
>Как и неакадемическая скала.
Скала? Неакадемическая? Хватит уже срать под себя, анон, хотя бы мельком гугли слова, которые употребляешь.
>Тут есть типичная для ФП подмена
Из полезности суммы фич, составляющих фп, не следует полезность фп. Ну ок. У тебя просто типичное гуманитарное маркетолого-driven мышление: ты инструменты оцениваешь не по их объективным характеристикам, а по наклейке, которую на них наклеили. Ну вот не нравится тебе фп (хотя, как мы выяснили, ни с одним из функциональных языков ты не знаком), а если взять все то же самое и назвать это каким-нибудь "неопроцедурным программированием", ты будешь говорить, что это заебись. Как раз ради таких как ты, например, всюду тащат си-подобный синтаксис. Ну потому что обезьянка увидит что-то знакомое - и у нее сразу в голове "вот это заебись", а что это всего лишь наклейка, а не семантика - ну так это уже неважно. Мне в принципе похуй, каждый дрочит так как хочет. Непонятно, зачем потом лезть спорить о том, в чем не шаришь.
>Это электроника тяготит к stateless dataflow дизайну.
А теперь добавь в свою электронику память.
>А процессор с императивной программой - интеллектуальный шаг вперед
Не вперед, а вверх по уровню абстракции. Вот только в 2k20 на машкоде и портабельном ассемблере веб-сервисы почти никто не пишет. Угадай почему.
>Монады решают несуществующую проблему
Глобальное состояние - не проблема. Я тебя услышал. Кстати, как тебе там в 90-ых, двухъядерные процессоры завезли уже?
>А если отказаться от чистых функций, уже не ФП.
Ну так не отказывайся. У тебя такая каша в голове: монады и чистые функции, все перепуталось. Ты понимаешь, что в кложе, эликсире и ризонмл нет монад, а чистые функции - есть?
>Впрочем, твоя реакция на "data-oriented programming" и неумение признавать ошибки
Я не знаю, вас двое или это ты один семенил, и понимаю, что терминология довольно путающая и неудачная, но тот факт, что вы неспособны самостоятельно погуглить и разобраться в трех с половиной терминах с высокой долей вероятностью говорит элементарно о низком g-факторе:
https://gist.github.com/mandarinx/a9bf9c3c987574fa453a1d90fa7f7276
https://en.wikipedia.org/wiki/Data-driven_programming
https://www.oreilly.com/library/view/the-joy-of/9781617291418/kindle_split_032.html
Перевести, объяснить?
>Раст - императивный язык.
Ну вот его авторы считают, что раст - это такой низкоуровневый хаскель, но анону с двача виднее, конечно.
>Как и неакадемическая скала.
Скала? Неакадемическая? Хватит уже срать под себя, анон, хотя бы мельком гугли слова, которые употребляешь.
>Тут есть типичная для ФП подмена
Из полезности суммы фич, составляющих фп, не следует полезность фп. Ну ок. У тебя просто типичное гуманитарное маркетолого-driven мышление: ты инструменты оцениваешь не по их объективным характеристикам, а по наклейке, которую на них наклеили. Ну вот не нравится тебе фп (хотя, как мы выяснили, ни с одним из функциональных языков ты не знаком), а если взять все то же самое и назвать это каким-нибудь "неопроцедурным программированием", ты будешь говорить, что это заебись. Как раз ради таких как ты, например, всюду тащат си-подобный синтаксис. Ну потому что обезьянка увидит что-то знакомое - и у нее сразу в голове "вот это заебись", а что это всего лишь наклейка, а не семантика - ну так это уже неважно. Мне в принципе похуй, каждый дрочит так как хочет. Непонятно, зачем потом лезть спорить о том, в чем не шаришь.
>Это электроника тяготит к stateless dataflow дизайну.
А теперь добавь в свою электронику память.
>А процессор с императивной программой - интеллектуальный шаг вперед
Не вперед, а вверх по уровню абстракции. Вот только в 2k20 на машкоде и портабельном ассемблере веб-сервисы почти никто не пишет. Угадай почему.
>Монады решают несуществующую проблему
Глобальное состояние - не проблема. Я тебя услышал. Кстати, как тебе там в 90-ых, двухъядерные процессоры завезли уже?
>А если отказаться от чистых функций, уже не ФП.
Ну так не отказывайся. У тебя такая каша в голове: монады и чистые функции, все перепуталось. Ты понимаешь, что в кложе, эликсире и ризонмл нет монад, а чистые функции - есть?
>Впрочем, твоя реакция на "data-oriented programming" и неумение признавать ошибки
Я не знаю, вас двое или это ты один семенил, и понимаю, что терминология довольно путающая и неудачная, но тот факт, что вы неспособны самостоятельно погуглить и разобраться в трех с половиной терминах с высокой долей вероятностью говорит элементарно о низком g-факторе:
https://gist.github.com/mandarinx/a9bf9c3c987574fa453a1d90fa7f7276
https://en.wikipedia.org/wiki/Data-driven_programming
https://www.oreilly.com/library/view/the-joy-of/9781617291418/kindle_split_032.html
Перевести, объяснить?
Ну я тебе и говорю что это признак профнепригодности для пром-кодинга.
Я могу открыть свой домашний скрипт и увидеть такой код от себя же и это нормально. Но это не нормально когда вас 50 человек трудиться над проектом в миллионы строк.
Я не должен постигать твой внутренний мир и играть в угадалки, пытаясь понять что это такое и по каким вообще правилам ты это сократил.
Даже если это локальная переменная объявлена строчкой выше.
IDE прекрасно позволяет вставить части слов из объектов, поэтому в этом веке уже не нужно гадать писать нето типа vrjt и с мышкой искать что это такое было вообще.
Java platform непригодна для пром-кодинга. Я тебя услышал. Тут можно и закончить, 'nuff said.
>Ну вот его авторы считают, что раст - это такой низкоуровневый хаскель, но анону с двача виднее, конечно.
Кто-то по-приколу и хаскель называет лучшим императивным языком. Только приколы приколами, а императивность - императивностью.
>Скала? Неакадемическая? Хватит уже срать под себя, анон, хотя бы мельком гугли слова, которые употребляешь.
Скала была академическим языком, а потом была освоена сообществом JVM, потому что под JVM не было нормально спроектированного языка типа C#. В итоге на скале можно писать ФП-дрисню и пердолиться ее системой типов, но если ты откроешь любой неакадемический код, увидишь то, что я показал по ссылке. Скала используется как императивный язык, в который завезли паттерн-матчинг.
>Из полезности суммы фич, составляющих фп, не следует полезность фп
Именно так.
>А теперь добавь в свою электронику память.
Создай процессор, развивай его полвека, а потом скажи, что память - низкоуровневая деталь имплементации, мы в мире платоновых идей живем.
>Глобальное состояние - не проблема.
Такая же проблема, как двухбуквенные имена переменных, например. У этой проблемы нет языкового решения, только внеязыковое. А попытка решать эту мнимую проблему - вот это выливается в проблемы, когда у тебя в коде все типы подчинены этой идее.
>Кстати, как тебе там в 90-ых, двухъядерные процессоры завезли уже?
Рассказываю как в 90-х: ФП-бляди рассказывают о великом будущем с автоматическим распараллеливанием кода, а в то, что хадуп написан на жабе не верят. Заодно расскажу как с этим в нулевые и десятые - нихуя не изменилось ФП-шники все так же дрочат на распараллеливание.
>Ну так не отказывайся
Я и не отказываюсь, и в рот ебал ФП. Точнее, для меня это что-то уровня судоку, можно поприкалыватсья и порешать задачки, но писать на этом какие-то бизнес-решения не только не имеет смысла, но и вредно.
>У тебя такая каша в голове: монады и чистые функции, все перепуталось. Ты понимаешь, что в кложе, эликсире и ризонмл нет монад, а чистые функции - есть?
Чистые функции и в D есть. Недостаточно, чтобы в языке были чистые функции, парадигма заключается в том, что у тебя нет ничего, кроме чистых функций.
>Я не знаю, вас двое или это ты один семенил, и понимаю, что терминология довольно путающая и неудачная, но тот факт, что вы неспособны самостоятельно погуглить и разобраться в трех с половиной терминах с высокой долей вероятностью говорит элементарно о низком g-факторе:
Ну теперь и ясен источник твоего обсера - книжка по кложе.
https://ieeexplore.ieee.org/document/7546545 - вот это правильный термин, на который введут 99% ссылок в гугле. А у тебя обсер.
Собственно, это многое объясняет, ты не ФПшник, а сраный лиспер-макросодрочер и жвмоеб.
>Ну вот его авторы считают, что раст - это такой низкоуровневый хаскель, но анону с двача виднее, конечно.
Кто-то по-приколу и хаскель называет лучшим императивным языком. Только приколы приколами, а императивность - императивностью.
>Скала? Неакадемическая? Хватит уже срать под себя, анон, хотя бы мельком гугли слова, которые употребляешь.
Скала была академическим языком, а потом была освоена сообществом JVM, потому что под JVM не было нормально спроектированного языка типа C#. В итоге на скале можно писать ФП-дрисню и пердолиться ее системой типов, но если ты откроешь любой неакадемический код, увидишь то, что я показал по ссылке. Скала используется как императивный язык, в который завезли паттерн-матчинг.
>Из полезности суммы фич, составляющих фп, не следует полезность фп
Именно так.
>А теперь добавь в свою электронику память.
Создай процессор, развивай его полвека, а потом скажи, что память - низкоуровневая деталь имплементации, мы в мире платоновых идей живем.
>Глобальное состояние - не проблема.
Такая же проблема, как двухбуквенные имена переменных, например. У этой проблемы нет языкового решения, только внеязыковое. А попытка решать эту мнимую проблему - вот это выливается в проблемы, когда у тебя в коде все типы подчинены этой идее.
>Кстати, как тебе там в 90-ых, двухъядерные процессоры завезли уже?
Рассказываю как в 90-х: ФП-бляди рассказывают о великом будущем с автоматическим распараллеливанием кода, а в то, что хадуп написан на жабе не верят. Заодно расскажу как с этим в нулевые и десятые - нихуя не изменилось ФП-шники все так же дрочат на распараллеливание.
>Ну так не отказывайся
Я и не отказываюсь, и в рот ебал ФП. Точнее, для меня это что-то уровня судоку, можно поприкалыватсья и порешать задачки, но писать на этом какие-то бизнес-решения не только не имеет смысла, но и вредно.
>У тебя такая каша в голове: монады и чистые функции, все перепуталось. Ты понимаешь, что в кложе, эликсире и ризонмл нет монад, а чистые функции - есть?
Чистые функции и в D есть. Недостаточно, чтобы в языке были чистые функции, парадигма заключается в том, что у тебя нет ничего, кроме чистых функций.
>Я не знаю, вас двое или это ты один семенил, и понимаю, что терминология довольно путающая и неудачная, но тот факт, что вы неспособны самостоятельно погуглить и разобраться в трех с половиной терминах с высокой долей вероятностью говорит элементарно о низком g-факторе:
Ну теперь и ясен источник твоего обсера - книжка по кложе.
https://ieeexplore.ieee.org/document/7546545 - вот это правильный термин, на который введут 99% ссылок в гугле. А у тебя обсер.
Собственно, это многое объясняет, ты не ФПшник, а сраный лиспер-макросодрочер и жвмоеб.
Промышленность - это контроллеры станков ЧПУ на С++. А твоя жаба ебаная это распильный энтерпрайз и оверинженернутые решения, с хуевым базовым языком, на фоне которого и кложура сладкий хлеб.
>Только приколы приколами, а императивность - императивностью.
Авторы раста сами не знают, что они делают, а ты знаешь, я тебя услышал.
>Скала была академическим языком
Ой, так все-таки была? А полчаса назад ты говорил, что она неакадемическая. Все-таки последовал моему совету и погуглил? Молодец.
>Именно так.
Гуманитарий, привет. Ярлычки-наклейки.
>Создай процессор, развивай его полвека, а потом скажи, что память - низкоуровневая деталь имплементации
Нет, ты что, только маллоки, только хардкор.
>У этой проблемы нет языкового решения
Ну раз ты с ним не знаком, значит его и нет, согласен.
>нихуя не изменилось ФП-шники все так же дрочат на распараллеливание.
М? В той же кложе по умолчанию вся стандартная библиотека потокобезопасна, про эликсир\эрланг вообще молчу. Для автораспаралеливания и прочей научной хуйни, кстати, давным-давно используются другие методы.
>Я и не отказываюсь, и в рот ебал ФП.
Ну в этом треде ты пока только себя в рот ебешь и раз за разом показываешь свой низкий технический уровень.
>парадигма заключается в том, что у тебя нет ничего, кроме чистых функций.
Окей, окамл и хаскель - не фп. Я тебя услышал.
>Ну теперь и ясен источник твоего обсера - книжка по кложе
Дядь, у тебя совсем с работой головного мозга плохо? Разговор начался с того, что ты в своем посте >>48565 упомянул какой-то код на кложе, который ты видел. Я тебе пояснил, как такой подход называется в кложе комьюнити, и ответил анону, который спутал его с data-oriented design. Спустя 5 постов уже выясняется, что это якобы я сюда кложу приплел, лол. Иди подорожник к голове приложи, у тебя с памятью и удержанием контекста вообще никак уже.
>Только приколы приколами, а императивность - императивностью.
Авторы раста сами не знают, что они делают, а ты знаешь, я тебя услышал.
>Скала была академическим языком
Ой, так все-таки была? А полчаса назад ты говорил, что она неакадемическая. Все-таки последовал моему совету и погуглил? Молодец.
>Именно так.
Гуманитарий, привет. Ярлычки-наклейки.
>Создай процессор, развивай его полвека, а потом скажи, что память - низкоуровневая деталь имплементации
Нет, ты что, только маллоки, только хардкор.
>У этой проблемы нет языкового решения
Ну раз ты с ним не знаком, значит его и нет, согласен.
>нихуя не изменилось ФП-шники все так же дрочат на распараллеливание.
М? В той же кложе по умолчанию вся стандартная библиотека потокобезопасна, про эликсир\эрланг вообще молчу. Для автораспаралеливания и прочей научной хуйни, кстати, давным-давно используются другие методы.
>Я и не отказываюсь, и в рот ебал ФП.
Ну в этом треде ты пока только себя в рот ебешь и раз за разом показываешь свой низкий технический уровень.
>парадигма заключается в том, что у тебя нет ничего, кроме чистых функций.
Окей, окамл и хаскель - не фп. Я тебя услышал.
>Ну теперь и ясен источник твоего обсера - книжка по кложе
Дядь, у тебя совсем с работой головного мозга плохо? Разговор начался с того, что ты в своем посте >>48565 упомянул какой-то код на кложе, который ты видел. Я тебе пояснил, как такой подход называется в кложе комьюнити, и ответил анону, который спутал его с data-oriented design. Спустя 5 постов уже выясняется, что это якобы я сюда кложу приплел, лол. Иди подорожник к голове приложи, у тебя с памятью и удержанием контекста вообще никак уже.
Хаскель - не фп, джава - не промышленное программирование, с++ - лучший язык. Можешь не продолжать, все уже и так поняли, что ты дегенерат.
> В итоге на скале можно писать ФП-дрисню и пердолиться ее системой типов
Т.е. ФП это система типов? Тогда раст чисто функциональный язык.
>Именно так.
Нет, не так, фичи были рождены в контексте конкретной парадигмы и васянами-байтослесарями изобретались бы ещё 50 лет.
>Такая же проблема, как двухбуквенные имена переменных, например. У этой проблемы нет языкового решения, только внеязыковое. А попытка решать эту мнимую проблему - вот это выливается в проблемы, когда у тебя в коде все типы подчинены этой идее.
Нет, не такая же. И да, фичи языка могут помогать решать проблему стейта. А у тебя логика "нуу эта проблема сложная, буду дальше пердолить глобальные переменные в век SMP".
>Чистые функции и в D есть. Недостаточно, чтобы в языке были чистые функции, парадигма заключается в том, что у тебя нет ничего, кроме чистых функций.
Ты скозал? Можешь уносить свои местячковые определения откуда принёс, а то по ним получается, что функциональных языков не существует.
>https://ieeexplore.ieee.org/document/7546545 - вот это правильный термин
Это не "правильный термин", а ссылка на какой-то хакирский пейпер 2016 года. Ты ёбнутый совсем? Я хуею с того, какая у тебя каша в голове.
Любая платформа где пишется код ради кода ака бойлерплейт, будь-то джава или хаскель - непригодна для пром-кодинга.
Пока пачка жабистов совокупляются со спрингом, хибернейтом или еще чем-то, тот же питонист делает тройное сальто жонглируя тремя словарями одновременно.
Питонист, ну ты-то куда лезешь, лол, ну что за детский сад. Иди дальше нейроночку обучай сиськи-письки генерить.
Безусловно, когда на непригодных для "пром-кодинга" языках наконец напишут всё, что нужно, чтобы не пришлось на джаваскрипте "писать код ради кода".
За год твой пром-питон обрастает кучей модулей, которые общаются друг с другом через ебических размеров АПИ, и в результате при попытке внести хоть небольшое изменение твой ебальник разбивается об отсутствие строгой типизации и ты тонешь в попытках разобраться, какой метод откуда вызывается и какие объекты принимает. И все твои три словаря залетают тебе за щеку.
А уважаемые джависты берут в мозолистые руки Спринг и спокойно пилят понятный и поддерживаемый код.
Вопрос тебе: ты много энтерпрайз-проектов на питоне видел? Много дописывал, во многих баги правил?
>Я не должен постигать твой внутренний мир и играть в угадалки, пытаясь понять что это такое и по каким вообще правилам ты это сократил.
Если Васян вынужден знать что там накодил его коллега Петян, то это проблема не в коротких названиях, а в архитекторах, которые не смогли запилить нормальные интерфейсы и выделить подзадачи.
>хадуп написан на жабе
Хадуп эксплуатирует свойства моноида. Какая разница на каком языке моноиды реализовывать?
В питоне дигамическая типизация - рак современных ЯП. Переходи лучше на хацкель
>твой ебальник разбивается об отсутствие строгой типизации
Лол, как раз строгая типизация там и есть, ты наверное просто перепутал со статической?
Вот такая простая ошибка в познаниях, превращает все твои тексты в пук.
Конечно, то что одарённый создает переменные "а", "i", "c", "hr", "vsjr" - конечно же виновата какая-то там высосанная из пальца архитектура.
ой, жесть
Ушел в менегеры еще 7 лет назад. Как и мой друг, считаю что после 30 в программирование делать нечего (если ты не попал в тот самый успешный золотой процент из 99%).
Гоняя программистов и меня в том числе, эмпирическим путем вычислили, что куда больше полезного действия происходит на ваших питонах думаю сейчас и на жабаскриптах, раз его допили немного
На жабе кодил почти 9 лет, на питоне 4 месяца именно работал. Могу смело сказать, что статическая типизация притянутая за уши. Просто люди научились так и перестроить свои мозги не могут. Но именно в динамичном языке достигается идея - код ради данных, а не код ради еще одной абстракции.
По типу тяжелый ошибок, на которые тратиться туча времени и которые является реальной проблемой, компиляция не помогает вообще никак, потому что ошибки типов и всякие NULL отлавливают быстро и на месте давно все логируется и эти детские ошибки отлавливаются на ура в регресс.тестах. Да даже если и пропускаются, то локализуются быстро - отчего не является серьезной проблемой.
Ну, то есть, холивар статика vs динамика, сводиться в реальности лишь к тому, что стато-дебилы не могут перестроить свой мозг и все.
Сам таким был, но понял это сразу, когда увидел гибкий динамичный код, без лишних абстракций и нагромождений.
Например недавно видел код, когда в функцию передавали число. Что сделал стато-дебил? Правильно, он проверил на число и кинул эксепшен, если не число. Что сделает динамо-господин? Он попробует сконвертить это в число и поработать с ним.
Какая разница передал ли ты 345, или "345" или даже "345 руб", у тебя есть число, и мне оно нужно. Но стато-дебил будет всегда конвертить и конвертить, загрязняя код.
Нахуя местячковой стоматологии Data Science? И что вообще такое Data Science? В наше время такого не было(выпуск 2010).
>Что сделает динамо-господин? Он попробует сконвертить это в число и поработать с ним.
Блядь, ты даже динамическую типизацию от слабой типизации не отличаешь. У тебя уровень 15-летнего школьника, ты всю жизнь походу в какой-нибудь госконторе пилил никому не нужный адовый говнокод. Съеби с борды, говно, и иди своих разработчиков обслуживай.
Слабая типизация - это как морская свинка, и не морская и не свинья. Ты о чем вообще? И почему когда тебе говорят про динамичную типизацию ты триггеруешь на слабую, зачем ты её сюда принес?
Я так понял хотя зачем непонятно что ты воспринял каст строки в число как слабую типизацию или что у тебя сейчас произошло?
Мне даже картинку для тебя лень искать, какое-то просто тотальное рука-лицо.
Это такой толстый вброс? Ладно, покормим. Все блоки кода выравнены так, что все инструкции из одного блока начинались на одинаковом расстоянии от начала строки, так что они просто визуально видны, там просто нет такой проблемы.
>Авторы раста сами не знают, что они делают, а ты знаешь, я тебя услышал.
Не не, анон, конечно исключительно ты знаешь, что думают авторы раста. Лол.
Раст это типичный пример тенденции десятых годов - "берем фичи из ФП и встраиваем в императивный язык", и авторы говорят о том, что ФП сильно на язык повлияло. Но не о том, что это функциональный язык. Потому что это не так. Попробуй его мануал открыть хотя бы.
>Ой, так все-таки была? А полчаса назад ты говорил, что она неакадемическая. Все-таки последовал моему совету и погуглил?
Если ты внимательно прочитаешь фразу "Как и неакадемическая скала. Вот такая, https://github.com/TinkoffCreditSystems/ScalaDatabase/blob/master/src/main/scala/ru/tcsbank/utils/database/database.scala#L36 , например", а не будешь руководствоваться своим wishful thinking, то поймешь, что неакадемической скалой я называл конкретно код по ссылке https://github.com/TinkoffCreditSystems/ScalaDatabase/blob/master/src/main/scala/ru/tcsbank/utils/database/database.scala#L36
И когда ты это не понял, я это расшифровал. Scala как явление это пиздец. Почему под .NET аналога скалы? Потому C# - хороший язык. А Java плохой. Людям требовалось несколько функциональных фич, а на них вылили ушат этой академической дристни. На которой пишут совершенно неакадемически, а как писали бы на C#.
>Гуманитарий, привет. Ярлычки-наклейки.
Ну да, гуманитарий - это ярлычок. Если ты не понимаешь, что "Из полезности суммы фич, составляющих фп, не следует полезность фп" - истинное утверждение, то у тебя проблемы с логикой. Например, из полезности веревки и мыла по отдельности не следует полезность повешения. Монады, например, заебись, но присваивать с помощью конструкции modifySTRef - это пиздец.
Вот это, например - https://pastebin.com/83RcNCTL это пиздец в сравнении с сишкой.
А самых главный прикол, что D позволяет написать так же красиво, как сишный код, и при этом чистую функцию за счет одного ключевого слова pure. И все. Не надо разъебывать весь язык ради этого. Но D непопулярен, потому что ключевое слово pure на самом деле всем нахуй не сдалось. Потому что проблемы, которое оно бы решало, нет. Если ты пишешь редьюсер для хадупа, наверное у тебя будет мысль, что он должен быть чистым. Ну, есть такое подозрение.
>Ну раз ты с ним не знаком, значит его и нет, согласен.
Чайник Рассела.
>Ну в этом треде ты пока только себя в рот ебешь и раз за разом показываешь свой низкий технический уровень.
Только в твоей проекции, в которой я про скалу гуглю. Мой уровень достаточно высок, чтобы находить ошибки в статьях журнала Monad Reader и получать благодарности от авторов. Что я не осиливаю, это стеки монадных трансформеров. Не потому что это что-то сложное, а потому что примерно на этом этапе ФП превращается из прикольной вещи в суровый пердолинг ради пердолинга.
ФП для меня что-то типа судоку. Это прикольно. И бесполезно. А когда с этим судоку лезут в бизнес - ну, ебанутые, что тут сказать.
>Окей, окамл и хаскель - не фп. Я тебя услышал.
Хаскель фп. Камл - мультипарадигменная дристня типа C#.
>Дядь, у тебя совсем с работой головного мозга плохо? Разговор начался с того, что ты в своем посте >>48565 упомянул какой-то код на кложе, который ты видел.
Это не мой пост.
>Авторы раста сами не знают, что они делают, а ты знаешь, я тебя услышал.
Не не, анон, конечно исключительно ты знаешь, что думают авторы раста. Лол.
Раст это типичный пример тенденции десятых годов - "берем фичи из ФП и встраиваем в императивный язык", и авторы говорят о том, что ФП сильно на язык повлияло. Но не о том, что это функциональный язык. Потому что это не так. Попробуй его мануал открыть хотя бы.
>Ой, так все-таки была? А полчаса назад ты говорил, что она неакадемическая. Все-таки последовал моему совету и погуглил?
Если ты внимательно прочитаешь фразу "Как и неакадемическая скала. Вот такая, https://github.com/TinkoffCreditSystems/ScalaDatabase/blob/master/src/main/scala/ru/tcsbank/utils/database/database.scala#L36 , например", а не будешь руководствоваться своим wishful thinking, то поймешь, что неакадемической скалой я называл конкретно код по ссылке https://github.com/TinkoffCreditSystems/ScalaDatabase/blob/master/src/main/scala/ru/tcsbank/utils/database/database.scala#L36
И когда ты это не понял, я это расшифровал. Scala как явление это пиздец. Почему под .NET аналога скалы? Потому C# - хороший язык. А Java плохой. Людям требовалось несколько функциональных фич, а на них вылили ушат этой академической дристни. На которой пишут совершенно неакадемически, а как писали бы на C#.
>Гуманитарий, привет. Ярлычки-наклейки.
Ну да, гуманитарий - это ярлычок. Если ты не понимаешь, что "Из полезности суммы фич, составляющих фп, не следует полезность фп" - истинное утверждение, то у тебя проблемы с логикой. Например, из полезности веревки и мыла по отдельности не следует полезность повешения. Монады, например, заебись, но присваивать с помощью конструкции modifySTRef - это пиздец.
Вот это, например - https://pastebin.com/83RcNCTL это пиздец в сравнении с сишкой.
А самых главный прикол, что D позволяет написать так же красиво, как сишный код, и при этом чистую функцию за счет одного ключевого слова pure. И все. Не надо разъебывать весь язык ради этого. Но D непопулярен, потому что ключевое слово pure на самом деле всем нахуй не сдалось. Потому что проблемы, которое оно бы решало, нет. Если ты пишешь редьюсер для хадупа, наверное у тебя будет мысль, что он должен быть чистым. Ну, есть такое подозрение.
>Ну раз ты с ним не знаком, значит его и нет, согласен.
Чайник Рассела.
>Ну в этом треде ты пока только себя в рот ебешь и раз за разом показываешь свой низкий технический уровень.
Только в твоей проекции, в которой я про скалу гуглю. Мой уровень достаточно высок, чтобы находить ошибки в статьях журнала Monad Reader и получать благодарности от авторов. Что я не осиливаю, это стеки монадных трансформеров. Не потому что это что-то сложное, а потому что примерно на этом этапе ФП превращается из прикольной вещи в суровый пердолинг ради пердолинга.
ФП для меня что-то типа судоку. Это прикольно. И бесполезно. А когда с этим судоку лезут в бизнес - ну, ебанутые, что тут сказать.
>Окей, окамл и хаскель - не фп. Я тебя услышал.
Хаскель фп. Камл - мультипарадигменная дристня типа C#.
>Дядь, у тебя совсем с работой головного мозга плохо? Разговор начался с того, что ты в своем посте >>48565 упомянул какой-то код на кложе, который ты видел.
Это не мой пост.
Все так
>Т.е. ФП это система типов? Тогда раст чисто функциональный язык.
ФП - это комбинирование чистых функций. Чисто функциональный язык - язык, в котором кроме комбинирования чистых функций нет вообще ничего. Вот здесь они перечислены https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Pure .
Как видно, ни скала, ни лиспы в этот список не входят. Зато они находятся в категории impure, вместе с C# и С++.
>Нет, не так, фичи были рождены в контексте конкретной парадигмы и васянами-байтослесарями изобретались бы ещё 50 лет.
Фичи были рождены в академии. В академии любят ФП за его примитивность (нет состояния - проще доказывать корректность всего в своих статьях). Следует ли из этого продвинутость ФП? Нет, только то, что наука - полезная вещь и стоит на нее тратить деньги налогоплательщиков, либо корпорациям содержать отделы типа ms research. Следует ли из этого, что васян типа тебя с ФП-языком в руках перестает быть васяном и становится ученым, придумывающим какие-то там фичи? Нет. Ты такой же васян-байтослесарь, какой и был. Но гонору при этом у тебя, как будто лично ты хиндли и милнер в одном лице.
>Нет, не такая же. И да, фичи языка могут помогать решать проблему стейта. А у тебя логика "нуу эта проблема сложная, буду дальше пердолить глобальные переменные в век SMP".
Такая же. Когда у тебя вместо Int появляется IO Int, никакого решения проблемы у тебя не появляется. Как творилась неведомая ебаная хуйня внутри кода, так и творится. Ну да, якобы это позволяет отделить чистую часть программы от грязной. Но на практике это просто засирает код хуйней типа liftM там, где достаточно было простого комментария. А еще FFI засран хуйней типа unsafePerformIO. То есть получается уловка-22. Если программист знает ФП, то ФП ему не нужно, он будет писать отличный императивный код и этот код будет выглядеть намного более чистым, понятным и прозрачным, чем засранный хуйней типа modifyIORef и liftM код функциональный. А если программист ФП не знает, то вместо изучения ФП достаточно рекомендаций о том, что глобальные переменные использовать не следует.
>Т.е. ФП это система типов? Тогда раст чисто функциональный язык.
ФП - это комбинирование чистых функций. Чисто функциональный язык - язык, в котором кроме комбинирования чистых функций нет вообще ничего. Вот здесь они перечислены https://en.wikipedia.org/wiki/List_of_programming_languages_by_type#Pure .
Как видно, ни скала, ни лиспы в этот список не входят. Зато они находятся в категории impure, вместе с C# и С++.
>Нет, не так, фичи были рождены в контексте конкретной парадигмы и васянами-байтослесарями изобретались бы ещё 50 лет.
Фичи были рождены в академии. В академии любят ФП за его примитивность (нет состояния - проще доказывать корректность всего в своих статьях). Следует ли из этого продвинутость ФП? Нет, только то, что наука - полезная вещь и стоит на нее тратить деньги налогоплательщиков, либо корпорациям содержать отделы типа ms research. Следует ли из этого, что васян типа тебя с ФП-языком в руках перестает быть васяном и становится ученым, придумывающим какие-то там фичи? Нет. Ты такой же васян-байтослесарь, какой и был. Но гонору при этом у тебя, как будто лично ты хиндли и милнер в одном лице.
>Нет, не такая же. И да, фичи языка могут помогать решать проблему стейта. А у тебя логика "нуу эта проблема сложная, буду дальше пердолить глобальные переменные в век SMP".
Такая же. Когда у тебя вместо Int появляется IO Int, никакого решения проблемы у тебя не появляется. Как творилась неведомая ебаная хуйня внутри кода, так и творится. Ну да, якобы это позволяет отделить чистую часть программы от грязной. Но на практике это просто засирает код хуйней типа liftM там, где достаточно было простого комментария. А еще FFI засран хуйней типа unsafePerformIO. То есть получается уловка-22. Если программист знает ФП, то ФП ему не нужно, он будет писать отличный императивный код и этот код будет выглядеть намного более чистым, понятным и прозрачным, чем засранный хуйней типа modifyIORef и liftM код функциональный. А если программист ФП не знает, то вместо изучения ФП достаточно рекомендаций о том, что глобальные переменные использовать не следует.
Да, сегодня вот две карты в щель упали, всем цехом снимали решетку.. стажеру пизды дали
Ты не понял. Я к тому, что какая разница как называть локальные переменные? Кому какое дело как это написано? У функции/модуля есть осмысленный публичный интерфейс. Если этого интерфейса не достаточно, приходится лезть в кишки и разбираться как это работает, то виноват, конечно же, архитектор, в крайнем случае - двоечник, посадивший в код багу.
Короткие названия обычно юзаются где и так все понятно: название модуля/функции задает контекст, например, в каком-нибудь get_impulse даже последнему еблану будет понятно что такое v и m в локальных переменных. Или в параметрически полиморфных функциях, где вообще не важно что такое x и xs, как в у функции map (x:xs) = x : map xs например.
>Если этого интерфейса не достаточно, приходится лезть в кишки и разбираться как это работает
Он у нас домашний и не знает что такое код ревью.
Баги ты тоже по "этому интерфейсу" ловить будешь?
Иди отсюда.
ой я же каждый день это делаю
Мы используем код ревью для поиска возможных багов и обучения новичков. Доябываться до названий переменных, если и так все понятно, могут только дауны с синдромом вахтёра.
>ФП - это комбинирование чистых функций. Чисто функциональный язык - язык, в котором кроме комбинирования чистых функций нет вообще ничего.
Понятно, ты путаешь purely functional и functional. Это раз.
Приведи пример яыков в которых кроме "чистых функций нет вообще ничего". Это два. по твоему линку в языках кроме чистых функций есть много чего
>Фичи были рождены в академии. В академии любят ФП за его примитивность (нет состояния - проще доказывать корректность всего в своих статьях). Следует ли из этого продвинутость ФП? Нет, только то, что наука - полезная вещь и стоит на нее тратить деньги налогоплательщиков, либо корпорациям содержать отделы типа ms research. Следует ли из этого, что васян типа тебя с ФП-языком в руках перестает быть васяном и становится ученым, придумывающим какие-то там фичи? Нет. Ты такой же васян-байтослесарь, какой и был. Но гонору при этом у тебя, как будто лично ты хиндли и милнер в одном лице.
Отлично, ты признаёшь, что васяны-байтаслесари не осилили бы сами придумать функциональные фичи, которые сейчас во всех популярных языках программирования есть. Уже хорошо. Т.е. ФП пиздатая штука оказывается, позволяет придумывать полезные абстракции. Про примитивность РЖОМБА просто. У тебя ёбаная оливьешка в голове, ты путаешь лямбда калькулюс с конкретными языками, ничего не знаешь про машину тюринга и тот же ламбда калькулюс и связь между ними.
>Такая же. Когда у тебя вместо Int появляется IO Int, никакого решения проблемы у тебя не появляется. Как творилась неведомая ебаная хуйня внутри кода, так и творится. Ну да, якобы это позволяет отделить чистую часть программы от грязной. Но на практике это просто засирает код хуйней типа liftM там, где достаточно было простого комментария. А еще FFI засран хуйней типа unsafePerformIO. То есть получается уловка-22. Если программист знает ФП, то ФП ему не нужно, он будет писать отличный императивный код и этот код будет выглядеть намного более чистым, понятным и прозрачным, чем засранный хуйней типа modifyIORef и liftM код функциональный. А если программист ФП не знает, то вместо изучения ФП достаточно рекомендаций о том, что глобальные переменные использовать не следует.
Хватит выкладывать говно из своей головы в тред. Причём тут нахуй IO Int? Погугли что такое SMP.
>Такая же.
Не такая же.
>ФП - это комбинирование чистых функций. Чисто функциональный язык - язык, в котором кроме комбинирования чистых функций нет вообще ничего.
Понятно, ты путаешь purely functional и functional. Это раз.
Приведи пример яыков в которых кроме "чистых функций нет вообще ничего". Это два. по твоему линку в языках кроме чистых функций есть много чего
>Фичи были рождены в академии. В академии любят ФП за его примитивность (нет состояния - проще доказывать корректность всего в своих статьях). Следует ли из этого продвинутость ФП? Нет, только то, что наука - полезная вещь и стоит на нее тратить деньги налогоплательщиков, либо корпорациям содержать отделы типа ms research. Следует ли из этого, что васян типа тебя с ФП-языком в руках перестает быть васяном и становится ученым, придумывающим какие-то там фичи? Нет. Ты такой же васян-байтослесарь, какой и был. Но гонору при этом у тебя, как будто лично ты хиндли и милнер в одном лице.
Отлично, ты признаёшь, что васяны-байтаслесари не осилили бы сами придумать функциональные фичи, которые сейчас во всех популярных языках программирования есть. Уже хорошо. Т.е. ФП пиздатая штука оказывается, позволяет придумывать полезные абстракции. Про примитивность РЖОМБА просто. У тебя ёбаная оливьешка в голове, ты путаешь лямбда калькулюс с конкретными языками, ничего не знаешь про машину тюринга и тот же ламбда калькулюс и связь между ними.
>Такая же. Когда у тебя вместо Int появляется IO Int, никакого решения проблемы у тебя не появляется. Как творилась неведомая ебаная хуйня внутри кода, так и творится. Ну да, якобы это позволяет отделить чистую часть программы от грязной. Но на практике это просто засирает код хуйней типа liftM там, где достаточно было простого комментария. А еще FFI засран хуйней типа unsafePerformIO. То есть получается уловка-22. Если программист знает ФП, то ФП ему не нужно, он будет писать отличный императивный код и этот код будет выглядеть намного более чистым, понятным и прозрачным, чем засранный хуйней типа modifyIORef и liftM код функциональный. А если программист ФП не знает, то вместо изучения ФП достаточно рекомендаций о том, что глобальные переменные использовать не следует.
Хватит выкладывать говно из своей головы в тред. Причём тут нахуй IO Int? Погугли что такое SMP.
>Такая же.
Не такая же.
> Почему под .NET аналога скалы? Потому C# - хороший язык.
F#, очередной обсёр от тебя, специалиста в "ФП".
>Мой уровень достаточно высок, чтобы находить ошибки в статьях журнала Monad Reader и получать благодарности от авторов.
Ой блять, смешно, по количеству винегрета из хуеты, которую ты выдаешь тут
по кд видно, какой пиздец у тебя в голове. Называешь пейпер на хакирскую тематику "определением" какой-то дрисни. Называешь purely functional — FP, а всё остальное императивщиной лол блять. Вместо аргументов высираешь абзацы бесзвязного эмоционального говна уровня "нуу мне не нравится писать liftM". Путаешь все понятия, которые только блять можно спутать. Утверждения без аргументов "Это электроника тяготит к stateless dataflow дизайну. Математика тяготит к чему-то разумному, вечному А процессор с императивной программой - интеллектуальный шаг вперед. ФП - шаг назад."
Ты себя уже все штаны засрал, кароче, прими таблеточки и иди пиши на няшной джаве.
>Но на практике это просто засирает код хуйней типа liftM
Лол, засирать лифтами код будет только полный кретин. Нормальные люди оборачивают эту низкоуровневую поебень в функции с удобочитаемыми названиями.
Пиздец ты конечно
Сука питон не трожь блять
Услышал громкий треск маня-мирка.
Любитель гвидобейсика закукарекал.
Не теряйте
динах
Чтобы смотреть как циклы томозят как на 80386 машине
У себя на диване?
Сделай себе смузи и почитай http://evincarofautumn.blogspot.com/2012/02/why-concatenative-programming-matters.html ок да? Может изменит твоё мнение.
>f = drop dup dup × swap abs rot3 dup × swap − +
Дропнуть, продублировать, продублировать, перемножить, поменять местами, взять абсолютное значение, продублиовать, перемножить, поменять местами, вычесть, сложить.
Как будто инструкцию по приготовлению супа прочел. Императивщина.
Поддерживаю
Как же заебали эти языки в которых можно делать все, но когда начинаешь спрашивать про конкретное применение все сворачиватся к "Ну там есть библиотека для этого, но она пока не очень развита. Лучше по старому."
Тоже бесят языки, авторы которых не вкладываются в стандартную библиотеку, а раздувают маркетинговый пузырь за эти деньги
> JavaScript
> Превратится в тыкву сразу же, как только потеряет монополию в браузерах
А есть предпосылки? Кто еще на подходе?
Dart
1. Полная кроссмонополия на телефоны с новой ОС
2. Новая ОС которая будет в каждом компухтере
3. И как следствие единый язык для веба.
Но на самом деле нет, как говорят js имеет жесткие коммерческие корни, они скорее будут плакать и грызть v8, чем отдадут так просто js
Если в хром, который сейчас топ и по сути уже монополист, добавит дарт vm и там мне напишут как бэкенд пилить, я укачусь в дарт с вероятность 99%
Я так понимаю речь об этом (первого абзаца достаточно).
https://news.dartlang.org/2015/03/dart-for-entire-web.html
В общем, если я не ошибаюсь так как мне похер и я не слежу, они решили вместо vm в хроме - улучшить интеграцию в js дарта и сам V8, мол так все хотели и просили что выглядит имхо как "идите нафиг со своим дартом, пили javascript и не парте мозг"
Является ли дарт годный и нужным продуктом, большой вопрос. Мне искренне не нравится та лапша в UI, которую они подают во флаттере.
Судя по этим дартам и го, гугл вообще не париться с тем чтобы делать хороший дизайн в языках.
Благо МС все еще понимаю и уважают девелоперов и пилят норм инструменты (как языки, так и IDE)
>Весь оп-пост состоит из маняфантазий первокурсника чуть более, чем полностью.
Сказал выпускник старших классов.
Idris
+Очень хорош, если ты шотландец по имени Эдвин Брэди
-Кроме Эдвина он больше никому в принципе и не нужен.
А в чем проблема сделать что браузер поддерживал и дарт и джс, никаких технических трудностей ведь нету.
Flash умер за 2 года.
А казалось, что это неизбежное будущее и даже уже настоящее, когда появлялось куча сайтов полностью на фэлэше.
Ну, десять сайтов на флеше(параша) переписать проще и дешевле, чем 7 миллиардов сайтов на элитном JS (Долгой ему жизни)
Двачую этого господина.
Жабаскрипт прибьют лишь потому, что для годного и сложного
в будущем UI нужен будет язык со статической типизацией а в дальнейшем, неожиданно, компиляцией, которая недостижима в динамике (ну или без оптимизации через жопу).
В том числе речь уже о полноценном 3D и играх в браузере не думаю что самому гуглу это нужно, так как в маркет не засунуть, но вот тем кто будет писать их, ваш js нахер не нужен
По-моему эликсиротред где-то был.
Школьник не понимает что такое 3D и путает с флешем.
Игры то и пропали, потому как вам подсунули html5 который для этого не пригоден, чтобы отбить рынок для мобильных игр. Трудно было бы маркеты запилить, если игровая индустрия могла развиваться в вебе в том числе и для игр
> подсунули
Как будто потребитель - разработчик и пользователь - ни сам это решает, какой технологией ему пользоваться.
и тайп
nginx единственное пригодное и шустрое для веба, в отличие от всяких встроенных серверов у жабы или го или еще у кого, у которых нет даже базовых защитных настроек люди реально пилили продукт с оглядкой на опыт и хардкор веба, а не аутировали на тупые фантазии.
У нас в унике преподается С. Есть курс Параллельных вычислительных технологий. Там были задачки типа умножения матрицы на вектор, и нужно было вычислить, сколько байт занимает матрица с вектором, ну и максимально возможный размер, который
вычислительный кластер может сожрать.
Ну и еще байтоебля была, когда проходили основы оптимизации кода, там оптимизировали доступ к кеш-памяти кластера, там пришлось считать байтики, чтобы меньше кеш-миссов было.
К сожалению я по специальности не работаю, еще учусь, так что не знаю, часто ли приходиться на практике с этими байтиками ебаться на С/С++.
>Школьник не понимает что такое 3D и путает с флешем.
Держи в курсе. Мне-то зачем об этом писать?
У меня он на 4к доменах и 8гигах падает сука при наплыве ботов. А мне еще надо добавить минимум 30-40к доменчиков.
На что они там ориентировались, если каждый хост выжирает памяти и пизда?
Мне нужно, чтобы одна штука всего висела и в одном потоке ловко раскидывала коннекты с 80-го порта по другим. Я думал, это nginx, а оказалась, залупа.
Тебе говорят что ты тупой, потому что не отличаешь флеш-мулто игры от 3D. Но ты и это не понял.
>Мне нужно, чтобы одна штука всего висела и в одном потоке ловко раскидывала коннекты с 80-го порта по другим
Там где начнет падать nginx, другое давно уже не будет работать.
Никто и никогда не прибьет JavaScript (c)
Илюша, не матерись
Надеюсь что не надолго, мне лень учить новый язык и конкурировать с остальными вкатывальщиками.
Да.
Но они взяли F
EEE
Очевидно будущее за котлином
Этот код можно и нужно сделать во много раз читаемее, тупо вынеся блямбды-хуямбы в отдельные переменные с "говорящими" именами. Проблема не в ФП как таковом, а в том, что его адепты обчитались Фаулера с его избеганием лишних переменных, а своей башкой не думают.
Это внезапно в основном ООП код.
Там из "фп" - один вызов map ну мы же в 2019 считаем жс и джаву фп-языками, да?, все остальное - обычный билдер паттерн. Просто шизохейтеры типа того, кому ты отвечаешь, обычно не разбираются ни в фп, ни в ооп, вот и несут хуйню.
Алсо, если у кого-то возникают проблемы при чтении этого кода, то возможно им стоит задуматься о смене деятельности.
мимо
>тупо вынеся блямбды-хуямбы в отдельные переменные с "говорящими" именами
Чел только что придумал функции, офигеть просто.
>тупо вынеся блямбды-хуямбы в отдельные переменные с "говорящими" именами
Наивный студент верит, что кому то важен его творческий высер, вместо штамповки конвейером понятного кода.
Настоящие программирование это не маня-стартапы каждый день, настоящие программирование это 90% сопровождение старого кода, и всякие лямбды, лапше-билдеры в виде стримов - нафиг никому не нужно.
Серьезно, если человек не понимает, тупо идет на увольнение, так как это и есть "работа в команде", чтобы твой код могли бегло читать
>>FIX
>кого-то возникают проблемы при чтении этого кода, то возможно им стоит задуматься о смене деятельности
Это копия, сохраненная 10 апреля 2019 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.