LINUX.ORG.RU

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

 ,


0

0

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

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

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

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

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

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



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

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

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

Вы не путайте веб сайты и веб приложения.

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

>Джанге там делать нечего.

Да и вообще, я Джангу привел лишь в качестве примера. Мне она нахрен не сдалась. Унаследованного кода и без Джанги дофига будет.

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

> Вы не путайте веб сайты и веб приложения.

А сайт будет один, и даже адресной строки в твоём браузере не будет, а сам браузер будет занимать весь экран, без всяких окошек.

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

>А сайт будет один, и даже адресной строки в твоём браузере не будет, а сам браузер будет занимать весь экран, без всяких окошек.

Это будет не через 5 лет.

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

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

Дедлайны просирают в двух случаях:

1) Неверно составленный эстимейт проекта

2) Команда пинающя куяки и надеющаяся побыстрячку закатать проект "на коленке"

ФП в данном случае не silver bullet и страдает теми же проблемами.

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

Аналогия - обычные языки. Многие знают английский на уровне чтения, но вот формулировать свои мысли так как положено в английском - это нужны годы практики. А иначе получаются русские предложения английскими словами, т.е. калька. Тоже самое и в программировании - садишся за питон после джавы и замечаешь, что кодишь по джавовски. Забавно было бы глянуть код функционального программера на другом языке - 100% будет тяжелое восприятие. Хотя код понятное дело будет рабочим.

>Во-во. Вот он ваш хваленый ынтырпрайз, Linfan.

Конкретный ПХП пример - это классика жанра. И кастомер прав на 100%. Да, пхп примитивен. Но зато проект на нем _нормально_ написанный, легко будет поддерживать любая пхп-команда (индусский код не рассматриваем - он на любом языке хреново будет выглядеть). И с хостингом проблем не будет. А вот концептульный рубироидный проект - и для саппорта не сразу найдешь команду и с хостингом отнюдь не все тривиально. А про обсасываемые ФП языки я вообще молчу. Хотя их тоже можно прикрутить к хостингу и пользовать. Но это требуется либо при специфичной задаче либо "удовольствия ради".

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

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

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

только давайте не будем идиотией страдать... попробуйте обратиться к несуществующему свойству в питоне, попробуйте поработать с нулевым указателем в си... это всё их области тех кто не осилил... в erlnag'е есть свои "пасхальные сюрпризы", или не согласны?

>Мне самому прикольно, что можно, скажем, с помощью декоратора сделать абстрактный класс. Или залезть на рантайме в объект и добавить в него методов.

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

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

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

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

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

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

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

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

когда идёт выбор что использовать в продакшене - нет ещё никакого кода, это раз...

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

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

только самые крутые волшебники понимают, что стоит за декораторами.

да ничего за ними не стоит - обычный паттерн декоратор, только с добавлением «магии» :)

не сильно сложнее чем:

 func = staticmethod(func)

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

>На какую еще "магию" будут косо смотреть большинство программистов и работодателей? На юнит-тесты? На итераторы? На генерики? На dependency injection?

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

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

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

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

in your head baby... я не настолько необразован как Вы, чтобы более или менее стандартные вещи называть магией...

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

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

Вот вы ей и не страдайте. Изменение немутабельной сущности отстрелиается компилятором. В Эрланге EE крайне мало. Там все сделано для того, чтобы их было как можно меньше. Питон - это магия на магии, сайд-эффект на сайд-эффекте.

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

В этот пилотаж все, кто хотел, наигрались еще в Smalltalk-80.

>расскажите об этом яндексу, гуглю, рамблеру а также все игрописателям (в т.ч. и онлайн игр)...

Вот на понт меня брать не надо. "Не первый год замужем". Гугл на Питоне просто прототипирует. В продакшен они все на Java переписывают. Зачем Яндексу понадобился Сагалаев с его Джангой - хрен его знает. Может из-за скорости разработки. Если вы заметили, то он ведет наименее нагруженные проекты. Может они повелись на моду. Хардкор в Яндексе далеко не на Питоне. Как, собственно, и Я.Онлайн (поинтересуйтесь на чем он). Про Рамблер я не слышал ничего. Там ДомикиВДомене тащатся от Перла и Це. Дайте пруфлинк. Интересно.

