LINUX.ORG.RU

Гвидо Ван Россум предложил заморозить состояние языка Python

 ,


0

0

Гвидо Ван Россум, автор языка программирования Python, предложил заморозить его грамматику и семантику на несколько лет. Основная причина заключается в том, что частые изменения в языке вызывают много головной боли у разработчиков альтернативных реализаций языка Python: Jython, IronPython, PyPy и т.д. без каких-либо преимуществ для конечного пользователя.

Гвидо ван Россум:

Основной целью сообщества разработчиков языка на данный момент должно стать дальнейшее продвижение Python3000.

Предстоит проделать много работы прежде чем Py3k станет по-настоящему удобным языком: придется портировать множество сторонних библиотек, что позволит в дальнейшем переносить зависящие от них приложения, создать утилиты, облегчающие портирование и написать документацию, этот процесс описывающую.

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

>>> Оригинальное письмо в рассылке



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

>Вам рассказать, где применяются языки функционального программирования? ... Есть интересные применения Ocaml и Scala при построении сложной бизнес-логики. Про Lisp и Erlang найдете сами.

Как, б%я, функциональности в питоне - так с гулькин нос, и тут-же лисп и скала стали функциональными? Или ты другой "без лица"?

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

>Я совсем не знаю ФП (тока в Википедии почитал про него=), но очень интересно понять про лямбда-выражения: почему они удобнее нежели обычные функции и где их лучше применять и когда? И в чём их "глубинный смысл"? ;-)

Очень интересно? Всё в руках твоих... И в интернете. =]

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

> А с библиотеками все прекрасно, наверно, в Perl. На CPAN их over 9000 и ни одной нормальной. Абсолютно тоже самое можно сказать про PHP. Без слез смотреть невозможно. С Питоном ситуация немного другая, но не принципиально лучше.

Чем не лучше? Ты, паря, на питоне сам пишешь, или ты такой же питонщик, как и хаскелист?

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

>Чем не лучше? Ты, паря, на питоне сам пишешь, или ты такой же питонщик, как и хаскелист?

Тон сбавили. И свиней мы вместе не пасли. Вы всерьез считаете, что те, в основном домашние, поделки и очередные новые веб-фреймворки и шаблонизаторы, которые сваливаются в python-announce@python.org можно использовать в серьезном продакшене, да еще и без допиливания? А вообще, я вот с этим согласен: http://article.gmane.org/gmane.comp.web.zope.russian/8391

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

>Тут согласен, в продакшене можно использовать только PHP.

В продакшене можно использовать все, что угодно. Главное, качество кода. Просто в некоторых языках оно проще и гарантированее достижимо. Сильные проекты есть и на PHP. Но это скорее исключение из правил, потому что их писали грамотные люди.

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

>Ты просто пытаешься доказать, что в питоне возможна функциональная декомпозиция, а с этим и не спорит никто. Но этого мало, чтобы писать в функциональном стиле, понимаешь.

не-а, не понимаю... пока голословно с Вашей стороны

>Твой "функциональный" код будет мало того, что неидиоматичным,

возможно, но не страшно

>так ещё и малоэффективным.

поподробнее, плиз

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

>Твой "функциональный" код будет мало того, что неидиоматичным, так ещё и малоэффективным.

опасное заблуждение...

>Главное, качество кода. Просто в некоторых языках оно проще и гарантированее достижимо.

с другой стороны, набыдлокодить можно на чём угодно

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

>с другой стороны, набыдлокодить можно на чём угодно

Можно. Но используя функциональный подход и строгую статическую типизацию, даже специально набыдлокодить сложнее. В Питоне, к сожалению, сплошь и рядом магия. Уж на что Django не дети писали, да и то, до сих пор magic removal патчи накладывают.

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

Читать так:

>В продакшене можно использовать все, что угодно. Главное, качество кода.

опасное заблуждение...

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

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

сложнее не значит сложно, правда?

>В Питоне, к сожалению, сплошь и рядом магия.

это да... :) но не к сожалению, для меня, наоборот - это фича...

>Уж на что Django не дети писали, да и то, до сих пор magic removal патчи накладывают.

да их на всё накладывают... :) только называются они по разному: patch, hotfix, service pack, etc :)

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

>опасное заблуждение

Чем же оно опасное? Вон, вылизанный код на дубовых COBOL и Fortran уже 50 лет используют. И переписывать не собираются.

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

