URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 102132
[ Назад ]

Исходное сообщение
"Разработчики Debian намерены создать команду для портировани..."

Отправлено opennews , 17-Апр-15 22:34 
В свете намеченного на 2020 год прекращения поддержки языка программирования Python 2, разработчики Debian, выразили беспокойство, что большое число проектов Debian написано на Python 2 и выступили (https://lists.debian.org/debian-devel-announce/2015/04/msg00...) с инициативой создания команды для портирования привязанного к Python 2 кода на Python 3. Кроме портированая программ, используемых в разработке Debian (buildd, инструменты для подготовки релизов, утилиты для оценки качества, скрипты для обслуживания репозиториев), предлагается провести ревизию пакетов, имеющих Python 2 в зависимостях, оценив для каких из них upstream-проекты уже реализовали поддержку Python 3, а какие пока нет.

URL: https://lists.debian.org/debian-devel-announce/2015/04/msg00...
Новость: https://www.opennet.ru/opennews/art.shtml?num=42057


Содержание

Сообщения в этом обсуждении
"Разработчики Debian намерены создать команду для портировани..."
Отправлено Омоним , 17-Апр-15 22:34 
Если до 2020 не найдут багов в языке, то смысла портировать не будет.
А после 2020, все баги будут документированными фичами реализации.
Так что, зря мозг себе сношают.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено spanasik , 17-Апр-15 22:37 
>so we don't have to rely on an old, deprecated and broken

Python 2

Ещё бы он показал, где он broken. Вот про 3 несколько статей есть, где это показано, а про 2 ни одной. Тот же pyston использует 2 версию.

Интересно, что он скажет про old, deprecated and broken С, которому сколько там лет уже, 40?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено A.Stahl , 17-Апр-15 22:45 
Си может и старый, но как он может быть deprecated если замены ему нет?
Впрочем если ты про C89, то да -- старый и устаревший.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено iZEN , 18-Апр-15 16:50 
Освободитете место для Go.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Fantomas , 18-Апр-15 18:47 
остановите землю, я сойду

"Разработчики Debian намерены создать команду для портировани..."
Отправлено username , 18-Апр-15 19:42 
Смешной чувак, ты еще на пистоне системные компоненты поделай, зато быстро чо.
Плюсы из-за шизоподхода с компилятором тоже не у дела, нам надо как можно проще.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 17-Апр-15 23:39 
> Python 2 Ещё бы он показал, где он broken.

Да, блин, просто элементарно прочитайте What-s-new для 3.0.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 00:56 
> Интересно, что он скажет про old, deprecated and broken С, которому сколько там лет уже, 40?

А зачем что то вообще говорить про язык на котором сейчас пишет только кучка маргиналов?



"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 01:13 
Вот так вот просто взял и перечеркнул и GNU и linux.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 04:12 
> Вот так вот просто взял и перечеркнул и GNU и linux.

Не знаю при чем здесь GNU и linux в целом. Но ядро разрабатывается кучкой маргиналов на маргинальском языке, да.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 11:58 
Система GNU/Linux практически вся на C написана. Только на самом верхнем уровне C++ более-менее часто попадается, да и то в основном благодаря Qt/KDE.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 19-Апр-15 20:39 
> Но ядро разрабатывается кучкой маргиналов на маргинальском языке, да.

Хорошо человеку понимать хотя бы границы своей некомпетентности.  Заодно сильно помогает от подобных "оценок".


"Разработчики Debian намерены создать команду для портировани..."
Отправлено йцу , 20-Апр-15 09:06 
Понимаю, что провоцирую вброс, но не могу не спросить - какой ЯП по вашему не является маргинальным?

"Разработчики Debian намерены создать команду для портировани..."
Отправлено ttx , 20-Апр-15 13:46 
Любой.  Абсолютное большинство землян - не желает программировать.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено 0eviy , 17-Апр-15 22:44 
выпилил весь второй, теперь пишет
/usr/bin/env: python: Нет такого файла или каталога
пробовал скобок к принту прибавить в autostart-xdg-openbox но не вышло с подключением модулей. решил пофик, не критично вроде.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено cmp , 18-Апр-15 06:45 
поддерживаю, понаписали скриптов которые гвоздями прибиты ко всяким питоноперлам, так что потом абсолютно непонятно, что откуда запускается, а теперь мучаются. Очень показательно на фоне внедрения системд, тоже потом будут голову ломать ,что там за версия бинаря и какого лешего она в сегфол подает.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено systemd_anonymousd , 18-Апр-15 18:25 
> выпилил весь второй, теперь пишет
> /usr/bin/env: python: Нет такого файла или каталога
> пробовал скобок к принту прибавить в autostart-xdg-openbox но не вышло с подключением
> модулей. решил пофик, не критично вроде.

А симлинк /usr/bin/python сделать, указывающий на установленную "трёшку"?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено 0eviy , 19-Апр-15 00:46 
> А симлинк /usr/bin/python сделать, указывающий на установленную "трёшку"?

пробовал ln -s /usr/bin/python3 /usr/local/bin/python/python чето не сработало

а если так ln -s /usr/bin/python3 /usr/bin/python пишет

Xsession: X session started
  File "/usr/lib/x86_64-linux-gnu/openbox-xdg-autostart", line 54
    print "Invalid .desktop file: " + path
                                  ^
SyntaxError: Missing parentheses in call to 'print'

а если в этот файл лезу и все по третьему делаю, то дальше он с модулями начинает не стыковаться, в итоге придется все принты наверное и не только епереписывать, вот и думаю, сделали бы это лучше профи и сунули в репы openbox поддерживающий python3

перестало бы вылазить это (хотя может кому то нра, тогда действительно ни к чему переписывать)
/usr/bin/env: python: Нет такого файла или каталога


"Разработчики Debian намерены создать команду для портировани..."
Отправлено h31 , 19-Апр-15 01:07 
То, что ты написал - это код для Python2.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено 0eviy , 19-Апр-15 02:18 
> То, что ты написал - это код для Python2.

а как надо, чтобы правильно и для Python3?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 19-Апр-15 12:34 
Ваше приложение не смотрел, поэтому только на эксепшен который Вы привели, такое решение для работы на обоих версиях питона:

ко всем питон файлам в Вашей либе добавить импорт нового принта:
from __future__ print_function

и все принты заменить на функцию (что бы были со скобками):
print( "Invalid .desktop file: " + path)


"Разработчики Debian намерены создать команду для портировани..."
Отправлено 0eviy , 20-Апр-15 00:03 

> ко всем питон файлам в Вашей либе добавить импорт нового принта:
> from __future__ print_function
> и все принты заменить на функцию (что бы были со скобками):
> print( "Invalid .desktop file: " + path)

пробовал но замороч, решил оставить что есть, работает и ладно.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 15:15 
Есть такая хорошая вещь, называется 2to3. Работает, конечно, далеко не всегда, но иногда помогает. Найти информацию по использованию в интернете вовсе не сложно.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено 0eviy , 20-Апр-15 00:01 
> Есть такая хорошая вещь, называется 2to3. Работает, конечно, далеко не всегда, но
> иногда помогает. Найти информацию по использованию в интернете вовсе не сложно.

http://www.linuxfromscratch.org/blfs/view/svn/x/openbox.html

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


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 17-Апр-15 22:52 
Лучше бы они создали команду для портирования с Python 2 и с Python 3 на C++.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 17-Апр-15 23:00 
Во во, на тот же C++ QML, и тормозить бы перестало и памяти не жрало бы так много. Переход на Python 3 уже давно стал хронической головной болью для всех и по факту так и не состоится. А они слепо продолжают пропихивать...

"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 17-Апр-15 23:03 
господа предлагатели, начните с себя, возьмите определенные пакеты и перепишите их C/C++

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Xasd , 17-Апр-15 23:27 
> Переход на Python 3 уже давно стал хронической головной болью для всех и по факту так и не состоится

кому нужно было -- давно портировали всё что им нужно было -- на Python-3 ..

остальные либо плачут (даже не пытаясь попробовать), либо вообще издалека на Python смотрят, не разбираясь в вопросе..

по факту -- переход на Python3 уже успешно состоялся. (а мёртвые проекты -- остались на Python2.. земля им пухом)


"Разработчики Debian намерены создать команду для портировани..."
Отправлено cmp , 18-Апр-15 06:56 
А питон4 похоронит питон3, а на си как компилилось в 89 так и щас компилится, ну на куя ваш питон нужен ваще.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено chinarulezzz , 19-Апр-15 21:07 
он нужен в том числе потому, чтоб не писать на Си.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 21:40 
Домашние костыли на питоны быстрее ваяются. А потом сливаются в гит и перетекают дистры, и так школьные поделия заполоняют мир. Это та жа история, что и с php. Весь интернет завален, потому что изучается реально быстро и просто. А как это всё работает, и как правильно на этом писать - знают единицы.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 19-Апр-15 22:53 
Молчел, где вы питон4 увидели?

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 14:46 
По факту - питон сильно тормозит и загромождает систему. С Python 3 уже всех заколебали. Он никому не нужен. И все, кто хотел, уже давно свалили с этого языка на нормальные. Не надо поддерживать иллюзию что им пользуются все, язык уже давно в предсмертном состоянии.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 18-Апр-15 15:30 
Забавно. Язык/интерпретатор конечно не идеал, особенно когда уже знаешь/изучаешь всё большее количество языков, но точно один из удобнейших для определенных вещей.
И ещё забавнее то, что сейчас в разработке вижу множество крупных веб-проектов в сфере где работаю, которые отбирают определенные позиции у команд C#/Java

Да и Вы наверно не слышали про очень удобную систему управлению софтом Ansible, которая позволяет управлять заопарком серверов, без заранее предустановленных программ-агентов?! Так вот, её сейчас очень активно портируют под поддержку python3.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено iZEN , 18-Апр-15 17:02 
> Забавно. Язык/интерпретатор конечно не идеал, особенно когда уже знаешь/изучаешь всё большее
> количество языков, но точно один из удобнейших для определенных вещей.
> И ещё забавнее то, что сейчас в разработке вижу множество крупных веб-проектов
> в сфере где работаю, которые отбирают определенные позиции у команд C#/Java

Множество web-проектов, что касается клиентской части, ведутся на платформо-нейтральном HTML/JS/CSS. Остальные направления разработки клиентских программ на иных технологиях — заведомо тупиковые и/или нишевые.
Всё, что вы сказали об отбирании позиций у команд C#/Java относится, наверняка, либо к серверной части разработки софта, либо к той самой тупиковой/нишевой части, что я указал.
Так в какой части отбираются позиции у команд C#/Java, можете уточнить?

> Да и Вы наверно не слышали про очень удобную систему управлению софтом
> Ansible, которая позволяет управлять заопарком серверов, без заранее предустановленных
> программ-агентов?! Так вот, её сейчас очень активно портируют под поддержку python3.

Последнее упоминание этой системы датируется 2013 годом.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 18-Апр-15 23:04 
>> > И ещё забавнее то, что сейчас в разработке вижу множество крупных веб-проектов
> в сфере где работаю, которые отбирают определенные позиции у команд C#/Java

Конечно же я имел ввиду python в бэкэнде и в сервисах. Ни JAVA, ни С# с питоном в браузеры не идут(без трансляции).

Про Ansible, про какое именно упоминание ты имеешь виду?
Посмотри количество отметок(star) и форков самых популярных систем управления.конф. на гитхабе
Такое "цитирование" для тебя понятнее будет:

https://github.com/chef/chef     &n...
https://github.com/puppetlabs/puppet - Этим двум системам по 10лет, и ансибл, появившаяся в 2012, уже набирает юзербазу темпами большими чем эти.

https://github.com/ansible/ansible
Вот ещё одна система на питоне, но сам её не использовал:
https://github.com/saltstack/salt

Питон стоит по умолчанию на многих версиях линукс, либо идет с зависимостями, что не скажешь к примеру про руби.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено й , 19-Апр-15 10:42 
> https://github.com/ansible/ansible
> https://github.com/saltstack/salt

обе очень интересные. и, что характерно, python2-only.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Мяут , 17-Апр-15 23:39 
C++98, C++11 или C++1z? Будьте специфичней.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 14:48 
У C++ обратная совместимость, т.ч. это не имеет абсолютно никакого значения

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Мяут , 18-Апр-15 15:57 
Обратная совместимость означает лишь, что вы соберете свой старый код не встречая серьезных проблем. Но вот с написанием нового возникает загвоздка - либо его делать с использованием C++98, либо мешать старый код с C++11.

Вот еще:

  // C++98
  vector<LargeObject> v;
  v.push_back(LargeObject(10));          // колирование, упс

  vector<LargeObject*> v2;
  v2.push_back(new LargeObject(10));     // ОК

  // C++11
  vector<LargeObject> v3;
  v3.emplace_back(10);                   // ОК

  vector<unique_ptr<LargeObject>> v3;
  v3.emplace_back(new LargeObject(10));  // NOOOO!

Такое многообразие, как вы понимаете на качестве выходного кода не очень-то хорошо сказывается. Но да, обратная совместимость.

  


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 21:42 
Не говорите ерунды, в c++ нет такой проблемы, проблема в вашей голове.
Вот так вот:
v3.emplace_back(new LargeObject(10));  // NOOOO!
считается писать, как минимум дурным тоном. Оператор new имеет смысл использовать в крайне редких, исключительных ситуациях. Современный c++ позволяет вовсе обходиться без него. А если Вы употребляете его вот так вот в контейнере, то, как минимум, Вы некомпетентны в вопросе и спорить с Вами не о чем.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Мяут , 20-Апр-15 10:06 
> считается писать, как минимум дурным тоном.

Ну вот и в Питоне 2 накопилось очень много потенциального "плохого тона". И дабы не провоцировать разработчиков, сомнительные возможности выбросили из языка, пожертвовав обратной совместимостью.

> А если Вы употребляете его вот так вот в контейнере, то, как минимум, Вы некомпетентны в вопросе и спорить с Вами не о чем.

Я - нет, но вопрос на StackOverflow где человек рьяно защищал такую постановку задачи попадался. Если аккуратно разложить грабли и наставить табличек "ходить запрещено", кто-нибудь обязательно наступит.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено axredneck , 18-Апр-15 20:55 
и как портировать скрипты на C++ ?

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 21:45 
Если найтивно не устраивает, есть boost и Qt. Не знаю областей, которые бы каждая из этих библиотек не охватывала бы.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 01:02 
> Если найтивно не устраивает, есть boost и Qt. Не знаю областей, которые бы каждая из этих библиотек не охватывала бы.

А еще есть ворд и эксел, да.



"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 20-Апр-15 09:28 
Qt и boost и множество других либ ускоряют разработку на c++ до уровня питона. А так да, есть дофига всего, в т.ч. и ворд и эксел. Только вот от этого питон не становится быстрее.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 17-Апр-15 23:08 
1. https://docs.python.org/2/library/2to3.html
2. ln -s `which python3` /usr/bin/python

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 14:39 
- Port the project to a hybrid Python 2/3 codebase

Вы понимаете что это значит, или новости читать не обучены перед публикацией своих "глубоких мыслей"?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 17-Апр-15 23:08 
У Python3 есть один серьезный недостаток - все строки внутри юникод.
Что увеличивает расход памяти в 2 раза, ухудшает обработку текста (приходится заворачивать в обертки из if sys.version==2 и т.д.). И регрессии в работе сетевых библиотек. Особенно неприятно при ручном формировании REST-запросов, встроенном IMAP-клиенте и прочих развлечениях старого интернета.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Xasd , 17-Апр-15 23:24 
У Python2 есть фатальный недостаток - все строки внутри байтовых последовательностей, в то время как требуется нормальный Юникод

"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 18-Апр-15 12:46 
а какие они должны быть, ascii?
>> Особенно неприятно при ручном формировании REST-запросов

а что происходит когда вы получаете запрос с не входящими в ascii символами? и вы хотите, насколько, я понимаю с полученным работать ещё и как с байтовой последовательностью? срез например..


"Разработчики Debian намерены создать команду для портировани..."
Отправлено 123 , 18-Апр-15 14:28 
>увеличивает расход памяти в 2 раза

man UTF-8


"Разработчики Debian намерены создать команду для портировани..."
Отправлено щщзы , 19-Апр-15 20:57 
JFYI: в CPython python2 юникодные строки и в python3 строки используют не utf-8 в char, а в UCS2 или UCS4 в wchar_t - в зависимости от платформы.

Пруф:
https://docs.python.org/2/c-api/unicode.html
https://docs.python.org/3/c-api/unicode.html


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 20-Апр-15 22:22 
Убейте меня еще одни не видит разницы между Unicode и UTF-8

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 14:43 
> все строки внутри юникод. Что увеличивает расход памяти в 2 раза

Можно тесты?

> ухудшает обработку текста (приходится заворачивать
> в обертки из if sys.version==2 и т.д.).

Вы слыхали о six?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 14:51 
Разве язык не должен предоставлять простой синтаксис работы с данными, без всяких "six"? Небось он пестрит подобного рода костылями?

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 15:04 
> Разве язык не должен предоставлять простой синтаксис работы с данными, без всяких "six"?

Вы хоть немного потрудитесь узнать о языке, прежде чем пороть чушь.

Причем тут "работа с данными"?  six - библиотека для обеспечения переносимости между двойкой и тройкой.  Надеюсь, все слова понятны?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено ДругойАноним , 18-Апр-15 15:06 
six - это пакет для тех кто хочет что бы его софт работал как на python2, так и на python3. Если приложение под определенную версию питона, то он не нужен вообще.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Филипп Филиппович , 19-Апр-15 16:23 
Боюсь, это утверждение -- результат банального непонимания.

И во втором, и в третьем есть два типа, юникод и последовательность байтов. И отличий только два. Во-первых, в том, какой из двух типов называется str. Во-вторых, какой тип имеет строковая константа в кавычках, если перед кавычками нет буквы.

Единственное сколько-то заметное увеличение расхода памяти, вызванное именно языком -- что название полей объектов стали именно юникодными. Но, уверяю, это крайне незначительный рост, несколько байтов на поле (при том, что структура объектов Python ест на порядок больше, т.к. имена полей коротки).

Увеличение потребления памяти -- в основном результат того, что в программах под Python 3 часто некритично используется строка там, где достаточно именно цепочки байтов. Иногда это даже разумно, но не всегда.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 00:12 
У питона есть фатальный недостаток - у него нет своей ниши. Всё, что на нем пишется, может быть гораздо проще, быстрее и качественнее реализовано на других языках. И в большинстве случаев выбор питона вообще ничем не оправдан. Перспективность языка до сих пор под большим вопросом. Посмотрим чего они добьются, но я сомневаюсь что чего-то существенного. Гораздо правильнее было бы сейчас его завернуть и не портить головы молодых разработчиков.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Сергей , 18-Апр-15 01:37 
Получается, что его ниша -- возможность вместо этих всех языков писать на нем одном. :-)

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 07:02 
Попытки делать гибрид самолета и подлодки показали: можно! Просто получается х..вый самолет и такая же подлодка.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 09:30 
а если помягче аналогию взять, например, вездеход и гоночный болид? получится внедорожник - вполне популярное решение
универсальность - тоже плюс, вон как раз недавно в парсере сайтов для Коди питон обнаружил, и ведь не единственный случай, когда так внезапно натыкался. и ведь приятно, что скрипт на знакомом языке, все ж сразу как на ладони

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 14:42 
В большинстве случаев это временные тормозные решения. Питон никогда не будет легок и быстр. Насчет ниши - это "скрипты" для решения частных задач, не более.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 15:09 
> В большинстве случаев это временные тормозные решения.

