Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Для каких задач IronPython? 
:(
    Опции темы
Rohoss
  Дата 17.6.2011, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Сабж. Для каких задач может понадобится IronPython? Чем мне он может быть удобней нежели C#? Если я изучу этот ЯП, чем мне это поможет в разработке ПО на .нет?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
leshiy_AlisA
Дата 17.6.2011, 19:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 6.12.2007

Репутация: нет
Всего: нет



если тебе нужно писать на .net учи c#
удобней VisualStudio для разработки под .net  ничего нет, хотя любители mono не согласятся

ironpython просто способ работать с библиотеками .net под python
PM MAIL   Вверх
Rohoss
Дата 17.6.2011, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(leshiy_AlisA @  17.6.2011,  19:36 Найти цитируемый пост)
если тебе нужно писать на .net учи c#

ну с# я как бе знаю  smile 

Цитата(leshiy_AlisA @  17.6.2011,  19:36 Найти цитируемый пост)
ironpython просто способ работать с библиотеками .net под python 

понятно. значит он мне не нужен. я думал может он предоставит мне некоторые возможности, которые трудно реализовывать в c#...


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Stolzen
Дата 18.6.2011, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Код на питоне лаконичнее, быстрее в написании и т.п. (Язык ведь скриптовый) 
Поэтому смысл использования IronPython в том, что в нем есть возможность быстро писать на python, используя библиотеки .net и свой код, написанный на других языках платформы. Вроде бы это очевидно?

Добавлено через 59 секунд
Цитата(Rohoss @  17.6.2011,  21:24 Найти цитируемый пост)
я думал может он предоставит мне некоторые возможности, которые трудно реализовывать в c#... 

Предоставит. Динамическая типизация, list comprehension, и прочие приятности. 


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Rohoss
Дата 18.6.2011, 02:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(Stolzen @  18.6.2011,  02:03 Найти цитируемый пост)
Поэтому смысл использования IronPython в том, что в нем есть возможность быстро писать на python, используя библиотеки .net и свой код, написанный на других языках платформы. Вроде бы это очевидно?

Нет, не очевидно. Я думал что кроме радости от того что я пишу на питоне должны быть ещё какие-то преимущества...

Цитата(Stolzen @  18.6.2011,  02:03 Найти цитируемый пост)
Предоставит. Динамическая типизация, list comprehension, и прочие приятности.

Можно пример задачи, которую будет сложно решить на c# и где всё это понадобится?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Stolzen
Дата 18.6.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 1
Всего: 48



Rohoss, В принципе, я сходу не могу придумать пример, в котором python сильно выигрывает у C#, да и + реализация IronPython на .net может быть медленнее, чем C# (не знаю, как с IronPython, но вот с jython под jvm дела обстоят именно так - jython до 10 раз медленнее, чем java) 

А почему вы задумались об использовании IronPython? 


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Rohoss
Дата 18.6.2011, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(Stolzen @  18.6.2011,  13:13 Найти цитируемый пост)
не знаю, как с IronPython, но вот с jython под jvm дела обстоят именно так - jython до 10 раз медленнее, чем java) 

Это конечно жёстко...

Цитата(Stolzen @  18.6.2011,  13:13 Найти цитируемый пост)
А почему вы задумались об использовании IronPython?

Да просто интересно. Думал, может его использование чем-то упростит реализации задач какого-то типа...


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
afiskon
Дата 18.6.2011, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 294
Регистрация: 31.3.2011
Где: Россия, Москва

Репутация: нет
Всего: 4



По слухам, IronPython намного быстрее обычного Python (который CPython). Как минимум, за счет того, что код не интерпретируется, а компилируется/оптимизируется в байткод. Еще CPython кушает много-много памяти, а в IronPython это вроде бы не так. 
PM MAIL WWW   Вверх
Daevaorn
Дата 19.6.2011, 01:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 9
Всего: 70



Цитата(afiskon @  18.6.2011,  15:44 Найти цитируемый пост)
Как минимум, за счет того, что код не интерпретируется, а компилируется/оптимизируется в байткод.

CPython тоже преобразует исходный код в байт-код.
PM MAIL WWW   Вверх
Skynin
Дата 19.6.2011, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: нет
Всего: 10



Цитата

Для каких задач может понадобится IronPython? ... чем мне это поможет в разработке ПО на .нет?

Хорош для прототипирования
Когда удобно снабдить программу собственным скриптовым языком
В задачах где требуется гибкое конфигурирование программы
Для однорозавых задач

Цитата
Можно пример задачи, которую будет сложно решить на c# и где всё это понадобится?

Все задачи можно решать на ассемблере.

С C# и IronPython вопрос на самом деле звучит так:
Можно пример задачи, которую будет сложно решить на ЯП с статической типизацией и где вся эта динамическая типизация может понадобится?

