2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2, 3, 4, 5  След.
 
 Научный код
Сообщение08.01.2022, 18:15 


08/01/22

41
Посмотрев на научный код и на коммерческий код видишь что они резко отличаются. Кажется что в научном коде сосредоточились все худшие практики программирования. Это неизбежно приводит к ошибкам и следовательно к снижению достоверности научных исследований. Дорабатывать научный код практически невозможно, из-за этого код выполняющий одни и те же задачи переписывается снова и снова. Лёгкая доработка, в том числе программистом не знакомым с кодом - одно из главных требований
к коммерческому коду. Не пора ли учёным повысить культуру программирования?

Пример анализа научного кода
https://pvs-studio.com/ru/blog/posts/cpp/0682/
Ещё пример
https://pvs-studio.com/ru/blog/posts/cpp/0591/

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 18:37 
Заслуженный участник
Аватара пользователя


31/01/14
11345
Hogtown
Programer в сообщении #1545523 писал(а):
Как исправить эту хрень? Формула должна быть по линии текста.
Видите ли, MS Word и MathType это коммерческий код, а LaTeX научный. :mrgreen: :mrgreen:

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 19:10 


08/01/22

41
Red_Herring в сообщении #1545525 писал(а):
Programer в сообщении #1545523 писал(а):
Как исправить эту хрень? Формула должна быть по линии текста.
Видите ли, MS Word и MathType это коммерческий код, а LaTeX научный. :mrgreen: :mrgreen:

Российские научные журналы как правило принимают статьи только в формате MS Word. Вы предлагаете отказаться от публикаций в этих журналах?

Вот журнал Антенны технической и физмат тематики, формул в статье будет много, статьи принимаются в MS Word с формулами Mathtype.
http://radiotec.ru/ru/journal/antennas?page=about_journal#rules
Журнал Радиотехника - аналогично
http://radiotec.ru/ru/journal/Radioengineering?page=about_journal#rules
Журнал Прикладная математика и механика (журнал РАН)
https://pmm.ipmnet.ru/ru/ForAuthors.html

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 19:18 
Заслуженный участник


20/04/10
1889
Programer в сообщении #1545529 писал(а):
Российские научные журналы как правило принимают статьи только в формате MS Word
Далеко не все. Выбирать, конечно, Вам. Но, по-хорошему, если формат MS Word, то этот журнал не должен быть связан с набором большого объёма формул. Иначе лучше выбрать другой журнал.

 Профиль  
                  
 
 Posted automatically
Сообщение08.01.2022, 19:20 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Программирование» в форум «Карантин»
по следующим причинам:

- обоснуйте утверждения, сделанные в обоих ваших сообщениях темы.

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

 Профиль  
                  
 
 Posted automatically
Сообщение08.01.2022, 22:15 
Заслуженный участник


09/05/12
25179
 i  Тема перемещена из форума «Карантин» в форум «Свободный полёт»


-- 08.01.2022, 22:18 --

По итогам хождения в Карантин примеры стали поближе к делу, но, вообще говоря, под "научным кодом" обычно все-таки принято понимать нечто другое. Но пусть будет.

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 22:42 
Заслуженный участник
Аватара пользователя


01/09/13
4676
Programer в сообщении #1545520 писал(а):
Пример

Programer в сообщении #1545520 писал(а):
Ещё пример

И что доказывают эти примеры?

Programer в сообщении #1545520 писал(а):
Лёгкая доработка, в том числе программистом не знакомым с кодом - одно из главных требований
к коммерческому коду.

И где же примеры? Вот, допустим, я беру "очень коммерческий продукт" - игровой движок, Unity к примеру, - расскажите мне как его "легко доработать" что бы можно было сделать игру по типу Portal (но с честной физикой и переменным ускорением свободного падения)?
А может быть Вы мне расскажите как замечательно устроен "очень коммерческий софт" сопровождающий какое-нибудь оборудование?
Или вот опять же, хочу без знания устройства кода MS Word "доработать" его что бы он LaTeX понимал - ведь главное требование это "лёгкая доработка"....

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 22:48 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Programer в сообщении #1545529 писал(а):
Российские научные журналы как правило принимают статьи только в формате MS Word. Вы предлагаете отказаться от публикаций в этих журналах?
Что Вы, наоборот! Поскольку MS Word и MathType — код коммерческий, не то что у этих учёных, то с ним и подобных проблем быть не должно, так что даже непонятно, как там на что-то можно жаловаться.

 Профиль  
                  
 
 Re: Научный код
Сообщение08.01.2022, 23:11 


10/03/16
4444
Aeroport
Programer в сообщении #1545520 писал(а):
Это неизбежно приводит к ошибкам и следовательно к снижению достоверности научных исследований. Не пора ли учёным повысить культуру программирования?