IPython, matplotlib, numpy, nipy...

Вы реально полагаете что здесь людям интересны "тормозные решения"?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 04:14 
> IPython, matplotlib, numpy, nipy...
> Вы реально полагаете что здесь людям интересны "тормозные решения"?

Ну и чего? Тут как с матлабом, пока только вызываешь матричные библиотеки - все быстро, как что-то этим не ограничивается, то в 100 рах медленнее.



"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 19-Апр-15 20:15 
>> IPython, matplotlib, numpy, nipy...
>> Вы реально полагаете что здесь людям интересны "тормозные решения"?
> Ну и чего? Тут как с матлабом

Ну вас носом ткнули.  Хотите - продолжайте верить что это "матлаб".

> то в 100 рах медленнее.

С двумя разами один анонимный крикун выше уже сел в лужу.  И убежал, явно стесняясь.

Его лавры покоя не дают?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 19:12 
критические к производительности части пишут на том же си
и это не говорит о какой-то ущербности (как и не говорят об ущербности си ассемблерные вставки), так и задумывалось - питон легко готовит данные, си быстро считает
интеграции с другими языками с самого начала уделялось большое внимание

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 19:22 
>> критические к производительности части пишут на том же си

парочка примеров:
https://github.com/scipy/scipy/tree/master/scipy/fftpack/src
https://github.com/numpy/numpy/tree/master/numpy/core/src


