2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 16:04 
Заслуженный участник


09/05/12
25179
_hum_ в сообщении #1415284 писал(а):
Так разве можно научиться пользоваться пакетами, не зная Python.
Видите ли, человек, который знает (действительно знает) JS и C++, освоит Python самостоятельно за пару вечеров.
_hum_ в сообщении #1415284 писал(а):
Сейчас любой инженер должен владеть основами программирования, потому в программе есть изучение соответствующих дисциплин.
Да, и PascalABC в эту идею отлично укладывается - учебный язык для первого знакомства с программированием. Но вот дальше начинается нечто непонятное.

Python тоже мог бы служить первым учебным языком, но два таких языка сразу - излишество. JS и C++ - отнюдь не "основы программирования", тут можно годами копаться в деталях (особенно в C++), причем не очень понятно, зачем они нужны специалистам интересующего нас профиля.
_hum_ в сообщении #1415284 писал(а):
И кто сказал, что в Mathematica нет FEM, CFD-методов.
А что, есть? Если да - напишите на Mathematica численную модель, например, течения Куэтта-Тейлора. Двумерную, на сетке с размерами $\sim 10^3 \times 10^3$, и получите картину вихрей Тейлора.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 16:13 
Заслуженный участник
Аватара пользователя


31/01/14
11347
Hogtown
_hum_ в сообщении #1415284 писал(а):
Думаю, это зависит от инженерной специализации. Каким-нибудь спецам по обработке сигналов, конечно, удобнее пользоваться Matlab для моделирования их схем "из коробки".
Математика, например, ОДУ или УЧП, читается всем инженерам сразу, и деканат требует MATLAB. Все остальное, очевидно, изучается уже в специализированных инженерных курсах.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 16:17 
Заслуженный участник
Аватара пользователя


01/09/13
4676
_hum_ в сообщении #1415284 писал(а):
Речь шла именно о том, чем пользоваться для проведения мат. моделирования.

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

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 17:02 


23/12/07
1763
Pphantom в сообщении #1415289 писал(а):
Видите ли, человек, который знает (действительно знает) JS и C++, освоит Python самостоятельно за пару вечеров.

Для того чтобы получить навыки программирования в новом языке, нужна практика. За пару вечеров можно только синтаксис и семантику выучить.

Pphantom в сообщении #1415289 писал(а):
Да, и PascalABC в эту идею отлично укладывается - учебный язык для первого знакомства с программированием. Но вот дальше начинается нечто непонятное.

PascalABC знакомит с основами классического императивного программирования на сильно типизированном со статической типизацией языке, JS - с основами Web-программирования на скриптовом со слабой динамической типизацией языке, C++ - с основами классического ("классового") ООП (+ с основами низкоуровневого программирования), Wolfram - с основами специфического (на основе подстановок) декларативного функционального программирования для мат. моделирования.
Что не так с основами?

Pphantom в сообщении #1415289 писал(а):
_hum_ в сообщении #1415284 писал(а):
И кто сказал, что в Mathematica нет FEM, CFD-методов.

А что, есть? Если да - напишите на Mathematica численную модель, например, течения Куэтта-Тейлора. Двумерную, на сетке с размерами $\sim 10^3 \times 10^3$, и получите картину вихрей Тейлора.

что-то типа такого не подойдет: using-mathematica-to-simulate-and-visualize-fluid-flow-in-a-box/
?

Red_Herring в сообщении #1415295 писал(а):
_hum_ в сообщении #1415284 писал(а):
Думаю, это зависит от инженерной специализации. Каким-нибудь спецам по обработке сигналов, конечно, удобнее пользоваться Matlab для моделирования их схем "из коробки".
Математика, например, ОДУ или УЧП, читается всем инженерам сразу, и деканат требует MATLAB. Все остальное, очевидно, изучается уже в специализированных инженерных курсах.