не вижу как "В продакшене можно использовать все, что угодно." связано с "вылизанный код на дубовых COBOL и Fortran уже 50 лет используют".

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

>сложнее не значит сложно, правда?

Ну как вам сказать... Ну попробуйте изменить немутабельную переменную в Эрланге :-)

>но не к сожалению, для меня, наоборот - это фича...

Мне самому прикольно, что можно, скажем, с помощью декоратора сделать абстрактный класс. Или залезть на рантайме в объект и добавить в него методов. Но если для какой-нибудь гуйни или скрипта это подходит, то в системе массового обслуживания такие финты, мягко говоря, не приветствуются. Очень мягко говоря. И не все случаи можно покрыть юнит-тестами и анализаторами исходного кода, на что обычно уповают любители подобных языков.

>только называются они по разному: patch, hotfix, service pack

Это совсем не то. Это - устранение ошибок. А magic removal - типичное переписывание, рефакторинг.

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

>не вижу как "В продакшене можно использовать все, что угодно." связано с "вылизанный код на дубовых COBOL и Fortran уже 50 лет используют".

Хорошо, тогда что нельзя использовать в продакшене, при условии того, что код - вылизан?

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

> Но если для какой-нибудь гуйни или скрипта это подходит, то в системе массового обслуживания такие финты, мягко говоря, не приветствуются.

Да, финты вроде забивание шурупов молотком тоже не особо приветствуются.

Слышали когда-нибудь про то, что под каждую задачу свой инструмент?

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

>Слышали когда-нибудь про то, что под каждую задачу свой инструмент?

Дело в том, что простые функциональные инструменты являются универсальными под любую задачу. map/filter/reduce, как и pattern matching и пр нужно использовать везде, где только можно. А от магии нужно избавляться повсеместно.

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

>Слышали когда-нибудь про то, что под каждую задачу свой инструмент?

Кстати, пользователи Питона, как и его создатели, сами первые и нарушили это правило, воодрузив Питон туда, где ему, мягко говоря, не место.

Доходит до абсурда. Питон не умеет SMP (причины я знаю, пояснять не надо), но на полном серьезе идет обсуждение, как к нему прикрутить concurrency.

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

> простые функциональные инструменты являются универсальными под любую задачу. map/filter/reduce, как и pattern matching

map/filter/reduce и pattern matching не являются чем-то уникальным. В той или иной мере их можно использовать практически в любом языке. Просто они более распространены в языках ориентированных на функциональный подход.

> нужно использовать везде, где только можно

Используйте, никто не запрещает. Но большинство программистов и работодателей будет на вас косо смотреть и просить не использовать эту магию.

Я так и не понял чего вы своим флеймом добиваетесь? Еще один виток "функциональщики vs все" у вас явно не выходит.

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

> нарушили это правило, воодрузив Питон туда, где ему, мягко говоря, не место

Мда, создатели и водрузили... Примеры, сестра, примеры.

> Питон не умеет SMP

Питон как язык вообще ничего не знает про SMP и не должен. CPython как одна из реализаций имеет проблемы, да. У других реализаций этой проблемы нет.

> серьезе идет обсуждение, как к нему прикрутить concurrency.

Вы путаете язык и реализацию.

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

> map/filter/reduce и pattern matching не являются чем-то уникальным. В той или иной мере их можно использовать практически в любом языке.

Ага, вот и питонщеги признали, что HOF - это вовсе не показатель функциональщины.

> Используйте, никто не запрещает. Но большинство программистов и работодателей будет на вас косо смотреть и просить не использовать эту магию.

Во-во. Это к моему тезису о неидиоматичности функционального подхода в питоне. На практике map/reduce применяют единицы, чуть чаще используются list comprehensions, потому что этот синтаксический сахарок понятен даже блондинкам. А вот более обобщенный подход - HOF, closures - уже для них магия. Только самые крутые волшебники понимают, что стоит за декораторами.

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

> Как, б%я, функциональности в питоне - так с гулькин нос, и тут-же лисп и скала стали функциональными? Или ты другой "без лица"?

Он другой. Если хочешь знать моё мнение: скала - мультипарадигменный (с хорошой поддержкой фп) язык, лисп видимо тоже (в лиспах я некомпетентен, так что не могу судить). А вот питон нет, уж не обессудь. А то тогда можно перл, руби, луа, джаваскрипт и даже си с решёткой всем скопом записать в функциональные. Прям какой то праздник победившей функциональщины получится.

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