"Разработчики Debian намерены создать команду для портировани..."
Отправлено neqste , 18-Апр-15 02:01 
Здравствуйте дорогой теоретик.
https://github.com/search?utf8=%E2%9C%93&q=py... 159488 репозиториев на гитхабе с вами не согласны.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 15:15 
И сколько из них не тормозит и не может быть лучше реализовано на другом языке? Сколько из них не заброшено? Я сейчас не поленился и посмотрел - там одни поделия домохозяек

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Омский линуксоид , 18-Апр-15 04:12 
Дада... Надо писать на lisp! Ура lisp! Лучший язык! RMS одобряэ.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено иасч , 18-Апр-15 09:08 
Всё правильно, Лисп лучше всех!

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 09:08 
>>Всё, что на нем пишется, может быть гораздо проще, быстрее и качественнее реализовано на других языках.

с чего бы это?
у питона вменяемый, лаконичный, логичный, легко запоминающийся синтаксис, поэтому писать на нем быстро и приятно
и при том куда побогаче выглядит (я про синтаксис), чем С или Джава например
и поддерживать проще, потому что простыни кода на нем внезапно становятся в 2 раза короче, чем где-то еще (отступы как элемент синтаксиса не напрягают совершенно, так как на других языках все равно их тоже всегда делаешь), согласитесь, это приятно, когда скроллить надо в 2 раза меньше

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


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 09:49 
и да, следует добавить, в языке реально широкие возможности (на уровне синтаксиса) по работе с коллекциями, последовательностями, строками и тп, после C/Java просто праздник какой-то
не зря в том же Machine Learning, так понимаю, Python - сейчас ведущий язык

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 10:25 
Всё это есть и в C++. Не морочьте народу голову.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 18-Апр-15 14:13 
Есть нормальный синтаксис для работы со строками?