Да, но это не исключает ситуации, когда, например, специализация всего ВУЗа - радио-техническая, а потому ясно, что в дальнейшем значительного отхода от данной направленности ожидать не стоит (потому всем поголовно и преподается на первых курсах Matlab).

Geen в сообщении #1415296 писал(а):
Тогда, возможно, лучше сделать обзор программ символьной математики.

Почему только символьной, ведь мат. модели включают в себя как аналитические, так и численные (а еще и смешанные). Нужны средства, которые позволяют разрабатывать и исследовать все типы. Wolfram(Mathematica) и Python (экосистема пакетов) - одни из них.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 17:45 


16/08/19
70
_hum_ в сообщении #1415303 писал(а):
Wolfram(Mathematica) и Python (экосистема пакетов) - одни из них.


Что вы на эти пакеты нажимаете, а то в Wolfram нет пакетов!

_hum_ в сообщении #1415303 писал(а):
PascalABC знакомит с основами классического императивного программирования на сильно типизированном со статической типизацией языке, JS - с основами Web-программирования на скриптовом со слабой динамической типизацией языке, C++ - с основами классического ("классового") ООП (+ с основами низкоуровневого программирования)


ну что вы такое пишите, как будто в PascalABC нет всего того же объектно-ориентированного программирования ("классового") что и в C++, вся разница между ними только в большей накручености C++ во всех аспектах, которая нужна именно профессионалам системного программирования, которая для создания информационных систем пользовательского уровня бесполезна - поэтому и для таких целей используют C# или Java. И вряд ли они будут этим накрученностям обучаться.
Вэб программирование? А кому оно нужно в инженерии?! Извините, не представляю JS без знания HTML дизайна.
Если уж нужен скриптовый язык для общих целей то лучше подойдет Перл, а если нужна еще математика и визуализация тот же R.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 17:46 
Заслуженный участник


09/05/12
25179
_hum_ в сообщении #1415303 писал(а):
Для того чтобы получить навыки программирования в новом языке, нужна практика. За пару вечеров можно только синтаксис и семантику выучить.
Конечно, но при написании кода на не первом для данного человека и сравнительно простом ЯП особых проблем обычно не возникает.
_hum_ в сообщении #1415303 писал(а):
Что не так с основами?
Что если это только "знакомство с основами", то тот же C++ студенты в итоге не учат, они с ним "знакомятся". В результате получается несколько "поднадкусанных" языков и не одного освоенного инструмента. А если это действительно изучение языка, то это огромные объемы материала.
_hum_ в сообщении #1415303 писал(а):
что-то типа такого не подойдет: using-mathematica-to-simulate-and-visualize-fluid-flow-in-a-box/
?
Подойдет, если размеры сетки по каждой координате увеличить на порядок. Поскольку, как следует из комментариев ниже, имеющееся сравнительно простое течение считалось примерно 2 минуты, при увеличении сетки счетное время возрастет до нескольких часов. Для такой задачи это непомерно много.

Ну и история из комментариев про переход на 10-ю версию и получившиеся результаты (вернее, их отсутствие) отдельно впечатляет. :-)

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 18:35 


23/12/07
1763
vend в сообщении #1415308 писал(а):
ну что вы такое пишите, как будто в PascalABC нет всего того же объектно-ориентированного программирования ("классового") что и в C++, вся разница между ними только в большей накручености C++ во всех аспектах, которая нужна именно профессионалам системного программирования

чтобы учить ООП - нужны более-менее серьезные задачи (иначе покажется, что игра не стоит свеч). На PascalABC такие писать сложно (хотя бы в силу его многословности), потому нет никакого смысла и ООП на нем преподавать. К тому же, C++ - промышленный язык, использующийся в высоконагруженных системах и вычислениях - как раз то, что относится к их специальности.

vend в сообщении #1415308 писал(а):
Вэб программирование? А кому оно нужно в инженерии?! Извините, не представляю JS без знания HTML дизайна.

