2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5 ... 9  След.
 
 Re: Выбор языка программирования
Сообщение10.09.2011, 22:09 


14/04/11
521
На любом пакете символьных вычислений типа Mathematica или Matcad вы напишите то что вам нужно на один - два порядка быстрее чем любым другим способом, особенно учитывая что почти все уже написано за вас. Но тут никто не говорит почему то о том, что и работать такая программа будет в сотни раз медленнее, чем на том же c++ . Когда речь об относительно серъезных вычислениях на несколько суток это очень критично.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение11.09.2011, 11:05 
Аватара пользователя


22/07/11
2
Барнаул
Если вы хотите проверить свои идеи, я тоже порекомендую Python. Но если вам понравится программировать и будет интересно этим заниматься, то понадобится что-нибудь помощнее. Конечно, стандартную библиотеку Python можно расширить до бесконечности всевозможными пакетами, но иногда понять, как использовать тот или иной пакет бывает трудно. Я бы порекомендовал в таком случае C# и платформу .NET Framework - по ней существует куча книг и поддерживаемая Майкрософтом документация MSDN. Несмотря на возможность использовать Python с .NET, я предпочитаю C# - намного более мощный язык, но намного более простой, чем C++.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение11.09.2011, 14:11 


28/09/09
29
Morkonwen в сообщении #482136 писал(а):
На любом пакете символьных вычислений типа Mathematica или Matcad вы напишите то что вам нужно на один - два порядка быстрее чем любым другим способом, особенно учитывая что почти все уже написано за вас. Но тут никто не говорит почему то о том, что и работать такая программа будет в сотни раз медленнее, чем на том же c++ . Когда речь об относительно серъезных вычислениях на несколько суток это очень критично.

Предъявите доказательства!
В Mathcad/Mathlab есть поддержка Cuda и многопроцессорных систем.
Аналогичную программу на C++ сделать на порядки сложнее и дольше, при этом не никаких гарантий, что работать будет быстрее.

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


12/10/05
478
Казань
Mathcad/Mathlab денюжку стоят. Я не любитель C#, но даже для него есть бесплатная студия (которой я пользуюсь, когда приходится на нем писать). Сейчас пытаюсь изучить язык D, но к сожалению, нормальную доку на него нашел пока только на английском. На русском я все же свободней читаю. :). Пока что впечатление от языка очень положительное.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение11.09.2011, 22:40 


28/09/09
29
Sanyok в сообщении #482318 писал(а):
Mathcad/Mathlab денюжку стоят.

А ничего, что в промышленном применение они экономят большие деньги?

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


29/07/05
8248
Москва
Dmitriy_M в сообщении #482345 писал(а):
А ничего, что в промышленном применение они экономят большие деньги?


В этой теме речь шла о программировании для непрофессионалов и "для себя". Соответственно, ни о каком промышленном применении речь не идет.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение12.09.2011, 13:34 


14/04/11
521
Dmitriy_M в сообщении #482220 писал(а):
Предъявите доказательства!
Символьные пакеты это интерпретируемые языки. Это значит что ваша программа не компилируется, не переводится в машинный язык, никак не оптимизируется, что замедляет ее минимум на порядок, а то и на два. Многопроцессорность целый порядок никак не компенсирует, да и по крайней мере в Mathematica она на слабом уровне. с OpenMP рядом не стояла.

Если говорить о серъезных программах , то не обманывайтесь, пожалуйста, тут Mathematica заменить языки типа c++ не сможет и не в последнюю очередь из-за производительности.

(Насчет скорости написания)

Как я и говорил и вы со мной согласны на Mathematica писать не слишком сложные программы гораздо быстрее. Если вам нужна не сильно большая программа по научным расчетам. То в Mathematica:
1) Не надо делать интерфейс. Если в конце нужен график или таблица, для этого есть стандартные функции.

2)Не надо думать как прикреплять друг к другу написанные кем-то другим готовые классы и рытся в документации. В Mathematica все доп. возможности представлены в виде готовых простых функций с превосходным хелпом. А форматы данных(векторы, матрицы) естественно передаются в эти функции как аргументы и гарантированно не меняются после этого, что ведет к последнему пункту:

3) То что подразумевается функциональный стиль програмирования сразу избавляет вас от кучи ошибок в духе "внутри класса чуть поменял данные в начале программы, а потом забыл об этом"

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 07:50 
Аватара пользователя