C++:
#include <iostream>
#include <string>

int main( ) {
   std::string greeting( "Hello" ) ;
   greeting.append( " , world!" ) ;
   std::cout << greeting << std::endl ;
   return 0 ;
}


Pyhon:
str = "Hello";
str += " , world!";
print(str)

http://rosettacode.org/wiki/String_append#C.2B.2B

Это конечно же не значит, что питон предел мечтаний. Но проблемы с переусложнением синтаксиса у C++ есть.

Мне лично больше D нравится - похож на C/C++, но с нормальным синтаксисом.

import std.stdio;

void main() {
    string s = "Hello";
    s ~= " world!";
    writeln(s);
}


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 15:19 
Я тоже могу всё упростить, тем же using namespace std:

C++:
string greeting = "Hello";
greeting += " , world!";
cout << greeting;

Pyhon:
str = "Hello";
str += " , world!";
print(str)

Что ответите на это?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Anonymus , 18-Апр-15 20:24 
А вот что: ты сознательно не написал инклуды и мэйн, как минимум.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Anonymus , 18-Апр-15 20:27 
и, да: ты забыл написать свой using namespace std и фигурные скобки. Вот как напишешь все строчки как надо, тогда и сравнивай

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 21:57 
using namespace std пишется один раз. Можно прописать в проекте, тогда в коде вообще не понадобится использовать эту строку.
Насчет написания всех строк - ты наверно забыл, что для работы питона в систему надо впихнуть огромный такой пакет - сам питон. И иногда и перл и уйму других неоправданных зависимостей.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 21-Апр-15 18:41 
> Насчет написания всех строк - ты наверно забыл, что для работы питона
> в систему надо впихнуть огромный такой пакет - сам питон. И
> иногда и перл и уйму других неоправданных зависимостей.

Как не вспомнить glibc.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 00:34 
Если придираться - нет перевода на новую строку. Но в целом - согласен, такой синтаксис приемлем.

Было бы интересно взглянуть на ваше решение другой задачи: убрать из строки 6 первых символов и 2 последних.

Пример на D:

import std.stdio;

void main() {
    string s = "Hello World!!!";
    s = s[6 .. $ - 2];
    writeln(s);
}


"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 00:51 
> Мне лично больше D нравится - похож на C/C++, но с нормальным синтаксисом.
>    s ~= " world!";

И это бессмысленное называется - похож на C/C++, но с нормальным синтаксисом?
это 2 зайцев одним выстрелом - и не похоже и ненормально.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 01:05 
Ну в этом конкретном месте непохож ;)

И на это есть веские основания: строки в D - массивы символов. '+' используется для сложения содержимого массивов, '~' используется для соединения массивов друг за другом. ИМХО вполне логично.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 04:17 
> Ну в этом конкретном месте непохож ;)
> И на это есть веские основания: строки в D - массивы символов. '+' используется для сложения содержимого массивов, '~' используется для соединения массивов друг за другом. ИМХО вполне логично.