>> так ещё и малоэффективным.

> поподробнее, плиз

Ну разве не очевидно, что беспрестанное копирование тяжелых объектов будет куда более неэффективно, чем изменение состояния? Я не уверен, будет ли пистон применять хоть какие то оптимизации к такому коду. Или ты таки собрался писать функционально с состоянием?

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

>Используйте, никто не запрещает. Но большинство программистов и работодателей будет на вас косо смотреть и просить не использовать эту магию.

Подавился чаем, потом плакал. Покажу друзьям, пусть посмеются. На какую еще "магию" будут косо смотреть большинство программистов и работодателей? На юнит-тесты? На итераторы? На генерики? На dependency injection? Может ну их нах, таких работодателей?

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

> Подавился чаем, потом плакал. Покажу друзьям, пусть посмеются.

А чё смеяться то? Питонщеги - они такие, им подавай что попроще (правда порой этот подход рулит очень даже). Они ж боятся даже отступы неправильно расставить. Ну не в курсе разве, как Гвидо мечтал выкинуть лямбду вместе со всеми map/reduce? Еле отговорили.

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

На практике map/reduce применяют единицы, чуть чаще используются list comprehensions, потому что этот синтаксический сахарок понятен даже блондинкам.

map/reduce в Питоне мало применяют, потому что

[x * x for x in range(3)]
и короче, и читабельнее, чем

map(lambda x: x * x, range(3))

Или тебе обидно, что ФП стало доступно любой кухарке и его знание больше не делает тебя илитой?

А вот более обобщенный подход - HOF, closures - уже для них магия.

Только самые крутые волшебники понимают, что стоит за декораторами. Отучаемся говорить за всех. Это кажется магией только полным нубам, к коим ты, видимо, себя и причисляешь, похвальная самокритичность.

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

Ты, анонимус, как будто из разморозки, например. Про ФП мы тут спорили лет 10 назад, а сейчас уже скучно. Ты ещё про отступы в питоне заикнись.

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

>> Они ж боятся даже отступы неправильно расставить.

> О, заикнулся!

Ну привет, какой же троллинг без отступов?! Отступы сосут! Не устану это повторять.

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

> map/reduce в Питоне мало применяют, потому что

Ой, правда? А до введения list comprehensions чаще применяли? Как то я не замечал.

> Или тебе обидно, что ФП стало доступно любой кухарке и его знание больше не делает тебя илитой?

Нет, мне непонятно, с какого перепугу некоторые тыреные фичи хаскеля делают язык _внезапно_ функциональным.

> Это кажется магией только полным нубам, к коим ты, видимо, себя и причисляешь, похвальная самокритичность.

Только что предыдущий оратор из вашего лагеря утверждал, что это магия. Причём тут я?

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

В серьезном продакшине нельзя использовать минорные решения типа Хаскеля или окэмела. По одной простой причине - вот вы на нем педалите и шибко продвинуты, на вас завязано пару тройку взрослых проектов с некислым бюджетом. Владельцу конторы это как серпом по причиндалам - не дай бог вас троллейбус переедет или конкурент вас переманит более высокой з/п или еще чем-то. И все - работа накрывается большим медным тазом, а в сухом остатке - куева туча долгов. Поэтому намного стабильнее и дешевле вместо вас любимого нанять команду жабокодеров, которых можно заменять в случае форсмажора. Плюс не нужно доказывать кастомеру, что ты не "кэмел", и твое решение заслуживает серьезного отношения. Кастомеры тоже не вчерашние и понимают, что использование экзотики оправдано лишь в жутко экзотических случаях и влечет за собой невъебинически дорогой саппорт.

>Порефлексируйте, поправьте очки и жахните еще пару идиотских камментов. Я начал писать на Питоне с версии 1.5. Тогда это было новаторство.

Молодой человег! Я "за баранку этого пылесоса" сел в 85м. Тогда был большой выбор - или машкоды или Васик, ага... Тоже новаторство было, вкупе с магнитофонными кассетами как носитель. На фонатегов разных парадигм насмотрелся уже выше крыши. Касательно питона - этому фреймворку повезло, что за него Гугля взялась. А иначе язык бы тихонечко сдыхал бы, теряя сторонников. Что же касательно тикля (не знаю, ваши это были каменты про маргинальность или не ваши - у анонимусов на лбу ID не написан :) ) - большинство крикунов-"закапывательщиков" тупо не знает истории развития ибо: http://www.proplay.ru/images/users/gallery/35457/179646_l.jpg

