Re[5]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: varenikAA  
Дата: 17.09.19 02:52
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, varenikAA, Вы писали:


AA>>>>Исчезает двойственность и противоречивость си-подобных языков в которых нужно следить за порядком следования операторов.

ARK>>>Честно говоря, не уловил, в чем именно двойственность и противоречивость. И что значит "следить за порядком операторов". Нельзя ли немного раскрыть вопрос?
AA>>
AA>>var a = 2 * 3 + 1;
AA>>


AA>>
AA>;>(+ 1 (* 2 3))
AA>;>


AA>>
AA>>var a = 2 * (3 + 1);
AA>>


AA>>
AA>;>(* 2 (+ 3 1))
AA>;>


ARK>Ну, это не проблема си-подобного синтаксиса и императивного программирования. Если этот момент так важен, то достаточно потребовать обязательности скобок (и убрать приоритеты операторов за ненадобностью). Никто не утверждает, что императивный синтаксис надо копировать целиком и полностью.


Проблемы как таковой нет, есть убежденность большинства программистов, что синтаксис не важен.
Но синтаксис это и семантика, поэтому Рич Хикки и разработал clojure. И Пол Грэхэм хвалил Lisp.
И хотя кложа работает поверх jvm был выбран не си-подобный синтаксис, а гомоиконный.
Интуитивная семантика позволяет проще и яснее выражать логику программы.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[6]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: AlexRK  
Дата: 17.09.19 05:06
Оценка:
Здравствуйте, varenikAA, Вы писали:

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


Не "большинства", а "некоторых". И, по моему ощущению, этих некоторых скорее меньшинство.

AA>И Пол Грэхэм хвалил Lisp.


Только вот его творение с лиспа на Ц++ переписали, потому что никто не мог его поддерживать.

AA>И хотя кложа работает поверх jvm был выбран не си-подобный синтаксис, а гомоиконный.


Поверх JVM сделана куча языков с самыми разными синтаксисами, кложуре всего лишь один из них, и не самый популярный.

AA>Интуитивная семантика позволяет проще и яснее выражать логику программы.


Недоказуемое утверждение.
Re[7]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: varenikAA  
Дата: 17.09.19 07:07
Оценка:
Здравствуйте, AlexRK, Вы писали:


ARK>Поверх JVM сделана куча языков с самыми разными синтаксисами, кложуре всего лишь один из них, и не самый популярный.

Куча, но кложа очень стремительно набирает популярность в отличии от например груви.

AA>>Интуитивная семантика позволяет проще и яснее выражать логику программы.


ARK>Недоказуемое утверждение.

Если язык не допускает двойственного толкования в зависимости от контекста, разве не будет такой язык проще и надежней?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[8]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: AlexRK  
Дата: 17.09.19 07:54
Оценка:
Здравствуйте, varenikAA, Вы писали:

ARK>>Поверх JVM сделана куча языков с самыми разными синтаксисами, кложуре всего лишь один из них, и не самый популярный.

AA>Куча, но кложа очень стремительно набирает популярность в отличии от например груви.

Точно?

Вот тут написано обратное: https://habr.com/ru/post/467207/

https://habr.com/ru/post/467207/#comment_20628985:

Судя по графику, Clojure за 3 года потерял около 5% популярности. Язык всё ещё высоко, но тенденция не слишком обнадёживающая.


https://habr.com/ru/post/467207/#comment_20630269

Мы сконтрабандили проект на Clojure втихую, но оказалось, что любителей на нем программировать в нашей компании раз-два и обчелся. В итоге после долгих обсуждений переписали проект на Python c Luigi.


Или вот:
https://tonsky.livejournal.com/322036.html
https://tonsky.livejournal.com/322450.html
https://tonsky.livejournal.com/322700.html

А вот и на этом форуме:

http://rsdn.org/forum/job/7349095.1
Автор: Тёмчик
Дата: 16.01.19

Попросили незаконченный микросервис переписать на жаву. С мотивацией, что никто в команде его не сможет/не захочет поддерживать на clojure, и нужно думать о сроках, влиять на людей.


