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

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


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

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

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


23/12/07
1757
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
1757
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
11017
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
1757
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
1757
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