Re[3]: Наука и программизм
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 24.09.13 08:40
Оценка:
Здравствуйте, Eternity, Вы писали:

E>Чем обозначения величин в физике принципиально отличаются от идентификаторов в программе? Разве это не одна и та же задача?


Отличается способ использования. Если вместо Pi писать все время отношение_длины_окружности_к_длине_ее_диаметра, то это можно повеситься. Сравни

L = 2 * Pi * R
длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности

И это самый простой случай.
Re: Наука и программизм
От: baily Россия  
Дата: 24.09.13 08:58
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>Вот за что я не люблю науку — за формулы. Там всякие закорючки, значение которых надо разъяснять. Ну, это как в программизме — называйте переменные разумными словами. А вот фигушки — ученые не хотят так делать. Конечно же, закорючки очень снижают объем инфы, это типа стенографии, но сильно затрудняют понимание сущности. Почему бы физикам и математикам не перейти на какой-нибудь программисткий язык? Я предлагаю C или FORTRAN.

MS>По крайней мере, не будет проблем с публикацией. До сих пор, чтобы нарисовать и опубликовать формулу нужны какие-то софты, а раньше вообще рисовали вручную. Я за устранение закорючек и за переход на комп-язык. Это упростит понимание IMO. Ну всякие там графики, схемы и фотки останутся надолго, скорее всего навсегда. Но формулы-то хотя-бы можно сделать более доступными восприятию и пониманию?

А ведь еще не так давно тут была эпическая тема, где был спор по поводу обратного. Нужно ли стремиться упростить ужасно длинные и многословные языки программирования,
сделав их такими же прекрасными и лаконичными, как математическая нотация. здесь
Автор: Chrome
Дата: 04.08.11
Re[4]: Наука и программизм
От: Eternity Россия  
Дата: 24.09.13 09:09
Оценка:
Здравствуйте, Mystic, Вы писали:

M>L = 2 * Pi * R

M>длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности

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

Если отвлечься от того, что это общеизвестная формула и общеизвестные обозначения, это и называется "хороший стиль программирования". Вместо ничего не выражающих одно-двухбуквенных имен ты дал переменным нормальные названия.
Re[4]: Наука и программизм
От: B0FEE664  
Дата: 24.09.13 09:11
Оценка: +1
Здравствуйте, Mystic, Вы писали:

E>>Чем обозначения величин в физике принципиально отличаются от идентификаторов в программе? Разве это не одна и та же задача?

M>Отличается способ использования. Если вместо Pi писать все время отношение_длины_окружности_к_длине_ее_диаметра, то это можно повеситься. Сравни
M>L = 2 * Pi * R
M>длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности
M>И это самый простой случай.
Второе прочитать легче
И каждый день — без права на ошибку...
Re[2]: Наука и программизм
От: TMU_1  
Дата: 24.09.13 09:33
Оценка: 15 (1)
BS>а можно пример. я чего-то не понимаю, где снижают, и где применение предложенных языков изменит ситуацию? дело-то не в закорючках, ну замени E на energy(ну или дивергенцию с ротором распиши) и т.п. и что изменится? дело в том, что стоит за формулой, а это пока лучше описывается естественным языком,что собственно и делается. никто ж не публикует просто набор формул. хотя в научных статьях порой пишут "Очевидно, что из (1) следует (2)"(1 и 2 формулы), а там не то, что неочевидно, так выкладок на несколько листов.



Как говорил мой дипломный руководитель, если ты видишь кучу формул, потом слова "очевидно, что" или "отсюда со всей очевидностью следует, что", или "легко видеть, что", а дальше новая куча формул — значит, автор запутался, как у него из первой кучи получилась вторая и вписал это выражение специально. Другим профессорам/доцентам неудобно признаться, что им неочевидно и нелегко видеть, вот все и молчат. Мужик, конечно, улыбался при этом, но в каждой шутке...
Re[5]: Наука и программизм
От: TMU_1  
Дата: 24.09.13 09:36
Оценка: +7 :)))
E>Я, например, далеко не супермен, и предпочел бы понятные обозначения в программах и научных статьях. Когда читаешь научную статью, после десятого однобуквенно-греческого обозначения с индексом, хочется убить автора лопатой.


