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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Python vs .NET 
V
    Опции темы
nerezus
  Дата 19.5.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Python vs .NET

Иногдаприходится делать выбор, так как не хватает времени на два предмета и надо выбрать один. Вы уже догадались, какие.
Пишу для себя, чтобы сравнить. Но многим тоже понадобится. И выбор этот касается только меня.
Некоторые пункты - тоже субъективно.

1) Возможности
С одной стороны питон может все то, что может дотнет. С другой стороны в дотнете нету многово, что есть в питоне:
Нет нормальной кроссплатформенности(mono не предлагать, ).
Нет нормальных средств функционального программирования.

2) Простота использования.
Для питона нет качественной IDE уровня VS.
Есть конечно PyDev для eclipse, но из-за особенностей питона вроде duck-типизации нет нормального автодополнения.

3) Применение в разработке графических программ.
Сложнее в питоне делать графические приложения. Но мне использовать PyQt не очень удобно. А в дотнете с этим все прекрасно.
В питоне нет мейнстрима - считаю, что это очень плохо. Есть куча библиотек типа Tkinter, wx, PyGTK, PyQt - и у всх ВСЕ по разному.

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

5) Применение при разработке вебприложений.
Тут не могу сравнить. Обе вещи ОЧЕНЬ сильны.
Сравнивать придется Django с одной стороны(кто хочет - берет Turbogears) и ASP.NET с другой.
Мне гораздо приятнее идея и стиль разработки Django, но это лишь мое личное мнение и я не буду его аргументировать - выбираю для себя.

6) Требования контор
Есть конечно работа и туда и туда. Но вакансий больше именно для дотнета. Если мелкий город и junior-разработчик - это существенно.
Тут лидирует конечно .NET.

7)Стиль программирования.
Мне нравится питон. Точнее даже не так: я люблю питон. Код ОЧЕНЬ краток и красив.
Мое мнение тут однозначно за питоном.

8) Другие возможности.
Это фишки дотнета типа IronPython или Silverlight.
Мое мнение касательно первого: слишком "по студенчески". Проект еще не дошел до готовой кондиции.
Касательно второго - то пусть уж с апплетами жабы борется, а до Flash текущими темпами ему лет 40 еще. Ну не кроссплатформенный он, а Moonlight будет повторять путь mono, в котором даже стандартных методов для стандартных дотнетовских классов нет: not implemented, как говорится.

9) Документация.
У питона ОТЛИЧНАЯ документация. Я бы сказал, что одна из лучших.
У дотнета же - MSDN, о которой у меня не лучшее мнение: ставишь критерий поиска win32 native - а оно всякие джаваскрипты в результатах выводит.
Тут мне гораздо больше нравится документация питона.
Однако одно "но": сторонние питона. Для нормальной работы в питоне их ПРИХОДИТСЯ использовать.
Нужен массив? Подключай стороннюю библиотеку. Нужен гуй - снова подключай. Веб - опять подключать придется. Вот у них то как раз документация бывает вовсе не на нужном уровне.
По тому же PyQt с ней имею большие проблемы: приходится смотреть доки для С++ для Qt.

10) "Разворачивание" приложений.
проблемы и там, и там.
В дотнете - с установкой новой версии фреймворка(требует прав админа).
В питоне - же - либо установка питона и модулей(админа не требуют в большинстве случаев), либо программа весит под 10мб.

11) Мобильные платформы.
Дотнет на WM, Python на Symbian.
Хоть у меня и Symbian, но нравится больше именно WM(следующий девайс(как и предыдущий) будет на нем). Да и версии CF от обычного фреймворка отличаются ограздо меньше, чем обычный питон от мобильного.
Тут мое мнение все же за .NET.

11) "Кто за ним стоит"
За дотнетом стоит только MS. Мне это нравится - сильная контора.будет развиваитть и дополнять пока не появится более мощная технология(что будет не скоро еще), но при этом не поломает обратной совместимости.
В питоне же - куча мелких foundations. Сам питон - одно. numpy - другое, Qt - третье, PyQt - четвертое, Django - пятое. Это немного напрягает. Тем более что стандарты у контор разные.

Вот стою перед выбором. В чем я ошибся? Мой мосг требует информации.

Применяю для написание скриптов и гуевых приложений. Кроссплатформ для скриптов обязателен, но mono негуевые поддерживает.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
archimed7592
Дата 19.5.2008, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(nerezus @  19.5.2008,  17:40 Найти цитируемый пост)
Нет нормальных средств функционального программирования.

F# не предлагать, да? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
Ch0bits
Дата 19.5.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


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

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



