LINUX.ORG.RU

Python — не Java


0

0

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

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

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

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

>>> Python Is Not Java

★★★

Проверено: Demetrio ()

Ответ на: комментарий от ugly-ugly-fucker

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

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

amm
()
Ответ на: комментарий от int19h

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

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

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

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

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

man Tcl

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

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

amm
()
Ответ на: комментарий от anonymous

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

flamer
()
Ответ на: комментарий от amm

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

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

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

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

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

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

int19h ★★★★
()

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

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

anonymous
()
Ответ на: комментарий от int19h

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

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

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

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

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

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

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

amm
()
Ответ на: комментарий от ugly-ugly-fucker

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

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

amm
()
Ответ на: комментарий от amm

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

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

int19h ★★★★
()
Ответ на: комментарий от int19h

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

amm
()
Ответ на: комментарий от anonymous

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

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

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

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

vada ★★★★★
()
Ответ на: комментарий от vada

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

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

MS
()
Ответ на: комментарий от MS

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

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

vada ★★★★★
()
Ответ на: комментарий от vada

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

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

int19h ★★★★
()
Ответ на: комментарий от int19h

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

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

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

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

vada ★★★★★
()
Ответ на: комментарий от MS

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

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

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

CybOrc
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.