22/12/10
264
Morkonwen в сообщении #482437 писал(а):
Символьные пакеты это интерпретируемые языки.


Как минимум, не все. Axiom+Aldor, например, компилирует в нативный код, с оптимизациями. Думаю, какие-то из коммерческих систем тоже умеют компилировать.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 10:18 


28/09/09
29
Morkonwen в сообщении #482437 писал(а):
Dmitriy_M в сообщении #482220 писал(а):
Предъявите доказательства!
Символьные пакеты это интерпретируемые языки. Это значит что ваша программа не компилируется, не переводится в машинный язык, никак не оптимизируется, что замедляет ее минимум на порядок, а то и на два. Многопроцессорность целый порядок никак не компенсирует, да и по крайней мере в Mathematica она на слабом уровне. с OpenMP рядом не стояла.

Если говорить о серъезных программах , то не обманывайтесь, пожалуйста, тут Mathematica заменить языки типа c++ не сможет и не в последнюю очередь из-за производительности.
Е
И что, что интерпретированный язык? После первого прохода по графу программы ты имеешь бинарный код, при этом никто не мешает использовать JIT, это не критично, когда задача работает сутками.

Программа на C/C++ эффективна тогда, когда она эффективна реализована, иначе она просядет на алгоритмах и архитектуре, и ни какая компиляция с оптимизацией не помогут.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 17:35 


14/04/11
521
Dmitriy_M в сообщении #482612 писал(а):
И что, что интерпретированный язык? После первого прохода по графу программы ты имеешь бинарный код, при этом никто не мешает использовать JIT,
Кто-то заставляет? Можете просто на слово поверить человеку писавшему код и на том и на другом виде языков. По скорости они несоотносимы.

И естественно я говорю об одном и том же коде или с минимальными отличиями. Я с удовольствием понаблюдаю как вы реализуете,например , программу для расчета волноводов произвольной формы на Символьном пакете. Одни сутки или 100 суток для меня лично критично!

Сравните сначала - потом спорьте =)

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 17:46 
Заблокирован
Аватара пользователя


11/09/11

650
Я скажу, как динозавр. Преспокойненько программирую в самом допотопном Yabasic (прост до безобразия!), но при этом умудряюсь решать такие задачи, которые никто, кроме меня не одолевает. Даже на сумер-мупер-сверх-мощных ЭВМ при помощи самых современных языков. Все дело в идеях и методах.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 20:47 
Заблокирован


20/07/11

169
Klad33 в сообщении #482705 писал(а):
умудряюсь решать такие задачи, которые никто, кроме меня не одолевает.

А пример своей гениальности можете привести?

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 20:56 
Заблокирован
Аватара пользователя


11/09/11

650
Могу. Очень сложную экспериментальную цепочку чисел аппроксимировал уравнением с 18 коэффициентами. Никто больше с задачей не справился. Кстати, только вчера решил простую для меня задачку, но с ней тоже на этом форуме тоже никто не справился. См. topic40806-15.html в самом конце. А уж какие только системы до меня не применяли! Ну самые современные. Но бестолку.

 Профиль  
                  
 
 Re: Выбор языка программирования
Сообщение13.09.2011, 20:58 


14/04/11
521
Dmitriy_M
Даже проще вот что: Решите численно с точностью до четвертого знака на символьном пакете (лучше Mathematica) вот такую задачу и я признаю что вы правы, если вычисления вы умудритесь сделать быстрее чем за четверо суток.

Вершина одного единичного куба находится в центре другого.
Найти наименьшее значение объёма тела пересечения.


(Что есть у меня)

У меня есть функция вычисляющая по заданным углам эйлера одного из кубов относительно другого объем тела пересечения. Поэтому задача сводится к нахождению минимума функции от трех переменных(от углов). Функция негладкая и поиск минимума нельзя вести градиентными способами!Можно только прямыми или эволюционными, но любые такие вычисления на символьном пакете занимают слишком много времени. Написать все это на c++ у меня просто не доходят руки, но другого выбора заметте нет!


-- Вт сен 13, 2011 21:59:03 --

Klad33
Тот же вопрос: Решите на Yabasic указанную выше задачу =)??

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


27/04/09
28128
На бейсиках лучше не писать. На старых не очень структурированный код, на VB мало возможностей, в VB.NET слишком много букв (всё в сравнении с другими языками).

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

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



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

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


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

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