А ты не читай научные статьи. "Бывают вещи, которые не для тебя" (c) Eternity
Re[6]: Наука и программизм
От: Eternity Россия  
Дата: 24.09.13 10:11
Оценка: :)
Здравствуйте, TMU_1, Вы писали:

TMU>А ты не читай научные статьи. "Бывают вещи, которые не для тебя" (c) Eternity


Это почему вдруг? Откуда такой странный вывод? Я разве говорил, что я чего-то не понимаю в научных статьях или они слишком сложны для меня? Речь шла всего лишь об улучшении формата научных работ для повышения удобства восприятия.

Очень странно, что ты не понял того, о чем я говорил. В сообщениях данной темы форума я старался объяснить свою точку зрения как можно подробнее и нагляднее. Кстати, для тебя русский язык — родной? Возможно, дело в том, что ты плохо воспринимаешь русскую письменную речь. Могу порекомендовать попробовать почитать что-то на родном языке, я не знаю точно, какой он у тебя, возможно, на твоем национальном языке нет аналога RSDN, но можно поискать что-то другое.
Re[4]: Наука и программизм
От: Eternity Россия  
Дата: 24.09.13 10:13
Оценка:
Здравствуйте, baily, Вы писали:

B>1) Число идентификаторов в программе на несколько порядков превосходит число идентификаторов в научных формулах.

B>2) Контекст научной формулы гораздо шире контекста программы. Почти все сущности в формуле читающему известны.

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

Ну и вы говорите про отдельно взятую формулу, но в научной статье она же не отдельно взятая, а использует обозначения, определенные и используемые в этой статье и только в ней, либо в серии связанных с ней статей (что еще хуже). Таким образом, нужно все их держать в голове, когда читаешь статью. И запомнить пару десятков невразумительных одно-двухбуквенных названий с двойными индексами вроде как сложнее, чем нормальные имена переменных, потому что нормальные имена переменных сами объясняют свое значение, их и запоминать не надо. Мне казалось, что уж программисты-то должны понять идею. Другое дело, что не все программисты пишут хороший код и понимают, чем хороший код отличается от плохого. Ну с такими и спорить не о чем, так как они просто не понимают предмет спора.

B>for(int indexOfMyVectorOfApples = 0; indexOfMyVectorOfApples < vec.size(); ++indexOfMyVectorOfApples )


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

Возможен и другой синтаксис:

for (int appleIndex in 0..vec.size()-1)


Так лучше?
Re[5]: Наука и программизм
От: pagid Россия  
Дата: 24.09.13 10:15
Оценка:
Здравствуйте, Eternity, Вы писали:

E>

for (int appleIndex in 0..vec.size()-1)

E>Так лучше?

Нет
... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>
Re: Наука и программизм
От: ivan0x8000ffff  
Дата: 24.09.13 10:18
Оценка: +1
А чем вам формулы не нравятся — что лучше писать трехэтажное выражение по всем координатам, вместо 1 оператора над вектором...
Вы просто не образованы и не знаете, что скрывается под этими символами, а любой физик или математик легко читает такие выражения... Сразу представляет в голове картину происходящего...

Надо не язык заменять, а учится лучше, мозги менять надо — если не так, как я описал выше...
Re[5]: Наука и программизм
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 24.09.13 10:39
Оценка: +1
Здравствуйте, B0FEE664, Вы писали:

M>>L = 2 * Pi * R

M>>длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности
M>>И это самый простой случай.
BFE>Второе прочитать легче

А зачем читать?
С формулой надо работать
Re[5]: Наука и программизм
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 24.09.13 10:52
Оценка:
Здравствуйте, Eternity, Вы писали:

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


M>>L = 2 * Pi * R

M>>длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности

E>Если представить, что я этой формулы не знаю, а эти обозначения ты ввел только что в своей статье, то формулу внизу я однозначно предпочту формуле вверху. Собственно, так и надо писать, и некоторые адекватные авторы в CS так и делают.


Э-э-э... Ты много книг по математике-физике прочел? В CS обычно только готовые результаты приводят. Вообще чтение физико-математических статей это обзор математического вывода автора. Ты вместе с автором повторяешь ход его рассуждений. Поэтому формулу важно преобразовывать. А как ее преобразуешь, если я не вижу, что в ней есть удвоенный радиус?
Re[7]: Наука и программизм
От: TMU_1  
Дата: 24.09.13 10:56
Оценка: :)
TMU>>А ты не читай научные статьи. "Бывают вещи, которые не для тебя" (c) Eternity

