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
11347
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  След.

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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