И что такое "сложно", "трудно"?
Если ты опытен, то сложно - не будет и на ассемблере. А вот дооооолго, до полной потери мотивации писать - да.
То есть вопрос личной психологии - как долго можете писать программу не получая результата?
И - сколько времени выделено, и какое количество человек?

И программы обычно - эволюционируют. Как долго будет изменять/добавлять новый функционал в работающую программу?

Насчет скорости выполнения, не смущает что Web это обычно PHP и JavaScript?

А вот для EverNote и C# оказался медленным, и переписан был на С++.

И:
Если бы скорость выполнения программ была главным критерием, никаких языков на свете не было бы кроме ассемблера.
Хотя..., может бы на С все развитие языков программирования остановилось бы.
Однако уже в конце 50ых появились LISP, Cobol и Algol. Хотя тогда компьютеры были совсем не быстрыми.
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
bilbobagginz
Дата 19.6.2011, 21:20 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 6
Всего: 317



Цитата(Rohoss @  18.6.2011,  01:42 Найти цитируемый пост)
Можно пример задачи, которую будет сложно решить на c# и где всё это понадобится? 


Цитата(Rohoss @  18.6.2011,  13:03 Найти цитируемый пост)
Думал, может его использование чем-то упростит реализации задач какого-то типа... 


очень просто (Актуально и для жабы): у тебя есть какой-то толстый мега проект
тебе надо его время от времени расширять. 
проект настолько толст, что собирать, и деплоить его ... убийство человекочасов.
или напр. он написан кем-то, и трогать его никому не хочется.

создаешь интерфейс (типа плагина) на сишарпе, просто какой-то абстрактный интерфейс.

теперь к этому интерфейсу можно подключаться на питоне:
в результате (если ограничения виртуального питона тебе не страшны), получаешь старый экзешник, и подключаешься к нему из питона, т.е. динамически расширяешь приложение, прозрачно для приложения.

если тебе это ничего не говорит, то ... увы, не срослось.




--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Rohoss
Дата 19.6.2011, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



bilbobagginz, не совсем понял.
То есть делаешь расширяемое приложение? Но с такой задачей справляется скажем MEF, Unity и другие. В конце концов, если нужно именно делать плагины то в .нете есть для этого своя инфраструктура. Или я не совсем понял что ты имел ввиду...

Добавлено через 2 минуты и 57 секунд
Цитата(bilbobagginz @  19.6.2011,  21:20 Найти цитируемый пост)
теперь к этому интерфейсу можно подключаться на питоне:
в результате (если ограничения виртуального питона тебе не страшны), получаешь старый экзешник, и подключаешься к нему из питона, т.е. динамически расширяешь приложение, прозрачно для приложения.

Тут тоже не совсем понял. Подключаешься к интерфейсу на питоне, реализовываешь какую то логику отдельной либой и используешь эту либу в своём .ехе? Ну это же легко можно делать на C#


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Skynin
Дата 20.6.2011, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: нет
Всего: 10



Цитата

В конце концов, если нужно именно делать плагины то в .нете есть для этого своя инфраструктура.
...
Подключаешься к интерфейсу на питоне, реализовываешь какую то логику отдельной либой и используешь эту либу в своём .ехе? Ну это же легко можно делать на C#

Мелкий оффтоп - когда появился С++ Сишники говорили так же - а зачем вот "это", когда легко можно сделать и на Си. Потом С++сники так говорили о Java еще и добавляя об убожестве ее возможностей.

Вернемся к Python'у. Зачем бодаться с инфраструктурой для плагинов если можно - не бодаться с ней?
Скажем в C# есть метаклассы? Нет. А благодаря их наличию в Python куча ОО паттернов, требующий парочку интерфейсов и  парочку классов - преобразуются в простой код.
Можно динамически, во время выполнения изменять наследование реализации в C#? Нет, если заранее не понаписать инфраструктурного кода. И т.д.

это же легко можно - а если это же еще легче на Python'е? Опять же потому что не надо городить инфраструктуры.

На C#, кучу вещей нужно проектировать заранее. Закладывать возможности будущего функционала. А на Python'е хитрый функционал можно добавлять малым количеством кода в работающее ПО и без перекомпиляции зависящего кода. 

Вообще, стоит на ночь прочесть книгу по Python'у. От Лутца или Саммерфилда. Тогда, если знаете C# многие вопросы - "это же легко сделать на C#" отпадут. 
А возникнут - "а почему же тогда столько кода пишут на Java/C#"

Цитата

Тут тоже не совсем понял. 

Начните изучать Python - поймете. Просто для саморазвития будет полезно знать, сколько лишнего кода приходится писать и самое главное - сопровождать на Java/C#
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
Rohoss
Дата 20.6.2011, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начальник интернета
***


Профиль
Группа: Завсегдатай
Сообщений: 1308
Регистрация: 9.10.2006
Где: Matrix