E>Это почему вдруг? Откуда такой странный вывод? Я разве говорил, что я чего-то не понимаю в научных статьях или они слишком сложны для меня?



А где я об этом говорил ?
Re: Наука и программизм
От: Vi2 Удмуртия http://www.adem.ru
Дата: 24.09.13 11:05
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Почему бы физикам и математикам не перейти на какой-нибудь программисткий язык? Я предлагаю C или FORTRAN.


Потому что с точки зрения физиков и математиков программистский язык такой же птичий, как и наоборот. Всё дело в освоении материала, который и раскладывает всё по полочкам. Если ты предлагаешь C или FORTRAN, то это потому, что ты их освоил и они кажутся тебе удобными.
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re: Наука и программизм
От: Кодт Россия  
Дата: 24.09.13 11:13
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Вот за что я не люблю науку — за формулы. Там всякие закорючки, значение которых надо разъяснять. Ну, это как в программизме — называйте переменные разумными словами. А вот фигушки — ученые не хотят так делать. Конечно же, закорючки очень снижают объем инфы, это типа стенографии, но сильно затрудняют понимание сущности. Почему бы физикам и математикам не перейти на какой-нибудь программисткий язык? Я предлагаю C или FORTRAN.


Вот они перейдут на программистский язык J, тут ты по-настоящему заплачешь. А не заплачешь — перейдут на APL.

MS>По крайней мере, не будет проблем с публикацией. До сих пор, чтобы нарисовать и опубликовать формулу нужны какие-то софты, а раньше вообще рисовали вручную. Я за устранение закорючек и за переход на комп-язык. Это упростит понимание IMO. Ну всякие там графики, схемы и фотки останутся надолго, скорее всего навсегда. Но формулы-то хотя-бы можно сделать более доступными восприятию и пониманию?


Комп-язык уже есть — это тех и постскрипт.
Это если ты печалишься о том, почему формулы недоступны в ASCII.
А если печалишься о непонятности формул, так уверяю тебя, на любом языке — математическом, программическом, человеческом — можно написать и понятно, и непонятно.

Читал статью Аллаузена et al по композиции взвешенных недетерминированных преобразователей (разновидность конечных автоматов)
http://www.cs.nyu.edu/~allauzen/pdf/is2009.pdf
Там три автора.
Кто-то из них ввёл дофига однобуквенных идентификаторов для всех сущностей. Особенный ад — смешивание латинской буквы пэ и греческой ро.
Далее, один автор написал формулу в виде большой фигурной скобки, другой — в виде паттерн-матчинга, третий — многоступенчатым if-then-else.
Кстати, псевдокод на алголопитоне там тоже есть.
ПОУБИВАЛ БЫ!!!
В библиотеке OpenFST, которую Аллаузен пишет, всё это добро сделано пятым способом, отличным от вышеперечисленных четырёх.

А мне пришлось переписывать — шестым способом в документации и седьмым — в программе.

Для меня мой код, разумеется, более понятен, чем аллаузеновский.
Перекуём баги на фичи!
Re: Наука и программизм
От: 31415926 Россия  
Дата: 24.09.13 12:15
Оценка: :))) :)))
Здравствуйте, McSeem2, Вы писали:

MS>Вот за что я не люблю науку — за формулы. Там всякие закорючки, значение которых надо разъяснять.


С этим понятно. Не поделитесь ли своими мыслями о современной гинекологии? Или о культивировании ананасов? Еще интересно было бы узнать, какие недостатки видит Ваш необычайно проницательный ум в существующих подходах к сохранению популяции панд. Общественность в нетерпении.
Re[5]: Наука и программизм
От: baily Россия  
Дата: 24.09.13 12:42
Оценка: 4 (2) +1
Здравствуйте, B0FEE664, Вы писали:

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


E>>>Чем обозначения величин в физике принципиально отличаются от идентификаторов в программе? Разве это не одна и та же задача?

M>>Отличается способ использования. Если вместо Pi писать все время отношение_длины_окружности_к_длине_ее_диаметра, то это можно повеситься. Сравни
M>>L = 2 * Pi * R
M>>длина_окружности = 2 * отношение_длины_окружности_к_длине_ее_диаметра * радиус_окружности
M>>И это самый простой случай.
BFE>Второе прочитать легче

