1.1, Аноним (-), 00:31, 30/09/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
>является первой стабильной веткой, выпущенной после истечения моратория на изменение синтаксиса языка,
Хм, только я здесь вижу взаимоисключающие параграфы?
| |
|
2.2, Аноним (-), 00:53, 30/09/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну так правильно с 3.1 по 3.3 синтаксис не меняли, а в 3.3 вон сколько изменений, сейчас начнётся новый цикл, мораторий на эти изменения, только баг-фиксы.
| |
|
1.5, Онаним (?), 02:14, 30/09/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
У меня 2 вопроса:
1. Таки как там с Unicode: лучше или хуже, чем в Java.
2. Как там с параллелизацией: потоки, актёры и т.п...
Слышал я, что вообще в Питоне с этими вещами было паршиво. Может в этой версии уже нет?
| |
|
2.7, Аноним5 (?), 03:19, 30/09/2012 [^] [^^] [^^^] [ответить]
| –6 +/– |
Вам надо посмотреть Go.
1. В Go всё Unicode -- полностью. Даже синтаксис. Серьезно! Вы можете называть переменные, названия функций и т.д. на кириллице. Создатели Go, Роб Пайк и Кен Томпсон -- авторы UTF-8.
2. Неотъемлемая часть языка. Посмотрите на goroutines.
| |
|
3.8, bugmenot (ok), 03:54, 30/09/2012 [^] [^^] [^^^] [ответить]
| +8 +/– |
> Вы можете называть переменные, названия функций и т.д. на кириллице.
Зачем?
/me стонет
| |
|
|
5.13, Anonymous1 (?), 09:09, 30/09/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Как зачем? Думаю кодеры из 1С например будут только рады)))
Подозреваю, что "кодеры из 1С" являются, в массе своей, однопрограммными или одноязычными, и никакие другие языки, кроме с трудом осиленного и изначально созданного для бухгалтеров диалекта 1С, их ничуть не интересуют. За примерами далеко ходить не нужно: подсистема обмена почтовыми сообзениями в 1С, FTP подсистема в 1С, ...
Какая уж тут радость - скорее огорчение.
| |
|
6.16, Аноним (-), 10:29, 30/09/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Подозреваю, что "кодеры из 1С" являются, в массе своей,
однопрограммными или одноязычными
Вы ошибаетесь.
Что касается русскоязычных переменных, то это действительно на удивление очень удобно (для русскоязычных разработчиков). По сути текст программы - это просто текст на родном языке.
конструкцию
ЕстьПрава = Ложь;
...
Если ЕстьПрава Тогда
СделайТоТо();
КонецЕсли;
поймёт даже человек, который про язык 1с даже не слышал.
| |
|
7.17, Аноним (-), 10:38, 30/09/2012 [^] [^^] [^^^] [ответить]
| –5 +/– |
> прочитать сможет даже человек, который про язык 1с даже не слышал.
Пофиксил.
Нормальный программист™ сразу же закроет окно с исходным кодом, а автора будет считать идиотом. А человек с улицы, не разбирающийся в программировании, 100% ничего не поймет, хоть и прочитать сможет.
| |
|
8.31, uuser (ok), 15:13, 30/09/2012 [^] [^^] [^^^] [ответить] | +4 +/– | Интересно, на каком языке пишет англоязычный Нормальный программист 8482 ну... текст свёрнут, показать | |
|
9.32, Аноним (-), 16:38, 30/09/2012 [^] [^^] [^^^] [ответить] | +1 +/– | В английском слова почти не склоняются не спрягаются, так что программы на латин... текст свёрнут, показать | |
|
|
7.22, mine (ok), 12:13, 30/09/2012 [^] [^^] [^^^] [ответить]
| +4 +/– |
Сразу видно человека, всю жизнь работающего в местечковой конторе и ничего кроме своего кода не видевшего.
Потому что хватает один раз увидеть код на несколько сотен метров, снабжённый комментариями на хрен знает скольки языках, дабы отучиться от подобных мыслей.
| |
|
|
5.71, demo (??), 11:39, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
Красота какая!
Только право писать идентификаторы на родном языке автоматически обозначает возможность получения исходных текстов с идентификаторами на фиг знает каком языке.
Ад программиста скоро будет выглядеть так -
Имя функции и большинство идентификаторов - китайскими иероглифами, а потом смесь деванагари и кириллицы.
Так что я лучше продолжу пользоваться ломанным английским...
| |
|
6.72, YetAnotherOnanym (?), 11:48, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
Мне как-то довелось копаться в PHP-коде где всё было на итальянском (HotelDruid, есличо). Ничего, продрался, хотя в словарь нырять каждую минуту, конечно же напрягает.
Я это к тому, что возможность писать только латиницей сильно сужает число языков, но не сводит его к одному английскому. Надо ещё чтобы авторы понимали, что их код будет читать кто-то, говорящий на другом языке.
| |
|
7.103, Аноним (-), 21:09, 04/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> возможность писать только латиницей сильно сужает
nikto, tem bolee, ne otmenyal translit
| |
|
8.104, arisu (ok), 23:44, 04/10/2012 [^] [^^] [^^^] [ответить] | +/– | за транслит в названиях надо убивать, предварительно медленно оторвав калёными щ... текст свёрнут, показать | |
|
|
|
|
4.35, жабабыдлокодер (ok), 18:01, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Вы можете называть переменные, названия функций и т.д. на кириллице.
>
>Зачем?
>/me стонет
Мне приходилось иметь дело со XSD схемой, написанной русскими буквами. JAXB быстренько преобразовал их в классы Java (в жабе можно использовать в именах UTF-символы, включая кириллицу), после чего я не стонал, а ругался: все время переключать раскладки очень неудобно. Только автозаполнение в NetBeans немного выручало.
| |
4.97, Тарелькин (?), 17:02, 03/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>Зачем?
Я тоже так думал, пока кто-то не привел мне пример. Правда, не с кириллицей, а с математическими формулами с греческими буквами. В научной программе, вполне вероятно, будет понятнее, если написать φ = ∏(p[i] ^ (α[i] - 1) * (p[i] - 1)), чем phi = product(pow(p[i], a[i] - 1) * (p[i] - 1)). Особенно если это код в середине научной статьи, где употребляются те же самые буквы.
| |
|
5.98, arisu (ok), 22:33, 03/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
кто мешает сделать транслятор из такой записи в то, что понимает компилятор и не тащить вредные фичи в сам компилятор?
| |
|
6.99, Тарелькин (?), 06:01, 04/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
>кто мешает сделать транслятор из такой записи в то, что понимает компилятор и не тащить вредные фичи в сам компилятор?
Ну он уже есть, только встроен в компилятор, и не надо каждому писать свой велосипед.
В большинстве случаев не надо - большинство не пользуется. А кто очень хочет воспользоваться не к месту, тот и латинскими буквами напишет "void narisovatIzobrazhenie()".
Потом, популярные языки программирования (C++, Javascript, в какой-то мере Java) содержат колоссальное количество фич, позволяющих выстрелить себе в ногу (в C++ можно это сделать при сочинении Hello World). Почему бы не выкинуть "goto" из C и C++, если он нужен только очень редко?
| |
|
7.100, arisu (ok), 06:22, 04/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Ну он уже есть, только встроен в компилятор, и не надо каждому
> писать свой велосипед.
зачем «каждому»? один написал и выложил.
> Почему бы не выкинуть «goto» из C и C++, если он нужен только очень редко?
потому что «выкинуть» — не то же самое, что «добавить». хотя из цпп гото выкинуть вполне нужно бы.
| |
|
|
|
|
11.116, arisu (ok), 21:20, 07/10/2012 [^] [^^] [^^^] [ответить] | +/– | вот с этого места поподробней а то начинает закрадываться подозрение, в котором... большой текст свёрнут, показать | |
|
|
13.118, arisu (ok), 03:17, 09/10/2012 [^] [^^] [^^^] [ответить] | +/– | зачем нужны goto, окромя как а эмулировать finally, и б выбираться из очень г... большой текст свёрнут, показать | |
|
|
|
|
|
|
7.111, Аноним (-), 19:11, 06/10/2012 [^] [^^] [^^^] [ответить] | +/– | Ой ну вот ненадо, на си пару раз себе в ногу стрельнешь и все Научился обращать... большой текст свёрнут, показать | |
|
|
|
|
3.46, pro100master (ok), 22:19, 30/09/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Вам надо посмотреть Go.
а напаркуа? В Go есть тысячи хороших библиотек? Может быть хотя бы 10 фреймворков? Голый язык с понтами и кучкой приближенных сектантов. До Python еще пилить и пилить, а до JM, как до Солнца улиткой.
| |
|
2.12, bav (ok), 08:15, 30/09/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Слышал я, что вообще в Питоне с этими вещами было паршиво.
Рабинович напел?
| |
2.14, anonymous (??), 09:10, 30/09/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> У меня 2 вопроса:
> 1. Таки как там с Unicode: лучше или хуже, чем в Java.
> 2. Как там с параллелизацией: потоки, актёры и т.п...
> Слышал я, что вообще в Питоне с этими вещами было паршиво. Может
> в этой версии уже нет?
В Tcl с unicode все отлично, например. Потоки, мьютексы, пулы потоков, до версии 8.5 расширением, в 8.6 есть поддержка кооперативной многопоточности в ядре языка.
| |
|
|
|
5.39, Аноним (-), 19:37, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
Забавные у вас представления о паршивости синтаксиса.
Нет, в случае с Tcl проблемы гораздо глубже.
| |
|
6.47, anonymous (??), 22:41, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Забавные у вас представления о паршивости синтаксиса.
> Нет, в случае с Tcl проблемы гораздо глубже.
Хотел бы немного подискутировать на тему проблем, если Вы не против.
| |
|
7.56, arisu (ok), 08:11, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Хотел бы немного подискутировать на тему проблем, если Вы не против.
ОноНеПохожеНаСи!!111111
| |
|
6.73, YetAnotherOnanym (?), 11:55, 01/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Мне однажды пришлось писать на tcl, правда, совсем немного - нужен был скрипт на Expect, способный делать более сложные штуки, чем "дождаться login, послать логин, дождаться password, послать пароль", на всё ушло около часа, при том, что раньше с tcl не соприкасался. Никаких таких ужасных особенностей в синтаксисе tcl я тогда не усмотрел.
| |
|
|
|
3.29, gegMOPO4 (ok), 14:19, 30/09/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Tcl поддерживает Unicode ограниченно — только Basic Multilingual Plane.
| |
|
4.57, arisu (ok), 08:12, 01/10/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Tcl поддерживает Unicode ограниченно — только Basic Multilingual Plane.
а больше ничего и не нужно. китайцев-корейцев-японцев-и-прочих-красавцев надо вообще выпилить нафиг из юникода.
| |
|
|
6.62, arisu (ok), 10:25, 01/10/2012 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Зачем вам уникод? ASCII хватит для всех.
зачем в юникоде эти дурацкие иероглифы, отдельные диакритические знаки и композиты? мусор это всё. кто не хочет вводить нормальный алфавит — должен страдать.
| |
|
7.65, gegMOPO4 (ok), 10:47, 01/10/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Правильно. Зачем в кириллице буквы, дублирующие латинские, — А, В, Е, К, М, Н, О, Р, С, Т, У, Х? Зачем Г, если есть G? Зачем переворачивать нормальные буквы — И, Я, Ь?
| |
|
|
|
|
|
2.21, Аноним (-), 11:58, 30/09/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> 2. Как там с параллелизацией: потоки, актёры и т.п...
А где сейчас с параллелизацией хорошо? Неужели в джаве? А я всегда думал что джава и параллельные вычисления это взаимно исключающие параграфы. Что-то получше должно быть в ерланге и хаскелле, но опять же программировать на них почти невозможно. Резолюция проста и неутешительна: параллельные вычисления это миф
| |
|
3.40, Аноним (-), 19:38, 30/09/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> А где сейчас с параллелизацией хорошо? Неужели в джаве? А я всегда
> думал что джава и параллельные вычисления это взаимно исключающие параграфы. Что-то
> получше должно быть в ерланге и хаскелле, но опять же программировать
> на них почти невозможно. Резолюция проста и неутешительна: параллельные вычисления это
> миф
А в это время суровые сишники продолжали писать распараллеленные числодробильные приложения.
| |
3.54, Аноним (-), 02:16, 01/10/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Господа! Смертельный номер господа!
Обычному домашнему хомячку подсунули каплю никотина:
>Что-то получше должно быть в ерланге и хаскелле,
Охщи ...
>но опять же программировать на них почти невозможно. Резолюция проста и неутешительна: параллельные вычисления это миф
Господа - приносим извинения за ошмётки несчастного смелого хомячка долетевшие да первых рядов ...
| |
3.58, arisu (ok), 08:13, 01/10/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
> в ерланге и хаскелле, но опять же программировать на них почти невозможно
что, не похоже на похапэ? бывает.
| |
|
2.23, Ашибка (?), 12:28, 30/09/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
>У меня 2 вопроса:
>1. Таки как там с Unicode: лучше или хуже, чем в Java.
В 3 ветке лучше, во 2-ой хуже.
>2. Как там с параллелизацией: потоки, актёры и т.п...
Все хорошо.
>Слышал я, что вообще в Питоне с этими вещами было паршиво. Может в этой версии уже нет?
Вы не понимаете http://xkcd.ru/353/
| |
|
3.38, Sauron (??), 19:34, 30/09/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
На самом деле с параллелизацией там всё ужасно из за GIL, который банально не дает нескольким тредам одновременно исполняться.
http://habrahabr.ru/post/84629/
То есть для многопоточного программирования Питон по просту непригоден!
| |
|
4.42, Аноним (-), 19:41, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
> На самом деле с параллелизацией там всё ужасно из за GIL, который
> банально не дает нескольким тредам одновременно исполняться.
> То есть для многопоточного программирования Питон по просту непригоден!
И тем не менее с многопоточным программированием парсинг сайтов намного ускоряется. Для вычислений нужно использовать многопроцессорное программирование.
| |
4.43, Глаз Саурона (?), 20:01, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
>На самом деле с параллелизацией там всё ужасно из за GIL, который банально не дает нескольким тредам одновременно исполняться.
Опять пришли "специалисты" прочитавшие одну статейку. GIL это механизм, который делает параллельное исполнение простым и понятным, в один момент времени исполняется один тред на
одном камне. Ничто не мешает запускать несколько тредов, или несколько процессов на разных камнях. Если есть желание самому синхронизировать потоки, и свихнуть себе мозги то питон не для тебя.
| |
4.74, demo (??), 11:56, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> То есть для многопоточного программирования Питон по просту непригоден!
Немного не так.
GIL блокирует не потоки, а возможность параллельного исполнения кода в виртуальной машине python-а. Различие в том, что когда выполняется "тяжёлый" код в модуле написанном на C (ввод-вывод, базы данных, манипуляции матрицами и т.п.) GIL обычно снимается и потоки получают возможность исполняться параллельно.
Программисты на java стараются всё затащить в java. Программисты на python время от времени находят ёмкие по времени куски и переписывают их на C.
| |
|
5.79, Бред (?), 16:48, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
>GIL блокирует не потоки, а возможность параллельного исполнения кода в виртуальной машине python-а.
Гениально! Масло не масленое, а масленое.
> Различие в том, что когда выполняется "тяжёлый" код в модуле написанном на C (ввод-вывод, базы данных, манипуляции матрицами и т.п.) GIL обычно снимается и потоки получают возможность исполняться параллельно.
Стандартная библиотека чуть менее чем полностью написана на Си.
> Программисты на python время от времени находят ёмкие по времени куски и переписывают их на C.
Раньше переписывали, сейчас есть Cython.
| |
|
6.81, demo (??), 18:13, 01/10/2012 [^] [^^] [^^^] [ответить] | +1 +/– | Конечно, гениально Если у Вас есть 100 потоков, выполняющих код типа x x 1,... большой текст свёрнут, показать | |
|
|
|
|
2.27, gegMOPO4 (ok), 14:13, 30/09/2012 [^] [^^] [^^^] [ответить]
| +8 +/– |
1. Unicode появился в Python 2.0, 12 лет назад. Поддержка его была местами лучше, местами хуже, чем в Java. С Python 3.0 стала очевидно не хуже (на Linux — лучше). С Python 3.3 — везде лучше. Прозрачно поддерживается Unicode 6.2, а Java даже Unicode 2.0 поддерживает со скрипом (и большинство разработчиков о том, как это делать, не знают).
2. С параллелизацией всё хорошо, если применять подходящие инструменты для определённых задач, не хуже, чем в аналогичных языках общего назначения. Пакет multiprocessing появился в Python 2.6.
| |
2.52, Xasd (ok), 00:23, 01/10/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Слышал я, что вообще в Питоне с этими вещами было паршиво. Может в этой версии уже нет?
так говорили те люди которые (в ветке Пайтона версии 2.X) -- не могли отличить байтовую последовательность от юникодной строки.. [и таких людей судя по блогам -- очень много!! к сожелению.. не разобравшись, они начинали вопить в свои блоги]
в Python-2.X многие стандартные функции возвращали байтовые последовательности вместо юникодных строк.. и поэтому в Python-2.X [перед тем как использовать результат стандартных функций] требовалось обязательно сначало вручную сделать нечто вроде:
# при работе например с аргументами командной строки
u_my_result = my_result.decode(locale.getdefaultlocale()[1] or 'utf8')
# при работе с именами файлов файловой системы
u_my_result = my_result.decode(sys.getfilesystemencoding() or 'utf8')
# при работе с данными от файловых дескрипторов, например стандартный вход stdin
u_my_result = my_result.decode(getattr(my_fd, 'encoding', None) or 'utf-8')
# при получении/передаче данных по сети, и работе непосредственно с информацией (например загрузка содержимого файлов)
u_my_result = my_result.decode('utf-8') # мы же не хотим кракозябров на другом компе с другой локалью :)
# ...
#
# вобщем в зависимости от того что конкретно у нас такое есть -- my_result
# а кто этого не делает, и работает с байтовыми последовательнастями напрямую,
# тот в конечном итоге где-нибудь получит нежданный геморой.
# как уж после этого не отписаться на форумах-то и в блогах, о том какой якобы плохой Пайтон :-D :-D
это было исправлено в Python-3.X -- в Python-3.X уже сразу на выходе многих стандартных функций теперь возвращается Юникодный результат (а не байтовая последовательность).
ды и вобще в Python-3.X более чётко разграничили между собой -- байтовую последовательность и юникодную строку, и теперь их стало НЕ так просто спутать между собой в отличии от того как это было в Python-2.X.. :-)
| |
|
1.33, СлабыйЗаходНаХоливар (?), 16:58, 30/09/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +7 +/– |
>Переписанный на языке Си модуль "decimal" позволил до 80 раз увеличить производительность целочисленных операций;
А нельзя вот так вот весь Питон переписать на Си?
| |
|
2.80, Бред (?), 16:54, 01/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> А нельзя вот так вот весь Питон переписать на Си?
уже сделали 1991 году, с тех пор он на Си и написан.
| |
|
1.36, Аноним (-), 18:08, 30/09/2012 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
А зачем они в 3 питоне, для print обязали ставить скобки? Новоратами 3 питона я не пользуюсь, поэтому print со скобками в питоне это бред.
| |
|
2.37, Kamiram (?), 18:43, 30/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
Для единобразия. всетаки print это функция(да. в 3 ветке совсем функцйия)
| |
|
3.53, Аниме (?), 00:27, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
Причём здесь единообразие? принт для отладки, зачем скобки там где их может небыть? Ну есть же операторы. Я всегда думал что print в питоне это оператор. Вот третий питон мне всё испортил. Мне нравится питон за лаконичность, а эти все новшества только удлинняют код. Питон итак довольно мощный и совершенный, зачем его портить?
| |
|
4.60, marks (?), 09:30, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
Наркоман чтоль? В 3+ print() - функцииияяяя. А ВСЕ функции пишутся со скобочкааамиии...
| |
|
3.59, arisu (ok), 08:23, 01/10/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Для единобразия.
а у меня есть альтернативный ответ: потому что идиоты. вместо того, чтобы выкинуть скобки в других местах — когда они не нужны, они добавляют скобки. какая неоднозначность возникает от парзинга вызова функции с одним аргументом без скобок?
| |
|
4.63, gegMOPO4 (ok), 10:35, 01/10/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> какая неоднозначность возникает от парзинга вызова функции с одним
> аргументом без скобок?
f-3
Вызов функции f с аргументом -3 или результат отнимания 3 от f?
f*a
Вызов функции с аргументами, заданными списком/кортежом a или результат умножения f на a?
А ещё вспомнить про функции без аргументов. И таких мелочей много, правила их разрешения создадут сложный и запутанный язык. Для Перла годится, для Питона — нет.
| |
|
5.66, arisu (ok), 10:50, 01/10/2012 [^] [^^] [^^^] [ответить]
| –3 +/– |
ок, уточню, mea culpa. с вызовом функции, аргумент которой — литерал: строка, массив, что там ещё можно однозначно отличить? конструкция:
print "abc"
по-моему, вполне однозначно понимается. если можно упростить синтаксис без особого геморроя и непоняток — отчего бы и да? удобно должно быть прежде всего человеку, а только потом машине.
опять же, никто не мешает сделать какой-нибудь флаг strict, который отрубает подобный сахар.
в конце-концов, на гвидобейсике пишут в том числе и не особо сложные скрипты, где подобное упрощение синтаксиса более чем оправдано.
| |
|
6.68, gegMOPO4 (ok), 11:00, 01/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Это всё называется не «упростить синтаксис», а значительно усложнить. Для такого языка, как Питон, на котором и простые скрипты пишутся, который и неспециалисты используют, — неприемлемо.
| |
|
7.69, arisu (ok), 11:14, 01/10/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
с точки зрения парзера — усложнить. с точки зрения человека — упростить. как раз для неспециалистов.
| |
|
|
9.89, arisu (ok), 02:08, 02/10/2012 [^] [^^] [^^^] [ответить] | +/– | вздыхает потому что если запомнить опциональное правило 171 вызов функции... текст свёрнут, показать | |
|
|
11.92, arisu (ok), 20:29, 02/10/2012 [^] [^^] [^^^] [ответить] | +/– | поправить синтаксис, например инконсистентность, значит, в использовании квадра... текст свёрнут, показать | |
|
|
13.94, arisu (ok), 22:58, 02/10/2012 [^] [^^] [^^^] [ответить] | +/– | пожимает плечами я и так пользуюсь несколькими самодельными языками, зачем мне... текст свёрнут, показать | |
|
|
|
|
|
|
|
6.75, demo (??), 14:20, 01/10/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
Ох,
что-то мне кажется, что Вы предлагаете ядовитый сахар. Кроме простого правила нужно будет помнить ещё правила применения правила, правила отмены правила и варианты исключения из правил.
Простое, дубовое правило (вызов функции - со скобочками!) упрощает жизнь как авторов парсера так и пользователей (особенно, если что-то идёт не так).
Мне вот не нравится ликвидация оператора print. Да, у него было своеобразно реализовано "перенаправление" вывода в произвольный поток. Да, запрет перевода строки после вывода выглядел "вызывающе хакерски". Кроме того поддержка оператора print требовала четырёх инструкций вирт. машины (PRINT_ITEM, PRINT_ITEM_TO, PRINT_NEWLINE и PRINT_NEWLINE_TO). Возможно, что была причина избавиться от всего этого. А так при наличии sys.stdout.write() и функция print не очень-то нужна.
| |
|
7.76, arisu (ok), 14:33, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> что-то мне кажется, что Вы предлагаете ядовитый сахар. Кроме простого правила нужно
> будет помнить ещё правила применения правила, правила отмены правила и варианты
> исключения из правил.
зачем? я же не предлагаю скобки аннигилировать. лень помнить — можно просто ставить скобки и не заморачиваться, дел-то.
| |
|
|
|
4.77, demo (??), 14:35, 01/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ...какая неоднозначность возникает от парзинга вызова функции с одним
> аргументом без скобок?
вот "sin x" - это хорошо и понятно.
а вот "sin 2*x" (тоже функция с одним аргументом без скобок) уже не хорошо и не понятно - это "(sin 2)*x" или "sin(2*x)"?
Кроме того в случае python есть ещё одно усложнение - это мы знаем, что традиционный sin это всегда функция с одним аргументом. А компилятор python-а, бедняжечка, этого не знает.
| |
|
5.78, arisu (ok), 15:57, 01/10/2012 [^] [^^] [^^^] [ответить]
| –2 +/– |
я же уточнил, какие литералы допускать.
> Кроме того в случае python есть ещё одно усложнение — это мы
> знаем, что традиционный sin это всегда функция с одним аргументом. А
> компилятор python-а, бедняжечка, этого не знает.
а какая парзеру разница? есть запятая на месте терма? следующий параметр. нет запятой? конец оператора.
| |
5.83, Аноним (-), 19:08, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> ...какая неоднозначность возникает от парзинга вызова функции с одним
>> аргументом без скобок?
> вот "sin x" - это хорошо и понятно.
> а вот "sin 2*x" (тоже функция с одним аргументом без скобок) уже
> не хорошо и не понятно - это "(sin 2)*x" или "sin(2*x)"?
Если скобки строго заменять на пробелы, то "sin 2*x" эквивалентно "sin (2*x)", а вот "sin 2 *x" уже "(sin(2)*x)".
Опять же, у Руби такое используется - и ничего, компилятор-бедняжечка не путается
| |
|
6.88, arisu (ok), 01:31, 02/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Если скобки строго заменять на пробелы, то «sin 2*x» эквивалентно «sin (2*x)»,
> а вот «sin 2 *x» уже «(sin(2)*x)».
в принципе, фраза «sin 2*x» человеком понимается достаточно однозначно, по-моему. а к тому, что пробелы — не просто разделители, а чуть ли не токены, питонистам не привыкать.
| |
|
|
4.95, angra (ok), 00:08, 03/10/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
Свободно опускаемые скобки и куча других прелестей для опытных программистов - это perl. Питон он для другой ЦА, гибкость противоречит его философии, там шкурку с кошки можно снять строго одним образом.
| |
|
5.109, Аноним (-), 19:05, 06/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Свободно опускаемые скобки и куча других прелестей для опытных программистов - это
> perl. Питон он для другой ЦА, гибкость противоречит его философии, там
> шкурку с кошки можно снять строго одним образом.
Ну у этого есть один плюс. Поддерживать код проще. И один минус. Не всем это по душе.
| |
|
|
|
|
|
2.50, bav (ok), 23:49, 30/09/2012 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Да здравствует version hell
Вы о чем, сударь? venv это хорошо и прекрасно.
| |
|
3.55, Аноним (-), 02:27, 01/10/2012 [^] [^^] [^^^] [ответить]
| +2 +/– |
>> Да здравствует version hell
> Вы о чем, сударь? venv это хорошо и прекрасно.
оно не втыкнуло о чём этот самый venv эбаут :)
| |
3.110, Аноним (-), 19:08, 06/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Да здравствует version hell
> Вы о чем, сударь? venv это хорошо и прекрасно.
ага придумали Bundler из мира ruby. И да это прекрасно, можно искренне поздравить питонистов, теперь и им будет удобно.
| |
|
2.82, Xasd (ok), 18:15, 01/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Поддержка виртуальных окружений
> Да здравствует version hell.
наверно Вы имели ввиду -- virtual-hell ! :-D
но правда мне сложно представить что это может быть такое
# p.s.: по крайней мере -- version-hell и virtual-env -- вещи вообще взаимоисключающие :)
| |
|
|