2014 dxdy logo

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

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




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней. На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 19:01 
Заслуженный участник


09/08/09
3438
С.Петербург
Munin в сообщении #418004 писал(а):
Зато важны другие факторы, про которые любители синтаксического сахара уже попросту не в курсе.
У Вас "любители синтаксического сахара" -- это просто ругательство какое-то. А этих любителей, на самом деле, подавляющее большинство :).
В частности, в C# примерами синтаксического сахара являются блоки
Код:
using ( ... ) {
}
и
Код:
foreach (...) {
}
, а в Haskell -- do-синтаксис и list comprehension.
Если какие-то сложные конструкции можно записать короче и понятнее, почему бы этой возможностью не пользоваться?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 21:04 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Maslov в сообщении #418012 писал(а):
У Вас "любители синтаксического сахара" -- это просто ругательство какое-то. А этих любителей, на самом деле, подавляющее большинство :).

Смотря среди кого. Среди профессиональных пользователей того же C++ - меньшинство.

Maslov в сообщении #418012 писал(а):
Если какие-то сложные конструкции можно записать короче и понятнее, почему бы этой возможностью не пользоваться?

Потому что не в этом состоят существенные различия между языками.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 21:10 
Заслуженный участник


09/08/09
3438
С.Петербург
Munin в сообщении #418060 писал(а):
Среди профессиональных пользователей того же C++ - меньшинство.
А что, на Ваш взгляд, в C++ является синтаксическим сахаром?
Munin в сообщении #418060 писал(а):
Потому что не в этом состоят существенные различия между языками.
И что, поэтому надо усложнять (не упрощать) жизнь себе и тем, кто будет копаться в наших программах после нас?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 21:26 
Аватара пользователя


30/07/10
254
Munin в сообщении #418004 писал(а):
С точки зрения некоторых юзеров "менее уродливо", просто в силу того, что они за не-уродство принимают соответствие своим привычкам. Например, привыкли писать 2+3, и не любят, когда надо писать + 2 3. Это играет роль, но только на этапе обучения и слабого знакомства с языком.
А можно ещё писать так
Код:
mov eax, dword [ebp+var_a] ; адрес переменной, которая хранит 3
add eax, dword [ebp+var_b] ; адрес переменной, которая хранит 2
mov dword [ebp+var_c], eax ; адрес переменной, которая хранит результат
Вот только зачем? Компилятор сделает за Вас это в тыщу раз оптимальнее.

Munin в сообщении #418004 писал(а):
Когда язык изучен, это уже неважно. Зато важны другие факторы, про которые любители синтаксического сахара уже попросту не в курсе.
И что же это за факторы, про которые я не в курсе? Честно говоря, интересно будет узнать что-то новое.

-- Пн фев 28, 2011 00:31:57 --

Munin в сообщении #418060 писал(а):
Maslov в сообщении #418012 писал(а):
У Вас "любители синтаксического сахара" -- это просто ругательство какое-то. А этих любителей, на самом деле, подавляющее большинство :).

Смотря среди кого. Среди профессиональных пользователей того же C++ - меньшинство.
"Профессиональные пользователи С++" в конце концов понимают что С++ какой-то недоязык с кучей костылей.

Munin в сообщении #418060 писал(а):
Потому что не в этом состоят существенные различия между языками.
Именно в этом и состоит: решить задачу с минимумом затрат. Чем меньше код, чем он проще - тем его проще поддерживать, модифицировать.

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


30/01/06
72407
Maslov в сообщении #418064 писал(а):
А что, на Ваш взгляд, в C++ является синтаксическим сахаром?

Речь, вообще-то, о его отсутствии, по сравнению с другими языками :-)

Maslov в сообщении #418064 писал(а):
И что, поэтому надо усложнять (не упрощать) жизнь себе и тем, кто будет копаться в наших программах после нас?

Надо просто глубже понимать смысл "усложнять жизнь", не настолько поверхностно, чтобы зацикливаться на внешнем.

cupuyc в сообщении #418073 писал(а):
Вот только зачем? Компилятор сделает за Вас это в тыщу раз оптимальнее.

Ну да. Вы настолько не понимаете предмета разговора, что даже смешиваете его с другим. Выражение "+ 2 3" - это не ассемблерная инструкция, это выражение на языке высокого уровня. Просто не сахарное. Компилятор обработает его точно так же, как выражение "2+3" на другом языке, или "2 3 +" на третьем.

cupuyc в сообщении #418073 писал(а):
И что же это за факторы, про которые я не в курсе? Честно говоря, интересно будет узнать что-то новое.

Извините, я даже ссылку дал, так что излагать вам здесь обширный материал не буду.