Да оно всем нужно, чтоб знать, как элементарное Web-приложение/Web-сервис построить/воспользоваться. И вы опять делаете неверные выводы - если я не упомянул, что им преподается HTML/CSS/Node.JS, то это не значит, что они не преподаются.

vend в сообщении #1415308 писал(а):
Если уж нужен скриптовый язык для общих целей то лучше подойдет Перл

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

Pphantom в сообщении #1415309 писал(а):
Конечно, но при написании кода на не первом для данного человека и сравнительно простом ЯП особых проблем обычно не возникает.

Не совсем понял вашу мысль. Я вел речь о том, что легко переходить с языка на язык, если они из одного класса языков (например, с Pascal легко перейти на C++). Но вот если из разных, все усложняется - мало того, что приходится учить новые понятия и принципы организации языка, так и еще приемы программирования на нем (а иначе получается как в том анекдоте - настоящий ученый пишет на Фортране на любом языке).

Pphantom в сообщении #1415309 писал(а):
Что если это только "знакомство с основами", то тот же C++ студенты в итоге не учат, они с ним "знакомятся". В результате получается несколько "поднадкусанных" языков и не одного освоенного инструмента. А если это действительно изучение языка, то это огромные объемы материала.

Я не знаю, в курсе вы или нет, но в настоящее время ситуация с С++ такова, что досконально его весь уже никто не знает. Он разделился на подъязыки. Мои студенты знакомятся с одним из них, позволяющим решать базовые проблемы.
И потом, в наше время знать много языков поверхностно, лучше, чем один досконально.

Pphantom в сообщении #1415309 писал(а):
Подойдет, если размеры сетки по каждой координате увеличить на порядок. Поскольку, как следует из комментариев ниже, имеющееся сравнительно простое течение считалось примерно 2 минуты, при увеличении сетки счетное время возрастет до нескольких часов. Для такой задачи это непомерно много.

Ну и история из комментариев про переход на 10-ю версию и получившиеся результаты (вернее, их отсутствие) отдельно впечатляет. :-)

Этот пост от 2013 года. Сейчас вышла 12-ая версия (хотя, возможно, все так и осталось, ведь, как я указывал ранее, Mathematica не имеет тех мощностей разработки, что имеет open-source-ая экосистема Python)
И я лишь показал, что такие возможности в Mathematica заложены, а не что они позволяют эффективно решать любые ваши проблемы.
(Mathematica, как по мне, так и ценна в первую очередь тем, что дает возможность быстрого прототипирования. То есть, вы быстренько смотрите, что у вас там происходит на сетке 100x100, а потом, если намечается что-то интересное, начинаете уже использовать специализированное ПО).

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 18:45 
Заслуженный участник
Аватара пользователя


31/01/14
11347
Hogtown
_hum_ в сообщении #1415303 писал(а):
Да, но это не исключает ситуации, когда, например, специализация всего ВУЗа - радио-техническая, а потому ясно, что в дальнейшем значительного отхода от данной направленности ожидать не стоит (потому всем поголовно и преподается на первых курсах Matlab).
В США/Канаде специализация на инженерных факультетов если и бывает, то очень редко. В Торонто https://portal.engineering.utoronto.ca/sites/calendars/current/Engineering_Programs.html

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 18:48 
Заслуженный участник
Аватара пользователя


30/01/06
72407
_hum_ в сообщении #1415284 писал(а):
Так разве можно научиться пользоваться пакетами, не зная Python.

Запросто.

Более того, именно это является мейнстримом современного программирования. Люди пользуются библиотеками C++, Java, Python, R и т. д., совершенно не стремясь овладеть этими языками.

_hum_ в сообщении #1415284 писал(а):
Вы наверное не в курсе сложности проблем моделирования транспортного потока, раз так ерничаете.

Вы, наверное, не знаете смысла слова "турбулентность", если принимаете мою шутку за ёрничание над сложностью транспортного потока.

_hum_ в сообщении #1415284 писал(а):
Господа, еще раз напоминаю, что тема не "что вообще нужно для моих инженеров", а что из двух вариантов лучше для моих инженеров - Python(с системой пакетов) или Wolfram(Mathematica).