Репутация: нет
Всего: 18



Цитата(Skynin @  20.6.2011,  13:38 Найти цитируемый пост)
Мелкий оффтоп - когда появился С++ Сишники говорили так же - а зачем вот "это", когда легко можно сделать и на Си. Потом С++сники так говорили о Java еще и добавляя об убожестве ее возможностей.

Это не из той оперы  smile 

Цитата(Skynin @  20.6.2011,  13:38 Найти цитируемый пост)
это же легко можно - а если это же еще легче на Python'е? Опять же потому что не надо городить инфраструктуры.

Вот был бы очень признателен, если бы мне продемонстрировали где айронпайтон удобней, а то просто флуд получается  smile То есть, просто начинается утверждение что он хорош, а где и как не понятно... А по поводу динамического изменения наследника, то его смысл не очень очевиден. Насколько я понимаю, динамическая типизация, это как рефлекшен, вещь хорошая и мощная, но не дай бог её использовать без надобности, в большом проекте проблем не оберешься...
 
Цитата(Skynin @  20.6.2011,  13:38 Найти цитируемый пост)
Начните изучать Python - поймете. Просто для саморазвития будет полезно знать, сколько лишнего кода приходится писать и самое главное - сопровождать на Java/C# 

Ну вот. А выше в этой теме мне говорили что айронпайтон нужен для людей, которые знают пайтон и хотят использовать .нет библиотеки. 
Цитата(Stolzen @  18.6.2011,  02:03 Найти цитируемый пост)
Поэтому смысл использования IronPython в том, что в нем есть возможность быстро писать на python, используя библиотеки .net и свой код, написанный на других языках платформы. Вроде бы это очевидно?


Добавлено через 3 минуты и 28 секунд
Всё же есть много вещей, которых я не знаю и которые нужны, и которым можно будет выделить когда-то время для повышения своего проф. уровня. Вот мне и интересно, стоит ли того айронпайтон? И если стоит, то какой ему выделить приоритет?


--------------------
Файловый менеджер Explorer.Net скачать  video
PM ICQ   Вверх
Skynin
Дата 20.6.2011, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: нет
Всего: 10



Цитата

Вот был бы очень признателен, если бы мне продемонстрировали где айронпайтон удобней

На любую демонстрацию можно сказать: так я и на C# такое напишу.
Или - смысл фичи не очень очевиден.
За года в программировании убедился что такой настрой - ничем не перешибить.

Где удобно применять, уже сказал.

Писать код на C# и аналогичный на Python не вижу смысла. Можно посмотреть Computer Language Benchmarks Game: Python 3 - C# Mono
(а если вдруг взволнует эффективность выполнения то сразу сюда: C GNU gcc - C# Mono и сразу бросите этот C# и перейдете на Си  smile )

Так же примеры-сравнения встречаются в книжках, и конечно - Гугле.

Цитата
А по поводу динамического изменения наследника

Понимаете... наличие такой фичи в языке говорит о существовании кучи других, менее ярких. 
Если вам это и наличие метаклассов ни о чем не говорит, то большой вопрос - а вы знаете что такое объектно-ориентированная парадигма вообще, а не ее реализация в С#?

Цитата
в большом проекте проблем не оберешься...

Вы ПМ большого проекта? Или самостоятельно пишете большое приложение? Чем вызвано беспокойство, почему вас заботят не личные знания и навыки программиста, а сложности больших проектов?

Цитата
Вот мне и интересно, стоит ли того айронпайтон?

Не стоит, не изучайте. Отдохните, пива попейте.

Понимаете в чем заковыка - если человеку интересно, он берет и изучает. И никого не просит убедить его, что вот это интересно, это полезно, это нужно и т.д. 
Хотя бы на хабре типа Заметки об объектной системе языка Python почитает.
А если встал в позу - на единственном языке что знаю это могу написать, то и правда - ему ничего не нужно изучать.

Вопрос не в том что можно написать - а еще раз - за какое время? Вы явно не понимаете о чем речь. Не понимаете что такое - время
Вот когда вы лично начнете писать в разы быстрее, используя IronPython, то абы ПМ не стал запрещать в силу непрограммиских требований к проекту.

Мое же глубокое ИМХО, профессиональный программист должен знать 4 ре языка разного типа (один из которых обычно будет его основным):
Низкоуровневый: ассемблер или Си
Императивно-ООПшный:  С++, Java, C#
Функциональный: Lisp - Scheme, что-нить из MLсемейства(можно и F#), Erlang
С динамической типизацией: Smalltalk, Python, Ruby, Perl, ... JavaScript, ... (1C в конце концов  smile )

Ваше нежелание узнать новое - это же ваши проблемы, верно?  smile 

Удачи!



Это сообщение отредактировал(а) Skynin - 20.6.2011, 19:37
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0837 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.