http://rsdn.org/forum/job/7494929.1
Автор: $$
Дата: 16.07.19

Пока я внедрял State Chart паттерн в UI, очередной ниасиливший клоюру деятель заменил код на жаву на бекенде.
С одной стороны, это было неизбежно. С другой- бесит.


Похоже, "не всё так однозначно" (с)

AA>>>Интуитивная семантика позволяет проще и яснее выражать логику программы.

ARK>>Недоказуемое утверждение.
AA>Если язык не допускает двойственного толкования в зависимости от контекста, разве не будет такой язык проще и надежней?

Напрямую из "язык не допускает двойственного толкования в зависимости от контекста" НЕ следует, что "такой язык будет проще и надежней". Потому что это только один фактор, а факторов много, и они разного веса. Кроме того, абстрагирование и полиморфизм — это не что иное, как "двойственное толкование в зависимости от контекста", так что язык без какого-либо "двойственного толкования в зависимости от контекста" будет крайне негибким. И даже слово "проще" само по себе не такое простое — в одном месте проще, в другом геморройнее.
Re[6]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.09.19 08:47
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Интуитивная семантика позволяет проще и яснее выражать логику программы.


Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.
Re[7]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Poopy Joe Бельгия  
Дата: 17.09.19 08:59
Оценка: -1
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, varenikAA, Вы писали:


AA>>Интуитивная семантика позволяет проще и яснее выражать логику программы.


I> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


Когда разумные аргументы заканчиваются начинаются отсылки к "миллион мух не может ошибаться" и прочие передергивания...
Re[8]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.09.19 09:17
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

I>> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


PJ>Когда разумные аргументы заканчиваются начинаются отсылки к "миллион мух не может ошибаться" и прочие передергивания...


Разумные аргументы известны сто лет в обед. Императивное програмимрование
— соответсвует мышлению человека — сделай то, сделай это и тд. Точно таким же языком большинство общаются друг с другом — сделай то, сделай это. Ребенок только родился, а с ним вот так вот разговаривают.
— соответсвует тому, как работает процессор, а следовательно максимум перформанса выдают именно императивные языки

Если взять функционалистов, то им вечно чтото мешает — то разрабы не те, то начальство, то требования, то железо. Типичный функционалист на обычных девелоперов смотрит свысока, называет "обезьяны", "дуболомы", "мухи" и тд.
Re[9]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Klikujiskaaan КНДР  
Дата: 17.09.19 09:21
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, Poopy Joe, Вы писали:


I>>> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


PJ>>Когда разумные аргументы заканчиваются начинаются отсылки к "миллион мух не может ошибаться" и прочие передергивания...


I>Разумные аргументы известны сто лет в обед. Императивное програмимрование

I>- соответсвует мышлению человека — сделай то, сделай это и тд. Точно таким же языком большинство общаются друг с другом — сделай то, сделай это. Ребенок только родился, а с ним вот так вот разговаривают.
I>- соответсвует тому, как работает процессор, а следовательно максимум перформанса выдают именно императивные языки

I>Если взять функционалистов, то им вечно чтото мешает — то разрабы не те, то начальство, то требования, то железо. Типичный функционалист на обычных девелоперов смотрит свысока, называет "обезьяны", "дуболомы", "мухи" и тд.



Ты сейчас описал Шеридана от мира ФП, хотя я вижу он в этой теме уже есть
Re[9]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Poopy Joe Бельгия  
Дата: 17.09.19 09:29
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Разумные аргументы известны сто лет в обед. Императивное програмимрование

I>- соответсвует мышлению человека — сделай то, сделай это и тд. Точно таким же языком большинство общаются друг с другом — сделай то, сделай это. Ребенок только родился, а с ним вот так вот разговаривают.
I>- соответсвует тому, как работает процессор, а следовательно максимум перформанса выдают именно императивные языки

Очень я хочу посмотреть на такой нормальный разговор с человеком. Вместо, дорогая я хочу чаю — дорогая, встань, повернись, сделать три шага, повернись, посмотри на чайник, включи чайник, итд...