Питон - тормоз, у него плохо с масштабируемостью и многопоточностью.  smile 
PM WWW   Вверх
nerezus
Дата 19.5.2008, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Ch0bits, этот "тормоз" самый быстрый скриптовый язык из распространенных. ) Ну если не считать lua, из-за его области применения.
Что касается многопоточности - то global lock не мешает, т.к. он не распространяется на модули, а практически все задержки в них, а не на логике.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
AntonSaburov
Дата 19.5.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

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



Цитата(nerezus @  19.5.2008,  17:40 Найти цитируемый пост)
Вот стою перед выбором. В чем я ошибся? Мой мосг требует информации.

Есть еще JAVA.
PM MAIL WWW ICQ   Вверх
nerezus
Дата 19.5.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Ну в данном случае считать, что Java=.NET ))

Просто для меня существенны следующие разоличия:
1) Java требует JRE для запуска, когда как .NET встроен в винду по дефолту(кроме старых версий, конечно)
2) Но джава кроссплатформенна.
3) Дотнетовский гуй родной для винды, джава выглядит же очень чужеродно.
4) Кроссплатформ для мобильников.

Остальные доводы считать идентичными для джавы и дотнета)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
kemiisto
Дата 19.5.2008, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



nerezus, собственно, вопрос поставлен некорректно! Сравнивать язык программирования с платформой!!! 
Вот если бы Python vs C#, то можно будет сравнивать.

Цитата(nerezus @  19.5.2008,  18:40 Найти цитируемый пост)
Нет нормальной кроссплатформенности(mono не предлагать, ).Нет нормальных средств функционального программирования.

Почему mono не предлагать? Про F# уже archimed7592 отписался. smile

А вообще, я смотрю Вам по нраву синтаксические особенности Питона и модель программирования .NET. Может IronPython попробуете? Авось устроит....  


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Lazin
Дата 19.5.2008, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3820
Регистрация: 11.12.2006
Где: paranoid oil empi re

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



Цитата(Ch0bits @  19.5.2008,  17:53 Найти цитируемый пост)
Питон - тормоз, у него плохо с масштабируемостью и многопоточностью.

в питоне многопоточность обычно реализуется не на уровне потоков(из за GIL это все будет выполняться последовательно) а на уровне процессов, так же есть фреймверк Twisted, который в этом помогает smile 
PM MAIL Skype GTalk   Вверх
archimed7592
Дата 19.5.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(kemiisto @  19.5.2008,  18:32 Найти цитируемый пост)
Сравнивать язык программирования с платформой!!! 

Почему Вы считаете, что питон - это не платформа?


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 19.5.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(nerezus @  19.5.2008,  17:40 Найти цитируемый пост)
Применяю для написание скриптов и гуевых приложений

тогда какой к черту .NET?
Python + QT4 wrapper


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
nerezus
Дата 19.5.2008, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

Почему mono не предлагать?
 Потому что: user posted image
У стандартных слассов нет стандартных методов в нем.

Цитата

Сравнивать язык программирования с платформой!!! 
 В данном случае имеется ввиду платформа Python и платформа .NET.
Из 12 пунктов про сам язык всего лишь 1 пункт(ибо язык является частью), остальное про платформы.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
nerezus
Дата 19.5.2008, 19:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


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

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



Цитата

тогда какой к черту .NET?
Python + QT4 wrapper
 Его сейчас и использую.
Но вот документация в стиле "убейте меня". Примеров ОЧЕНЬ мало, а те, которые есть - на C++, а не на питоне.
Тем более что в сборке под винду нет половины контроллов(типа QWebView и т.д.) и возможностей(хз почему так собрали).


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
archimed7592
Дата 19.5.2008, 19:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Архимед
****


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

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



Цитата(MAKCim @  19.5.2008,  18:56 Найти цитируемый пост)
тогда какой к черту .NET?
Python + QT4 wrapper 

Почему не .NET + SWF? smile


--------------------
If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas.
© George Bernard Shaw
PM Jabber   Вверх
MAKCim
Дата 19.5.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

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



Цитата(archimed7592 @  19.5.2008,  19:17 Найти цитируемый пост)
Почему не .NET + SWF?

потому что платформ, где можно запустить Python + QT4 несоизмеримо больше
какие дотнетовские языки являются скриптовыми?

Это сообщение отредактировал(а) MAKCim - 19.5.2008, 19:27


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
kemiisto
Дата 19.5.2008, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



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

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



Цитата(archimed7592 @  19.5.2008,  19:41 Найти цитируемый пост)
Почему Вы считаете, что питон - это не платформа?

Нужно определиться, что есть платформа. Если, например, использовать определение:
Цитата(http://en.wikipedia.org/wiki/Computing_platform)

In computing, a platform describes some sort of hardware architecture or software framework (including application frameworks), that allows software to run. Typical platforms include a computer's architecture, operating system, programming languages and related runtime libraries or graphical user interface.

то я действительно был не прав. 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




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


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

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