Ваши фанатичные опусы были бы смешны, если бы не молодой контингент ЛОРа. Вот так молодежЪ понаслушивается подобных криатиффщиков и в итоге вырастают нахрен никому ненужные кадры - вроде и программер, но в башке извращенный мусор. Переучивать сложнее, чем снуля студента научить.

Любая экзотика имеет право на жизнь, но человек, зарабатывающий себе программированием на житие, должен четко понимать, что в большинстве случаев это just for fun покруче опенсурса.

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

> Кое что всё-таки изменилось, хоть по отношению ко второй ветке и немного:
> http://docs.python.org/dev/whatsnew/2.6.html

> Что точно не раз встречал: "String exceptions have been removed.".


http://www.python.org/dev/peps/pep-0352/
этот РЕР от 2005 года, и еще тогда был утвержден к выполнению.
strings exceptions были deprecated начиная с 2.5, afair

val-amart ★★★★★
()
Ответ на: комментарий от kot_otbelivatel

>map/reduce в Питоне мало применяют, потому что [x * x for x in range(3)]

Вы серьезно не понимаете, что map/reduce/filter - это концепт, техника, а не форма записи? Напишите хоть пляшущими человечками, суть от этого не изменится.

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

>Я так и не понял чего вы своим флеймом добиваетесь? Еще один виток "функциональщики vs все" у вас явно не выходит.

Я не флеймлю. Это "все" тупят. Во первых, я отвечаю некоторым товарищам, которые первые полезли в бутылку, по поводу функционального программирования. А во вторых, я пытаюсь показать, что Питон не такой уж и прекрасный, как кажется на первый взгляд, и даже на второй. И проблем у него слишком много, чтобы он стал серебряной пулей для значительного количества сфер применения.

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

>Питон как язык вообще ничего не знает про SMP и не должен. CPython как одна из реализаций имеет проблемы, да. У других реализаций этой проблемы нет. Вы путаете язык и реализацию.

Я не путаю язык и реализацию. Я рассматриваю реальное положение вещей. А смысл рассматривать какую-то гипотетическую реализацию, когда эталонная - мягко говоря, не фонтан? А остальные - маргинальны или еще не подтянулись. Я, кстати, реально болею за Jython. Он может дать Питону еще один шанс.

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

Да б-х с тобой, йошкин кэт. Пусть у питона будет хоть мильон проблем, мне недавно пришлось устроиться на работу и меня там на пыхпых кинули. После питона мне просто рыдать хочеться от пхп. Хотя проект я поддерживаю не студенческую наколенку, а продукт вполне себе серьезной конторы со взрослыми дядьками.

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

> В серьезном продакшине нельзя использовать минорные решения типа Хаскеля или окэмела.

Не ну я же говорил, бесполезно какие то ссылки приводить, что то доказывать. Хорошо, пусть нельзя использовать. Но дальше то что? Чего вы добиваетесь этим утверждением? Запретить всем учить ФП, даже в целях самосовершенствования? Сейчас вот во многих вузах есть курс "функциональное программирование", изучают хаскель там. Пойдете расскажете всем, что они лохи теряют время, когда можно было бы клепать халтуру на жабе?

> Что же касательно тикля (не знаю, ваши это были каменты про маргинальность или не ваши - у анонимусов на лбу ID не написан :) ) - большинство крикунов-"закапывательщиков" тупо не знает истории развития

Это были мои комменты. Да, тикль был на коне, когда Остерхаут работал в Sun. Да, Sun много сделала для его развития. Но эти времена давно прошли. Теперь это такая же маргинальщина, как и хаскель. Но тем не менее, это не мешает вам использовать тикль в своём проекте. Я давненько уже не встречал живых программистов на тикле, или каких то вакансий. Так зачем вы его используете, объясните? Это же глупость несусветная по вашей собственной логике.

> Ваши фанатичные опусы были бы смешны, если бы не молодой контингент ЛОРа. Вот так молодежЪ понаслушивается подобных криатиффщиков и в итоге вырастают нахрен никому ненужные кадры - вроде и программер, но в башке извращенный мусор.