I>Если взять функционалистов, то им вечно чтото мешает — то разрабы не те, то начальство, то требования, то железо. Типичный функционалист на обычных девелоперов смотрит свысока, называет "обезьяны", "дуболомы", "мухи" и тд.


Я тут вижу ровно обратное. То синтаксис императивщикам мешает, образ мышления, то яйца...
А уж отсутствие высокомерия так и прет http://rsdn.org/forum/philosophy/7542493.1
Автор: IT
Дата: 13.09.19
Re[7]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: varenikAA  
Дата: 17.09.19 09:53
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, varenikAA, Вы писали:


AA>>Интуитивная семантика позволяет проще и яснее выражать логику программы.


I> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


Сила привычки. Большинство контор работает по старинке.
Думаю ФП и прочее более свойственно независимым и молодым разрабам.

Если я пришел в контору где разработка ведется на C#, прохожу собес,
сажусь за проект, через два дня коммит на F#.
Какая реакция будет?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[8]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: ltc  
Дата: 17.09.19 09:54
Оценка:
Здравствуйте, Ikemefula, Вы писали:

I>Мы можем моделировать разные вещи при помощи Integer. При этом тип будет HouseNumber, Identifier, Key, Index и тд. Соответсвенно типы разные, а какая унутре неонка — дело десятое.


А какие ныне существуют языки, которые позволяют легко подобное делать?
Re[9]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: AlexRK  
Дата: 17.09.19 10:37
Оценка:
Здравствуйте, ltc, Вы писали:

I>>Мы можем моделировать разные вещи при помощи Integer. При этом тип будет HouseNumber, Identifier, Key, Index и тд. Соответсвенно типы разные, а какая унутре неонка — дело десятое.


ltc>А какие ныне существуют языки, которые позволяют легко подобное делать?


Ada?
Re[8]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Sharov Россия  
Дата: 17.09.19 11:21
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Если я пришел в контору где разработка ведется на C#, прохожу собес,

AA>сажусь за проект, через два дня коммит на F#.
AA>Какая реакция будет?

Как на неадекватного человека. Нужен же C# программист, и вроде все все поняли, зачем F#? А если Вы уволитесь, что с ентим кодом делать, как поддерживать? Потерянное время и деньги?
Кодом людям нужно помогать!
Re[9]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: alex_public  
Дата: 17.09.19 15:07
Оценка:
Здравствуйте, ltc, Вы писали:

I>>Мы можем моделировать разные вещи при помощи Integer. При этом тип будет HouseNumber, Identifier, Key, Index и тд. Соответсвенно типы разные, а какая унутре неонка — дело десятое.

ltc>А какие ныне существуют языки, которые позволяют легко подобное делать?