Давайте пойдем от обратного и посмотрим, что Питон дает для написания подобных подобных приложений. SMP? Concurrency? Средства отладки многопоточных приложения? Мониторинг? Распределенность? Скорость выполнения? Простоту деплоймента без остановки сервиса? Да хрен там. Питон дает только обычные треды на одном ядре. Так это и в Бейсике есть. Чем Питон в этом отличается от Бейсика? Я писал сложные многопоточные приложения на Питоне. Даже для C/C++ есть средства отладки подобных приложений. Для Питона есть только print и своя собственная интуиция.

>Вы не в теме, мир далеко ушёл со времени закладки Вас в криокамеру

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

>если программа не рефакторится - это значит что она не развивается либо никому не нужна и её не используют

Каждый magic removal - есть рефакторинг, но не каждый рефакторинг есть magic removal. Если в Джанге до сих пор продолжается вытравливание магии, значит что-то не так в их королевстве.

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

>Вы с катушек уехали??? Какая это магия?

С катушек уехал ваш соратник, который назвал map/filter/reduce магией.

>Это стандартные штуки которые есть далеко не в одном языке, и не в двух...

Они тоже есть далеко не в одном языке, и не в двух. Питон не исключение.

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

>когда идёт выбор что использовать в продакшене - нет ещё никакого кода, это раз...

Дурь. Какая-то база уже есть. Базовая система. Фреймворк там, сервер приложений, язык, библиотеки. И при выборе в продакшен приходится оценивать и их.

>два, очевидно же, то что будет трудно поддерживать и развивать... по разным причинам - нет специалистов, специалисты дороже чем может себе позволить компания, отсутствие опыта у разработчиков в данной технологии +100.000 пунктов

Нихрена это неочевидно. Есть задачи, которые невозможно решить, не прибегая к определенным технологиям. И не важно, сколько там специалистов и насколько они дорого стоят. Ну попробуйте вы написать на Питоне или PHP такую же систему, под которую берут Erlang/OTP. Очень часто доступность технологии и специалистов стоит в реальной эксплуатации в итоге дороже, чем более дорогая, редкая и надежная. Если бы все было так, как говорите вы, то и бортовые системы для самолетов писали студенты на PHP. И не надо говорить что это - особый случай. Любой случай - особый после первого простоя, денежных потерь и седых волос.

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

>Если хочешь знать моё мнение: скала - мультипарадигменный

Мы скатываемся к терминологии. Часть характерных признаков одних парадигм противоречит характерным признакам других (или делает их нежизнеспособными или непрактичными). Посему язык может быть или одной парадигмы (ну с лёгкими вкраплениями или попытками реализовать фичи другой парадигмы через возможности host-парадигмы), или не полностью поддерживать несколько. Да, скала - мультипарадигменный, но не функциональный. Ибо те-же состояния там на каждом шагу, ибо JVM. И т.к. писать на нём (ней) в "чисто-функциональном" стиле - убить производительность кода. А чего не хватает тому-же питону? Лямбды - кастрированные есть, функции как FCO - через задницу, но есть, ФВП - да пожалуйста. Функциональный он? Да кому такой бред в голову придёт! Мультипарадигменный? IMHO - да, хоть и через одно место.

И да - по мне питон - неплохая "промежуточная ступенька" от императивности к функциональности, но тех, кто на этой ступеньке остановился - я просто не понимаю :) Уж лучше scala. Тот-же Groovy, если бы не такой тормоз... Единственный большой плюс питона (ну опять IMHO) - большая стандартная библиотека.

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

> Мультипарадигменный? IMHO - да, хоть и через одно место.

Ну хорошо, вроде пришли к компромиссу :)

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

> in your head baby... я не настолько необразован как Вы, чтобы более или менее стандартные вещи называть магией...

С чего это ты сделал вывод о моей необразованности? Я иронизировал в тех постах насчёт блондинок от программирования, которым попали в руки крутые фишки питона. Тут как раз питон хорош благодаря своей идеологии, ибо средний кодер скорее предпочтет простое решение, чем полезет в непонятную ему магию. Поэтому трудно отлаживаемый говнокод на питоне лично мне приходится видеть значительно реже, чем на перле. И тут я могу только сказать спасибо Гвидо. Вот если б ещё добавить B&D в виде статической типизации...

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

> Вот если б ещё добавить B&D в виде статической типизации...

+1

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

