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, Супермодераторы



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

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


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

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