Начав сдирать работу с массивами с матлабоподобных языков логично было бы и остальное содрать как там 100 лет сделано. Но программистская логика, такая логика. Хуже женской. В итоге очередная сборная солянка - не ц, не матлаб, не жаба а очередная неведома зверюшка.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 12:19 
Зачем мне еще один matlab или C? Мне нужен язык который возьмет наиболее удачные решения из остальных.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено tdb , 20-Апр-15 04:01 
> Зачем мне еще один matlab или C? Мне нужен язык который возьмет наиболее удачные решения из остальных.

Я бы тоже не отказался. Так из какого языка взято это удачное решение s ~= " world!" ? Это даже не говоря о том, что сама группа операторов вида ~= это крайне неудачное решение времен компиляторов 1970-х, которые не могли сами понять что с обоих сторон присваивания одна и та же переменная. Сейчас в этом сбивающем с толку синтаксисе нужды вообще нет.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 20-Апр-15 12:13 
> Сейчас в этом сбивающем с толку синтаксисе нужды вообще нет.

И какой по-вашему должен быть синтаксис для:

s ~= " world!";
string s2 = s ~ " anything ";


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 20-Апр-15 09:36 
Тогда вам подойдет Rust

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 20-Апр-15 12:56 
Смотрел, некоторые идеи понравились. Но как-то не почувствовал, что это именно то, чего хотелось бы именно мне. С D было наоборот - то что не нравилось в C++ переработали и добавили то, чего не хватало и именно так, как сделал бы я сам (не все конечно совпало, но пока D ближе всего к моему идеалу ЯП).

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 07:35 
Тогда объясните, пожайлуста, почему именно на C\C++ пишут крупные проекты а Пайтон используют как скриптовой язык?
С D не сталкивался, но сюдя по вашему примеру он намного сложенее C++ по синтаксису.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 19-Апр-15 12:07 
> Тогда объясните, пожайлуста, почему именно на C\C++ пишут крупные проекты

Высокая скорость и низкое потребление памяти.

> С D не сталкивался, но сюдя по вашему примеру он намного сложенее
> C++ по синтаксису.

Не знаю что вас смутило в моем примере, но в целом D гораздо проще C++, при этом сохраняет все основные возможности С++, скорость также близка к C/C++ + удобная работа с массивами (строками) и простые шаблоны.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено tdb , 20-Апр-15 04:14 
> Не знаю что вас смутило в моем примере, но в целом D гораздо проще C++

ц++ конечно гуано, но довольно простой язык. просто надо выкинуть крайности его сумасшедших изобретателей. собственно на таком языке все и пишут, кому писать надо, а не ребусы решать. Тогда и шаблоны проше некуда, пишешь в начале template заменяешь конкретный параметр на Т и все, куда уж проще то. Угловые

>при этом сохраняет все основные возможности С++, скорость также близка к C/C++ + удобная работа с массивами (строками) и простые шаблоны.

Короче это (как обычно) еще один ц++ но еще + с собственными уникальными заморочками и несовместимостями и нераспространенный. жаба скажем хоть распространенный.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Mihail Zenkov , 20-Апр-15 12:43 
>> Не знаю что вас смутило в моем примере, но в целом D гораздо проще C++
> ц++ конечно гуано, но довольно простой язык. просто надо выкинуть крайности его
> сумасшедших изобретателей.

Именно это в D и попытались сделать.

> собственно на таком языке все и пишут, кому писать
> надо, а не ребусы решать.
> Тогда и шаблоны проше некуда, пишешь
> в начале template заменяешь конкретный параметр на Т и все, куда
> уж проще то.

Есть куда ;)
http://www.digitalmars.com/d/1.0/template-comparison.html

Это еще про D1, но в целом справедливо и для D2.

> Короче это (как обычно) еще один ц++ но еще + с собственными
> уникальными заморочками и несовместимостями и нераспространенный.

Если думать только о распространенности и совместимости, то новых ЯП мы не увидим. В D и так почти полную совместимость с C оставили, вначале это меня подкупило, а теперь думаю что возможно нужно было уйти от С немного подальше. Например Rust отказался от скобок в if вокруг условия, но сделал обязательными фигурные скобки - ИМХО очень удачное решение.



"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 14:40 
> и да, следует добавить, в языке реально широкие возможности (на уровне синтаксиса)
> по работе с коллекциями, последовательностями, строками и тп

SICP не читали часом?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 15:02 
Интересно, вспомнившие тут SICP - хоть знают насколько практические реализации Scheme отличаются от этого курса?  Даже как-то неловко в такие штуки тыкать.

Да, самые разные удобства можно прикрутить.  Вот и делают это кто во что горазд.  Ср. с "batteries included" в Python.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 15:25 
> Да, самые разные удобства можно прикрутить.  Вот и делают это кто
> во что горазд.  Ср. с "batteries included" в Python.

Знаете, мне *на практике* гораздо удобней схемовые "прикрутки", чем самовзрывающиеся батарейки в комплекте -- которые, судя по вашему с netch давешнему обсуждению, самое позднее к четвёртому питону опять начнут напяливать на вешалку, потому что так жить нельзя.

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


"Разработчики Debian намерены создать команду для портировани..."
Отправлено iZEN , 18-Апр-15 17:05 
> Просто есть языки, над которыми думали изначально -- в т.ч. и над
> представлением структур данных; а есть паскали-переростки, у поклонников которых вечно
> дамоклова версия над башкой ("программист на дельфи пять" -- диагноз ровно
> из того же балагана).

Что вы имеете сказать против программистов на Delphi 5?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 18:04 
>> ("программист на дельфи пять" -- диагноз ровно из того же балагана).
> Что вы имеете сказать против программистов на Delphi 5?

Люди со стажем поняли. :)


"Разработчики Debian намерены создать команду для портировани..."
Отправлено iZEN , 18-Апр-15 20:25 
>>> ("программист на дельфи пять" -- диагноз ровно из того же балагана).
>> Что вы имеете сказать против программистов на Delphi 5?
> Люди со стажем поняли. :)

Программы на Delphi 5 перестали запускаться в современных версиях Windows и WINE?



"Разработчики Debian намерены создать команду для портировани..."
Отправлено tgb , 19-Апр-15 00:53 
> Что вы имеете сказать против программистов на Delphi 5?

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



"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 17:07 
> Знаете, мне *на практике* гораздо удобней схемовые "прикрутки"

Дак если практика ограничивается локалхостом - оно так.  А вот если речь
идет о промышленном использовании...  Либо ты понимаешь необходимость
стандартизации - либо профнепригоден тут.

> чем самовзрывающиеся батарейки
> в комплекте -- которые, судя по вашему с netch давешнему обсуждению

