1.2, belkin (ok), 22:56, 19/06/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Обещают в 3-ей версии убрать устаревшее и сделать другие улучшения. Конечно я не знаток в языках, но мне этот Питон (2.5) тяжело даётся. Постоянно натыкаюсь в языке на какие-то уходы в сторону мелкого прагматизма в ущерб общей целостности. Практическая реализация пока далека от Питон-Дзэна. Речь не об отсутствии символов для группировки операторов т.е. к отступам можно и привыкнуть, но по-моему это типичный пример когда заявляется одно ("явное лучше неявного") а на деле совсем другое. То же самое с общетиповыми функциями - всё объекты, однако, например, функция определения длины реализована отдельно а не как метод объекта Строка. Ну и т.д в более сложных конструкциях и с перекрываемыми атрибутами в классах и прочие уходы от заявленных принципов, которые вообще-то меня привлекают. Мля, "изобретение" кортежей вообще веселит. :)
Тут недавно была новость "Почему Ruby и Python не могут занять место стареющей Java" http://www.opennet.me/opennews/art.shtml?num=16178
Про Ruby не знаю, но Питон, во-первых, ещё не достиг зрелости т.е. будут большие перемены, и, во-вторых, возможно стабилизации не будет так как обнаружатся противоречии в концепции.
(Шигорин и остальные "мудрецы", давайте без обвинений в зелённости и без пацанских "самому слабо".)
| |
|
2.3, vitek (??), 23:18, 19/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
по секрету - ни один язык не достиг зрелости, кроме С.
если конечно не считать, что зрелость - этап перед старостью и смертью.
| |
2.6, csdoc (ok), 00:15, 20/06/2008 [^] [^^] [^^^] [ответить] | +/– | perl, PHP или bash попробуй, - сразу почувствуешь разницу там этого гораздо бол... большой текст свёрнут, показать | |
|
3.13, zeus (??), 11:15, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>[оверквотинг удален]
>http://docs.python.org/ref/sequence-types.html
>
>почему сделали именно так? не знаю. возможно потому что "длинна строки"
>более естественно переводится в конструкции языка программирования как "len(string)",
>чем "string.len()" - "вызов метода len у объекта string с пустым списком
>аргументов".
>
>кроме того, в случае "len(string)" человек читает исходники прямо и быстрым способом,
>
>а "string.len()" придется уже читать задом-наперед, сначала метод, потом имя обьекта.
про literal programming ничего не слышали?
| |
|
4.15, csdoc (ok), 11:41, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>
> про literal programming ничего не слышали?
при чем тут Literate Programming ?
| |
|
5.17, zeus (??), 11:48, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>>
>> про literal programming ничего не слышали?
>
>при чем тут Literate Programming ?
так. пойдем с другой стороны. С точки зрения ООП: str.len - получение атрибута объекта.
| |
|
6.18, csdoc (ok), 11:54, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>>> "длинна строки" более естественно переводится в конструкции языка программирования как "len(string)",
>>>> чем "string.len()" - "вызов метода len у объекта string с пустым списком аргументов".
>>>>
>>> про literal programming ничего не слышали?
>>
>>при чем тут Literate Programming ?
>
>так. пойдем с другой стороны. С точки зрения ООП: str.len - получение
>атрибута объекта.
"string.len()" - это вызов метода.
| |
|
|
|
|
2.23, HardNik (?), 16:32, 21/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
Не трогайте Шигорина - "он хороший человек" , просто есть пунктик относительно питона.
Кстати, почему-то не указаны 2 новшества - идентификаторы на национальных языках и исчезновение reduce.
А вот, по поводу, почему питон не вытеснит жабу - потому, что очень сложен для изучения. Смешно для языка создоваемого именно для этого? Тем не менее, к сожалению, это именно так. Не замечали, что каждый продвинутый питонист начинает чем-то напоминать Гвидо? Вот и делайте выводы. Именно по этому отступы всегда будут - как отмазка для тех кому не хватило тяму.
| |
|
3.24, belkin (ok), 17:17, 21/06/2008 [^] [^^] [^^^] [ответить] | +/– | Не замечали, что есть большие многофункциональные системы, изучать и пользоватьс... большой текст свёрнут, показать | |
|
4.25, HardNik (?), 19:48, 21/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
Дзен обожают любители самого задзенного языка - пых-пыха. Наверное, потому, что им тяжко перейти со средневековой философии на язык современной математики.
| |
|
5.26, belkin (ok), 21:26, 21/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Дзен обожают любители самого задзенного языка - пых-пыха. Наверное, потому, что им
>тяжко перейти со средневековой философии на язык современной математики.
Дзен всего лишь простая форма описания основных идей людьми, которые полностью не осознали иерархию структурного знания. Проблема в том, что в нём смешивают в одном списке и идеологию и методы, но это лучше, чем совсем ничего. Хотя да, рассказать о принципах языка через Дзен - это нехороший признак. Так как вам Питон?
| |
|
6.27, HardNik (?), 06:58, 22/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Так как вам Питон?
А какой Питон?
В стиле хаскеля
def sent_desplit(x_in):
""" sent_split:: Sent::[([],[],[]),] -> Text::([],[],[]) """
concat=operator.concat
f1=lambda (a,b,c),(x,y,z):tuple([concat(a,x),concat(b,y),concat(c,z)])
f2=lambda t:reduce(f1,t,([],[],[],))
return f2(x_in)
C
def f2(x,(y,z)):
global triger
if not triger: triger |= True; x+=[[u'',u'',True],]; x[-1][2]=z
x[-1][0]+= y; return x
Java
class ddict(dict):
def get_formating(self,key):
lst_val=self[key]
lst_format=[u'',]
for i in xrange(len(lst_val)):
if i==1:
lst_format=lst_format+[u'{']+[u'}']
lst_val=lst_val+[u'']
elif i>1:
lst_format.insert(i,u',')
d=map(lambda x,y:x+y,lst_format,lst_val)
return string.join(d)
Можно и в Лисп-, Смолтолк-,С++, только где в стиле Питона?
Может, правда, в том, что примеры выдраны из одного файла, который сейчас просто открыт,не совсем поэтому правильные, но идеология просматривается.
| |
|
7.30, Аноним (30), 18:36, 02/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>Так как вам Питон?
>
>А какой Питон?
...
>Можно и в Лисп-, Смолтолк-,С++, только где в стиле Питона?
>Может, правда, в том, что примеры выдраны из одного файла, который сейчас
>просто открыт,не совсем поэтому правильные, но идеология просматривается.
Это и есть идеология Питона - нет навязывания стиля.
Что-то пишется объектно, что-то функционально, что-то классически императивно...
Жаль, хорошей поддержки декларативного стиля нет :)
| |
|
|
|
|
|
|
1.4, Серж (??), 23:35, 19/06/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python - новая возможность Python 3.0. Жесть.
| |
|
2.8, belkin (ok), 00:19, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>Нарушение обратной совместимости со скриптами, разработанными для более ранних версий Python -
>новая возможность Python 3.0. Жесть.
"Должен существовать один — и, желательно, только один — очевидный способ сделать это." Старые способы сделать это заменяются новыми. Ревизия и тестирование всегда будет необходимо в таких случаях.
| |
|
|
2.7, Александр (??), 00:16, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>уберут модули md5 и sha, а чем тогда хеши считать ???
а на пальцах, слабо?
| |
2.10, kron (??), 00:50, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>уберут модули md5 и sha, а чем тогда хеши считать ???
hashlib-ом
| |
|
1.11, t0ly (?), 01:25, 20/06/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
по поводу возмущений об обратной совместимости - а кто мешает не трогать интерпритатор там где это не надо?
| |
|
2.12, Konstantin (??), 10:23, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>по поводу возмущений об обратной совместимости - а кто мешает не трогать
>интерпритатор там где это не надо?
Ага. и я про тоже. Типа ездить на грузовике имея тока категорию С а потом сесть на мотоцикл и возмущаться почему у тя нету права ездить на мотике. Слабая аналогия правда ... но всетаки изменилась мажорная версия. Не надо помидорвами кидать мол питон фуфло обратной совместимости не может сделать. Ну не переходи на другую версию. Оставайся на 2.*
Все ж к лучшему делается...
Это тем кто возмущается отсутсивием обратной совместимости
| |
|
1.14, tty01 (?), 11:21, 20/06/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Использование Unicode в качестве основной кодировки представления строк
А когда вышел Python 1.0? И сколько времени потребовалось на осознание того, что в мире есть не только английский язык, а символов больше чем в ASCII...
| |
|
2.16, Аноним (-), 11:46, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
Я на версии 2.3 не имел проблем с юникодом. Более ранние Версии не пробовал.
| |
2.19, Андрей (??), 12:40, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
Действительно, когда вышел Python 1.0? Почти 20 лет назад. Многие тогда использовали Unicode? Способны ли были компьютеры того времени значительную часть своей производительности тратить на Unicode?
| |
2.20, Konstantin (??), 12:41, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>> Использование Unicode в качестве основной кодировки представления строк
>
>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>что в мире есть не только английский язык, а символов больше
>чем в ASCII...
в коде не должно быть символов выше 127 .. если они появились в коде - вы делаете чтото не так. Тоже касается комментариев
| |
|
3.21, belkin (ok), 13:05, 20/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
>>> Использование Unicode в качестве основной кодировки представления строк
>>
>>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>>что в мире есть не только английский язык, а символов больше
>>чем в ASCII...
>
>в коде не должно быть символов выше 127 .. если они появились
>в коде - вы делаете чтото не так. Тоже касается комментариев
А строковые константы наружу выносить? А по моему наоборот нужно быстренько везде и всё на utf-8 перевести. Весь текст программы в unicode. Нет же проблемы транслировать старые тексты в Unicode? А так застряли все на полпути и отсюда лишняя работа для программиста.
| |
|
2.31, Аноним (30), 18:39, 02/09/2008 [^] [^^] [^^^] [ответить]
| +/– |
>> Использование Unicode в качестве основной кодировки представления строк
>
>А когда вышел Python 1.0? И сколько времени потребовалось на осознание того,
>что в мире есть не только английский язык, а символов больше
>чем в ASCII...
в 1.5.2 "нелатинские ASCII" фунциклировали нормально.
юникод появился тоже ещё до 2.0, AFAIR
| |
|
|
2.29, anonym (?), 04:39, 23/06/2008 [^] [^^] [^^^] [ответить]
| +/– |
лучше б они мозгонезависимость сделали.
сразу бы проблем не стало.
| |
|
|