В башке извращенный мусор как раз у тех, кто вместо учёбы халтурит на жабе в крутом ынтырпрайзе. Вот их действительно замучаешься переучивать, лучше взять смышленого школьника, ей-богу.

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

>В серьезном продакшине нельзя использовать минорные решения типа Хаскеля или окэмела.

О да! У Jane Street Capital, Sony ImageWorks или Ericsson нет серьезного продакшена!

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

Это должен быть либо слишком маргинальный язык, не вышедший за пределы лабораторий, либо слишком маргинальный работодатель, который мало что понимает в этом мире. Средства подбирают под проект. Некоторые проекты лучше делать на PHP. Некоторые, просто невозможно реализовать не погрязнув в ерунде, если не прибегать к функциональным языкам.

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

Расскажите это кастомерам, которые выбрали RabbitMQ вместо Apache Qpid.

>Молодой человег! Я "за баранку этого пылесоса" сел в 85м.

Я сел в том же, так что у меня есть полное право и вас называть маладым. И как подкручивать головки у магнитофона и пользоваться таблицей машкодов PDP и Z80 я и без ваших напоминаний прекрасно помню.

>Ваши фанатичные опусы были бы смешны, если бы не молодой контингент ЛОРа. Вот так молодежЪ понаслушивается подобных криатиффщиков и в итоге вырастают нахрен никому ненужные кадры - вроде и программер, но в башке извращенный мусор. Переучивать сложнее, чем снуля студента научить.

Это вы жену программированию поучите, да. Тиклю там, еще чему нибудь полезному в зарабатывании на жизнь.

>Любая экзотика имеет право на жизнь, но человек, зарабатывающий себе программированием на житие, должен четко понимать, что в большинстве случаев это just for fun покруче опенсурса.

Я нигде не предлагал выкинуть Java и перейти на Хаскель. Я говорил, что под определенные задачи есть свои инструменты. И только аутсайдер может выучить одну прадигму и сидеть с ней всю жизнь. Люди, знающие функциональное программирование, и на других языках пишут лучше. Потому что "Functional programming is like describing your problem to a mathematician. Imperative programming is like giving instructions to an idiot."

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

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

Во-во. Вот он ваш хваленый ынтырпрайз, Linfan. С точки зрения менеджера вы может и правы. Но как программист я вашу позицию не понимаю и не приемлю.

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

>С точки зрения менеджера вы может и правы.

С точки зрения менеджера, он будет рвать на голове волосы и посыпать голову пеплом, просрав все дедлайны, пока его группа будет заниматься вот этим: http://antilamer.livejournal.com/289101.html

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

>С точки зрения менеджера вы может и правы. Но как программист я вашу позицию не понимаю и не приемлю.

Какую такую позицию? Что пхп - лютое говно по сравнению с питоном при любом раскладе? И что мне приходится скрипя зубами писать пыхпышный код ибо "так надо"?

S-H-Dat
()
Ответ на: комментарий от anonymous

> Я, кстати, реально болею за Jython. Он может дать Питону еще один шанс.

Нет, поезд ушёл. Есть куда более интересные groovy и scala - этого на JVM-платформе хватит с головой. На поле дотнета питон тоже проиграл вчистую. Никому не нужная маргинальная поделка - вот будущее питона, как бы гугли не пыжились со своими ласточками. С распространением mono на линуксе питон скорей всего повторит судьбу тикля.

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

>А питону и имеющихся шансов вполне хватило.

Это по состоянию на данный момент. Пройдет лет 5. Многое изменится. А legacy проекты на Питоне придется поддерживать. И тут, надеюсь, придет допиленный Jython и Java 7. Вот тогда можно будет старую Джангу перенести на шуструю VM и без гемора интегрировать с другими решениями.

anonymous
()
Ответ на: комментарий от S-H-Dat

> Какую такую позицию? Что пхп - лютое говно по сравнению с питоном при любом раскладе? И что мне приходится скрипя зубами писать пыхпышный код ибо "так надо"?

Ну, я не виноват, что PHP - выбор мелкого ынтырпрайза. Ввязались, терпите. Думаете ИНДУСтрия жабы сильно лучше?

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

Кому через 5 лет нужна будет твоя джанга, если корпорации этот мир старательно катят в сторону rich web applications? Джанге там делать нечего.

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