cupuyc в сообщении #418073 писал(а):
"Профессиональные пользователи С++" в конце концов понимают что С++ какой-то недоязык с кучей костылей.

:-)

cupuyc в сообщении #418073 писал(а):
Именно в этом и состоит: решить задачу с минимумом затрат.

Только вот затраты бывают разные. И языки оптимизируются под разные затраты. Если вам нужно по-быстрому сляпать нечто для вычисления 2+3, для этого давно сделан Бейсик. И не волнуйтесь вообще из-за существования C++ где-то вдалеке в этом бренном мире. И из-за существования математики тоже можете не тревожиться.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 23:40 
Аватара пользователя


30/07/10
254
Munin в сообщении #418111 писал(а):
Речь, вообще-то, о его отсутствии, по сравнению с другими языками :-)
Для меня по прежнему загадка - что за "сахар" такой? Его нет, наверное, если машкод набирать в хексредакторе. А в С++ разнообразных удобств значительно больше чем в Си и в Паскале.

Munin в сообщении #418111 писал(а):
Ну да. Вы настолько не понимаете предмета разговора, что даже смешиваете его с другим. Выражение "+ 2 3" - это не ассемблерная инструкция, это выражение на языке высокого уровня. Просто не сахарное. Компилятор обработает его точно так же, как выражение "2+3" на другом языке, или "2 3 +" на третьем.
Так в чём же тут плюс? Вы так и не объяснили. Чем выражение записанное в польской нотации лучше чем записанное в привычном виде? Зачем усложнять программу, делать её непонятной? Что Вы этим выиграете?

Munin в сообщении #418111 писал(а):
Надо просто глубже понимать смысл "усложнять жизнь", не настолько поверхностно, чтобы зацикливаться на внешнем.
Опять тоже самое. Какое такое "глубокое понимание"?

Munin в сообщении #418111 писал(а):
Извините, я даже ссылку дал, так что излагать вам здесь обширный материал не буду.
В каком сообщении? не заметил.

Munin в сообщении #418111 писал(а):
cupuyc в сообщении #418073 писал(а):
"Профессиональные пользователи С++" в конце концов понимают что С++ какой-то недоязык с кучей костылей.

:-)
Почитайте что говорит сам Страуструп про С++.

Munin в сообщении #418111 писал(а):
Только вот затраты бывают разные. И языки оптимизируются под разные затраты. Если вам нужно по-быстрому сляпать нечто для вычисления 2+3, для этого давно сделан Бейсик. И не волнуйтесь вообще из-за существования C++ где-то вдалеке в этом бренном мире. И из-за существования математики тоже можете не тревожиться.
Так вот мы и говорим о языке, подходящем для решения математических задач. Что же касается С++, повторяю в сотый раз что он кривой сам по себе, а не применительно к какому-то конкретному классу задач или же из-за отсутствия какого-то там "сахара".

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 23:54 
Заслуженный участник


09/08/09
3438
С.Петербург
Munin в сообщении #418111 писал(а):
Речь, вообще-то, о его отсутствии, по сравнению с другими языками :-)
На самом деле, это как посмотреть. На мой взгляд, такие вещи как
- перегрузка операторов
- a->b вместо (*a).b
- <cond> ? <trueVal> : <falseVal>
вполне себе подпадают под понятие синтаксического сахара.
Munin в сообщении #418111 писал(а):
Надо просто глубже понимать смысл "усложнять жизнь", не настолько поверхностно, чтобы зацикливаться на внешнем.
Да зацикливаться вообще ни на чем не надо, ни на внешнем, ни на внутреннем. Если в языке есть удобная запись для сложной конструкции, из каких таких соображений ее можно не использовать?

cupuyc в сообщении #418125 писал(а):
Так вот мы и говорим о языке, подходящем для решения математических задач. Что же касается С++, повторяю в сотый раз что он кривой сам по себе
cupuyc, а сколько времени Вы работаете на C++? Неделю, как на эрланге? Хотя бы средних размеров программу (> 10000 строк) Вы на нем написали?
Пока что Ваши "доказательства" кривизны C++ абсолютно не убеждают, и предложения заменить его экзотикой типа эрланга или D больше похожи на холивар, чем на серьезное обсуждение достоинств и недостатков языков программирования.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение27.02.2011, 23:59 
Аватара пользователя


30/07/10
254
Maslov в сообщении #418132 писал(а):
cupuyc, а сколько времени Вы работаете на C++? Неделю, как на эрланге? Хотя бы средних размеров программу (> 10000 строк) Вы на нем написали?
В общей сложности разработки коммерческих продуктов где-то 3 года. 2 года работал в коммерческом проекте размером в несколько миллионов строк. Свои проекты размеров до 20..30 тысяч строк.

