Премини към съдържанието

Препоръчан отговор


Здравейте,

имам едно малко запитване за "Питона".Знаме,че той е интерпретитуем,знам отчасти някои неща за него,но като цяло не съм работил с него и оттам и запитването...python се интерпретира,но за да се интерпретира предполагам,че му трябва някакъв интерпретатор,подобно на Java VM.Та в Windows имали някакъв пакет или VM или каквото и да е?Защото гледам в Linux много се използва:BitTorrent в по-ранните версии(до 5.3) е писан на Python,Ubuntu Software Centre е писан на Python,PiTiVi е писан на Python,Dropbox е на Python,Gwibber e на Python,но аз примерно като бях на Убунту не съм си инсталиран никакви допълнителни програми,за да използвам...Ubuntu Software Centre,например.Може би е вградено в kernel-а или нещо такова?А при Windows така ли е?Питам,защото един разработчик за Win може ли да пише програми и да ги разпространява и потребителите да ги използват без да си инсталират допълнителни неща?Питам защото Python,бъдейки интерпретитуем език ще е по-лесна и по-бърза разработката,защото да речем не се губи време за компилиране и т.н.Съжалявам,ако въпросите са малко странни,но за питона само съм чел и знам малко теория,но нищо повече...

Редактирано от FaceGoogler-2 (преглед на промените)

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Трябва да си инсталираш Python интерпретатор под Windows, ако искаш да пускаш python scripts. На Ubuntu просто идва преинсталиран (мисля).

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

...Питам,защото един разработчик за Win може ли да пише програми и да ги разпространява и потребителите да ги използват без да си инсталират допълнителни неща?Питам защото Python,бъдейки интерпретитуем език ще е по-лесна и по-бърза разработката,защото да речем не се губи време за компилиране и т.н.Съжалявам,ако въпросите са малко странни,но за питона само съм чел и знам малко теория,но нищо повече...

Огромна грешка, компилира се веднъж и се изпълнява много пъти, ина че се интерпретира при всяко изпълнение

Трябва да си инсталираш Python интерпретатор под Windows, ако искаш да пускаш python scripts. На Ubuntu просто идва преинсталиран (мисля).

Да, с малкото допълнение че се инсталира, защото немалко програми (скриптове) зависят от него :)
  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Питам защото Python,бъдейки интерпретитуем език ще е по-лесна и по-бърза разработката

Както каза capnemo това с интерпретацията е нож с две остриета. Огромното предимство на интерпретаторните езици е, че са многоплатформени и ако са добре написани програмите могат да се изпълняват в съвсем различни среди. Това е и големият им недостатък, защото компилираният код обикновено е по-бърз и може да бъде оптимизиран за конкретна архитектура, ОС, хардуер т.н.

А дали ще е по-лесна разработката - изцяло зависи от това, какво искаш да пишеш.

Python за Windows се сваля и инсталира от тук. Има 2 основни версии 2.х и 3.х и не са много съвместими (ако се постараеш малко и не ползваш библиотеки вързани за версия обаче, една програма може да върви и на двете)


  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ами тогава Python работи по много сходен начин с Java(или не?).И двата се компилират до байткод(.pyc/.class) и така се интерпретират от виртуална машина.Но по някаква причина Java е доста по-популярен(език),от Python.А има или някаква разлика в бързината,в най-новите версии на Java и Python?

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ами тогава Python работи по много сходен начин с Java(или не?).И двата се компилират до байткод(.pyc/.class) и така се интерпретират от виртуална машина.Но по някаква причина Java е доста по-популярен(език),от Python.А има или някаква разлика в бързината,в най-новите версии на Java и Python?

Доколкото ми е известно има известна разлика, транслатора до байт код на питон е самия интерпретатор, докато при джава има отделен компилатор

Разлика на какво? Разликите на скоростта на работа на два езика се мерят с програми, решаващи конкретен проблем

А джава е по-популярна, защото е по-стара, комерсиален продукт е, има поддръжка и има много код за нея, освен това е направена така че може да работи от СИМ карта, до корпоративен сървър с 16 и повече процесора

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ами тогава Python работи по много сходен начин с Java(или не?).И двата се компилират до байткод(.pyc/.class) и така се интерпретират от виртуална машина.Но по някаква причина Java е доста по-популярен(език),от Python.А има или някаква разлика в бързината,в най-новите версии на Java и Python?

Основната разлика между двете, е, че Java е статично типизиран език (http://en.wikipedia....m#Static_typing), следващ принципа за колкото се може повече проверки по време на компилация (но все пак с леки елементи на динамичност), а Python — динамичен (http://en.wikipedia....amming_language) и динамично типизиран (http://en.wikipedia....#Dynamic_typing), което общо-взето са два различни свята. В езици като Python и Ruby е силно застъпена динамичността и са включени доста богати езикови конструкции, които доста улесняват писането. Всичко това, обаче, идва с цената на доста по-малко възможностти за оптимизация на изпълнимия код, поради което често програмите, написани на тях, се изпълняват по-бавно. От другата страна е Java, която има невероятна виртуална машина, която се справя изключително добре. Разбира се, остава по-бавна от код, компилиран директно до машинен език, но в не малко случаи разликите са минимални.

Иначе разликите между двата свята са не малко и е обширна тема за обсъждане. Те също са основен фактор за разликите в популярността.

Относно байткода — при Java той е стандартизиран и се генерира от компилатор. При Python (а и Ruby) няма такъв стандарт и няма гаранция, че две Python виртуални машини ще поддържат един и същи байткод. Дори между различните им версии няма пълна такава гаранция. Затова Python и Ruby програмите обикновено се разпространяват чрез своя изходен код. Python интерпретира кода при първото му зареждане и кешира генерирания байткод във файл, докато при Ruby кодът се интерпретира изцяло при всяко изпълнение на програмата.

А джава е по-популярна, защото е по-стара

Всъщност Python е по-стар от Java, но през годините се е развивал много повече от нея. Редактирано от Test42 (преглед на промените)
  • Харесва ми 2

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход


×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.