1.1, MetaClass (?), 08:52, 07/04/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +15 +/– |
Из-за того что тянут поддержку 2.7 многие и сидят на ней, бэкпортировали кучу фич из 3й ветки зачем-то. Многие из пользователей даже не читали какие плюсы привносит 3я версия.
Самое геморройное дело на текущий момент обеспечивать одновременную поддержку Py2 и Py3. Надо выкинуть 2ку и всё станет легко и просто!
Сейчас же, для многих должно быть очевидно, что писать новые проекты на устаревшем Python2.7, у которого заканчивается поддержка через 1,5 года очень глупое дело.
PS:
RHEL 7 который скоро выйдет будет c Python3.3 на борту.
Всех поздравляю!
| |
|
2.8, www2 (ok), 11:51, 07/04/2013 [^] [^^] [^^^] [ответить]
| –8 +/– |
>Сейчас же, для многих должно быть очевидно, что писать новые проекты на Python, в котором постоянно ломают совместимость, очень глупое дело.
Fixed.
Надо брать Perl. Хоть синтаксис не очень приятный, зато написанное 10 лет назад до сих пор работает без переделок. Основное развитие - в модулях и фреймворках. В python же постоянно передвигают мебель, а настоящего развития толком нет.
| |
|
3.10, MetaClass (?), 12:04, 07/04/2013 [^] [^^] [^^^] [ответить]
| +5 +/– |
О да, это мазохисткое удовольствие копаться в .pl Спасибо не надо.
Когда даже автор проекта не всегда может вспомнить что же на самом деле значит это код, а уж когда проект выходит в массовость начинается поиск суддоржный поиск perl-Гуру способного понимать творения текущего. И главное, где у perl та киллер-фича способная перевесить все недостатки синтаксиса!?
| |
|
4.12, www2 (ok), 12:14, 07/04/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
И главное, где у perl та киллер-фича способная перевесить все недостатки синтаксиса!?
CPAN, быстрые, полноценные и более удобные в использовании регулярки, меньше проблем с кодировками, похожесть на shell, в среднем более толковая документация, автовивификация, возможность проверять наличие переменных и полей классов ещё на этапе компиляции (use strict, use fields), что позволяет писать быстро и без необходимого 100% покрытия кода тестами. Менее богатый набор типов позволяет меньше думать о приведении типов (есть, например, отдельные операции конкатенации и сложения, отдельные операции сравнения строк и чисел).
| |
|
5.18, Аноним (-), 13:54, 07/04/2013 [^] [^^] [^^^] [ответить] | +/– | И чем он лучше pip Чем какие Вот теперь нужно развить тему о том, что не так в... большой текст свёрнут, показать | |
|
6.21, www2 (ok), 14:49, 07/04/2013 [^] [^^] [^^^] [ответить] | +2 +/– | Найдите мне в pip нормальный модуль для работы с SNMP, чтобы работал быстро, мож... большой текст свёрнут, показать | |
|
7.24, MetaClass (?), 15:27, 07/04/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
Не надо передергивать, Вы как раз указываете на недостатки Python2 в сравнении с перл5, умолчивая что в Python3 этих проблем нет!
| |
|
8.27, www2 (ok), 15:46, 07/04/2013 [^] [^^] [^^^] [ответить] | +/– | Однако питонисты почему-то решили для поддержки юникода выпустить новую версию я... текст свёрнут, показать | |
|
|
10.39, Аноним (-), 18:47, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Только вот у меня не работают скрипты двухлетней давности Мне что, подорваться ... текст свёрнут, показать | |
|
9.50, ragus (ok), 23:28, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | что будет, когда в проекте будет 15-20 модулей и часть умеет utf8, а часть - н... текст свёрнут, показать | |
|
|
9.45, Аноним (-), 21:08, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Давайте не будем упоминать Tcl, пока и ему не врезали, а Он тоже не без проблем... текст свёрнут, показать | |
|
|
11.63, Аноним (-), 08:14, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Например, не очень подходит для больших программ по причине нестрогой типизации ... текст свёрнут, показать | |
|
|
13.84, Аноним (-), 14:00, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Там, во всяком случае, невозможно обратиться к строке как к словарю и не получит... большой текст свёрнут, показать | |
|
|
|
|
|
|
7.46, AlexAT (ok), 22:08, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
>>> Документацию в Perl просто гораздо чаще пишут не на отъебись, а так, чтобы её можно было читать, как литературу, с примерами и подробными объяснениями.
Это не потому, что все такие правильные, ага. А по другой причине. Вот взял я незнакомую софтину на сях, с минимумом документации - почитал код, быстро разобрался, что к чему, дописал патчи/модули - получил годное к применению у себя под задачу. А взял перлятину... блин... покрутил, сломал мозг, выкинул, и пошел искать аналоги на PHP/C/C++/... или писать сам, ибо нечитабельно. Править нечитабельный код вообще страшно - ибо шансов сломать его непредсказуемым образом более, чем over 9000%.
| |
7.49, ragus (ok), 23:27, 07/04/2013 [^] [^^] [^^^] [ответить] | +/– | gt оверквотинг удален возьмите regex или гугловский re2, при этом оно drop in ... большой текст свёрнут, показать | |
|
8.55, taryk (ok), 02:53, 08/04/2013 [^] [^^] [^^^] [ответить] | +2 +/– | необоснованное заявление Новый код в CPAN поступает достаточно интенсивно http ... текст свёрнут, показать | |
|
|
|
11.94, ragus (ok), 15:57, 08/04/2013 [^] [^^] [^^^] [ответить] | +/– | Неплохо Правда, синтаксис страшноват, а BUGS LIMITATIONS печалит Как оно интег... текст свёрнут, показать | |
|
|
|
|
|
|
7.71, Аноним (-), 13:20, 08/04/2013 [^] [^^] [^^^] [ответить] | +/– | Ну это и так в pypi можно, что мешает Рейтинг тоже есть Багрепортов централизр... большой текст свёрнут, показать | |
7.91, Аноним (-), 15:10, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>Возьмем хоть документацию что прилагается к каждому модулю, которую можно просматривать либо через perldoc
$pydoc -p8000
| |
|
|
5.20, MetaClass (?), 14:17, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
https://pypi.python.org/pypi (29704 packages) #perl - 25000?!
в Py3 re полностью поддерживает utf8, они компилятся, и читаемы, в отличие от perl:
pat = re.compile(r"""
\s* # Skip leading whitespace
(?P<header>[^:]+) # Header name
\s* : # Whitespace, and a colon
(?P<value>.*?) # The header's value -- *? used to
# lose the following trailing whitespace
\s*$ # Trailing whitespace to end-of-line
""", re.VERBOSE)
насчёт документации Вы точно ошибаетесь, сравнивал.
http://docs.python.org/3/
всё остальное фигня, и легко решается в python-стиле:
>>> "123".isdigit()
True
>>> "123иТекст".isdigit()
False
| |
|
6.26, www2 (ok), 15:42, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> https://pypi.python.org/pypi (29704 packages) #perl - 25000?!
> в Py3 re полностью поддерживает utf8, они компилятся, и читаемы, в отличие
> от perl:
1. Не поддерживаются POSIX-классы, например [[:alpha:]].
2. Чтобы заработал регэксп с русскими буквами в режиме I, нужно у регэкспа указать буквы ur вместо r перед литералом, и указать флаг U.
re.compile(ur'^[абв]*$', re.I | re.U)
более очевидный вариант
re.compile(r'^[абв]*$', re.I)
не сработает как нужно.
В Perl достаточно включить прагму utf8 (один раз в начале программы) и все регэкспы будут работать с юникодом без дополнительных правок.
| |
|
7.32, MetaClass (?), 16:10, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
и снова... в Python3 всё это есть!!
1. есть дополнительный модуль:
https://pypi.python.org/pypi/regex (планируется к включению в стандартную библиотеку с версией Python3.4 )
2.
Python 3.3.1 (default, Apr 6 2013, 23:53:05)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import re
>>> pat = re.compile(r'^[абв]*$', re.I)
>>> re.search(pat, "АбваБВ").group()
'АбваБВ'
| |
|
8.33, www2 (ok), 16:21, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | gt оверквотинг удален Да, но в Perl первое уже было много лет, а второе реализ... большой текст свёрнут, показать | |
|
9.52, ragus (ok), 23:32, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | import regex as re асинхронный сетевой демон на perl в 2 х есть gevent, в 3 4 -... текст свёрнут, показать | |
|
|
|
|
5.95, perlito (?), 16:31, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
А ты возьми и просто пару стандартных алгоритмов реализуй на последнем питоне и на perl(но тоже на последнем 5.16 а не как все берут и на 5.8.8 тестят ) + обязательно проверь скорость регулярок и увидиш во всей красе медлительность Каа...
| |
|
6.97, ragus (ok), 17:30, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> А ты возьми и просто пару стандартных алгоритмов реализуй на последнем питоне
> и на perl(но тоже на последнем 5.16 а не как все
> берут и на 5.8.8 тестят ) + обязательно проверь скорость регулярок
> и увидиш во всей красе медлительность Каа...
тут есть мой пример с регулярками. будете тестить? ))
| |
|
7.98, ragus (ok), 17:37, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | кстати, вот вам допиленный силами 2to3 вариант CODE usr bin env python impo... большой текст свёрнут, показать | |
|
|
9.104, ragus (ok), 13:31, 09/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | споткнулось о бинарный файл CODE usr bin env python import os,sys,re from ... текст свёрнут, показать | |
|
|
|
|
|
4.43, Бобазали (?), 20:45, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | О это очень легко Главная киллер фича описывается так Языки были придуманы лю... большой текст свёрнут, показать | |
|
5.92, Аноним (-), 15:12, 08/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Дисциплинирующий синтаксис python здесь не более чем попытка строить точные фразы на
> неком общем диалекте. Это может быть полезно, особенно в научном сообществе,
> но это точно сдерживает инициативу и делает процесс менее творческим. Что
> то я не слышал о попытках писать стихи на python.
'$=';$_=\%!;($_)=/(.)/;$==++$|;($.,$/,$,,$\,$",$;,$^,$#,$~,$*,$:,@%)=(
$!=~/(.)(.).(.)(.)(.)(.)..(.)(.)(.)..(.)......(.)/,$"),$=++;$.++;$.++;
$_++;$_++;($_,$\,$,)=($~.$"."$;$/$%[$?]$_$\$,$:$%[$?]",$"&$~,$#,);$,++
;$,++;$^|=$";'$_$\$,$/$:$;$~$*$%[$?]$.$~$*${#}$%[$?]$;$\$"$^$~$*.>&$='
| |
5.115, бедный буратино (ok), 05:20, 11/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Что то я не слышал о попытках писать стихи на python.
Я обожаю томными вечерами писать стихи на python.
| |
|
4.99, kurokaze (ok), 22:06, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Когда даже автор проекта не всегда может вспомнить что же на самом деле значит это код
Знавал я таких пистонистов, да
> а уж когда проект выходит в массовость начинается поиск суддоржный поиск perl-Гуру способного понимать творения текущего.
Неужели программисты настолько деградировали что чтение небольшой вводной книжки на пару часов - для них непосильный труд?
Я тебя сильнее напугаю, я еще и на Obj-C пишу, и на Java, и начинал вообще с ПМК БЗ-34.
| |
|
|
4.13, www2 (ok), 12:17, 07/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вы кстати про Perl 6 забыли напомнить, или это "новый язык"!?? :))))
А чем он похож на Perl 5? Только четырьмя буквами в названии?
| |
4.61, anonymous (??), 07:51, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
У меня есть обоснованная уверенность, что код, написанный на Perl 5 будет работать и в Perl 6.
| |
|
5.74, Аноним (-), 13:23, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> У меня есть обоснованная уверенность, что код, написанный на Perl 5 будет
> работать и в Perl 6.
13 лет релиза нет.
| |
|
6.96, perlito (?), 16:34, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> У меня есть обоснованная уверенность, что код, написанный на Perl 5 будет
>> работать и в Perl 6.
> 13 лет релиза нет.
зато все лучшии идеи входят в perl 5, а то что и python и ruby и php очень много почерпали от perl-a думаю не секрет
| |
|
5.83, лох (?), 13:53, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
А не у вас есть обоснованная уверенность, что код, написанный, например, на Perl 5.10, не будет работать на Perl 5.16, и так далее.
Иначе вряд ли при апгрейде перла понадобилось бы апгрейдить все перлопакеты и зависимости. И я сам (в далёкие времена использования перла) сколько раз сталкивался со всякими предупреждениями о несовместимости. Так что молчать бы вам.
| |
|
6.103, anonymous (??), 10:50, 09/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А не у вас есть обоснованная уверенность, что код, написанный, например, на
> Perl 5.10, не будет работать на Perl 5.16, и так далее.
> Иначе вряд ли при апгрейде перла понадобилось бы апгрейдить все перлопакеты и
> зависимости. И я сам (в далёкие времена использования перла) сколько раз
> сталкивался со всякими предупреждениями о несовместимости. Так что молчать бы вам.
Примеры, доводы, аргументации?
Я понимаю, если код с Perl 3 не идет в Perl 5, но несовместимости смежных веток, а уж тем более, внутри ветки 5 - это полный нонсенс. Варнинги могут сыпаться, да, но код будет работать. Перлопакеты обновлять - а где это иначе? Обновляешь питон с 2.7 на 2.7.5 - ломается sip. Обновляешь Ruby с 1.8 на 1.9 - ломается RoR.
| |
|
|
|
3.17, Аноним (-), 13:47, 07/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Надо брать Perl. Хоть синтаксис не очень приятный, зато написанное 10 лет назад до сих пор работает без переделок.
Да синтаксис неприятный, то что написал один другой может не понять, официально математически доказана несходимость языка, популярность на уровне кобола, специалистов почти нет. То что написано 10 лет назад может работать, а может и не работать, а может работать, но выдавать совсем не то, что подразумевал автор.
> Основное развитие - в модулях и фреймворках. В python же постоянно передвигают мебель, а настоящего развития толком нет.
Громкое заявление, абсолютно не подкрепленное ничем.
| |
|
4.25, www2 (ok), 15:36, 07/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | FUD Популярность у него, поверьте, намного выше, чем у кобола И специалистов п... большой текст свёрнут, показать | |
|
5.53, ragus (ok), 00:04, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> с модными трендами - ура Python, ура Django, ура MongoDB. Вроде
> и нового ничего не сделал, зато при деле - всегда востребован
> работодателями и "профессионально растёшь".
Кстати, да. А что в perl есть из ORM для mysql/posgre и монги?
> Таким выгодно поддерживать миф о том, что Perl мёртв, у него нечитаемый
> синтаксис и не найдёшь разработчиков - так ещё и Perl-программы можно
> взяться переписывать.
конечно, это всё происки злых сионистов.
а если серьёзно, сколько телодвижений на perl понадобится для повторения вот этого:
[CODE]
import os,sys,re
from multiprocessing import Pool,cpu_count
expr = re.compile(sys.argv[1])
r_path = sys.argv[2]
def func(fname):
with open(fname,'r') as f:
if expr.search(f.read()):
return fname
pool = Pool(cpu_count())
print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x), os.listdir(r_path)) ))
[/CODE]
| |
|
6.62, anonymous (??), 07:54, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
>[оверквотинг удален]
> expr = re.compile(sys.argv[1])
> r_path = sys.argv[2]
> def func(fname):
> with open(fname,'r') as f:
> if expr.search(f.read()):
> return fname
> pool = Pool(cpu_count())
> print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x),
> os.listdir(r_path)) ))
> [/CODE]
[CODE]
File "python.py", line 13
print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x), os.listdir(r_path)) ))
^
SyntaxError: invalid syntax
[/CODE]
И в этом вся суть питона.
| |
|
7.80, pythoner (?), 13:40, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> И в этом вся суть питона.
А по существу вам есть что ответить?
вот этот пример весьма показательный(когда нужно ускориться, но переписывать всё на C/C++ еще рано).
Только не надо рассказывать, что пример i/o bound, т.к. файлы могут быть большие и лежать в tmpfs, а самих регекспов может быть много.
| |
|
6.65, Whoiswho (?), 11:47, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Всегда прикалывали умники, которые пишут такое:
"print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x), os.listdir(r_path)) ))"
и говорят о нечитабельности Perl
| |
|
7.75, Аноним (-), 13:25, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Всегда прикалывали умники, которые пишут такое:
> "print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x),
> os.listdir(r_path)) ))"
> и говорят о нечитабельности Perl
А что вы тут не смогли прочесть. А понимаю, с функциональными языками незнакомы, парадигму с map и filter и lambda не знаете, бывает.
| |
7.77, pythoner (?), 13:31, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Всегда прикалывали умники, которые пишут такое:
> "print pool.map(func, filter(os.path.isfile, map(lambda x: os.path.join(r_path,x),
> os.listdir(r_path)) ))"
> и говорят о нечитабельности Perl
нечитаемо тут для тех, кто не знает о map/filter/lambda.
не вижу смысла писать так:
diritems = map(lambda x: os.path.join(r_path,x))
files = filter(os.path.isfile, diritems)
s_result = pool.map(func, files)
т.е. в более сложных случаях может и надо(когда где-то ещё понадобится diritems/files).
| |
|
|
5.86, лох (?), 14:11, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | хорошее оправдание качества перлопрограммистов Странно, что в таком случае нет ... большой текст свёрнут, показать | |
5.87, Аноним (-), 14:20, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | В относительных долях где-то на уровне, но не в России Примерно одинаково, а уж... большой текст свёрнут, показать | |
|
4.44, Аноним (-), 20:59, 07/04/2013 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Да синтаксис неприятный, то что написал один другой может не понять,
Если человек непонятно пишет на Perl, это может свидетельствовать о том, что у него в голове каша и отсутствие четкого понимания решения, так что, начни он писать на Python, понять его будет не легче. Важна читабельность и прозрачность программы в целом, а не читабельность отдельных операторов. Принудительное "правильное" форматирование программы не делает логически запутанную программу яснее
В данном случае у Perl даже есть какое-то преимущество. Увидев Perl-лапшу, сразу понимаешь, чего стоит написавший ее программист (если только это не одноразовый скрипт на скорую руку). Детектировать плохого программиста на Python будет посложнее
| |
|
5.85, Аноним (-), 14:04, 08/04/2013 [^] [^^] [^^^] [ответить] | –1 +/– | Большинство программ на perl, которые я видел значит написаны людьми с кашей в г... большой текст свёрнут, показать | |
5.88, pythoner (?), 14:25, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Если человек непонятно пишет на Perl, это может свидетельствовать о том, что
> у него в голове каша и отсутствие четкого понимания решения, так
> что, начни он писать на Python, понять его будет не легче.
большинство кода на perl что я видел были именно такой кашей.
изначально бедный по выразительности язык ограничивает программиста, а возможность что-то сделать несколькими способами ещё больше ухудшает ситуацию.
чего стоит отсутствие нормальных объектов в perl.
> Важна читабельность и прозрачность программы в целом, а не читабельность отдельных
> операторов. Принудительное "правильное" форматирование программы не делает логически
> запутанную программу яснее
откуда эта читабельность появится, если в языке нет средств для её улучшения?
хотя бы тех же декораторов/генераторов?
| |
|
|
|
4.47, AlexAT (ok), 22:11, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Все знают, что перл дерьмо. Альтернатив, или вообще нормального скриптового ЯП, ещё
> не сделали.
Сделали. PHP. Только не надо на него задрачивать, и считать, что он всё сделает за программиста. Если руки кривые - то хоть перл дай, хоть жаву - всё равно на выходе будет говно.
| |
|
3.60, web (?), 06:39, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Боюсь как бы и перл через некоторое время не очутился в такой ситуации. Так к примеру ЛарриВолл скажет что перл6 теперь готов и нужно всем переходить на него, перл5 объявляется деприкейтед. Это был основной мотив создания Перл6, всё очень пожоже.
Это опенсорс, и к этому нужно быть готовыми. Так как и у перла нет определенной спецификации.
С другой стороны по опыту существующих спецификаций html, зачастую они не успевают за развитием современных технологий, и устаревают задолго до опубликования. Или родовые проблемы Javascript, которые были полностью содраны MS, и сейчас смотреться нелепо.
В энтерпрайс категории, имеет место финансовая поддержка определённых версий, и стандартов от вполне конкретных корпораций. И перл здесь объективно не вариант.
| |
|
4.66, Аноним (-), 11:49, 08/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
use perl 5 фичи Лари в 6-ке не отменял, в отличии от питонистов в трешке.
| |
|
|
2.38, Аноним (-), 18:43, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> что писать новые проекты на Python - д@лбо#бство! //fixed
Потому что заманали ломать совместимость. Вон в новой убунте - только третий питон. Все бы ничего, только скрипты скачаные пару лет назад - уже вообще не алё. Нахрена он такой нужен? Чтобы с ним мучаться постоянно, потому что у авторов зуд пониже спины?
| |
2.54, badger (ok), 02:51, 08/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Сейчас же, для многих должно быть очевидно, что писать новые проекты на устаревшем Python2.7, у которого заканчивается поддержка через 1,5 года очень глупое дело.
>Надо выкинуть 2ку и всё станет легко и просто!
Не станет. Точнее, не всем станет. Потому что кроме новых проектов существуют еще и неновые. А среди них существуют и довольно большие, которые переписывать или очень долго, или вообще бессмысленно. И хорошо, что люди, принимающие решение о поддержке, это понимают.
| |
2.59, Батяня Комбат (?), 06:04, 08/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
>Надо выкинуть 2ку и всё станет легко и просто!
Я ЗАСТАВЛЮ вас быть счастливыми!
Старо как мир ефрейтор, сбегай за кустик - отпустит.
А не отпустит, как отец командир предупреждаю ...
| |
2.113, бедный буратино (ok), 05:16, 11/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
> Из-за того что тянут поддержку 2.7 многие и сидят на ней, бэкпортировали кучу фич из 3й ветки зачем-то. Многие из пользователей даже не читали какие плюсы привносит 3я версия.
Ну да. Давайте всё бросим, и будем переписывать всё на Python 3. Который вообще другой язык. Имеющий и минусы. А на python 2 уже всё работает так, как надо.
> Самое геморройное дело на текущий момент обеспечивать одновременную поддержку Py2 и Py3.
Не обеспечивайте. Я видел некоторые проекты, которые прямо пишут "мы не видим смысла всё бросать и переписывать для третьей версии". Желание нового должно быть, когда старое невыносимо. А пока старое ещё как выносимо! А в python 3 ещё достаточно проблем (разумеется, у специалистов с прямыми несгибаемыми руками всё работает, но мне надо, чтобы всё работало у других, само и без проблем).
> Надо выкинуть 2ку и всё станет легко и просто!
Надо продлить поддержку python 2.7 до 2025 года. Чтобы потом не было мучительно больно за отказ от нужного и полезного. Потому что проблемы с наследием будут всплывать ещё не раз и не два. Проще объявить python 3 отдельным языком, назвать его, скажем, Zmeika, и всё. Кто хочет python - пользуется python, кто не хочет - тот не пользуется. И всё, и не советует другим, как им лучше.
Переписывать всё на другой язык - это чаще всего совершенно глупое занятие, не дающее никаких преимуществ.
> Сейчас же, для многих должно быть очевидно, что писать новые проекты на устаревшем Python2.7, у которого заканчивается поддержка через 1,5 года очень глупое дело.
Что в нём УСТАРЕВШЕГО?
| |
|
|
2.5, exn (??), 10:49, 07/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
компенсируют недостаток размера в другом месте
| |
2.15, MetaClass (?), 12:53, 07/04/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ты похоже новостью ошибся, трололо.
В Python убрана двусмысленность xrange|range, - есть range() не занимающий память.
- for x in xrange(3):
+ for x in range(3): #Py3
- except IOError, e:
+ except IOError as e: #Py3
- filename.encode('utf-8') if isinstance(filename, unicode)
+ filename.encode('utf-8') if isinstance(filename, str) #Py3
- from StringIO import StringIO
+ from io import StringIO #Py3
- self.assert_equal(c.get('/1/foo').data, u'23/42')
+ self.assert_equal(c.get('/1/foo').data, '23/42') #Py3
- if isinstance(code_or_exception, (int, long)):
+ if isinstance(code_or_exception, int): #Py3
#Py3
print("очень длинная строка", [1,2,3,100500],
{"плюс": "удобно разбить длинную строку", 'плюс2': 100500},
"etc, etc, etc.")
| |
|
3.16, gegMOPO4 (ok), 13:05, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
И даже больше.
- except IOError, e:
- if e.errno != errno.ENOENT
- raise
+ except FileNotFoundError as e: #Py3.3
> - filename.encode('utf-8') if isinstance(filename, unicode)
> + filename.encode('utf-8') if isinstance(filename, str) #Py3
Вместо filename.encode('utf-8') можно просто filename.encode(). А вместо filename.encode(sys.getfilesystemencoding()) — os.fsencode(filename).
> - from StringIO import StringIO
> + from io import StringIO #Py3
В Py2 обычно используется более сложный код.
- try:
- from cStringIO import StringIO
- except ImportError:
- from StringIO import StringIO
+ from io import StringIO #Py3
| |
|
|
1.4, Anton (??), 09:27, 07/04/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Не вижу смысла уходить со второй ветки, пока matplotlib не портируют нормально.
| |
|
2.9, www2 (ok), 11:52, 07/04/2013 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Не вижу смысла уходить со второй ветки, пока matplotlib не портируют нормально.
Там ещё портировать и портировать. Как закончат портировать на 3.3, появится 3.4 и 3.5, под которые опять всё нужно будет портировать.
| |
|
3.19, Аноним (-), 13:56, 07/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
>> Не вижу смысла уходить со второй ветки, пока matplotlib не портируют нормально.
> Там ещё портировать и портировать. Как закончат портировать на 3.3, появится 3.4
> и 3.5, под которые опять всё нужно будет портировать.
Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на третью.
| |
|
4.30, www2 (ok), 15:56, 07/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>> Не вижу смысла уходить со второй ветки, пока matplotlib не портируют нормально.
>> Там ещё портировать и портировать. Как закончат портировать на 3.3, появится 3.4
>> и 3.5, под которые опять всё нужно будет портировать.
> Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на
> третью.
Лучше вы поведайте, что там меняли такого важного между 2.5, 2.6, 2.7, а теперь ещё и 3. И не забудьте ещё посчитать, сколько модулей не переписывались со времён 2.0. Я просто экстраполируя прошлую тенденцию на будущее могу представить, что без геморроя не обойдётся и между 3.2, 3.3, 3.4 и 3.5 опять будут менять что-то не особо важное, но что сломает уже работающее.
| |
|
5.58, web (?), 04:12, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>[оверквотинг удален]
>>> Там ещё портировать и портировать. Как закончат портировать на 3.3, появится 3.4
>>> и 3.5, под которые опять всё нужно будет портировать.
>> Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на
>> третью.
> Лучше вы поведайте, что там меняли такого важного между 2.5, 2.6, 2.7,
> а теперь ещё и 3. И не забудьте ещё посчитать, сколько
> модулей не переписывались со времён 2.0. Я просто экстраполируя прошлую тенденцию
> на будущее могу представить, что без геморроя не обойдётся и между
> 3.2, 3.3, 3.4 и 3.5 опять будут менять что-то не особо
> важное, но что сломает уже работающее.
Добавлялись новые конструкции языка, делающие более приятным и удобным написание и поддержки кода, упрощались и становились более очевидными прежние кончтрукции.
А вы я так полагаю ярый адепт перла? а ведь в перле всё тоже самое:
http://www.perlmonks.org/?node_id=938667
| |
|
6.67, Аноним (-), 11:54, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
Сам читал, что прислал? ТАМ НЕТ ПОЛОМКИ ОБРАТНОЙ СОВМЕСТИМОСТИ в отличии от.
I use Perl 5.10 on my development machine but cannot use 5.10 features since the code must run on the 5.8 production machine.
I would really like to get the production machine moved to 5.10 but I'm having trouble convincing my managers and sys admins.
| |
|
7.76, Аноним (-), 13:28, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Сам читал, что прислал? ТАМ НЕТ ПОЛОМКИ ОБРАТНОЙ СОВМЕСТИМОСТИ в отличии от.
> I use Perl 5.10 on my development machine but cannot use 5.10
> features since the code must run on the 5.8 production machine.
> I would really like to get the production machine moved to 5.10
> but I'm having trouble convincing my managers and sys admins.
Да как же нет скипты с разными ключами не совместимы, и это в рамках одной ветки.
| |
|
|
5.78, Аноним (-), 13:32, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>>>> Не вижу смысла уходить со второй ветки, пока matplotlib не портируют нормально.
>>> Там ещё портировать и портировать. Как закончат портировать на 3.3, появится 3.4
>>> и 3.5, под которые опять всё нужно будет портировать.
>> Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на
>> третью.
> Лучше вы поведайте, что там меняли такого важного между 2.5, 2.6, 2.7,
> а теперь ещё и 3.
То есть самостоятльно найти ченжлог вы не в состоянии? И что за манера уклонятся от прямого вопроса, задавая глупый вопрос? Вы утверждали что есть сложности, так вот назовите хоть одну!
| |
|
4.40, Аноним (-), 18:52, 07/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на третью.
Ой, идите нафиг. Вон на сях почему-то программы с середины девяностых прекрасно компилятся в 2013 году. Шеллскрипты которым 10 лет без проблем отрабатывают и поныне. И только в долбаной питонятине на обратную совместимость клали с прибором. Поэтому скрипты которым пара лет - уже вообще не запускаются без шаманских танцев.
| |
|
5.79, Аноним (-), 13:37, 08/04/2013 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> Вот и "знатоки" появились. Ну расскажите особенности портирования с 3 ветки на третью.
> Ой, идите нафиг. Вон на сях почему-то программы с середины девяностых прекрасно
> компилятся в 2013 году.
Ой идите сами нафиг. На сях программы из 90-x не компилятся в 2013году.
Для примера возьмите любую игрушку под DOS и попытайтесь скомпиировать её православным gcc.
> Шеллскрипты которым 10 лет без проблем отрабатывают
> и поныне.
Что-то простенькое да. А вот за 10 лет изменилось все окружение.
> И только в долбаной питонятине на обратную совместимость клали
> с прибором. Поэтому скрипты которым пара лет - уже вообще не
> запускаются без шаманских танцев.
И только долбанные "знатоки" из 5Б класса обо всем знают.
| |
|
|
|
2.31, Илья (??), 16:09, 07/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
Что там ненормального? Отсутствие wx-фронтенда. Так wx умирает.
| |
|
1.14, Аноним (-), 12:18, 07/04/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Просто языкоделам вроде питоноидов стоит помнить о том, что сломать переход легко, а вот потом заставить народ перенести свои приложения - гораздо труднее. Надо было раньше сто раз подумать перед тем, как ломать совместимость.
| |
|
2.29, Xasd (ok), 15:50, 07/04/2013 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Просто языкоделам вроде питоноидов стоит помнить о том, что сломать переход легко, а вот потом заставить народ перенести свои приложения - гораздо труднее. Надо было раньше сто раз подумать перед тем, как ломать совместимость.
поломка совместимости была неизбежной, и чем раньше она случилась -- тем лучше (тоесть выходит что наоборот -- надо было МЕНЬШЕ думать перед тем как ломать совместимость)
Ruby тоже прошли этап поломки совместимости.. и наверно уже успешно забыли об этом :) .
ды и как можно не сломать совместимость, когда внутри версии Python-2.X -- почти все операции были с байтами (вместо символьных строк). это создавало кучу гемороя и увеличивало в полтора~два раза код скриптов, которые расчитывались на безглюковую работу.
а начиная с Python-3.X большенство операций стали быть с символьными строками, включая объекты: sys.argv и os.environ . что разумеется решло сразу кучу проблем
(а для тех кого не интересует безглюковая работа скриптов [кому нужно было чтобы скрипты просто хотябы как работали, без разницы в каких непредсказуемых условиях] -- для них не было никаких проблем с версией Python-2.X)
| |
|
3.41, Аноним (-), 18:54, 07/04/2013 [^] [^^] [^^^] [ответить]
| +1 +/– |
> поломка совместимости была неизбежной, и чем раньше она случилась -- тем лучше
Нихрена себе "раньше". И сколько раз еще у них это "раньше" будет наступать?
> Ruby тоже прошли этап поломки совместимости.. и наверно уже успешно забыли об этом :)
Действительно, дурак дурака видит издалека.
| |
|
|
1.51, onorua (??), 23:30, 07/04/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Я еле выбил 2.6 на Солярку в прод, пол года назад, они уже 2.7 прикрыть собрались через 2.
Те кто пишет про свежие ревизии интерпретаторов, вы видимо не сталкивались с HPUX/Solaris/AIX продакшинами, и приложениями которые писались 10 лет назад, но которые нужно поддерживать сейчас.
| |
|
2.57, web (?), 03:37, 08/04/2013 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Я еле выбил 2.6 на Солярку в прод, пол года назад, они
> уже 2.7 прикрыть собрались через 2.
> Те кто пишет про свежие ревизии интерпретаторов, вы видимо не сталкивались с
> HPUX/Solaris/AIX продакшинами, и приложениями которые писались 10 лет назад, но
> которые нужно поддерживать сейчас.
Не надо мнить себя уникумом, здесь есть люди работающие в очень крупных компаниях.
Так же как и у интерпрайс-продуктов есть срок-поддержки: секьюритификсы, багфиксы.
К примеру, энтерпрайс java6 - срок поддержки 6лет:
http://www.oracle.com/technetwork/java/eol-135779.html
Что касается срока поддержки Python, то для свободного проета, очень неплохо 5лет поддерки той же ветки 2.7
Далее есть вендор поддержка, к примеру RHEL:
https://access.redhat.com/support/policy/updates/errata/
В течении 10лет RH будет выбирать из свежих веток Python и сама исправлять, секьюрити и багфиксы.
И если уж есть определенная политика у компании, в отношении критического корпоративного софта, то либо Вы оформляете платную подписку на поддержку, либо своими силами следите за регресиями в новых версиях, и применяете секьюр.и багфигсы, либо остаетесь на той версии на которую установили в далеком прошлом.
| |
|
3.68, Аноним (-), 11:59, 08/04/2013 [^] [^^] [^^^] [ответить]
| +/– |
Осталось прожить лет 15-20 до того момента, когда Питон назовут гордым словом "Энтырпрайз"!
| |
|
|
1.100, kurokaze (ok), 22:12, 08/04/2013 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
dev-lang/python
Available versions:
(2.5) 2.5.4-r4 2.5.4-r5
(2.6) 2.6.8 2.6.8-r1
(2.7) 2.7.3-r2 2.7.3-r3 [M]~2.7.4
(3.1) 3.1.5 3.1.5-r1
(3.2) 3.2.3 ~3.2.3-r1 3.2.3-r2
(3.3) **3.3.0 **3.3.0-r1
Это просто сказка какая-то. Это уже не говоря про всякие pypy.
Руби и то всего 2 (1.8 даже уже всё фактически).
| |
|