Информация об изменениях

Сообщение Re[5]: Вся правда про C++ от 14.07.2020 16:08

Изменено 14.07.2020 16:09 Dair

Re[5]: Вся правда про C++
Здравствуйте, netch80, Вы писали:

D>>В самом деле незачем. Поэтому физик должен дать формулу, математик должен написать алгоритм, а программист превратит этот алгоритм в код.

D>>Когда это всё делает физик, получается неоч.
N>Простите, вы это серьёзно, или это такая форма утончённого издевательства с вашей стороны?

Совершенно серьёзно. Современноый технологический прогресс получен за счёт разделения труда. Физик должен вывести формулу, математик — разработать алгоритм, программист — перевести алгоритм в понятный машине.

N>Вы знаете, что Python в роли языка для науки взлетел чуть ли не исключительно из-за IPython+Jupyter (со штатными numpy+scipy+etc. внутри для расчёта, и matplotlib+co. для визуализации)?

N>Возможность физику напрямую опробовать математику, которую он знает, математику — напрямую без посредников написать код и получить мгновенное отображение результата — более чем критически важна для того, чтобы работать с нормальной скоростью и не терять сутки и неделю на ожидание работы посредников.

Верно, но я говорил не про "попробовать", а про "работать".

N>И это занимает 99% работы. Остальное — таки может быть доведено профессионалами — и потом экспортируется на уровень тех же векторов и матриц, что виден в numpy (независимо от верхнего языка).


"таки может быть доведено профессионалами" — я про что и говорю.

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


Да, конечно, я в самом деле не знаком со спецификой ЦЕРНа в частности и научной вообще, я обычный инженер на производстве, сужу со своей колокольни.

Разработка программного обеспечения — это инженерно-производственный процесс. Если в какой-то деятельности необходима разработка ПО — все методики давно разработаны в индустрии ПО.

D>>А винят вообще С++!

N>И абсолютно правильно делают: этот язык не должен показываться на прикладном уровне (на котором собственно пишут учёные), в идеале, никогда.

Повторяю тезис: учёные не должны писать production-код.

N>И в нормальных условиях это всё является глубоко системными потрохами, которые учёному неинтересны — он может вообще работать на уровне: браузер, https://jupyter.his.university/, логин-пароль, и копаться в своих ноутбуках (это не лаптопы, если что). Ему важно, чтобы данные брались из файлов, вычисления считались, он мог в любой момент подправить и перезапустить всё, что хочет, и картинки рисовались. Всё остальное — плевать, дело сервисной службы. И он точно не будет хотеть помнить все 100500 особенностей C++. Нафиг-нафиг.


Верно, поэтому учёный должен писать в тетрадке в броузере. В матлабе, писать сэмплы на Питоне, рисовать формулы. А на C++ учёный писать не должен. На С++ должны писать разработчики, которые понимают, как работают компьютеры и как сделать так, чтобы задача, поставленная учёными, была решена с минимальными вычислительными и человеческими ресурсами.

N>Прикладнику — средства прикладного типа.

Re[5]: Вся правда про C++
Здравствуйте, netch80, Вы писали:

D>>В самом деле незачем. Поэтому физик должен дать формулу, математик должен написать алгоритм, а программист превратит этот алгоритм в код.

D>>Когда это всё делает физик, получается неоч.
N>Простите, вы это серьёзно, или это такая форма утончённого издевательства с вашей стороны?

Совершенно серьёзно. Современный технологический прогресс получен за счёт разделения труда. Физик должен вывести формулу, математик — разработать алгоритм, программист — перевести алгоритм в понятный машине.

N>Вы знаете, что Python в роли языка для науки взлетел чуть ли не исключительно из-за IPython+Jupyter (со штатными numpy+scipy+etc. внутри для расчёта, и matplotlib+co. для визуализации)?

N>Возможность физику напрямую опробовать математику, которую он знает, математику — напрямую без посредников написать код и получить мгновенное отображение результата — более чем критически важна для того, чтобы работать с нормальной скоростью и не терять сутки и неделю на ожидание работы посредников.

Верно, но я говорил не про "попробовать", а про "работать".

N>И это занимает 99% работы. Остальное — таки может быть доведено профессионалами — и потом экспортируется на уровень тех же векторов и матриц, что виден в numpy (независимо от верхнего языка).


"таки может быть доведено профессионалами" — я про что и говорю.

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


Да, конечно, я в самом деле не знаком со спецификой ЦЕРНа в частности и научной вообще, я обычный инженер на производстве, сужу со своей колокольни.

Разработка программного обеспечения — это инженерно-производственный процесс. Если в какой-то деятельности необходима разработка ПО — все методики давно разработаны в индустрии ПО.

D>>А винят вообще С++!

N>И абсолютно правильно делают: этот язык не должен показываться на прикладном уровне (на котором собственно пишут учёные), в идеале, никогда.

Повторяю тезис: учёные не должны писать production-код.

N>И в нормальных условиях это всё является глубоко системными потрохами, которые учёному неинтересны — он может вообще работать на уровне: браузер, https://jupyter.his.university/, логин-пароль, и копаться в своих ноутбуках (это не лаптопы, если что). Ему важно, чтобы данные брались из файлов, вычисления считались, он мог в любой момент подправить и перезапустить всё, что хочет, и картинки рисовались. Всё остальное — плевать, дело сервисной службы. И он точно не будет хотеть помнить все 100500 особенностей C++. Нафиг-нафиг.


Верно, поэтому учёный должен писать в тетрадке в броузере. В матлабе, писать сэмплы на Питоне, рисовать формулы. А на C++ учёный писать не должен. На С++ должны писать разработчики, которые понимают, как работают компьютеры и как сделать так, чтобы задача, поставленная учёными, была решена с минимальными вычислительными и человеческими ресурсами.

N>Прикладнику — средства прикладного типа.