Форум сайта python.su
> Просто суть в том, что питон - язык экспериментов. То есть многое пробуют вставлять, чтобы просто посмотреть (не так как в других языках, где всё сразу и надолго), поэтому у него и стандарта нет (не отправляют его на стандартизацию).
Ну это спорное утверждение. Например в Haskell-е экспериментов намного больше, но тем не менее он стандартизирован, а все экспериментальные возможности вынесены в расширения компилятора. Например можно подключить поддержку зависимых типов данных, хотя она не входит в стандарт 2010 года.
Онлайн
RodegastА что там менялось в ядре существенно?
Например в Haskell-е экспериментов намного больше, но тем не менее он стандартизирован
RodegastЭто общеизвестный факт. Толи Гвидо это писал, толи основная тусовка. В общем, поищи, почему питон не стандартизован за 20 лет.
Ну это спорное утверждение.
Офлайн
> А что там менялось в ядре существенно?
Стандартизованная часть языка не меняется, но программист может настраивать синтаксис включая дополнительные возможности которых ещё нет в стандарте.
Вот описание доп. синтаксиса которое поддерживает ghc 8: https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html
> Толи Гвидо это писал, толи основная тусовка. В общем, поищи, почему питон не стандартизован за 20 лет.
Скорей всего просто не хотят заморачиваться.
Онлайн
RodegastПросто многое переделывается без соблюдения обратной совместимости. Питон 2 был хорошим, но недостаточно хорошим. Поэтому его ядро существенно переделано, чтобы его можно было сделать гораздо лучше. При этом они были не скованы легаси-кодом и могли выбрасывать из ядра всё что угодно. И по ядру Питон 3 сильно превосходит Питон 2. Надо смотреть в будущее и задаться вопросом “Нужен ли нам куцый питон?”
Скорей всего просто не хотят заморачиваться.
RodegastОни сохраняют обратную совместимость. Это классическое развитие языка программирования. Но Питон - это лучший язык, а лучший язык должен быть хорошо отшлифован во всём.
Стандартизованная часть языка не меняется
Отредактировано py.user.next (Авг. 9, 2017 00:18:49)
Офлайн
py.user.nextНо сильно уступает PyPy
И по ядру Питон 3 сильно превосходит Питон 2.
Офлайн
> Они сохраняют обратную совместимость.
Скорее совместимость между компиляторов.
> Но Питон - это лучший язык, а лучший язык должен быть хорошо отшлифован во всём.
Пять проблем Python-а пока ещё никуда не делись.
Онлайн
FishHookЯ говорю про язык, а не про интерпретатор языка. А для CPython и для PyPy язык Питон 3 один и тот же.
Но сильно уступает PyPy
RodegastЯзык - это грамматика. Так вот грамматически (формально) в Питон 2 есть функция xrange(), тогда как в Питон 3 этой функции нет. Это функция ядра языка, которую удалили. Теперь код для второго питона, использующий эту функцию, не сработает в третьем питоне. Это и есть нарушение обратной совместимости.
Скорее совместимость между компиляторов.
RodegastКакие проблемы в самом языке?
Пять проблем Python-а пока ещё никуда не делись.
Отредактировано py.user.next (Авг. 9, 2017 15:35:43)
Офлайн
py.user.nextИ что же ты подразумеваешь под “ядром” языка в таком случае?
Я говорю про язык, а не про интерпретатор языка. А для CPython и для PyPy язык Питон 3 один и тот же.
Офлайн
FishHookВ питоне ядро языка - это то, что не входит в библиотеку (что не нужно импортировать). (Это не только в питоне*.)
И что же ты подразумеваешь под “ядром” языка в таком случае?
Отредактировано py.user.next (Авг. 9, 2017 16:10:03)
Офлайн
py.user.nextФункция len определяет грамматику? На мой взгляд, тот факт, что len прибита к интерпретатору гвоздями, а не вынесена в библиотеку не играет никакой роли. Я бы даже сказал, что для ООП языка само существование такой функции - плохой стиль. Гораздо более важные штуки, такие как JIT в PyPY и GIL в CPython могут повлиять на стиль и архитектуру программы гораздо существеннее. Ядро - это все таки интерпретатор, а не финтифлюшки вроде копеечных функций.
Язык - это грамматика.
Офлайн