Не напомнишь?  Если я правильно помню, мы обсуждали спорные улучшения
в py3 (vs py2), а именно - деление целых.  Плюс подход в питоне по отношению к
обратной совместимости (там таки удаляют вещи, объявленные устаревшими,
в отличие от некоторых).

> Просто есть языки, над которыми думали изначально -- в т.ч. и над
> представлением структур данных

Да какие в Scheme "структуры данных"...  Lisp он и есть Lisp - списки.  А сверх
этого - разве вектора еще прикрутили в стандарт, вот и все.  Брось эту рекламу.
Стандартизация Scheme - тот еще балаган, почище разных питонов.

И на самом деле - нет языков, над которыми изначально не думали.  Просто
в принципе.  С разным успехом, понятное дело.  Вот кто-то таки и решил признать
очевидное.  Если факапы таки неизбежны - давайте признаем необходимость
эволюции языка и как-то ее упорядочим, и давате не тащить с собой бесконечно
разный хлам "для совместимости".  Здравая мысль, нес па?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 18:16 
>> Знаете, мне *на практике* гораздо удобней схемовые "прикрутки"
> Дак если практика ограничивается локалхостом - оно так.

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

>> -- которые, судя по вашему с netch давешнему обсуждению
> Не напомнишь?

Обсуждение было в районе https://www.opennet.ru/openforum/vsluhforumID3/93345.html#321 (судя по моему архиву).

>> Просто есть языки, над которыми думали изначально -- в т.ч. и над
>> представлением структур данных
> Да какие в Scheme "структуры данных"...

Вот такие -- простенькие, бедненькие, зато в них весь язык заодно укладывается и сам.

> Стандартизация Scheme - тот еще балаган, почище разных питонов.

http://www.schemers.org/Documents/Standards/R5RS/ чем именно не устроил?

> И на самом деле - нет языков, над которыми изначально не думали.

Да ладно, тот же фокал со своими 25+26 допустимыми функциями -- это "думали"?.. (хотя, пожалуй, это уже об определениях)


"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 19:31 
>>> Знаете, мне *на практике* гораздо удобней схемовые "прикрутки"
>> Дак если практика ограничивается локалхостом - оно так.
> Извините, но оправдываться перед людьми, величая "промышленными стандартами" гигантские
> костыли, всё так же не намерен.

Ну костыли или нет - спорить не хочу за отсутствием у оппонента аргументов.  Дело
вкуса.  Однако "схемовыми прикрутками" мало кто пользуется, и это факт.  Думаю,
отчасти и потому что стандартная библиотека - куцая, о переносимости кода - лучше
не думать.

>>> -- которые, судя по вашему с netch давешнему обсуждению
>> Не напомнишь?
> Обсуждение было в районе https://www.opennet.ru/openforum/vsluhforumID3/93345.html#321

Ну да, оно.  Там еще спорили о тестах, показывающих регрессии производительности
в py3.  10-15% в случае "страшного" unicode (для bytes - разницы нет), возведение в степень для
малых чисел (для больших - наоборот, обратная картина).  Разные языки.  Что-то стало быстрее - что-то наоборот.  И?

>>> Просто есть языки, над которыми думали изначально -- в т.ч. и над
>>> представлением структур данных
>> Да какие в Scheme "структуры данных"...
> Вот такие -- простенькие, бедненькие, зато в них весь язык заодно укладывается и сам.

Да это оно, конечно, дело нехитрое.  После чего все начинает тупить, ибо
понятие "структуры данных" - списками Lisp не заканчивается.  Все остальное,
конечно, можно тоже эмулировать списками.  Но тогда школие будет тыкать
на тему производительности в твой лисп, вместо python (причем куда более обосновано).

>> Стандартизация Scheme - тот еще балаган, почище разных питонов.
> http://www.schemers.org/Documents/Standards/R5RS/ чем именно не устроил?

Ну, есть еще ISO, есть r6rs (после которого, по идее, r5 должен считаться устаревшим),
и уже скоро будет есть r7rs.

Не устроил именно тем, что там ничего нет (что пробовали пофиксить в r6rs, но обломались).

>> И на самом деле - нет языков, над которыми изначально не думали.
> Да ладно, тот же фокал со своими 25+26 допустимыми функциями -- это
> "думали"?.. (хотя, пожалуй, это уже об определениях)

Думали, конечно.  Ну не верю я в то, что дизайнеры языка могут быть BDSM-щиками,
по крайней мере в переносном смысле.  Тем более, если он оказался востребованным на практике.

Brainfuck'и не предлагать - это все-таки случай особый.


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 19:49 
> Ну костыли или нет - спорить не хочу за отсутствием у оппонента аргументов.

А как ещё назвать six, 2to3 и подобное?

> Однако "схемовыми прикрутками" мало кто пользуется, и это факт.

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

> Думаю, отчасти и потому что стандартная библиотека - куцая,
> о переносимости кода - лучше не думать.

Смотрите, люди: когда надо макнуть -- вытаскивается из кармана "переносимость" (с которой применительно к схеме человек вряд ли сталкивался как раз)...

> Разные языки.

...а когда надо замазать -- вторая и третья версия языка объявляются разными языками.  Вот так просто и элегантно "решаются" проблемы с переносимостью.

Дебианщикам-то, о которых новость, расскажите.  Глядишь, и переписывать бросют.

> понятие "структуры данных" - списками Lisp не заканчивается.  Все остальное

Знаете, я в курсе, а про "тормоза" можете рассказать тем древним железкам, на которых лиспы ворочались весьма шустро задолго до линукса -- вдруг что поведётся.  Или в качестве упражнения на любопытство прикиньте, что получится с производительностью, если переписать AI той же abuse на каком угодно питоне.

> Не устроил именно тем, что там ничего нет (что пробовали пофиксить в
> r6rs, но обломались).

Некоторым из нас хватает за глаза.

PS: впрочем, нет никакого настроения разводить на эту тему -- спор математика с разнорабочим получается, задано это языками, ничего тут не попишешь и никаким numpy не подопрёшь то, что некоторые умеют лямбда-исчисление, а некоторые не понимают, зачем такое вообще в языке.  Так что предлагаю делать полезное каждому на своём месте и своими инструментами :)


"Разработчики Debian намерены создать команду для портировани..."
Отправлено myhand , 18-Апр-15 23:04 
>> Ну костыли или нет - спорить не хочу за отсутствием у оппонента аргументов.
> А как ещё назвать six, 2to3 и подобное?

По разному.

2to3 - транслятор из py2 в другой язык.

А six - библиотека, эмулирующая обратную совместимость между py2 и py3.