Если будет время, то почитайте труды Евклида "в оригинале". Кавычки потому, что имеется ввиду не на греческом языке, а в переводе,
но именно так, как у него приводились доказательства. И сравните с современным учебником для 7-10 класса.

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

Математическая нотация появилась совсем не зря.
Re[6]: Наука и программизм
От: B0FEE664  
Дата: 24.09.13 14:50
Оценка:
Здравствуйте, baily, Вы писали:

B>Если будет время, то почитайте труды Евклида "в оригинале". Кавычки потому, что имеется ввиду не на греческом языке, а в переводе,

B>но именно так, как у него приводились доказательства. И сравните с современным учебником для 7-10 класса.
B>Возможно, наступит прояснение. Доказательства даже простейших вещей у него выглядят как чтение многостраничного юридического документа.

Если будет время, то попробуйте прочитать вот эту простую программу:
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

Возможно, наступит прояснение.

B>Математическая нотация появилась совсем не зря.

А с этим никто и не спорит. Проблема в том, что не существует простого унифицированного языка для записывания формул. Существующие нормы говорят что-то неопределённое, но ничего не гарантируют. Вот возьмём вашу же формулу:

L = 2 * Pi * R

Вот с чего вы взяли, что это длина окружности, а не удвоенная площадь прямоугольника ? Или, может, это объём прямоугольного параллелепипеда с высотой 2 единицы? Или, может, под R подразумевается корень квадратный из отношения длины к ускорению свободного падения?

Ну и потом, если всё хорошо, то может вы можете написать нам формулу магнитного гистерезиса ?
И каждый день — без права на ошибку...
Re[7]: Наука и программизм
От: baily Россия  
Дата: 24.09.13 15:12
Оценка: +6
Здравствуйте, B0FEE664, Вы писали:

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


BFE>Если будет время, то попробуйте прочитать вот эту простую программу:

BFE>
BFE>++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
BFE>

BFE>Возможно, наступит прояснение.

Кажется, вы не совсем понимаете в чем именно проблема. Любые формулы должны даваться в контексте.
Без контекста они не имеют смысла, как то, что вы привели выше. И тут любая нотация не поможет.

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

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

Вводить же единую нотацию во всех этих случаях является бредом.

B>>Математическая нотация появилась совсем не зря.

BFE>А с этим никто и не спорит. Проблема в том, что не существует простого унифицированного языка для записывания формул. Существующие нормы говорят что-то неопределённое, но ничего не гарантируют.

Надеюсь, предыдущий мой ответ про контекст, прояснил вам причину того, почему не может существовать простого унифицированного языка для записывания формул.
Re: Наука и программизм
От: Шахтер Интернет  
Дата: 24.09.13 15:49
Оценка: -1 :)
Здравствуйте, McSeem2, Вы писали:

MS>Вот за что я не люблю науку — за формулы. Там всякие закорючки, значение которых надо разъяснять. Ну, это как в программизме — называйте переменные разумными словами. А вот фигушки — ученые не хотят так делать. Конечно же, закорючки очень снижают объем инфы, это типа стенографии, но сильно затрудняют понимание сущности.


MS>Почему бы физикам и математикам не перейти на какой-нибудь программисткий язык? Я предлагаю C или FORTRAN.


Наоборот. Программисты в конце концов переберутся на нормальный графический формульный язык. Без вариантов.

MS>По крайней мере, не будет проблем с публикацией. До сих пор, чтобы нарисовать и опубликовать формулу нужны какие-то софты,


А это прогаммисты тупые, не могут нормальную софтину для формул сделать. Тех был хорош в своё время, но он антиэргономичен и будущего не имеет.

MS>а раньше вообще рисовали вручную. Я за устранение закорючек и за переход на комп-язык. Это упростит понимание IMO. Ну всякие там графики, схемы и фотки останутся надолго, скорее всего навсегда. Но формулы-то хотя-бы можно сделать более доступными восприятию и пониманию?


Нет. Ты просто не видел настоящих формул.
Полистай на досуге EGA, например.
В XXI век с CCore.
Копай Нео, копай -- летать научишься. © Matrix. Парадоксы
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.