Уведомления

Группа в Telegram: @pythonsu

#1 Май 29, 2012 05:36:31

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

py.user.next
1) последовательность - это не iterable, потому что iterable - это и словарь, и множество, которые не являются последовательностями
например, последовательность упорядочена, а они не упорядочены
Мне казалось, что последовательность (sequence) - это все, что поддерживает протокол итератора. Но пусть будет по твоему. В любом случае, это можно считать типом, как и файл-обьекты.

py.user.next
2) если у аргумента может быть разный тип в зависимости от вызова, то это надо будет делать строку тега на каждый тип, увеличивая теговое описание
и от набора этих типов в вызове может зависеть возвращаемое значение
Пример?

py.user.next
конечно, ведь чем больше строк, тем больше нужно читать
Если они тегированы, то их можно просматривать на предмет интересного. Если нет - придется вчитываться.

py.user.next
не так всё просто
А что сложно?

py.user.next
а полная будет такой запутанной, что всё равно придётся обратиться к полному тексту
Все она не заменит, но большинство - вполне.

py.user.next
это неизбежно; либо учишь английский, либо знаешь всё только частично
Ты меня, наверно, не понял. На родном языке ты просматриваешь текст по диагонали, выхватывая нужные слова. На неродном - приходится читать все подряд. Время поиска нужной информации в тексте сильно растет, хотя прочесть и понять текст ты и в состоянии.

py.user.next
IMHO, у них не может варьироваться тип аргументов при вызове, влияя на тип возвращаемого значения, из-за этого теговые описания не растут в геометрической прогрессии
А как часто тип возврата сложно зависит от типов аргумента (сложнее, чем “тип возвращаемого значения == тип такого-то аргумента”)?



Офлайн

#2 Май 29, 2012 06:36:09

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
Мне казалось, что последовательность (sequence) - это все, что поддерживает протокол итератора.
в документации у них написано, что такое sequence в питоне

asilyator
py.user.next
2) если у аргумента может быть разный тип в зависимости от вызова, то это надо будет делать строку тега на каждый тип, увеличивая теговое описание
и от набора этих типов в вызове может зависеть возвращаемое значение
Пример?
пример про re.findall(), os.listdir()
либо ты пишешь теги про какой-то список, либо ты пишешь теги про список строк и теги про список байтовых объектов
а потом ещё теги про возвращаемое значение удваиваются

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

asilyator
Все она не заменит, но большинство - вполне.
а большинство - это не всё
думаешь, хорошо, знать функцию только на две трети ?

asilyator
На родном языке ты просматриваешь текст по диагонали, выхватывая нужные слова.
и какой результат ?

asilyator
А как часто тип возврата сложно зависит от типов аргумента
а ты представь всё, что может быть
а потом примени правило “если что-то может произойти, то оно обязательно произойдёт”
если может появится какая-то тонкая настройка вызова функции, от которой что-то зависит, то нужно исходить из того, что она точно появится
и эти ограничивающие теги либо заблокируют развитие языка, либо их надо будет менять синтаксически
а удалить это будет невозможно
(вот с php такая ситуация - он не может развиваться, потому что скован)



Отредактировано py.user.next (Май 29, 2012 06:44:23)

Офлайн

#3 Май 29, 2012 16:05:51

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

py.user.next
пример про re.findall(), os.listdir()
либо ты пишешь теги про какой-то список, либо ты пишешь теги про список строк и теги про список байтовых объектов
а потом ещё теги про возвращаемое значение удваиваются
Про listdir писал выше (os.walk). Формат получается не совсем строгий, но лучше, чем ничего.
И listdir - это не вершина сложности, там тип возврата всего лишь определяется типом параметра.

py.user.next
попробуй почитать стандарт C++
попробуй прочитать стандарт C++
думаешь, нельзя его было сократить раза в два ?
Стандарт? Невкурсе, я не сишник и тем более не плюсанутый, от него меня по-моему отговаривали даже преподы.

py.user.next
asilyator
На родном языке ты просматриваешь текст по диагонали, выхватывая нужные слова.
и какой результат ?
Нормальный.

py.user.next
а ты представь всё, что может быть
а потом примени правило “если что-то может произойти, то оно обязательно произойдёт”
если может появится какая-то тонкая настройка вызова функции, от которой что-то зависит, то нужно исходить из того, что она точно появится
и эти ограничивающие теги либо заблокируют развитие языка, либо их надо будет менять синтаксически
а удалить это будет невозможно
(вот с php такая ситуация - он не может развиваться, потому что скован)
Там где тегами все не опишешь - остальное будет в текстовом описании. Теги помогут в большинстве случаев. “Удалить невозможно” - в языке, в котором есть 100500 видов документации, и никак не могут определиться, все возможно, не устроит та - возьмут эту.



Офлайн

#4 Май 30, 2012 02:58:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
И listdir - это не вершина сложности, там тип возврата всего лишь определяется типом параметра.
сейчас у os.listdir() описание небольшое
а с тегами что было бы ?

asilyator
Стандарт? Невкурсе, я не сишник и тем более не плюсанутый, от него меня по-моему отговаривали даже преподы.
а приговаривали к чему ?
короче, там много-много букв, и никто его не прочитает даже за несколько лет
документация должна быть компактной
знаешь, есть дискеты пятидюймовые, а есть дивиди-диски - размер один, а объёмы разные
соответственно, документацию надо сокращать

