LINUX.ORG.RU
 
Bsd-un

Python -- не Java


0

0

Филип Эбу (Philipp Ebu) анализирует принципиальные отличия двух языков
програмимрования на примере GUI-приложения, написанного на wxPython
разработчиками, прежде работавшими в основном с Java.

"Просмотрев код, я обнаружил что они сделали множество вещей, которые
имеют смысл в Java, но абсолютно не подходят для Python. Не потому что
Python медленнее чем Java, а потому что существуют намного более простые
способы достижения тех же целей. К сожалению, эти ребята тяжело работали
чтобы написать намного более объемный код, чем можно было бы, который
к тому же работает значительно медленнее по сравнению с идеологически
верным подходом"

Вот несколько примеров некорректного переноса популярных идиом java:

- статическим методам соответствуют не методы класса, а функции класса
- эффектифным аналогом конструкции switch является хеш (dict), а не цепочка if/elif
- в python нет нужды прибегать к использованию XML, кроме как для внешнего взаимодействия
- за очень редким исключением, многократного повторения части кода с незначительными
вариациями можно легко избежать, без потерь производительности.

>>> Python Is Not Java


[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от ugly-ugly-fucker 05.12.2004 16:22:12  

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> дожидаться когда последние программисты на нем выйдут на пенсию

То есть по существу сказать нечего?

* ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от int19h 06.12.2004 2:55:04  

Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> Например, полноценного ООП,

Что есть полноценное ООП и почему его нет в тикле?

> first-class функций,

Внешне функция в тикле строка, ее имя тоже строка. Этого не достаточно?

> и в целом вразумительного синтаксиса.

man Tcl

> Хотя вообще тикль неплох, но он местами слишком высокоуровневый и "скриптовый".

Ну да, он и есть скриптовый язык.

* ()
[#] Ответ на: Re: Re: Re: Python -- не Java от anonymous 06.12.2004 0:07:54  

Re: Re: Re: Re: Python -- не Java

Когда лохи придумывали SGML (коему XML не потомок, а кастрированное подмножество), S-выражения уже давном давны сущестовали. И, следовательно, изобретать SGML никакой нужды не было.

()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от amm 06.12.2004 6:20:09  
int19h

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> Что есть полноценное ООП и почему его нет в тикле?

Так... извиняюсь. Есть оно, если поискать =)

> Внешне функция в тикле строка, ее имя тоже строка. Этого не достаточно?

Нет. Впрочем, см. ниже.

> Ну да, он и есть скриптовый язык.

Вот ключевое слово здесь - "скриптовый". Как скриптовый язык, тикль действительно практически идеален, и, по большому счету, не нужны там ни ООП, ни прочие навороты... Но питон - это _не_ скриптовый язык. Это полноценный язык программирования общего назначения. Который, кстати, никто не мешает использовать в связке с тем же тиклем...

**** ()
[#]  

Re: Python -- не Java

Руки прочь от TCL! Считаю его самым лучшим из языков. Он может делать ВСЕ. Этакий "швейцарский нож программиста". А если задача критична к времени выполнения - пожалуйста, пишите критичную функцию (например числодробилку) на C и вызывайте её из TCL-программы.

Спаибо за внимание.

anonymous ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от int19h 06.12.2004 7:21:21  

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> Так... извиняюсь. Есть оно, если поискать =)

Если поискать, то при желании можно где угодно что-нибудь да найти. :)

>> Внешне функция в тикле строка, ее имя тоже строка. Этого не достаточно?

> Нет. Впрочем, см. ниже.

Почему? Вроде подходит под основные определения "first-class value".

> Но питон - это _не_ скриптовый язык. Это полноценный язык программирования общего назначения.

Тикль тоже (в смысле язык общего назначения). По крайней мере у него все для этого есть.

* ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от ugly-ugly-fucker 06.12.2004 8:16:10  

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> Пиздобольские заявления вроде "после С++ в 95 году настал рай на земле и пиздец всему" ответа по существу не предполагают.

Я этого не говорил, и даже не согласился с этим, но отвечал ты на другой вопрос.

* ()
int19h

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

> Почему? Вроде подходит под основные определения "first-class value".

Таким макаром у нас каждый язык с поддержкой eval (читай: каждый интерпретатор) такой фичей обзаведется. Нет уж =) Это того же плана, что на асме можно писать объектно, поэтому он имеет поддержку ООП =)

**** ()

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

Да, извиняюсь, немного ошибся: передать в функцию можно, получить из функции можно, сохранить можно, создать в рантайме можно, а с анонимностью есть проблемы. Но вроде как в 8.5 собираются их решить.

* ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java от anonymous 05.12.2004 17:15:51  
vada

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java

>Так же все поставят себе Windows Server 2005 и на клиентов Longhorn с
>встроенной поддержкой XML везде-где-только-можно и наплюют на
>линухоидов

А умные люди, в отличии от анонямусов, прежде чем винды на сервер ставить, заглянут вот сюда.

http://www.securitylab.ru/44620.html

И ни когда не поставят винды в качестве сервера.

**** ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java от vada 06.12.2004 12:18:32  

Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

>> А умные люди, в отличии от анонямусов, прежде чем винды на сервер ставить, заглянут вот сюда.

Ну блин! Ну зачем люди вирусы пишут? За это что, деньги платят?!

()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от MS 06.12.2004 12:29:48  
vada

Re: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше

>Ну блин! Ну зачем люди вирусы пишут? За это что, деньги платят?!

Ну, блин! Ну зачем люди в носу ковыряют? За это что, деньги платят?

**** ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java от vada 06.12.2004 12:18:32  
int19h

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java

> И ни когда не поставят винды в качестве сервера.

Угу. То-то в Top10 неткрафта постоянно два-три виндовых сервака болтается...

**** ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java от int19h 06.12.2004 13:43:12  
vada

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Python -- не Java

http://www.securitylab.ru/50001.html
====================== кусь ===========================================
Вскрытие показало, что на среднестатистическом офисном компьютере мирно уживается два десятка программ, тихо шпионящих за своим владельцем.

Это открытие было сделано компанией Webroot, проанализировавшей данные работы своей программы Corporate SpyAudit. Справедливости ради, следует отметить, что в подавляющем большинстве случаев под определение Spyware подпадают некорректные cookies, подсаженные на компьютеры жертв не вполне добросовестными веб-мастерами. В то же время, пишет The Register, каждый двадцатый компьютер, исследованный Webroot, имел на борту "системный монитор", а еще 5,5% -- трояна.

В ходе исследования было протестировано более десяти тысяч компьютеров, принадлежащих 4100 компаниям. //Internet.ru
====================== кусь ===========================================

Вот от сюда и топы всякие.

**** ()
[#] Ответ на: Re: Re: Re: Re: Re: Re: Re: Как писать ПО лучше от MS 06.12.2004 12:29:48  

Как писать ПО лучше

> Ну блин! Ну зачем люди вирусы пишут? За это что, деньги платят?!

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

* ()