-- Пн фев 28, 2011 03:00:43 --

Maslov в сообщении #418132 писал(а):
Пока что Ваши "доказательства" кривизны C++ абсолютно не убеждают, и предложения заменить его экзотикой типа эрланга или D больше похожи на холивар, чем на серьезное обсуждение достоинств и недостатков языков программирования.
До сих пор никто доказательств не просил. Начать? Я думаю, для этого лучше отдельную тему завести, а то слишком много придётся писать.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 00:29 
Заслуженный участник


09/08/09
3438
С.Петербург
cupuyc в сообщении #418134 писал(а):
3 года. Работал в проекте размером в несколько миллионов строк. Свои проекты размеров до 20..30 тысяч.
Принимается :) А еще на каких языках у Вас есть подобный опыт?
Просто сравнивать язык, на котором Вами написаны сотни тысяч строк в реальных проектах, с языком, который Вы изучаете вторую неделю, -- это, на мой взгляд, не очень правильно.
cupuyc в сообщении #418134 писал(а):
До сих пор никто доказательств не просил. Начать?
Угрожаете? :mrgreen: Начните, только в Программировании, а то Свободный полет для таких тем -- не лучшее место.
Более конкретно, давайте начнем с пяти причин, по которым Вы не любите C++. А продолжим -- пятью основными недостатками, которые Вы видите в Эрланге :). Если Вы не сможете их указать, то это будет говорить о том, что этот язык Вы, скорее всего, знаете гораздо хуже :)
И старайтесь, пожалуйста, избегать эмоциональных оценок типа "кривой" и "костыли".

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 00:38 
Аватара пользователя


30/07/10
254
Maslov в сообщении #418141 писал(а):
Принимается :) А еще на каких языках у Вас есть подобный опыт?Просто сравнивать язык, на котором Вами написаны сотни тысяч строк в реальных проектах, с языком, который Вы изучаете вторую неделю, -- это, на мой взгляд, не очень правильно.
Опять Вы за своё. Я не сравниваю эти 2 языка. Я говорю что С++ кривой сам по себе.

Хорошо, открою тему в программировании.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 00:43 
Заслуженный участник


09/08/09
3438
С.Петербург
cupuyc в сообщении #418144 писал(а):
Опять Вы за своё. Я не сравниваю эти 2 языка.

(Сравниваете)

cupuyc в сообщении #417430 писал(а):
Проблемы:
1.1 Вам нужно вычислить интеграл от функции:
Код:
float my_func(float) { ... }
Просто так скастить указатель нельзя. Придётся функцию my_func оборачивать в другую, чтобы она соотвествовала синтаксису integrated. Не то, чтобы проблема, но как-то коряво получается. Мало того, функция может зависеть от параметров и нужно, например, вычислить интеграл несколько раз с различными значениями этого параметра.
1.2 Вам потребовалось вычислить двойной интеграл функции двух переменных. Написанную ранее функцию для этой цели использовать уже не получится, т.к. пределы могут быть переменными. Нужно что-то переделывать. На Эрланге такой проблемы не возникает.
1.3 Есть функция векторного аргумента сложная в вычислительном плане. Вам нужно посчитать многомерный интеграл. Если считать в одном потоке, то вычисления могут занять кучу времени.

Все эти проблемы, конечно же решаемы и на С++. Суть не в этом. Суть в том, что В Эрланге этих проблем либо вообще нет (1.1, 1.2), либо они решаются значительно проще (1.3), стандартными средствами языка.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 01:09 
Аватара пользователя


30/07/10
254
Maslov Там я объяснял достоинства эрланга при решении конкретной задачи. Дело в самой концепции, подходу к программированию. Концепция ООП в данной задаче работает плохо. Метапрограммирование лучше, но в том виде, в котором оно реализовано в С++ тоже не работает (не хватает шаблонов с переменным числом аргументов, функции нельзя указывать в качестве параметров шаблону и пр.).

Корявость С++ - совершенно другой вопрос.

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 01:23 
Заслуженный участник


04/05/09
4582
cupuyc в сообщении #418153 писал(а):
Maslov Там я объяснял достоинства эрланга при решении конкретной задачи.
Извините, я не заметил ни достоинств ни их объяснения. Вы не можете повторить, пожалуйста?

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 01:31 
Аватара пользователя


30/07/10
254
venco, http://dxdy.ru/post417430.html#p417430

 Профиль  
                  
 
 Re: Язык программирования для математика
Сообщение28.02.2011, 01:36 
Заслуженный участник


04/05/09
4582
Я не вижу в этом сообщении, в чём же именно заключаются достоинства, только заявление о том, что они есть.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 195 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12, 13  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



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

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


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

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