>> Однако "схемовыми прикрутками" мало кто пользуется, и это факт.
> Чем больше что-то требует мозгов в силу своей нетривиальности (и плодотворности именно
> потому), тем меньше пользуются, что закономерно.

И чего там нетривиального?  Синтаксис прост как валенок, еще проще
Python.  Школие-ж на нем учат (или учили, как минимум).

> Но этотъ линуксоводъ и коммунистъ вовсю пользуется типично западной
> метрикой популярности и его ни разу не коробит

Почему западной?  Плохие технические решения, как правило, непопулярны.  И наоборот.
Если б это был единственный аргумент в пользу проблем с данным языком - я бы
согласился покоробиться.  Так нет, я привел и другие...

>> Думаю, отчасти и потому что стандартная библиотека - куцая,
>> о переносимости кода - лучше не думать.
> Смотрите, люди: когда надо макнуть -- вытаскивается из кармана "переносимость" (с которой
> применительно к схеме человек вряд ли сталкивался как раз)...

Человек, между прочим, даже интерпретатор схемы писал в свое время.  А уж с
переносимостью...  Ну вон, festival с собой почему-то свою схему тащит.  Але, guile?  Але,
rocket?  Далее - везде.

>> Разные языки.
> ...а когда надо замазать -- вторая и третья версия языка объявляются разными
> языками.  Вот так просто и элегантно "решаются" проблемы с переносимостью.

Переносимость - это когда вот есть CPython, а вот есть PyPy.  А скриптам это - по барабану.

А py2 vs py3 - это про обратную совместимость.  Которой в данном случае решили
пожертвовать.  Такой момент, кстати, и в схеме есть (или лучше сказать - нет, в смысле
"нет совместимости").  Читать "Language Changes" в r7rs до просветления и
появления отчетливого чувства стыда.

>> понятие "структуры данных" - списками Lisp не заканчивается.  Все остальное
> Знаете, я в курсе, а про "тормоза" можете рассказать тем древним железкам,
> на которых лиспы ворочались весьма шустро задолго до линукса

Так а чего рассказывать?  Все это дяди должны были тебе рассказать на
соответствующем курсе, это не формат форума.

Ну - вперед.  Покажи мне как ты будешь списками эмулировать массив.  Без
качественных потерь на операциях.  Реальные реализации схемы почему-то сдаются
и делают это на другом языке (C например).  Может потому что авторы в школе учились?

> задано это языками, ничего тут не попишешь и
> никаким numpy не подопрёшь то, что некоторые умеют лямбда-исчисление, а некоторые
> не понимают, зачем такое вообще в языке.

Лямбда-исчесление, конечно, это круто.  Но это не единственная модель вычисления, да
и не самая близкая физике реальных компьютеров, прямо скажем.

Кстати, Python, естественно, *умеет* лямбда-исчисление.  Как и любой язык
программирования.  Полагаю, "разнорабочий" в твоем лице имел в виду таки что-то другое? ;)


"(offtopic) 2vs3, scm-vs-py, EvsW и протчая"
Отправлено Michael Shigorin , 19-Апр-15 21:20 
> И чего там нетривиального?

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

> Синтаксис прост как валенок, еще проще Python.
> Школие-ж на нем учат (или учили, как минимум).

Синтаксис беднее и другой (см. тж. порождение программ на языке при помощи программы на нём же).

А учить -- не значит выучить, увы.  Думаю, Вы, как и я, многое из того, чему учили и будто даже научили, уже не помните и не умеете.

>> Но этотъ линуксоводъ и коммунистъ вовсю пользуется типично западной
>> метрикой популярности и его ни разу не коробит
> Почему западной?  Плохие технические решения, как правило, непопулярны.  И наоборот.

Крайне сильно ошибаетесь, см. те же win95-vs-os2.

Уже упоминал в подобных контекстах, но всё так же искренне советую найти время на Пола Грэма и его не слишком объёмную статью "why nerds are unpopular" / "почему нерды непопулярны":

http://www.paulgraham.com/nerds.html
http://old.russ.ru/netcult/gateway/20030422-pr.html

> Человек, между прочим, даже интерпретатор схемы писал в свое время.

А зачем, из интересу или лабораторка?

> А уж с переносимостью...  Ну вон, festival с собой почему-то свою схему тащит.  

Вот у них бы и спросить.

>> Вот так просто и элегантно "решаются" проблемы с переносимостью.
> Переносимость - это когда вот есть CPython, а вот есть PyPy.
> А скриптам это - по барабану.

Даже с горячо любимым numpy? :)

> А py2 vs py3 - это про обратную совместимость.  Которой в данном случае решили
> пожертвовать.  Такой момент, кстати, и в схеме есть (или лучше сказать
> - нет, в смысле "нет совместимости").  Читать "Language Changes" в r7rs до
> просветления и появления отчетливого чувства стыда.

И за что _мне_ должно быть в этом плане стыдно?  Посмотрите в #66, кто вообще завёл речь о "переносимости" (я-то бы при желании обеспечить таковую для своего лиспообразного кода сидел бы на CL и не отсвечивал).

Так-то могу ещё про shim между ruby 1.6 и 1.8 напомнить, тоже костыль -- только поэлегантней, проблем не вызывал.

> Так а чего рассказывать?  Все это дяди должны были тебе рассказать
> на соответствующем курсе, это не формат форума.

Соответствующий -- это "лекарственные вещества" или кристалка? :)

> Ну - вперед.  Покажи мне как ты будешь списками эмулировать массив.
> Без качественных потерь на операциях.  Реальные реализации схемы почему-то сдаются
> и делают это на другом языке (C например).  Может потому что авторы в школе учились?

С другой стороны, в том же picolisp их даже эмулировать не стали: http://software-lab.de/doc/faq.html#arrays

> Лямбда-исчесление, конечно, это круто.  Но это не единственная модель
> вычисления, да и не самая близкая физике реальных компьютеров, прямо скажем.

Об этом предлагаю поговорить опять тогда, когда за бинарность начнут как минимум недолюбливать -- есть к тому основания.  Но это совсем-совсем отдельная тема...

> Кстати, Python, естественно, *умеет* лямбда-исчисление.
> Как и любой язык программирования.

Так-таки любой?

> Полагаю, "разнорабочий" в твоем лице имел в виду таки что-то другое? ;)

В Вашем, любезнейший, в Вашем.  А я так, математик -- не чета структуральнейшим лингвистам вроде этого персонажа: http://www.artima.com/weblogs/viewpost.jsp?thread=98196