Можно даже пойти дальше, например ввести зависимости между типами. Более того, это всё можно увидеть в готовой библиотечке (https://www.boost.org/doc/libs/1_71_0/doc/html/boost_units.html) привносящей ровно 0 накладных расходов.
Re[8]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.09.19 16:44
Оценка:
Здравствуйте, varenikAA, Вы писали:

I>> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


AA>Сила привычки. Большинство контор работает по старинке.


Это назвается теория заговора.

AA>Думаю ФП и прочее более свойственно независимым и молодым разрабам.


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

Вот что бы был девелопер со слабой квалификацией и херачил на ФП — за двадцать лет такого ни разу не видел.

AA>Если я пришел в контору где разработка ведется на C#, прохожу собес,

AA>сажусь за проект, через два дня коммит на F#.
AA>Какая реакция будет?

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

80% задач на любом проекте это несложная рутина. Люди естественно хотят сэкономить и берут джунов и миддлов. Такова природа вещей.

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

С этой рутиной одна проблема — её 'ужать' нельзя. Если простые задачи у джуна занимают день, то и у сеньора они как правило занимают примерно столько же. Это при условии, что джун уже освоился в проекте и это не новые задачи для него.

Разница в том, что сеньору это все уже набило оскомину. А вот джуну и мидлу — нет. Соответсвенно, миддл это такой девелопер, который пишет почти весь рутинный код. Где брать миддлов, которые умеют ФП на раз лично мне не ясно. Единицы встречаются, но так что бы массов — это сильно вряд ли.
Re[10]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
От: Ikemefula Беларусь http://blogs.rsdn.org/ikemefula
Дата: 17.09.19 16:54
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

I>>Разумные аргументы известны сто лет в обед. Императивное програмимрование

I>>- соответсвует мышлению человека — сделай то, сделай это и тд. Точно таким же языком большинство общаются друг с другом — сделай то, сделай это. Ребенок только родился, а с ним вот так вот разговаривают.
I>>- соответсвует тому, как работает процессор, а следовательно максимум перформанса выдают именно императивные языки

PJ>Очень я хочу посмотреть на такой нормальный разговор с человеком. Вместо, дорогая я хочу чаю — дорогая, встань, повернись, сделать три шага, повернись, посмотри на чайник, включи чайник, итд...


Из того, что ты хочешь чаю, не совсем понятно, почему жена должна стараться.
Гораздо чаще встречается вариант "Валя-Оля-Катя сделай мне пожалуйста чаю".
В магазине "подайте мне вон тот чай"
При этом ребенок сначала осваивает императивный язык. Ему только предстоит осознать "я хочу",без этого никак. А до этого "пить", "в туалет", "а-а-а".
И кстати, новоиспеченный менеджер именно так и разговаривает с девелоперами — "посмотри, погугли, напиши, отправь, сделай и тд". Называется микроменеджмент — явление распространено чуть более, чем повсеместно.

I>>Если взять функционалистов, то им вечно чтото мешает — то разрабы не те, то начальство, то требования, то железо. Типичный функционалист на обычных девелоперов смотрит свысока, называет "обезьяны", "дуболомы", "мухи" и тд.


PJ>Я тут вижу ровно обратное. То синтаксис императивщикам мешает, образ мышления, то яйца...

PJ>А уж отсутствие высокомерия так и прет http://rsdn.org/forum/philosophy/7542493.1
Автор: IT
Дата: 13.09.19


ИТ применяет функциональное сто лет в обед.
Re[11]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
От: Poopy Joe Бельгия  
Дата: 17.09.19 18:15
Оценка:
Здравствуйте, Ikemefula, Вы писали:


PJ>>Очень я хочу посмотреть на такой нормальный разговор с человеком. Вместо, дорогая я хочу чаю — дорогая, встань, повернись, сделать три шага, повернись, посмотри на чайник, включи чайник, итд...


I>Из того, что ты хочешь чаю, не совсем понятно, почему жена должна стараться.

I>Гораздо чаще встречается вариант "Валя-Оля-Катя сделай мне пожалуйста чаю".

И это тоже не императивный запрос, действия по шагам ты так же не расписываешь. Не благодари.

I>В магазине "подайте мне вон тот чай"

I>При этом ребенок сначала осваивает императивный язык. Ему только предстоит осознать "я хочу",без этого никак. А до этого "пить", "в туалет", "а-а-а".

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

I>И кстати, новоиспеченный менеджер именно так и разговаривает с девелоперами — "посмотри, погугли, напиши, отправь, сделай и тд". Называется микроменеджмент — явление распространено чуть более, чем повсеместно.


И опять по шагам ничего не расписано, то что что нужно сделать. Чистая функциональщина в твоем определении.
В голове императивного программиста происходит не описание действий, которые надо выполнить, как ты тут изображаешь, а жонглирования 100500 зависимостями и прочими побочными эффектами размазанными по программе. И получается ровно как в комиксе



I>ИТ применяет функциональное сто лет в обед.


Конечно применяет. А кто с этим спорил?
Re[9]: Мнение: объектно-ориентированное программирование — катастрофа на триллио
От: varenikAA  
Дата: 18.09.19 01:38
Оценка: 4 (1) -1
Здравствуйте, Ikemefula, Вы писали:

I>Здравствуйте, varenikAA, Вы писали:


I>>> Остаётся загадкой, почему такая волшебная палочка не используется в массах. Люди тратят газилиарды долларов на тупую императивщину и ооп. Дураки, не знают что кложа одной строчкой решит все проблемы человечества.


AA>>Сила привычки. Большинство контор работает по старинке.


I>Это назвается теория заговора.


AA>>Думаю ФП и прочее более свойственно независимым и молодым разрабам.


I>А я вижу, что ФП встречается среди людей или с большим опытом, или с математическим бекграундом. При чем обязательно довольно сложные задачи, а следовательно высокая квалификация.


I>Вот что бы был девелопер со слабой квалификацией и херачил на ФП — за двадцать лет такого ни разу не видел.


AA>>Если я пришел в контору где разработка ведется на C#, прохожу собес,

AA>>сажусь за проект, через два дня коммит на F#.
AA>>Какая реакция будет?

I>Это конь в вакууме. Технологии на проект выбираются часто совсем не девелоперами, т.к. надо учесть, например, рынок труда. Если HR хватается за голову,когда ей говорят искать функционалистов, то это само за себя говорит.


I>80% задач на любом проекте это несложная рутина. Люди естественно хотят сэкономить и берут джунов и миддлов. Такова природа вещей.


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


I>С этой рутиной одна проблема — её 'ужать' нельзя. Если простые задачи у джуна занимают день, то и у сеньора они как правило занимают примерно столько же. Это при условии, что джун уже освоился в проекте и это не новые задачи для него.


I>Разница в том, что сеньору это все уже набило оскомину. А вот джуну и мидлу — нет. Соответсвенно, миддл это такой девелопер, который пишет почти весь рутинный код. Где брать миддлов, которые умеют ФП на раз лично мне не ясно. Единицы встречаются, но так что бы массов — это сильно вряд ли.


Вообщем-то согласен, частично.
Но с утра еще одна причина в голову пришла неиспользования ФП и других хороших ЯП — современные языки (и ФП — как будущее программирования)
идут по пути все большего ограничения возможностей (из книги "Чистая архитектура" Р.М.):
1. Структурное программирование накладывает ограничение на прямую передачу управления.
2. Объектно-ориентированное программирование накладывает ограничение на косвенную передачу управления.
3. Функциональное программирование накладывает ограничение на присваивание.

Естественно, человек ленив, ему проще сделать легче, чем думать как без внутреннего состояния закодить логику.
Поэтому состоявшийся специалист редко смотрит с восхищением на связывание символов со значениями.
Ему проще по адресу значение изменить и не париться с цепочкой монадических вычислений.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[10]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
От: Poopy Joe Бельгия  
Дата: 18.09.19 04:53
Оценка:
Здравствуйте, varenikAA, Вы писали:

AA>Поэтому состоявшийся специалист редко смотрит с восхищением на связывание символов со значениями.

AA>Ему проще по адресу значение изменить и не париться с цепочкой монадических вычислений.
Интересное определение специалиста. Видимо следующий шаг настоящего мастера это говнокодить спагетти код.
Re[11]: Мнение: объектно-ориентированное программирование — катастрофа на трилли
От: varenikAA  
Дата: 18.09.19 05:43
Оценка:
Здравствуйте, Poopy Joe, Вы писали:

PJ>Здравствуйте, varenikAA, Вы писали:


AA>>Поэтому состоявшийся специалист редко смотрит с восхищением на связывание символов со значениями.

AA>>Ему проще по адресу значение изменить и не париться с цепочкой монадических вычислений.
PJ>Интересное определение специалиста. Видимо следующий шаг настоящего мастера это говнокодить спагетти код.

Во-первых, любой код — овно. Тут важно с какой стороны смотреть.
Во-вторых, нормальное определение. Плюсы прямой работы с памятью — скорость работы ПО. Плюсы монад в определенности вычислений.
спагетти код не есть зло в чистом виде. Ценность программы не в изящном применении паттернов, а в том, выполняет ли она поставленную задачу.
☭ ✊ В мире нет ничего, кроме движущейся материи.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.