На это, вроде бы, и вы, и все ваши собеседники давно ответили. И вы ответы собеседников проигнорировали.

-- 15.09.2019 18:53:47 --

_hum_ в сообщении #1415315 писал(а):
К тому же, C++ - промышленный язык, использующийся в высоконагруженных системах и вычислениях - как раз то, что относится к их специальности.

О. Вы ещё и не поняли смысла слов "высоконагруженные системы и вычисления".

Например: Google и YouTube - вот высоконагруженные системы. Пример высоконагруженного вычисления навскидку привести не могу, пусть Pphantom ведёт эту линию.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:16 


16/08/19
70
_hum_ в сообщении #1415315 писал(а):
чтобы учить ООП - нужны более-менее серьезные задачи (иначе покажется, что игра не стоит свеч). На PascalABC такие писать сложно (хотя бы в силу его многословности), потому нет никакого смысла и ООП на нем преподавать. К тому же, C++ - промышленный язык, использующийся в высоконагруженных системах и вычислениях - как раз то, что относится к их специальности.


Что же в нем многословно? Не нравятся английские слова Паскаль-стиля используйте C#! Собственно, знак # это и есть сокращение ++. Не знаю как там насчет нагруженности, но то что используется в современном C++ для написания систем очень сложно и вряд ли будет преподаваться. А ООП в них практически одинаковый, ну кроме всякого мучения с памятью в C++.

_hum_ в сообщении #1415315 писал(а):
Я не знаю, в курсе вы или нет, но в настоящее время ситуация с С++ такова, что досконально его весь уже никто не знает. Он разделился на подъязыки. Мои студенты знакомятся с одним из них, позволяющим решать базовые проблемы.


Иначе говоря, вам С++ вообще не нужен, вам просто нужно название C++.

Хорошо, стиль галопам по европам, но почему вам не преподавать и ВФМатематику и Питон тоже одновременно? В чем разница между поверхностного преподаванием трех языков программирования и этим случаем? Если в том случае не делаете выбора, то зачем делать в этом?

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:23 


23/12/07
1763
Munin в сообщении #1415318 писал(а):
Более того, именно это является мейнстримом современного программирования. Люди пользуются библиотеками C++, Java, Python, R и т. д., совершенно не стремясь овладеть этими языками.

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

Munin в сообщении #1415318 писал(а):
Вы, наверное, не знаете смысла слова "турбулентность", если принимаете мою шутку за ёрничание над сложностью транспортного потока.

Ваша "шутка" была сказана в контексте продолжения предыдущего вашего поста, а именно:

(Оффтоп)

Munin в сообщении #1415258 писал(а):
Pavia в сообщении #1415239 писал(а):
Инженеров надо учить
COMSOL,SolidWorks, Inventor, 3D-компас,

Они должны знать FEM - методы, CFD - методы.

Даже инженеров дорожно-транспортных сетей? Изображение

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

Munin в сообщении #1415318 писал(а):
На это, вроде бы, и вы, и все ваши собеседники давно ответили. И вы ответы собеседников проигнорировали.

Четких обоснованных ответов в пользу выбора того или другого так и не услышал. Одни "да вообще не надо это давать".

Munin в сообщении #1415318 писал(а):
О. Вы ещё и не поняли смысла слов "высоконагруженные системы и вычисления".

Например: Google и YouTube - вот высоконагруженные системы.

А ITS(Intelligent transportation system) , по-вашему, нет? Честно говоря, ваши безосновательные заявления "знатока во всех областях", немного утомляют.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:25 
Заслуженный участник


09/05/12
25179
_hum_ в сообщении #1415315 писал(а):
Я вел речь о том, что легко переходить с языка на язык, если они из одного класса языков (например, с Pascal легко перейти на C++).
Ой ли? Само-то утверждение правильное, но вот легко перейти с Pascal на С++ не получится. Вот обратно - да.

