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

Поиск:

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


Архимед
****


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

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



Цитата(MAKCim @  19.5.2008,  19:27 Найти цитируемый пост)
какие дотнетовские языки являются скриптовыми?

Согласен, скриптовых - нет... по крайней мере я таких не знаю...

Цитата(kemiisto @  19.5.2008,  20:03 Найти цитируемый пост)
Нужно определиться, что есть платформа. Если, например, использовать определение:

Ну давайте закроем глаза на терминологию с формулировками и пойдём несколько иным путём.

Что такое .NET?
1. JIT
2. GC
3. libraries

Что такое Python?
1. JIT или нет я точно не знаю, но как таковой механизм воплощения исходного кода в инструкции процессора имеется(пусть это даже интерпретатор будет).
2. GC
3. libraries

И почему .NET плафторма, а Питон - нет? Может быть я чего-то из виду упустил?


--------------------
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   Вверх
kemiisto
Дата 19.5.2008, 21:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



archimed7592, JIT-компилятор и сборшик мусора как составные части платформы (.NET) это не тоже самое, что интерпретатор языка программирования и сборшик мусора на уровне языка (Python). 

Остаётся только набор библиотек, который уместнее было бы именовать какркасом (framework), нежели платформой.

Кроме того, исполняемым файлом платформы .NET является файл, содержащий инструкции MSIL, а не просто исходный код на одном из языков .NET. Если по-вашему, то любой интерпретируемый язык, поддерживающий сборку мусора, сопровождает и одноимённая платформа. Платформа Ruby, платформа Lisp, платформа Smalltalk... Не многовато будет?

IMHO


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


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


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

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



kemiisto, ты так говоришь, т.к. не видел питон.
В нем аналогичная ситуация: промежуточный байт-код. Файлы pyc/pyo.
В платформе питона можно компилить не только код на языке питоне, но и на других. Просто надо создать такой pyc-файл.


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


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



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

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



nerezus, дико извиняюсь. smile Ну тогда, согласен: Python - платформа. 
Цитата(nerezus @  19.5.2008,  22:19 Найти цитируемый пост)
В платформе питона можно компилить не только код на языке питоне, но и на других.

А на каких именно, можно поинтересоваться?


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


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


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

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



kemiisto
Цитата

А на каких именно, можно поинтересоваться?
 Из доступных только питон ))
Хотя никто не мешает написать компилер в pyc для другого языка - нет технических ограничений.

С джавой подобное(но "альтернативы" есть вроде мидлет паскаля), хотя у нас на 4ом курсе пишут компилер своего языка в байткод джавы.

Это сообщение отредактировал(а) nerezus - 20.5.2008, 06:31


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


3D-маньяк
****


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

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



Тут упоминали Python в связке QT4 для гуи. Дайте пример приложения, где так делают. Чисто из спортивного интереса глянуть.  smile 

И ещё, вот по поводу крутости разработки сетевых приложений,
Цитата(nerezus @  19.5.2008,  17:40 Найти цитируемый пост)
Написать вебсервер? Пять строк.

пример, если можно. 


--------------------
user posted image
PM MAIL WWW   Вверх
Shaggie
Дата 20.5.2008, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



mr.DUDA, приложения не дам, а почитать можно тут же на форуме: ссылка.


--------------------
Цитата(alina3000 @  6.3.2014,  10:47 Найти цитируемый пост)
Сорри что не по теме 
PM MAIL ICQ GTalk Jabber   Вверх
nerezus
Дата 20.5.2008, 08:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



mr.DUDA, я ошибся, в 4 строки, а не в 5 ):
Код

import SimpleHTTPServer, SocketServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8000), Handler) # port 8000
httpd.serve_forever()

Если заменить handler на свой - то можно генерировать прямо на лету.

Касательно Qt: ссылку выше дали )


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


3D-маньяк
****


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

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



nerezus, в примере - встроенный функционал одной из стандартных библиотек? Если нет, то не засчитывается.  smile 


--------------------
user posted image
PM MAIL WWW   Вверх
Lazin
Дата 20.5.2008, 08:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



интересно, есть ли для .NET-a что то похоже на easy_install smile 
PM MAIL Skype GTalk   Вверх
mr.DUDA
Дата 20.5.2008, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


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

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



Shaggie, почитал обе статьи, включая ту которая про Qt4 на С++. Что сказать, если нужна кроссплатформенность то и правда "какой тут к чёрту .NET". smile 

Но вот если не нужна (и лишних 6 килобаксов на Qt нет), то сами понимаете...  smile



--------------------
user posted image
PM MAIL WWW   Вверх
nerezus
Дата 20.5.2008, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



mr.DUDA, стандартные библиотеи. Есть и поддержка CGI в таком сервере. Тоже стандартно.

Цитата

Но вот если не нужна (и лишних 6 килобаксов на Qt нет), то сами понимаете...  
 PyQt стоит ровно $0, а не $6k.
И лицензия у него вовсе не такая, как у Qt. Точнее такая же, но на модификацию самой PyQt, а вот код питона, который ее юзает, может иметь любую лицензию ;)
Вот такое преимущество у скриптовых языков ;)

Это сообщение отредактировал(а) nerezus - 20.5.2008, 09:33


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


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


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

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



Цитата(mr.DUDA @  20.5.2008,  08:36 Найти цитируемый пост)
в примере - встроенный функционал одной из стандартных библиотек? Если нет, то не засчитывается.

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

Это сообщение отредактировал(а) MAKCim - 20.5.2008, 09:49


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

PM MAIL   Вверх
mr.DUDA
Дата 20.5.2008, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


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

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



Цитата(MAKCim @  20.5.2008,  09:46 Найти цитируемый пост)
пожалуйста, можешь использовать любой компонент .NET, только вряд ли у тебя получится написать все в 5 строчек   вот тут уже дело в языке

MAKCim, дело совсем не в языке. Точно так же я могу взять и написать свой класс под любым названием и запихнуть туда прослушивание сокета, назвав это SimpleServer-ом. Код для использования такого сервера влезет в 3-4 строчки кода, практически один-в-один с приведённым примером (а Handler будет делегат на метод того же класса сервера, обрабатывающим HTTP запрос). На кодпрожекте таких примеров вагон.

Пока ничего сверхъестественного в питоне не вижу кроме кроссплатформенности. Просил убийственных примеров - не привели.  smile

Добавлено @ 10:04
Цитата(MAKCim @  20.5.2008,  09:46 Найти цитируемый пост)
гы
это и называется платформа

Гм... мысль не понял.  smile 


--------------------
user posted image
PM MAIL WWW   Вверх
nerezus
Дата 20.5.2008, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



mr.DUDA
Цитата

очно так же я могу взять и написать свой класс под любым названием и запихнуть туда прослушивание сокета, назвав это SimpleServer-ом.
 Прямо в redistributable пакет от M$? ) Похекаешь их сайт? ) Тут именно СТАНДАРТНЫЕ модули. А о твоем модуле другой человек ничего не будет знать и его придется писать ему снова. Либо качать неоттестированные сторонние модули от неизвестных личностей.

Дело в том, что код питона очень краток. Это был пример. Так же в нем есть вещи типа:
Например открыть файл в виде массива строк с вырезанием пробелов по краям, пропуская пустые строки:
Код

[l.strip() for l in file('C:\\install.log').readlines() if l.strip()]


Или объявление функций в процессе выполнения программы:
Код

def adder(a):
    return lambda x: a + x
a5 = adder(5)
a5(8) # выдаст 13


Это сообщение отредактировал(а) nerezus - 20.5.2008, 10:16


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

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

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


 




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


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

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