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
4593
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
4593
Я не вижу в этом сообщении, в чём же именно заключаются достоинства, только заявление о том, что они есть.

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

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



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

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


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

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