Так и в интересующем нас случае. Человек, хорошо знающий C++, без проблем перейдет на Python. Обратное в общем случае неверно.
_hum_ в сообщении #1415315 писал(а):
Я не знаю, в курсе вы или нет, но в настоящее время ситуация с С++ такова, что досконально его весь уже никто не знает. Он разделился на подъязыки. Мои студенты знакомятся с одним из них, позволяющим решать базовые проблемы.
В курсе. Но вы пишете про изучение C++, а не про, например, "C с потоками ввода-вывода". Второе, естественно, проще, но это еще более странная деятельность, чем изучение C++ в целом.
_hum_ в сообщении #1415315 писал(а):
И потом, в наше время знать много языков поверхностно, лучше, чем один досконально.
Сомнительное утверждение, но даже если с ним согласиться, остается вопрос, что такое "поверхностное знание". Ну, например, что из перечисленного ваши студенты, изучившие C++, обязаны уметь: писать код в процедурном стиле, использовать имеющуюся библиотеку классов, создать иерархию классов для решения некоторой задачи, использовать стандартные шаблоны, создавать шаблоны функций или классов, создавать вариативные шаблоны, использовать лямбда-выражения, использовать вывод типов?
_hum_ в сообщении #1415315 писал(а):
Этот пост от 2013 года. Сейчас вышла 12-ая версия (хотя, возможно, все так и осталось, ведь, как я указывал ранее, Mathematica не имеет тех мощностей разработки, что имеет open-source-ая экосистема Python)
Производительность при этом, насколько я понимаю, радикально не поменялась.
_hum_ в сообщении #1415315 писал(а):
И я лишь показал, что такие возможности в Mathematica заложены, а не что они позволяют эффективно решать любые ваши проблемы.
Ну знаете... Газодинамические коды можно и на арифмометре считать, в него тоже все необходимое "заложено". Да только почему-то эта идея не пользуется успехом.
_hum_ в сообщении #1415315 писал(а):
(Mathematica, как по мне, так и ценна в первую очередь тем, что дает возможность быстрого прототипирования. То есть, вы быстренько смотрите, что у вас там происходит на сетке 100x100, а потом, если намечается что-то интересное, начинаете уже использовать специализированное ПО).
А учить это "специализированное ПО" (которое нередко приходится самому писать) где? И, если уж оно есть, зачем использовать инструмент, который работает на порядки медленнее? Это даже в предположении, что вы что-то увидите на меньшей сетке, а это само по себе не факт.

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:29 


16/08/19
70
_hum_ в сообщении #1415322 писал(а):
Четких обоснованных ответов в пользу выбора того или другого так и не услышал.


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

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:34 


23/12/07
1763
vend в сообщении #1415320 писал(а):
Что же в нем многословно?

один begin...end чего стоит
vend в сообщении #1415320 писал(а):
используйте C#! Собственно, знак # это и есть сокращение ++

С# завязан на .net платформу.
vend в сообщении #1415320 писал(а):
Хорошо, стиль галопам по европам, но почему вам не преподавать и ВФМатематику и Питон тоже одновременно? В чем разница между поверхностного преподаванием трех языков программирования и этим случаем? Если в том случае не делаете выбора, то зачем делать в этом?

в том, что нет учебных часов на тот и другой (у Wolfram(Mathematica) порог вхождения высокий, требует немало времени для обучения)

 Профиль  
                  
 
 Re: Wolfram(Mathematica) vs Python для инженеров
Сообщение15.09.2019, 19:42 


16/08/19
70
_hum_ в сообщении #1415326 писал(а):
С# завязан на .net платформу.


PascalABC тоже! А вообще это уже не аргумент, на платформу завязано подавляющее число языков, тот же Python на Python-платформу, JS на браузер. Кроме системных языков все языки высокого уровня завязаны на какую-то платформу. Никого это не волнует.

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

Модераторы: Модераторы, Супермодераторы



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

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


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

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