Что лучше для проектирования КАД систем с 3D? Какой из языков более гибкий.
На Питоне Блендер написали (из 3D) вроде не плохо! А для кад систем что предпочтительней?
C++ Qt VS Python
Модератор: Модераторы разделов
-
Ink-85
- Сообщения: 222
- Статус: полный привет
- ОС: Mac OS, Ubuntu 8.04
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: C++ Qt VS Python
Блендер написали не на Питоне. Или, скажем, не только на Питоне, а может даже и не столько. Питон неплох в качестве скриптового языка в сложных системах, но писать на нем CAD, 3D... это из области сумасшествия, ИМХО.
Мои розовые очки
-
Ink-85
- Сообщения: 222
- Статус: полный привет
- ОС: Mac OS, Ubuntu 8.04
Re: C++ Qt VS Python
ok спасибо
-
deadhead
- Сообщения: 1913
- Статус: zzz..z
-
Ortis
- Сообщения: 117
- ОС: Mandriva 2011, Kubuntu 12.04
Re: C++ Qt VS Python
watashiwa_daredeska писал(а): ↑20.10.2009 13:36Блендер написали не на Питоне. Или, скажем, не только на Питоне, а может даже и не столько. Питон неплох в качестве скриптового языка в сложных системах, но писать на нем CAD, 3D... это из области сумасшествия, ИМХО.
Питон есть универсальный язык программирования. Так что писать можно практически всё, что угодно. Вопрос о том, какие производительность и скорость разработки вам необходимы. Сколько народа будет писать. Какова их квалификация.
Вообще есть мнение, что для написания всего, что сложнее редактора "Блокнот", есть 1 язык -- C++. Всё остальное -- либо от незнания/неумения, либо от лени, либо по соображениям привычки. Я, впрочем, с этим мнением не согласен, что не мешает некоторым знакомым программистам на C++ считать меня дилетантом.
Если без холиваров, то оцените свои силы. На Питоне вы сможете сделать практически всё то же, что и на C++, но работать будет медленнее. А писать вы будете быстрее (плюс некоторые вещи не надо знать). Насколько -- зависит от конкретной реализации. Мне удавалось после ряда оптимизаций написать код, более эффективный чем на Delphi в 3 раза по производительности, хотя и жрущий вчетверо больше памяти (что было не критично, я специально так писал). С C++ не сравнивал, но думаю, что на C++ будет раза в 2 быстрее моего.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: C++ Qt VS Python
Кто-то утверждал обратное?
«либо от незнания/неумения, либо от лени, либо по соображениям привычки» и «есть 1 язык -- C++». На самом же деле, языков много, многие из них по своему хороши.
Настолько медленнее, что оцените свои силы, сможете ли дождаться завершения
Вы плохо знаете Delphi, либо это была специфическая задачка, для которой есть [почти] готовая библиотечка для Питона, и решалось всё на самом деле сишным кодом, а не питоньим. Против законов природы, все-таки, не попрешь.
Мои розовые очки
-
kosmonaFFFt
- Сообщения: 183
- ОС: win 7, Kubuntu 10.10
Re: C++ Qt VS Python
Если бы я решил писать на C++, обязательно заюзал бы Boost - что нить полезное там точно нашлось бы... 
Насчет скорости python - для многих задач есть привязки к сишным(и не только) либам, плюс критичные места
можно написать на С/С++ (опять же есть boost::python для удобного взаимодействия с++ и python)...
Насчет скорости python - для многих задач есть привязки к сишным(и не только) либам, плюс критичные места
можно написать на С/С++ (опять же есть boost::python для удобного взаимодействия с++ и python)...
-
Ortis
- Сообщения: 117
- ОС: Mandriva 2011, Kubuntu 12.04
Re: C++ Qt VS Python
watashiwa_daredeska писал(а): ↑20.10.2009 16:41Кто-то утверждал обратное?
«либо от незнания/неумения, либо от лени, либо по соображениям привычки» и «есть 1 язык -- C++». На самом же деле, языков много, многие из них по своему хороши.
Настолько медленнее, что оцените свои силы, сможете ли дождаться завершения
Вы плохо знаете Delphi, либо это была специфическая задачка, для которой есть [почти] готовая библиотечка для Питона, и решалось всё на самом деле сишным кодом, а не питоньим. Против законов природы, все-таки, не попрешь.
Задачка вполне обычная математическая, просто надо с умом использовать numpy и не плодить длинных вложенных циклов на Питоне, а пользоваться срезами массивов. Да, код на Delphi можно ещё ускорить, насколько -- не знаю, заниматься этим нет охоты.
При моём уважении к C -- он не относится к законам природы. И я не уверен, что нет языков, способных работать быстрее или таковые нельзя создать. Так, я 6 лет писал на Фортране и нередко мои программы работали быстрее аналогичных сишных.
Что касается того, что "не дождётесь завершения", то это вопрос способа написания и уровня сложости задачи, а также располагаемых ресурсов. Не пугайте человека. Крики типа "Да этот Питон 100 пудов в 600 раз медленнее C в среднем!" (читай в вашей ситуации -- ещё медленнее) -- для бедных. Просто на Питоне вы будете заниматься оптимизацией кода по скорости, а на C -- поиском утечек памяти. Что в конкретной ситуации существеннее -- не понятно.
Вы уж определитесь: у вас с одной тороны проповедь вселенской взаимной любви: "языков много и хороших", с другой вы говорите, что человек "не дождётся результата" и "законы природы", подразумевая, что среди всех равных есть некоторые, которые равнее всех других.
-
watashiwa_daredeska
- Бывший модератор
- Сообщения: 4038
- Статус: Искусственный интеллект (pre-alpha)
- ОС: Debian GNU/Linux
Re: C++ Qt VS Python
Применив ту же технику, что и для программы на Питоне (внешние оптимизированные библиотеки и т.п.), получим всяко не медленнее, чем на Питоне. Вопрос только в том, сколько времени занимает выполнение за пределами внешней оптимизированной либы и стоит ли выделки овчинка экономии. Судя по всему, это типичная задача, где Питон используется как glue, а основная работа делается на C.
Закон природы в том, что если у языка 5000% оверхед, то написать на этом языке программу, работающую столь же быстро, как и программа на языке с 20% оверхеда — нереально.
А numpy — это один из особых случаев, та самая [почти] готовая библиотечка, о которой я писал выше: если задача сюда укладывается — хорошо, ибо основная работа будет делаться не на Питоне, а на C, если не укладывается — дело плохо. В результате получится, что довольно много будет написано на C. Если main() программы написан на Питоне, то это еще не значит, что программа написана на Питоне. Она может быть просто склеена на Питоне из кусочков на C. И это действительно хорошая практика.
Да, хороших языков много, но это не значит, что каждую задачу можно решать на каждом языке. Задачи, требующие скорости — не для Питона. Вот склеить быстродействующие куски, написанные на C, это да, про это, помимо использования его как скриптового движка, я забыл сразу явно упомянуть.
Он реально медленнее. Другое дело, что это не катастрофа.
Ну, в большом проекте, требовательном к скорости, скорее всего придется заниматься и тем, и другим
Там смайлик стоит
Мои розовые очки
-
Ortis
- Сообщения: 117
- ОС: Mandriva 2011, Kubuntu 12.04
Re: C++ Qt VS Python
По большей части согласен.
Есть один ньюанс, фактически терминологический. Если программа написана с широким использованием библиотек на неродном для этих библиотек языке, то можно, конечно, считать, что она на самом деле написана на двух языках. С точки зрения быстродействия это так и будет. Но с точки зрения программиста (чисто написания кода) -- ситуация иная. Он-то библиотек не писал и вообще не знает зачастую языка, на котором они написаны. Поэтому ему кажется (и в некотором смысле справедливо), что пишет он чисто на одном языке.
PS Иногда склейки занимают очень много времени. Я отказался от Фортрана в значительной степени вследствие его неуклюжести при работе со строками, чтении и записи файлов, графопостроении. И ну и просто на Питоне удобнее, меньше мороки.
Есть один ньюанс, фактически терминологический. Если программа написана с широким использованием библиотек на неродном для этих библиотек языке, то можно, конечно, считать, что она на самом деле написана на двух языках. С точки зрения быстродействия это так и будет. Но с точки зрения программиста (чисто написания кода) -- ситуация иная. Он-то библиотек не писал и вообще не знает зачастую языка, на котором они написаны. Поэтому ему кажется (и в некотором смысле справедливо), что пишет он чисто на одном языке.
PS Иногда склейки занимают очень много времени. Я отказался от Фортрана в значительной степени вследствие его неуклюжести при работе со строками, чтении и записи файлов, графопостроении. И ну и просто на Питоне удобнее, меньше мороки.
-
Stauffenberg
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: C++ Qt VS Python
Неправильное направление.
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
Ortis
- Сообщения: 117
- ОС: Mandriva 2011, Kubuntu 12.04
Re: C++ Qt VS Python
Неправильное в чём? Поясните, будьте добры.