Сравнивать написание кода учеными и программерами - это как сравнивать драку пятилетних детей подушками и бои чемпионов ММА. Есть такое понятие - "профессионал". Единственное решение, как мне видится - это создавать песочницы (как максимум IDE'шки, как минимум библиотеки), в которых ученые будут работать над сутью задачи, а итераторы, указатели и прочая чушь прочие алгоритмы сортировки вставками будут инкапсулированы настолько глубоко, вмешаться извне в их работу было невозможно.

Geen в сообщении #1545555 писал(а):
Вот, допустим, я беру "очень коммерческий продукт" - игровой движок, Unity к примеру, - расскажите мне как его "легко доработать" что бы можно было сделать игру по типу Portal


Geen в сообщении #1545555 писал(а):
Или вот опять же, хочу без знания устройства кода MS Word "доработать" его что бы он LaTeX понимал - ведь главное требование это "лёгкая доработка"....


Видимо, под доработкой Programer подразумевает не превращение самоката в самолет, а всего лишь навешивание на самокат дополнительной съемной батарейки.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 00:11 
Заслуженный участник
Аватара пользователя


16/07/14
9202
Цюрих
Programer в сообщении #1545520 писал(а):
Не пора ли учёным повысить культуру программирования?
А за чей счет будет этот банкет?

Приведенные примеры, кстати, совершенно не подтверждают тезис "ученые пишут особо плохой код" - код выглядит вполне адекватно, а ошибки в "коммерческом" коде тоже встречаются, и еще вопрос, где чаще.
Вот код, который прикладывают к статьям (см. https://paperswithcode.com/) действительно часто ужасен. Но это логично - если людей, умеющих писать нормальный код, больше, чем людей, умеющих придумывать новые методы, то нет смысла тратить время последних на то, с чем могут справиться первые.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 00:16 
Заслуженный участник
Аватара пользователя


01/09/13
4676
ozheredov в сообщении #1545557 писал(а):
всего лишь навешивание на самокат дополнительной съемной батарейки

Ага, особенно если самокат обычный...

ozheredov в сообщении #1545557 писал(а):
Сравнивать написание кода учеными и программерами - это как сравнивать драку пятилетних детей подушками и бои чемпионов ММА.

Это неверное сравнение. В среднем код первых значительно лучше. Банально потому, что учёные в среднем умнее.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 00:52 
Заслуженный участник
Аватара пользователя


16/07/14
9202
Цюрих
Geen в сообщении #1545563 писал(а):
В среднем код первых значительно лучше.
Есть какое-то исследование (как в нём определялось качество кода, ученые и программисты), или это ощущения?
Geen в сообщении #1545563 писал(а):
Банально потому, что учёные в среднем умнее.
А уж какой отличный код Ньютон писал... Да и Эйлер, подозреваю, на экзамене по мат. анализу получил бы двойку.
Кроме "ума" (даже если считать что это какая-то осмысленная характеристика, в чем я не уверен), есть еще и навыки: человек, потративший больше времени на то, чтобы научиться что-то делать, часто будет это делать лучше, чем более "умный", но потративший существенно меньше времени.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 01:08 
Заслуженный участник


09/05/12
25179
mihaild в сообщении #1545565 писал(а):
Кроме "ума" (даже если считать что это какая-то осмысленная характеристика, в чем я не уверен), есть еще и навыки: человек, потративший больше времени на то, чтобы научиться что-то делать, часто будет это делать лучше, чем более "умный", но потративший существенно меньше времени.
Только вы пока сравниваете среднюю температуру в двух больницах. В реальности картина несколько сложнее, поскольку в индустрии на одного программиста, действительно тщательно и именно этому учившегося, обычно приходится несколько человек, подготовка которых была, скажем так, менее глубокой. :-)

Впрочем, поэтому вся тема в целом не слишком разумна: и очень хороший код, и ужасный пишут как профессиональные программисты, так и профессиональные ученые, а также те, у кого образование одно, а фактический род деятельности другой. Да и классификация зачастую затруднена - например, разработчики того же ROOT, приведенного в качестве одного из примеров, на мой взгляд, являются в куда большей степени чистыми программистами.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 01:10 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
Programer в сообщении #1545520 писал(а):
коммерческий код

анекдот писал(а):
Поймал как-то Змей Горыныч англичанина, француза и русского, и говорит: кто придумает самый оригинальный и смешной ответ на мою задачу, того отпущу, а остальных - съем. Вот вам ситуация: вы приходите домой, а дома жена с любовником в постели. Ваши действия?
Англичанин говорит:
- Я, как истинный джентльмен, не буду им мешать, просто лягу спать рядом и скажу: не могли бы вы потише, мне завтра нужно вставать рано утром!
Одна голова засмеялась, две другие говорят - да ну, ерунда какая-то. Съели англичанина.
Француз говорит:
- Я, как истинный джентльмен, не буду им мешать, просто спущусь вниз, сниму проститутку, вернусь с ней домой и устроюсь на той же постели.
Две головы засмеялись, а одна говорит - да ну, ерунда какая-то. Съели француза.
А русский - из колхоза, с бодуна, голова трещит, трехдневная щетина, штаны грязные, - стоит, думает, что сказать. Потом начинает:
- Ну я, как истинный джентльмен...
Тут все три головы и расхохотались.


Господа, это даже не смешно. Я 15 лет работаю исключительно в коммерческих компаниях. Где там ТС рагзлядел какой-то особо хороший и качественный код - я не знаю.

Programer
Сколько у вас лет опыта работы в качестве разработчика в коммерческих компаниях? Пока выглядит так, что нулевой.

-- 08.01.2022, 23:12 --

Pphantom в сообщении #1545566 писал(а):
действительно тщательно и именно этому учившегося
Писать качественный код в том смысле, который имеет в виду ТС, насколько мне известно, не учат вообще нигде.

 Профиль  
                  
 
 Re: Научный код
Сообщение09.01.2022, 01:19 
Заслуженный участник
Аватара пользователя


16/07/14
9202
Цюрих
Pphantom в сообщении #1545566 писал(а):
В реальности картина несколько сложнее, поскольку в индустрии на одного программиста, действительно тщательно и именно этому учившегося, обычно приходится несколько человек, подготовка которых была, скажем так, менее глубокой
А еще потому что один человек в разных ситуациях пишет код сильно отличающийся по качеству:)
rockclimber в сообщении #1545567 писал(а):
Писать качественный код в том смысле, который имеет в виду ТС, насколько мне известно, не учат вообще нигде.
Не знаю, что вы понимаете под качественном кодом в смысле ТС, но вообще писать качественный код учат в ШАДе, учат на ФКН (я лично учил), и подозреваю еще много где.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 73 ]  На страницу 1, 2, 3, 4, 5  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group