asilyator
asilyator
На родном языке ты просматриваешь текст по диагонали, выхватывая нужные слова.
py.user.next
и какой результат ?
Нормальный.
так не может быть
неподробный просмотр даёт неподробные знания

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

где преимущества тегов ?



Офлайн

#5 Май 31, 2012 03:01:59

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

По-моему, я уже повторяться начал.

py.user.next
сейчас у os.listdir() описание небольшое
а с тегами что было бы ?
Убийственный аргумент, правда? Зато сразу были бы видны типы переменных.

py.user.next
так не может быть
неподробный просмотр даёт неподробные знания
Ну понаблюдай за собой, как ты листаешь справочник. Просматриваешь текст, ища нужные слова, а потом с того места читаешь подробнее.

py.user.next
asilyator
Стандарт? Невкурсе, я не сишник и тем более не плюсанутый, от него меня по-моему отговаривали даже преподы.
а приговаривали к чему ?
Точнее, не отговаривали, а один препод говорил, что на си стандарт был вот такой толшины, а на cpp - раза в три толще. Ну может быть кто-то и говорил, что цпп слишком переусложненный.

У нас первые два семестра изучали яву, в третьем - питон. Си изучали технические информатики (это программисты микроконтроллеров / встраиваемых систем), я бы тоже не отказался. Некоторые низкоуровневые алгоритмы на нем приятнее делать, чем на яве, да и сишный код приходится нередко читать.

py.user.next
вот разница между вторым и третьим питоном взялась из переделывания
Разница взялась из обратной совместимости второго питона с далеко не самыми удачными решениями. Переход на что-то несовместимое всегда болезненный, ведь зачем, раньше все работало. С каждой новой виндой начинается вой, что драйвера не подходят.

py.user.next
где преимущества тегов ?
Пересказать последние 3 страницы?

То есть теги не нужны, потому что они могут не понравиться части программистов? С такой аргументацией можно отвергать любые изменения вообще.



Офлайн

#6 Май 31, 2012 03:38:06

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
То есть теги не нужны, потому что они могут не понравиться части программистов?
потому что они являются ограничением документации и не самым лучшим
выигрыша никакого, только дополнительные буквы

asilyator
Пересказать последние 3 страницы?
там нет полного описания функции list(), os.walk() или re.findall()
iterable - это не тип, и его описание порождает дополнительные строки

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

asilyator
да и сишный код приходится нередко читать
а ты знаешь, что питон написан на C ?

asilyator
Ну может быть кто-то и говорил, что цпп слишком переусложненный.
этому холивору много лет
факт в том, что C компактный и его реально выучить весь
он и синтаксически компактный

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

asilyator
Зато сразу были бы видны типы переменных.
был бы виден тип “список”, а что за список
был бы виден тип “строка”, так в документации есть это уже
re.finditer() возвращает итератор, который содержит match-объекты, которые не являются каким-то встроенным типом питона
что даст такой тег ?



Офлайн

#7 Май 31, 2012 03:48:26

asilyator
От:
Зарегистрирован: 2010-10-24
Сообщения: 276
Репутация: +  -2  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

py.user.next
там нет полного описания функции list(), os.walk() или re.findall()
iterable - это не тип, и его описание порождает дополнительные строки
Я лишь предложил идею, которую можно было бы развивать дальше, а ты выпытываешь подробности и ковыряешь в них дырки. Я не собирался в одиночку придумать формат со всеми подобностями, я лишь предложил направление.

py.user.next
а как они там появились ?
и почему так сложно их убрать потом ?
Потому, что полетит старый код. От документации ничего не полетит.

py.user.next
а ты знаешь, что питон написан на C ?
Это тест на эрудицию или что-то еще?

py.user.next
был бы виден тип “список”, а что за список
list(tuple), что-то такое
py.user.next
был бы виден тип “строка”, так в документации есть это уже
str или unicode, а не строка
py.user.next
re.finditer() возвращает итератор, который содержит match-объекты, которые не являются каким-то встроенным типом питона
А кто-то говорил про встроенне типы?

Даже если теги помогут не везде, есть достаточно ситуаций, где с ними было бы лучше.



Отредактировано asilyator (Май 31, 2012 03:49:15)

Офлайн

#8 Май 31, 2012 08:46:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

MP3 тэги. Кодировка. Проблемы.

asilyator
я лишь предложил направление
там предложений знаешь сколько

asilyator
Я не собирался в одиночку придумать формат со всеми подобностями
даже если его разработать, что это даст ?

asilyator
Это тест на эрудицию или что-то еще?
не, ты так сказал про C, как будто он из далёкой области

asilyator
list(tuple), что-то такое
речь про re.findall(), которая возвращает список
если записать это в тегах, это ничего не даст

asilyator
str или unicode, а не строка
unicode уже устарело
теперь есть bytes и str, где строка - str

asilyator
А кто-то говорил про встроенне типы?
можно любые записать
факт в том, что возвращаться может какой-нибудь сложный объект, типа генератора из os.walk() или итератора из re.finditer()
в тегах это будет длинная запись

asilyator
Даже если теги помогут не везде, есть достаточно ситуаций, где с ними было бы лучше.
а сейчас ситуация тяжёлая ?



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version