Здравствуйте, LaptevVV, Вы писали:
LVV>Слава Богу в своем возрасте понимаю, что там пишет Чукич про функциональщину.
Надо бы это вставить в ту ветку, где ты этого Чукича рекламировал, но искать лень.
Полкнижки честно прочитал, столько воды я давно не видел. Да и то, что не вода — то — банальщина. Зря выкинутые деньги. По твоей рекомендации, кстати, решил приобрести.
И да. Я и раньше без всяких чукичей пробовал в таком стиле писать. Но это огромные просадки по производительности. Сейчас попробовал опять, думал, что может, на современных компиляторах и библиотеках стало получше — но нет, всё тормоза на месте.
И да, я припоминаю, кто-то тебе аналогичное говорил, ты там ответил в духе: "Ну, если ты такой крутой программист, то может тебе Чукич и не голова...". Так вот, я лично себя каким-то выдающимся программистом не считаю. Просто Чукич ни разу не голова, а водяной
ЗЫ Решил пробежаться дальше, глянуть, чего там еще есть.
Ну, страничка про каррирование показалась интересной — не особо сталкивался с этим понятием. Интересный там вывод получился: каррирование не удобно использовать (в C++), поэтому сделаем фанку make_curried, которая обладает дополнительным удобством — её результат можно вызывать сразу с несколькими аргументами. Офигенски. Мурыжились мурыжились, и через жопу сделали ту же старую добрую императивщину, которую гораздо удобнее использовать.
Страничка про ленивые вычисления забавна, хотя ничего особо нового там нет.
Сопоставление с образцом интересно. Про монады еще пара страничек.
В общем, Там страничек 50 от силы, которые полезно прочитать. Зачем разводить желе на 350 страниц — совершенно непонятно. Студням-троекурам может и полезна, но вообще — ффтопку. И денег своих она явно не стоит.
г.Kluev очень красочно описывает, какую диверсию заложили авторы STL, использовав беззнаковые целые для индексов и размерностей. А по ссылке как раз пример, который мог бы иллюстрировать возмущение г.Kluev-а. А я лично не понял, зачем там stepCounter_ в виде int-а хранится.
Здравствуйте, Dair, Вы писали:
D>Повторяю тезис: учёные не должны писать production-код.
Вы можете повторять его без всякой пользы до тех пор, пока не определите, что такое "production-код". Подсказка: то, чем они занимаются в основном — и для чего им нужно программирование — это не "production-код" в привычном понимании, когда код пишется, тестируется, компилируется, собирается, поставляется определёнными пакетами, которые дальше используются целиком.
И именно для этого им нужен язык, который не будет требовать многолетнего обучения типа "19 видов инициализации" — все эти тонкости должны быть скрыты под простым, понятным интерфейсом без коварных свойств.
N>>Возможность физику напрямую опробовать математику, которую он знает, математику — напрямую без посредников написать код и получить мгновенное отображение результата — более чем критически важна для того, чтобы работать с нормальной скоростью и не терять сутки и неделю на ожидание работы посредников.
D>Верно, но я говорил не про "попробовать", а про "работать".
Это и есть их работа. >90% этой работы, в измерении человеческих затрат, это проба относительно простых моделей с немедленным овеществлением результатов — таблицами, графиками и т.п.
В машинном времени, конечно, это не так, и на подобные пробы остаётся дай бог чтобы 1% — остальное в случае CERN это что-то вроде поиска следов распада в историях коллайдера, который выполняют HPC кластеры. Но и эти средства могут использоваться через понятные переходники; и в них тоже много мест, куда воткнуться после первичной фильтрации заведомо бесполезных данных.
В тот же Jupyter без проблем включаются, например, переходники на видеокарты — и дальше пусть хоть сутками считает. У меня соседи по отделу такое гоняли.
D>>>В самом деле незачем. Поэтому физик должен дать формулу, математик должен написать алгоритм, а программист превратит этот алгоритм в код. D>>>Когда это всё делает физик, получается неоч. N>>Простите, вы это серьёзно, или это такая форма утончённого издевательства с вашей стороны? D>Совершенно серьёзно. Современный технологический прогресс получен за счёт разделения труда. Физик должен вывести формулу, математик — разработать алгоритм, программист — перевести алгоритм в понятный машине.
Ну вот видно, что вы просто не знакомы с этой спецификой.
Не получится такое на основную часть работы. Тупо неэффективно и незачем.
D>Да, конечно, я в самом деле не знаком со спецификой ЦЕРНа в частности и научной вообще, я обычный инженер на производстве, сужу со своей колокольни.
Ну а я знаком, так уж получилось.
D>Разработка программного обеспечения — это инженерно-производственный процесс. Если в какой-то деятельности необходима разработка ПО — все методики давно разработаны в индустрии ПО.
Ну вы хоть как "инженер на производстве" понимаете, что для разных типов задач разные методики?
N>>И в нормальных условиях это всё является глубоко системными потрохами, которые учёному неинтересны — он может вообще работать на уровне: браузер, https://jupyter.his.university/, логин-пароль, и копаться в своих ноутбуках (это не лаптопы, если что). Ему важно, чтобы данные брались из файлов, вычисления считались, он мог в любой момент подправить и перезапустить всё, что хочет, и картинки рисовались. Всё остальное — плевать, дело сервисной службы. И он точно не будет хотеть помнить все 100500 особенностей C++. Нафиг-нафиг.
D>Верно, поэтому учёный должен писать в тетрадке в броузере. В матлабе, писать сэмплы на Питоне, рисовать формулы. А на C++ учёный писать не должен. На С++ должны писать разработчики, которые понимают, как работают компьютеры и как сделать так, чтобы задача, поставленная учёными, была решена с минимальными вычислительными и человеческими ресурсами.
Наконец-то начинает выправляться. Ранее вы от "физик не должен писать на C++" перешли к "физик не должен программировать". А это грубо неверно, физик, который программирует, сделает в десятки раз больше, чем тот, кто не программирует.
Но ограничивать физика в том, что он может написать — нежелательно.
N>>Прикладнику — средства прикладного типа. D>
И в этих средствах должна быть автоматизация. А лучше всего таки удобный для физика язык — процедурный, с AMM и лёгкостью написания обычных вещей с подключением уже оптимизированных средств библиотеками.
В идеале ему бы ещё и типизацию помощнее и постатичнее, а не как в Python, но это выправится.
Здравствуйте, B0FEE664, Вы писали:
V>>Речь же про научные вычисления, а не про обобщённое программирование коня в вакууме. Разница же существенная. Возьмите, к примеру, ту же Mathematica или MatLab, ну явно же С++ там будет зашквар. Вы будете пол дня мучить систему сборки и ещё пол дня ошибки линковки фиксить, вместо того, чтобы взять и посчитать. BFE>Речь про подготовку программистов, а не про научные вычисления.
Подготовку программистов для чего, для вакуума?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
LVV>>Основной его тезис — надо создать сквозную систему базовой подготовки программистов на ОДНОМ языке. Пригодном для обучения (С++ для обучения пригоден мало). Pzz>C++ вообще, по-моему, мало для чего пригоден. Но какой смысл тратить время на изучение Оберона, это же мертвый язык?
Ну, для вас — мертвый.
Сидите и дальше в своем аквариуме.
Половина Швейцарии пишет на нем...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>А я поеду в Москву, пойду в Базальт и выясню, как к ним в дистрибутив попасть-то... Pzz>Ну я бы, начал с того, что выложил бы исходники на гитхаб, и организовал бы сборку и раздачу пакетов под несколько популярных дистрибутивов. Pzz>Собирать и раздавать опенсорсные программы можно с помощью OpenSUSE Build Services (OSB) — оно там под многие дистрибутивы умеет собирать. OSB — штука довольно неудобная, но вполне поддается освоению.
Это все хорошо, но у меня там в Базальте дела по поводу лицензий для нашего универа.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>Таким образом, люди, занимающиеся РЕАЛЬНЫМ обучением с НУЛЯ начинающих программистов пришли к одному и тому же: LVV>>ПЕРВОНАЧАЛЬНО НАДО ОБУЧАТЬ НА РОДНОМ ЯЗЫКЕ. Pzz>А кого они обучают в конечном итоге, кто у них на выходе, фактически и по поставленным целям, профессиональные программисты, или люди, способные состряпать небольшую програмку для решения своих непрограммистских задач?
Они обучают НАЧИНАЮЩИХ.
Чтобы бегать, сначала ходить надо научиться. Вот они и обучают ходить и не падать.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
M>В общем, Там страничек 50 от силы, которые полезно прочитать. Зачем разводить желе на 350 страниц — совершенно непонятно. Студням-троекурам может и полезна, но вообще — ффтопку. И денег своих она явно не стоит.
Ну а Чукич — кто? Препод. Наверное, для студентов Белградского универа и писал.
Понятно, что действующие программисты имеют пересекающийся опыт.
Но они при этом книжек для студентов не пишут. А учить — надо.
Но при этом Чукич еще и разработчик KDE.
Так что не чисто бумажный опыт...
И кстати, отмечено же, что при таком стиле количество ошибок стремительно уменьшается.
Потребность в повышении надежности детектед последние несколько лет...
GO/RUST не дадут соврать.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Здравствуйте, LaptevVV, Вы писали:
Pzz>>А кого они обучают в конечном итоге, кто у них на выходе, фактически и по поставленным целям, профессиональные программисты, или люди, способные состряпать небольшую програмку для решения своих непрограммистских задач? LVV>Они обучают НАЧИНАЮЩИХ. LVV>Чтобы бегать, сначала ходить надо научиться. Вот они и обучают ходить и не падать.
Здравствуйте, LaptevVV, Вы писали:
LVV>Сидите и дальше в своем аквариуме. LVV>Половина Швейцарии пишет на нем...
Да пусть себе пишут! Может, просто рассказывают, что пишут. Замечу, у меня ни на одним из компов нет ни байта, сделанного в Швейцарии. По крайней мере, от этой половины.
В СССР PL/1 был одно время очень популярен. Гораздо сильнее, чем у буржуев. И что, помогло это ему?
Здравствуйте, LaptevVV, Вы писали:
M>>В общем, Там страничек 50 от силы, которые полезно прочитать. Зачем разводить желе на 350 страниц — совершенно непонятно. Студням-троекурам может и полезна, но вообще — ффтопку. И денег своих она явно не стоит. LVV>Ну а Чукич — кто? Препод. Наверное, для студентов Белградского универа и писал.
Ну вот и рекламировал бы её как книжку для студентов. Тут ведь форум боевых разработчиков, по дефолту предполагается, что информация полезна именно для них
LVV>Но при этом Чукич еще и разработчик KDE.
Теперь понятно, чего она такая тормозная
LVV>И кстати, отмечено же, что при таком стиле количество ошибок стремительно уменьшается.
Хм. Той же KDE до виндовой оболочки как до Луны на тракторе по качеству в том числе.
И да. Имхо, современный C++ вполне позволяет писать качественно без всякой функциональщины, ну, или с небольшими её вкраплениями. Я, кстати, немного пописал на чисто функциональном языке OpenSCAD, и что-то не сказал бы, что стремительно мало делал там ошибок
LVV>Потребность в повышении надежности детектед последние несколько лет... LVV>GO/RUST не дадут соврать.
Хз насчет Го, а что, ржака — функциональный язык? Где системы, написанные на ржаке?
Pzz>>>А кого они обучают в конечном итоге, кто у них на выходе, фактически и по поставленным целям, профессиональные программисты, или люди, способные состряпать небольшую програмку для решения своих непрограммистских задач? LVV>>Они обучают НАЧИНАЮЩИХ. LVV>>Чтобы бегать, сначала ходить надо научиться. Вот они и обучают ходить и не падать. Pzz>Ну это не ответ на мой вопрос.
Вопрос: кого они обучают.
Ответ: начинающих (программистов).
Если это не ответ, то на незаданный вопрос...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>Сидите и дальше в своем аквариуме. LVV>>Половина Швейцарии пишет на нем... P>Да пусть себе пишут! Может, просто рассказывают, что пишут. Замечу, у меня ни на одним из компов нет ни байта, сделанного в Швейцарии. По крайней мере, от этой половины.
Ну дык
а) зайди на оберонкоре и посмотри список реальных проектов.
б) они продолжают исследования в области единой системы разработки аппаратура-программная система. Гуткнехт рассказывал
в) то, что в комах нет ни байта, сделанного в Швейцарии — это не показатель.
Половина мира работает на компах, сделанных в Китае. И ЧО? P>В СССР PL/1 был одно время очень популярен. Гораздо сильнее, чем у буржуев. И что, помогло это ему?
Из Америки распространение получают только те языки, которые поддержаны миллиардными вливаниями в рекламу.
Ибо навязывают и хотят отбить затраченные бабки...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
LVV>>За замечания — спасибо. Но! LVV>>Если б мы хотели пообсуждать — так бы и написали. KP>А вы рассказываете студентам о вреде сишных приведений типа?
Неоднократно...
Не сразу доходит — это же так "удобно"...
Хочешь быть счастливым — будь им!
Без булдырабыз!!!