> Я писал сложные многопоточные приложения на Питоне.

Зачем? O_O Интерпретатор всё равно не умеет использовать полее 1 ядра.

> Питон пик развития преодолел и сейчас начнет сходить со сцены

Из чего такой глобальный вывод?

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

>Зачем? O_O Интерпретатор всё равно не умеет использовать полее 1 ядра.

1) Тогда более одного ядра была редкость 2) дурак был

>Из чего такой глобальный вывод?

Слишком большой hype вокруг более других языков и технологий. Более серьезных и надежных. Опять же, Java стала меньше "сосать" и сейчас скорость разработки на Java, благодаря современным фреймворкам, получается сравнимой. При более высоком качестве и надежности конечного продукта.

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

> Слишком большой hype вокруг более других языков и технологий. Более серьезных и надежных.

Вокруг динамических языков тоже нехилый hype.

> Опять же, Java стала меньше "сосать" и сейчас скорость разработки на Java, благодаря современным фреймворкам, получается сравнимой.

Ну, я никогда не понимал, почему Питон противопоставляют Яве. В области веба, он скорее "PHP с человеческим лицом", на десктопе Яву почти не используют, а в качестве "клея" ее никто в здравом уме использовать не станет. Так что я не вижу угроз нише Питона, а проекты типа Unladen Swallow или PyPy могут ее только расширить.

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

>Ну, я про них почитал, но не понял, чем это лучше нежели явно написания функции? Просветите, плиз! =)

Бритва тебе поможет...

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

> Бритва тебе поможет...

ага, спасибо, очень ценный совет
Если нечего сказать/не хочется говорить, то лучше молчать, не?

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

>Если нечего сказать/не хочется говорить, то лучше молчать, не?

Хм, может я совсем криво выразился и ты меня не так понял? Я имел в виду бритву одного монаха... Который, в принципе, говорил не совсем то... Но имя его теперь широко известно ;]

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

Про Оккаму, что ли? =)
А я-то подумал, что предлагаешь мне перерезать сее горло, ибо настолько я туп, что даже объяснять бесполезно ;-D
Ладно, щас занялся изучением ФП, ничего не понятно, пока, но, надеюсь, разберусь...

Sahas ★★★★☆
()
2 декабря 2009 г.
Ответ на: комментарий от Alesh

> Давно замечаю такую тенденцию любители Ц/Ц++ любят так же и Питон, и обратное так же верно ))) Интересно с чем это связано, вроде бы ничего общего.

Такая тенденция действительно имеется. Кроме себя могу навскидку вспомнить человека три, по меньшей мере, которые любят питон и Ц (как в связке, так и по-отдельности)... Я попробую немного поанализировать причины.

== Всё, что дальше — имхо и предположения. ==

==И вообще много букав==

Про в связке всё очевидно: обычно это просто вынос числодробильни в более низкий уровень, а логики на более высокий (что логично и правильно).

Что же касается про такую любовь в отдельности к питону и в отдельности к си... тут нужен более глубокий анализ:

Питон — подходящий язык для «быстрого кодинга», может решить почти абсолютно все задачи, но не всегда энергоэффективен. Очевидно, что если уж питон не подходит для какой-то задачи (в плане скорости, скорее всего), то с ней вряд ли справятся жабы с дотнетами и прочие руби. То есть язык, дополнящий питон должен быть быстрым и, по возможности, низкоуровневым. Из популярных низкоуровневых языков не могу припомнить ничего более (энерго)эффективного, чем си (ну возможно кресты, если кому без ооп жизнь не мила :) )... Впрочем есть ещё фортран, но он как-то не очень популярен в последнее время... разве что среди олдскульных математиков.

Теперь возьмём Си: чрезвычайно эффективный язык, но на нём почти невозможно писать коротко и быстро. Логично, что его дополнит простой в освоении язык, на котором можно быстро набросать простенькую прогу из пары строк, или коротко реализовать сложную логику. Замечу также, что, использовать для этих целей языки с синтаксисом как в Ц несколько неправильно т.к. Ц уже есть (для контроля границ массивов, динамических строк, списков и проч. есть, например, глиб) и (как я уже упоминал), он не очень... лаконичен, что ли... Скорее всего язык этот должен быть интерпретируемым

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

примерно как-то так

//да-да, сегодня у меня день некропостинга...

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