| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Религиозные войны > Зачем нужен этот ваш Python? |
| Автор: bems 6.2.2010, 22:52 |
| сабж |
| Автор: kemiisto 6.2.2010, 23:22 |
| Новый холик! Если очень коротко, у Python есть только одно неоспоримое преимущество - "batteries included". А так... Smalltalk, Lua - вот это да, шедевры. |
| Автор: bems 6.2.2010, 23:24 |
| Топик создавался не холивара ради. Я создал его в разделе по пайтону чтобы получить конкретный ответ об области применения. А что за батарейки? |
| Автор: kemiisto 6.2.2010, 23:44 | ||
Теперь по делу.
Всё, что пока в голову пришло. Голова больная, работаю с TeX. |
| Автор: nginx 7.2.2010, 00:14 |
| Вы забыли про мощный трехмерный редактор Blender, где языком сценириев является , как раз Питон, а про возможности Питона в Блендере писать не буду их уйма PS А вот тут тригерры очень даже ф-циональные, в отличии от тригерров в БД, тригерр в 3д сцене, очень мощный инструмент |
| Автор: bilbobagginz 7.2.2010, 00:24 |
почему так Пайтона погоняем... Python - Питон, Пайтон, но как блин, с него до Пейтона дойтить, не понимаю ) если коротко:
но сейчас уже можно спокойно иметь дилему какой скриптовый язык учить. не смотря на перловые способности. И еще есть косвенные преимущества - есть официальный бинарный дистрибутив под большинство платформ. напр. Windows 64-bit, что на полу не валяется и ничем не пахнет (напр. того же Ruby - нет) Есть некоторая эстетическая заморочка - индентация кода единая, при помощи пробелов. но зато это дает единый внешний вид кода. пиши-пиши бумажку, а вечером поставь геморройную свечку уважения Д.Кнуту |
| Автор: kemiisto 7.2.2010, 00:56 | ||||||
Ну, во-первых, используется не только Пейтон. В уже упомянутом Qt, если нет желания таскать с собой сабж, можно использовать встроенный QtScript scripting engine. Будешь скриптить на несколько изменённом http://en.wikipedia.org/wiki/ECMAScript. Но назвать синтаксис/семантику более адекватной у меня язык не повернёться. Lua широко распространена в качестве скриптового языка в game dev'е. http://en.wikipedia.org/wiki/Category:Lua-scripted_video_games. Кроме того, у Lua - вылизанный и простой C API (в отличие от сабжа), что облегчает embedding. Изначально так задумано было. Ещё LISP'ы всякие встраивают бывает. http://en.wikipedia.org/wiki/AutoLISP. Но это с больной головы на здоровую. Питон рулид из-за жуткой популярности. Встраивать поддержку именно сабжа выгодно по маркетинговым причинам.
Какбэ демонстрируется пренебрежительное отношение к сабжу. Yep! And it's more than enough to beat Perl!
|
| Автор: Lazin 7.2.2010, 01:13 | ||
|
| Автор: bems 7.2.2010, 01:33 |
| Lazin, ну да, там if var = 'string1' or 'string2' это ошибка, как и должно быть. |
| Автор: Lazin 7.2.2010, 01:38 |
| в python-e тоже Добавлено через 1 минуту и 54 секунды а вообще, это @#$%^ товарищи, в языке есть столько вкусных фичь, а тебя беспокоит оператор присваивания = и возможность использовать его в if-e |
| Автор: bems 7.2.2010, 01:48 |
| По паскальной привычке я потерял одно равно. Точная цитата: Здесь нет ошибки, а всегда истина. |
| Автор: Lazin 7.2.2010, 02:06 | ||
bems,
Добавлено через 42 секунды а почему в других языках приоритет операторов должен быть таким-же как в паскале? |
| Автор: bems 7.2.2010, 02:11 |
| Не нужно мне говорить как написать то же самое, но правильно, это цитата из чужого вопроса на форуме. Приоритет не обязан быть таким же, а вот то что непустая строка истинна - окончательная победа над здравым смыслом. |
| Автор: bilbobagginz 7.2.2010, 03:05 | ||
почему ? непустая строка, как и др. строки - объект. непустой объект != undefined => True! Добавлено через 42 секунды работашь со средой или в vim ? |
| Автор: GrayCardinal 7.2.2010, 11:40 |
| del |
| Автор: bilbobagginz 7.2.2010, 17:46 |
| GrayCardinal, a что del-то ? |
| Автор: Lazin 7.2.2010, 18:14 |
| готов поспорить, что там было написано что-то вроде - Ruby - рулит, Python - sucks |
| Автор: bems 7.2.2010, 21:43 |
Ну это красиво как может быть красива абстрактная научная теория. А практика-то практикой. В си вот есть присваивание в качестве логического выражения, и в результате везде рекомендация "при сравнении на равенство слева константа, справа переменная". Сакс. |
| Автор: nginx 7.2.2010, 21:49 | ||
Ruby пока интерпретатор чистый, а Питон уже давно вирт. машина =) А Ruby умеет общаться с Сишными либами, как Питон? |
| Автор: kemiisto 7.2.2010, 22:03 |
Нет. С версии 1.9 - YARV. Yet another Ruby VM. Умеет, наверное. Но это не так распространено как в случае с Python. |
| Автор: nginx 7.2.2010, 22:45 |
| kemiisto, и сколько ссылочных типов есть в Раби? сборщик мусора есть? такой же, как в ПХП или нормальный? Wikipedia must be updated! |
| Автор: Любитель 8.2.2010, 00:12 |
При всём моём уважении к питону (да не, не особо заслуженном - просто так по сути) - ты прав. kemiisto, я вот что-т в итоге так и не понял - тебе из чего-то имеющего реальное применение в мире сегодняшнего программинга (ну т. е. всякие обероны не в счёт) нравится или нет? Ну или.. хотя бы не то, что нравится.. Есть такое, что ты не будешь ругать? |
| Автор: kemiisto 8.2.2010, 00:20 |
Что значит сколько? Там вообще-то как и в Питоне все переменные имеют ссылочный тип. Т.е. каждая переменная указывает на объект в памяти. Есть. А вот подсчёта ссылок (reference counting) нет. В Ruby используется подход http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)#Copying_vs._mark-and-sweep_vs._mark-and-don.27t-sweep. А в Питоне используется комбинация reference counting + cycle-detecting garbage collector. Если уверен, что не будет циклических ссылок GC можно вообще вырубить. Вот это фиг знает. PHP не знаю совсем. С Ruby давно не работал. |
| Автор: nginx 8.2.2010, 00:26 | ||
нет, что в Питоне a = "2" теперь переменная ссылочного типа? она "простого" типа к примеру в C# только 4-е ссылочных типа, это classes, interfaces, delegates, arrays |
| Автор: Lazin 8.2.2010, 00:39 | ||||
Любитель, нет в мире совершенства, а в мире IT - и подавно Добавлено через 1 минуту и 44 секунды
нет, она ссылочного типа |
| Автор: nginx 8.2.2010, 00:48 |
пошел за спецификацией Python, что-то неладно в Питоновском королестве ЗЫ приведу пока из C# спецификации The following table provides an overview of C#’s type system. Category Description Value types Simple types Signed integral: sbyte, short, int, long Unsigned integral: byte, ushort, uint, ulong Unicode characters: char IEEE floating point: float, double High-precision decimal: decimal Boolean: bool Enum types User-defined types of the form enum E {...} Struct types User-defined types of the form struct S {...} Nullable types Extensions of all other value types with a null value Reference types Class types Ultimate base class of all other types: object Unicode strings: string User-defined types of the form class C {...} Interface types User-defined types of the form interface I {...} Array types Single- and multi-dimensional, for example, int[] and int[,] Delegate types User-defined types of the form e.g. delegate int D(...) |
| Автор: Lazin 8.2.2010, 01:18 | ||
а причем тут C#? |
| Автор: kemiisto 8.2.2010, 01:20 | ||||||||
nginx, я сегодня не в духе. Не надо меня лишний раз злить. Ты, видимо, хотел сказать не "простого", а атомарного.
А вот и откуда ветер дует. Педивикия. Поначитаются всякой *****. Итак, во-первых, этой чепухи нет в официальных доках. Во-вторых, атомарными обычно называют встроенные в язык типы. В-третьих, как и в Ruby, любая переменная ссыслка на объект и вполне допустимо говорить, что все типы являются ссылочными. В-четвёртых надо различать mutable и immutable. В пятых, ... В пятых, иди учи Питон.
Спасибо, я не знал. И ооооооочень в тему. Добавлено через 2 минуты и 1 секунду
Нет. Из майнстрима Java, пожалуй, ругать не буду. С Python посмотрим как сложиццо. Добавлено через 6 минут и 20 секунд Вот-вот. nginx, вот, держи картинку и подумай над ней. ![]() |
| Автор: nginx 8.2.2010, 01:26 |
не, просто сказываются мои отсуствия в знаниях, прошу прощения согласен ЗЫ **** ваши динамично-типизированные ЯП и *** знает, как они работает в DLR в дотНЕТе... до сих пор темные дела эти в DLR |
| Автор: Любитель 8.2.2010, 01:44 | ||
Мне, конечно, неудобно оффтопить, но.. странно. Я не хочу функционал рассматривать (функционал влияет на менйстримновость, но на нравится/нет - не особо), но с точки зрения языка.. Ява, конечно, справляется со своей задачей (максимально простой синтаксис), но.. мне эта задача не нравится. |
| Автор: kemiisto 8.2.2010, 01:54 | ||
Да помню. С тобой, вроде, уже обсуждали. Ну не нравиться мне syntax sugar ни под каким соусом.
Не согласен. Я здесь в начале топика уже писал. Но если Smalltak просто опередил время, то Lua проигрывает именно из-за библиотек. Я бы с удовольствием учил Lua, но... PyQtPySide, NumPy (с f2py), SCons, ... |
| Автор: Любитель 8.2.2010, 01:57 | ||||
Прости, забыл
Ну дык.. Тут проблема уже не в том, что "не нравится", а в том, что "не особо нужно" (условно говоря). Понятно, что в идеальном мире должно быть и то, и то... |
| Автор: kemiisto 8.2.2010, 02:00 | ||
Да. Верно.
Перечитал, понял. Да, всё так. С Oberon для меня таже история - применения пока не найду. Вот-вот... |
| Автор: GrayCardinal 8.2.2010, 10:22 | ||
Именно так... |
| Автор: bilbobagginz 8.2.2010, 10:37 |
есть единый свиг: http://www.swig.org/exec.html |