Причём это не оскорбление -- просто есть ремесло и ремесленники, они делают много полезного, но мастерство им ни к чему: всё же и так работает, а если не работает, то чичас подкувалдим.  От мастера может и не быть столько пользы на месте, поскольку он, зараза, вместо кувалды будет долго и нудно возиться с каждой "незначащей" мелочью...

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


"(offtopic) 2vs3, scm-vs-py, EvsW и протчая"
Отправлено myhand , 19-Апр-15 22:52 
(А не взломали ли аккаунт Шигорина?  Какая-то нехарактерная чушь.)

>> И чего там нетривиального?
> Состояние мозгов "в потоке", а не "набором инструкций".

Т.е. это сяо никак не формализуемо?

>> Синтаксис прост как валенок, еще проще Python.
>> Школие-ж на нем учат (или учили, как минимум).
> Синтаксис беднее и другой (см. тж. порождение программ на языке при помощи
> программы на нём же).

Что значит "беднее"?  Что значит "порождение программы на нем же" и почему
это мне нельзя в Python?

> А учить -- не значит выучить, увы.  Думаю, Вы, как и
> я, многое из того, чему учили и будто даже научили, уже
> не помните и не умеете.

Я к тому, что для "педагогиццких целей" - инструменты выбирают, как правило,
непритязательные и простые.  Вот и схема...

>>> Но этотъ линуксоводъ и коммунистъ вовсю пользуется типично западной
>>> метрикой популярности и его ни разу не коробит
>> Почему западной?  Плохие технические решения, как правило, непопулярны.  И наоборот.
> Крайне сильно ошибаетесь, см. те же win95-vs-os2.

А что не так с win95?  Я не впадаю в истерику от умоминания Microsoft и более
чем готов признать технические достоинства win95.  Отношение к обратной
совместимости (лагерь "Реймонда Чена"), как пример.  Технические решения
нужно сравнивать по куче параметров а не по одной заоблачной крутости для
какой-то категории задротов.

>> Человек, между прочим, даже интерпретатор схемы писал в свое время.
> А зачем, из интересу или лабораторка?

Скорее, из интересу.

>> А уж с переносимостью...  Ну вон, festival с собой почему-то свою схему тащит.
> Вот у них бы и спросить.

Так спроси.  Разработчиков Gimp тоже спроси, или Gnucash.  Все что-то либо тащат
с собой свою собственную схему - либо требуют определенный интерпретатор (guile или
еще что).  Собственно, в Debian я нашел ровно один пакет (jacal), который позволяет
использовать аж две реализации схемы (scm|guile-1.6).  Впрочем, теперь уже одна...

>>> Вот так просто и элегантно "решаются" проблемы с переносимостью.
>> Переносимость - это когда вот есть CPython, а вот есть PyPy.
>> А скриптам это - по барабану.
> Даже с горячо любимым numpy? :)

C API - это ниже пояса...

А если я пальцем ткну как расширения guile переносимы?  В схеме здесь совсем
караул, а в Python, например, вполне можно писать переносимые C расширения для
CPython и PyPy.

>> А py2 vs py3 - это про обратную совместимость.  Которой в данном случае решили
>> пожертвовать.  Такой момент, кстати, и в схеме есть (или лучше сказать
>> - нет, в смысле "нет совместимости").  Читать "Language Changes" в r7rs до
>> просветления и появления отчетливого чувства стыда.
> И за что _мне_ должно быть в этом плане стыдно?

То что Python реально поддерживает обратную совместимость (в 2-й и 3-й ветке,
соответственно).  В отличие от.  Каждый новый стандарт Scheme - это как переход от
py2 к py3.

>> Так а чего рассказывать?  Все это дяди должны были тебе рассказать
>> на соответствующем курсе, это не формат форума.
> Соответствующий -- это "лекарственные вещества" или кристалка? :)

"Алгоритмы и структуры данных".

> С другой стороны, в том же picolisp их даже эмулировать не стали:
> http://software-lab.de/doc/faq.html#arrays

Тоже есть рациональное зерно.  Если ты ковыряешься в носу - достаточно пальца,
а покупать зубочистку - будет излишним и даже, вероятно, вредным.

Начнут считать - понадобятся массивы.

>> Кстати, Python, естественно, *умеет* лямбда-исчисление.
>> Как и любой язык программирования.
>
> Так-таки любой?

Так-таки.  За язык, естественно, понимаем нечто тьюринг-полное.

>> Полагаю, "разнорабочий" в твоем лице имел в виду таки что-то другое? ;)
> В Вашем, любезнейший, в Вашем.  А я так, математик [...]-- не
> Причём это не оскорбление -- просто есть ремесло и ремесленники

Нет, право, поломали аккаунт...


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 15:34 
Окей, давайте и дальше писать бэкэнды сложных вебсайтов на PHP! Долой Питон!

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 03:49 
на питон 4 лучше сразу правильно

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 05:05 
Новость через 15 лет: Debian закончил формирование команды, можно начинать портирование.
Правда, пока только на python 3, хотя скоро ожидается выход 6й версии.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 07:39 
Толстовато.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 18-Апр-15 15:26 
Все, кто пользуется убунтой - знайте, тормозит она именно из-за питона, потому что в нем пишешь либо просто и выходит тормозное уг, либо наворачиваешь костылей, размером побольше, нежели вышло бы на том же asm, чтобы работало с приемлемой скоростью и потреблением памяти.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Michael Shigorin , 18-Апр-15 15:27 
> либо наворачиваешь костылей, размером побольше, нежели вышло бы на том же asm,
> чтобы работало с приемлемой скоростью и потреблением памяти.

Можно интересу ради примеры Вашего кода на питоне и ассемблере, которыми бы хорошо иллюстрировалось такое утверждение?


"Разработчики Debian намерены создать команду для портировани..."
Отправлено Anonymus , 18-Апр-15 20:29 
он таких слов не знает

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 10:27 
В ubuntu много софта на нем, переписывать который некому. Питон ориентирован на повышение производительности разработчика и читаемости кода, и конечно повальное его применение везде - глубокое заблуждение в понимании его задач такими программистами. Высокая производительность и низкое потребление памяти ПО не являются целями данного языка. Если они вам нужны именно на питоне, разворачивайте велосипеды, в любом случае это ваша проблема. А так вам уже сказали, есть универсальные языки, типа C++. Изучайте и проблем не будет.

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 10:59 
Подскажите, сколько место высвободится, если из убунты выпилить питон?

"Разработчики Debian намерены создать команду для портировани..."
Отправлено Аноним , 19-Апр-15 13:17 
По весу выйдет как lubuntu