The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интервью с автором языка программирования Python

17.03.2012 22:23

Издание InfoWorld опубликовало интервью с Гвидо ван Россумом (Guido van Rossum), великодушным пожизненным диктатором проекта Python. В интервью затрагиваются такие темы, как Python 3, совместимость с прошлой веткой, особенности реализации глобальной блокировки GIL (Global Interpreter Lock), динамическая и статическая типизация, важность производительности языка.

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

Дополнение: Доступен полный перевод интервью.

  1. Главная ссылка к новости (http://www.infoworld.com/d/app...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/33379-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (92) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 23:01, 17/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Не понятно какую производительность он подразумевает...
    Быстроту сдачи проекта или производительность кода...
     
     
  • 2.11, uhbif19 (ok), 02:38, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +6 +/
    О производительности исполнения естественно (:

    То что со скоростью разработки все в порядке и так всем понятно.

     
     
  • 3.64, Сергей (??), 04:31, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Не всем
     

  • 1.2, Аноним (-), 23:03, 17/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "Работало достачно быстро" чтобы втюхнуть заказчику. Зачем усовершенствовать, если можно продать и так...
     
  • 1.3, Аноним (-), 23:06, 17/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    "выделить основные узкие места и реализовать их в виде функций или модулей, написанных на языке Си или Си++.", если заказчик недоумевает.
     
  • 1.4, Аноним (-), 23:08, 17/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    "неумения подобрать должный инструмент для решаемой задачи и провести надлежащую оптимизацию." и не надо ограничивать себя только написанием кода... Можно и другие инструменты найти и провести оптимизацию не только кода.
     
  • 1.6, crypt (??), 00:24, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Так и запишем: Вопрос производительности на повестке дня у Python девелоперов не стоит.
     
     
  • 2.8, mantar (?), 00:39, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Это интерпритатор с динамической типизацией. Вопрос производительности там вообще не стоит.
     
     
  • 3.34, Аноним (-), 11:45, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • –6 +/
    > Это интерпритатор с динамической типизацией. Вопрос производительности там вообще не стоит.

    У всех интерпретируемых языков типизация не может быть статической по определению, так что не совсем понятно, как динамическая типизация относится к производительности питона относительно других интерпретируемых языков (а сравнивать интерпретируемый язык с компилируемым по производительности — моветон, ибо первые и так предназначены для использования в случаях, когда производительность не так важна, как другие преимущества языка). Куда более важно, что в питоне используется медлительная стековая виртуальная машина, а не шустрая регистровая — т.е. производительность динамического и строгого питона будет хуже, чем производительность еще более динамической (в силу нестрогости) Lua.

     
     
  • 4.50, Аноним (-), 18:41, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > У всех интерпретируемых языков типизация не может быть статической по определению,

    Какому еще определению? Ну-ка поясните, какое такое определение запрещает интерпретаторам оперировать статическими типами.

     
  • 4.114, lucentcode (ok), 02:41, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ЯП, которые могут быть компилируемыми и интерпретируемыми одновременно, так работают некоторые реализации Lisp. Они компилируют код, который целесообразно компилировать, и в бинарь добавляют интерпретатор для кода, который будет интерпретироваться на ходу.
     
  • 3.57, arisu (ok), 02:33, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Это интерпритатор с динамической типизацией. Вопрос производительности там вообще не стоит.

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

     
     
  • 4.67, ragus (ok), 04:48, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > типизацией. давай померяем, что быстрее: любой современный движок js или современный
    > гвидобейсик?

    http://mrjoes.github.com/2011/12/15/sockjs-bench.html

     
     
  • 5.80, Аноним (-), 15:53, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > http://mrjoes.github.com/2011/12/15/sockjs-bench.html

    Угу, при том там почему-то фигурируют ограниченные реализации "гвидобэйсика" о которых САБЖ вообще не упомянул даже. А с полной референсной реализацией забенчить зассали, как обычно. Только вот простые смертные эти cpython и прочие pypy-цы видят только на картинках и это вообще так, какие-то демки технологий. Тогда как JS движки пилят на полном серьезе по всем понятным причинам ;)

     
     
  • 6.91, Аноним (-), 17:22, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    CPython 8212 наиболее распространённая, эталонная реализация языка программи... большой текст свёрнут, показать
     
  • 6.92, анон (?), 17:31, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сразу видно - спец по питону) CPython и есть референсный
     
  • 5.98, arisu (ok), 19:28, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > http://mrjoes.github.com/2011/12/15/sockjs-bench.html

    и что это за ерунда? я где-то предлагал мерять скорости сокетов? или эффективность реализации фреймворков? O_O

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

    впрочем, вопрос риторический, ты же питонист, судя по всему.

     
     
  • 6.111, ragus (ok), 21:13, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> http://mrjoes.github.com/2011/12/15/sockjs-bench.html
    > и что это за ерунда? я где-то предлагал мерять скорости сокетов? или
    > эффективность реализации фреймворков? O_O
    > я предлагал мерять производительность движков. ты вообще в курсе, чем это отличается
    > от измерения производительности фреймворков, нет?

    кому интересна абстрактная производительность в вакууме? есть задача - есть решение.

     
     
  • 7.115, lucentcode (ok), 02:46, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Скорость JS во многих тестах недалека от скорости компилируемых ЯП. А задача вполне возможно криво реализована на JS. Другая задача, другой программист и мы получим другой результат. Если вы не в курсе, иногда некоторые крутые перцы и на C или ассемблере городят чушь редкую, и их подделку скрипт на VisualBasic обгонит:) Так-что, как минимум программист должен быть одновременно одинаково опытным в работе с обоими ЯП.


     
  • 2.10, Ищавин (ok), 01:48, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Вы разработчикам Дропбокса это скажите.
     
     
  • 3.16, Аноним (-), 04:03, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Вы разработчикам Дропбокса это скажите.

    Я лучше скажу это разработчикам ланчпада, стабильно икающего таймаутами бэкэнда после каждого релиза. То-есть фронт живой, а вот бэк на этом вашем питоне и подыхает как раз. Что порядком бесит. Как впрочем и значки в трее на 20 метров потому что видите ли их величествам приперло сраный диаложек и 2 значка на питоне накорябать.

     
     
  • 4.61, Ищавин (ok), 03:34, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Проблемы ланчпада не проблемы Python. Вот Гитхаб на рельсах, а они эталон торможения на бэкэнде, но ничего прекрасно себе работает.
     
     
  • 5.81, Аноним (-), 15:55, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > торможения на бэкэнде,

    А я разве говорил что мне нравится скорость работы ланчпада? Он вообще-то тот еще тормоз. А чтоб совсем хорошо - еще и HTTPS принудительный (+ еще несколько раз по roundtrip time, что на быстром интернете заметно, вообще-то).

    > но ничего прекрасно себе работает.

    Да, недавний эпический коммит прямо в реп рельсы был прекрасен в своей непосредственности. Исправить баг прямо через его использование - EPIC WIN! :)

     
     
  • 6.112, Ищавин (ok), 22:48, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Да, недавний эпический коммит прямо в реп рельсы был прекрасен в своей непосредственности. Исправить баг прямо через его использование - EPIC WIN! :)

    В рельсе никто ничего не исправлял и не мог исправить, потому что никаких ошибок не было. Рельса имеет несколько вариантов ассайнментов, включая черные и белые списки. То что ребята из Гитхаба не воспользовались никаким их большая ошибка.

     
  • 4.93, Аноним (-), 17:34, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Вы разработчикам Дропбокса это скажите.
    > Я лучше скажу это разработчикам ланчпада, стабильно икающего таймаутами бэкэнда после каждого
    > релиза. То-есть фронт живой, а вот бэк на этом вашем питоне
    > и подыхает как раз. Что порядком бесит. Как впрочем и значки
    > в трее на 20 метров потому что видите ли их величествам
    > приперло сраный диаложек и 2 значка на питоне накорябать.

    Тебе денег не хватает на планку оперативной памяти или это совковая жадность, бессмысленная и беспощадная? Или ты ни разу не использовал софт на Java? А ведь там тот же функционал отжирал бы в несколько раз больше памяти. И да, как же задолбали нытики, которые возмущаются тем, что кто-то делают не так как им хочется. Если такой умный, то возьми и сделай сам!

     
     
  • 5.105, arisu (ok), 19:51, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а я вот не использовал «софт на java». и докупать память только потому, что кто-то решил, что лучше знает, как мне тратить мои деньги — считаю как раз нищебродством «того парня»; ведь это именно нищеброды привыкли указывать другим, как тем распоряжаться *своими* деньгами.
     
     
  • 6.107, Perl_Jam (?), 20:28, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Скорее, тут речь просто о быдлокодерстве =)
     
  • 5.116, lucentcode (ok), 02:50, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я постоянно использую Java. И мне не жалко сложным и быстрым программам вроде NetBeans отдать немного оперативы. А вот Python ещё и проц нагружет, он же тормозила. А проц - это святое. В общем, компилируемые ЯП, и JS - лучше Python будут. В разы. Для серьёзного ПО, подделия и аплеты для Gnome можно и на Python лепить. Только вот Gnome 3 к JS тяготеет. С чего бы это?

     

  • 1.13, I am (??), 02:45, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот странно, вроде в тестах там всяких питон особо не сливает, мини скриптики тоже хороши, но  как только что-то глобальное на нем рождается - так еле шевелится.
     
     
  • 2.24, Аноним (-), 05:52, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот странно, вроде в тестах там всяких питон особо не сливает

    Не сливает чему? Другим тормозиловам? Интерпретер не может быть быстрым по ежу понятным причинам.

     
     
  • 3.30, Аноним (-), 07:34, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зато интерпретатор может быть медленным: http://tspycher.com/2012/01/performance-test-python-perl-php-and-c/

    Из личного: в момента загрузки (старт скрита, к примеру) ни перл, ни пхп, ни жаба не грузят систему так как грузит пидон. Ужасно бесит! ПРОСТО БЕСИТ!!!

     
     
  • 4.42, Аноним (-), 15:25, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Из личного: в момента загрузки (старт скрита, к примеру) ни перл, ни
    > пхп, ни жаба не грузят систему так как грузит пидон. Ужасно бесит! ПРОСТО БЕСИТ!!!

    Сравнили одни тормозилки с другими тормозилками. Как мило. Наверное именно поэтому к php есть полно акселераторов, а фэйсбук вообще родил hiphop, перегоняющий пых в си++, получая +100 к скорости.

     
     
  • 5.51, Aleks Revo (?), 19:58, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Акселераторы ускоряют интерпретатор? Вау!
     
     
  • 6.52, Аноним (-), 20:12, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Акселераторы ускоряют интерпретатор? Вау!

    Извините, какойнить hiphop заменяет интерпретацию компиляцией :). Отсюда и разница.

     
  • 4.44, ragus (ok), 16:11, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Зато интерпретатор может быть медленным: http://tspycher.com/2012/01/performance-test-python-perl-php-and-c/

    идиотское сравнение и не более. в случае java львиную долю времени занял старт jvm.
    можно было взять gcj и скомпилировать в нативный код.

    > Из личного: в момента загрузки (старт скрита, к примеру) ни перл, ни
    > пхп, ни жаба не грузят систему так как грузит пидон. Ужасно
    > бесит! ПРОСТО БЕСИТ!!!

    у меня не грузит. что я делаю не так? ну и если грузит: вы бы хоть выхлоп truss/strace привели ;)

     
     
  • 5.82, Аноним (-), 15:56, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > идиотское сравнение и не более. в случае java львиную долю времени занял старт jvm.

    Это в принципе тоже роялит. Ждать то придется. Хотя в случае замера именно скорости работы кода это все-таки похоже на удар ниже пояса.

     
     
  • 6.97, ragus (ok), 19:26, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> идиотское сравнение и не более. в случае java львиную долю времени занял старт jvm.
    > Это в принципе тоже роялит. Ждать то придется. Хотя в случае замера
    > именно скорости работы кода это все-таки похоже на удар ниже пояса.

    повторюсь: можно скомпилить код с помощью gcj и цифры поменяются.
    можно с таким же успехом померить C/C++ vs Java время создания+удаления массива под 10 млн объектов. в этом тесте Java порвёт C/C++ (если не инициализировать массив данными).

    Т.е. микробенчмарки как по ссылке особо ничего не значат.

     
  • 3.35, Аноним (-), 11:46, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Вот странно, вроде в тестах там всяких питон особо не сливает
    > Не сливает чему? Другим тормозиловам? Интерпретер не может быть быстрым по ежу
    > понятным причинам.

    Может. Интерпретатор языка forth, к примеру, очень даже шустр.

     
     
  • 4.58, arisu (ok), 02:36, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а с чего вообще гвидобейсик (равно как и форт) в интерпретаторы записали? если они и интерпретаторы, то точно не языков python и forth, а неких VM.
     
     
  • 5.69, Аноним (-), 09:42, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    С того, что и первый, и второй интерпретируют всё-таки исходники, а не какой-то там байткод. Интерпретатор питона компилирует свои проги в байткод сам и кеширует результаты, а форт и вовсе в православных реализациях никакого байткода не использует, а использует шитый код, который является родными инструкциями процессора, на котором форт выполняется.
     
     
  • 6.83, Аноним (-), 15:58, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > использует шитый код, который является родными инструкциями
    > процессора, на котором форт выполняется.

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

     
  • 6.101, arisu (ok), 19:30, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > С того, что и первый, и второй интерпретируют всё-таки исходники, а не
    > какой-то там байткод.

    гениально. покажи мне в образе форт-системы на диске исходники. и в скомпилированом питоньем модуле тоже покажи исходники.

    кстати, по твоей логике gcc — интерпретатор си.

    > а форт и вовсе в православных реализациях никакого
    > байткода не использует, а использует шитый код, который является родными инструкциями
    > процессора, на котором форт выполняется.

    о, вдобавок ещё и непонимание термина «шитый код» (который бывает нескольких видов).

    слушай, не встревай больше в дискусии по профессиональным темам, а? охота тебе позориться?

     
     
  • 7.106, Аноним (-), 20:25, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > гениально. покажи мне в образе форт-системы на диске исходники.

    А почему сразу "на диске"? Можно ведь их и с клавиатуры ввести. Про "read-eval-print loop" слышали?
    > и в скомпилированом питоньем модуле тоже покажи исходники.

    В каком "скомпилированном" питоньем модуле? Вы про файлы с расширением .pyc? Так это не модули, а всего лишь кеш. Он используется, только пока не изменён соответствующий файл .py.

    > о, вдобавок ещё и непонимание термина «шитый код» (который бывает нескольких видов).

    Двух. Первый вид:



    start:
      call fun1;
      call fun2;
      call fun3;
      …



    Второй вид:



    threadcode:
      fun1

    start:
      



     
     
  • 8.108, Аноним (-), 20:30, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Второй вид code threadcode fun1 fun2 fun3 8230 start mov ec... текст свёрнут, показать
     

  • 1.21, www (??), 04:29, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    мда, сам пишу на питоне. Но вопрос скорости исполнения приложений никогда не бывает лишним.
    Все видят успехи проекта PyPy в увеличении скорости исполнения кода на Python, но при всей зрелости проекта, Гвидо даже не упоминул его. Его давно уже надо было добавлять в стабильную ветку.

    http://pypy.org/

     
     
  • 2.22, www (??), 04:56, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://speed.pypy.org/
     

  • 1.23, evgeny_t (ok), 05:01, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    ни разу не слышал в java про глобальную блокировку )
    походу руки у питонистов не оттуда растут
     
     
  • 2.25, broki (ok), 06:02, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    зато, видимо, наслышан про сборщик мусора-то
     
     
  • 3.54, evgeny_t (ok), 21:59, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    в питоне нет сборщика мусора ?
    и как я предполагаю он там убогий )
    а jit там нет ?
    и библиотек там нет уровня ИНТРЕПРАЗ ?
    так зачем питон нужен ? писать скрипты из 5 строчек ?
     
     
  • 4.62, x0r (??), 03:39, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в питоне нет сборщика мусора ?
    > и как я предполагаю он там убогий )
    > а jit там нет ?
    > и библиотек там нет уровня ИНТРЕПРАЗ ?
    > так зачем питон нужен ? писать скрипты из 5 строчек ?

    у этого сборщика мусора память не течет в отличии от java

     
     
  • 5.63, arisu (ok), 03:48, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > у этого сборщика мусора память не течет в отличии от java

    ага, она просто в космос улетает. слова circular references о чём-то тебе говорят, нет? вот жаба с ними как-то справляется без магии и дополнительных телодвижений. и даже — о, ужас! — финализаторы умеет так, чтобы не протечь. а что там в гвидобейсике? а, вот: http://docs.python.org/reference/datamodel.html#object.__del__

    не течёт, говорите? обожаю фанбоев гвидобейсика: своего же предмета обожания не знают.

     
     
  • 6.68, 1 (??), 08:57, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    html-программисты такие программисты, вас даже не жаль :)
     
     
  • 7.103, arisu (ok), 19:38, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > html-программисты такие программисты, вас даже не жаль :)

    тебя в детстве изнасиловал «html-программист», и теперь они тебе везде мерещатся?

     
  • 6.75, Аноним (-), 12:55, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Хрен code package main import java io IOException import java util ArrayLis... большой текст свёрнут, показать
     
     
  • 7.79, anonimous (?), 14:55, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Сборщик мусора не отрабатывает каждый раз как вы какой-то переменной null присвоили. Для вас это новость? Сборщик мусора можно попросить собрать мусор(правда, соберет он его после того как вы его попросите или нет - это уж как звезды станут). Для вас это тоже новость?
    Тогда почитайте о внутреннем устройстве сборщиков мусора, найдете много нового.
     
     
  • 8.110, Аноним (-), 20:39, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Ну и что Хотя бы один раз он отрабатывает А если он никогда не срабатывает, за... текст свёрнут, показать
     
     
  • 9.113, Аноним (-), 01:02, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Он срабатывает, но не сразу, а когда доступная память кончится Afaik, по этой п... текст свёрнут, показать
     
  • 7.102, arisu (ok), 19:38, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    а ты в курсе, что реализация GC совершенно не обязана «мгновенно возвращать память», нет? более того: это было бы идиотской идеей, потому что добавляет тормозов. а разговор, дорогой старшеклассник, шёл о потерях *внутри памяти, управляемой gc*. жаль, что ты этого не понял.
     
     
  • 8.109, Аноним (-), 20:35, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кого вы цитируете В комментариях выше никто о 171 мгновенном 187 возвращени... текст свёрнут, показать
     
  • 4.121, Аноним (-), 17:15, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > в питоне нет сборщика мусора ?
    > и как я предполагаю он там убогий )
    > а jit там нет ?
    > и библиотек там нет уровня ИНТРЕПРАЗ ?
    > так зачем питон нужен ? писать скрипты из 5 строчек ?

    Вот люди с таким перечнем вопросов и познаний о других языках и пишут на java.

     
  • 2.31, Аноним (-), 07:46, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Global Interpreter Lock кроме питона, я знаю, есть в руби. В один момент времени выполняется только один поток, что, кстати, очень актуально с ростом числа ядер и процессоров в системе (это стеб, если что).
     
  • 2.43, Cykooz (?), 15:59, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если у вас руки растут от туда, то попробуйте сделать без GIL так что бы в однопоточном режиме работало хотя бы не медленнее чем с GIL. Это по сути одно из главных требований Гвидо, что бы отказаться от GIL (не считая конечно сохранения совместимости). Насколько знаю, ещё никому это не удалось в полной мере.

    Следует отметить, что для 3-ей ветки питона были сделаны улучшения в GIL, которые существенно улучшили работу многопоточных приложений на многоядерных системах.

     
     
  • 3.45, ragus (ok), 16:14, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +/

    > Следует отметить, что для 3-ей ветки питона были сделаны улучшения в GIL,
    > которые существенно улучшили работу многопоточных приложений на многоядерных системах.

    мне вот непонятно, почему расширения stackless не втянут в стандартный cpython. как и гринлеты. сделали бы как в erlang: пул потоков уровня приложения маппится в пул потоков операционной системы.


     
     
  • 4.53, all_glory_to_the_hypnotoad (ok), 20:33, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    гринлеты это убогие костыли, их никуда впихивать не нужно. Стаклесс, как  и в случае без GIL, заметно медленнее традиционного CPython.
     
     
  • 5.65, ragus (ok), 04:44, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > гринлеты это убогие костыли, их никуда впихивать не нужно. Стаклесс, как  
    > и в случае без GIL, заметно медленнее традиционного CPython.

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

    ну и вообще, какие альтернативы в случае i/o bound задач и большого количества соединений?

     
     
  • 6.72, 1 (??), 11:02, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    читайте документацию, ее для вас писали
     
     
  • 7.99, ragus (ok), 19:29, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > читайте документацию, ее для вас писали

    а по делу сказать есть что?

     
  • 3.55, evgeny_t (ok), 22:03, 18/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    в питоне есть поддержка многопоточности сравнимая с java ?
    да же если и есть, думаю это бажная вещь потому как написать такую подсистему недостаточно любить питон нужно ещё уметь программировать.
     
     
  • 4.66, ragus (ok), 04:46, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > в питоне есть поддержка многопоточности сравнимая с java ?
    > да же если и есть, думаю это бажная вещь потому как написать
    > такую подсистему недостаточно любить питон нужно ещё уметь программировать.

    скажите, а зачем нужна многопоточность?


    "A Computer is a state machine. Threads are for people who can't program state machines" (c) Alan Cox

     
     
  • 5.85, Аноним (-), 16:01, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > скажите, а зачем нужна многопоточность?
    > "A Computer is a state machine. Threads are for people who can't
    > program state machines" (c) Alan Cox

    Затем что нынче технологии позволили засовывать на 1 кристалл более чем 1 state machine. Поэтому использовать машины состояний надо тоже с умом. Хотя-бы запустив их по числу ядер, бэть.

     
     
  • 6.100, ragus (ok), 19:30, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> скажите, а зачем нужна многопоточность?
    >> "A Computer is a state machine. Threads are for people who can't
    >> program state machines" (c) Alan Cox
    > Затем что нынче технологии позволили засовывать на 1 кристалл более чем 1
    > state machine. Поэтому использовать машины состояний надо тоже с умом. Хотя-бы
    > запустив их по числу ядер, бэть.

    ну запустить процессов по числу ядер, не?
    nginx обходится без нитей же.

     
  • 3.59, arisu (ok), 02:45, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Если у вас руки растут от туда, то попробуйте сделать без GIL
    > так что бы в однопоточном режиме работало хотя бы не медленнее
    > чем с GIL.

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

     
  • 3.84, Аноним (-), 16:00, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > от туда,

    ^^^^^^^ FAIL :P. Almost epic.

     
  • 2.117, lucentcode (ok), 03:01, 20/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Есть только один случай, когда Java-кодеры  используют GL. Это использование вызовов в безопасном режиме(когда надо гарантированно сохранить целостность объектов). Блокировка ставится и снимается VM настолько быстро, что в этого и не заметите. Так было при использовании VMThread из состава HotSpot. Вроде Оракул что-то делал, что-бы изменить ситуацию.
     

  • 1.46, Аноним (-), 16:55, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ван Россум Пайтон вовсе не так медлителен Пол Крилл 16 марта 2012 г Гвидо ван ... большой текст свёрнут, показать
     
  • 1.56, Бобазали (?), 23:24, 18/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    В соседней ветке http://www.opennet.me/opennews/art.shtml?num=33381 описан проект SkyTools 3.0  http://wiki.postgresql.org/wiki/SkyTools .
    Skytools используется для обеспечения работы крупнейшего в мире PostgreSQL-кластера, обслуживающего базу абонентов Skype (более миллиарда пользователей). Код проекта в большей части написан на языке Python (имеются компоненты на Си) и распространяется в рамках лицензии BSD.
    Такие проекты на медленных языках не делаются.
     
     
  • 2.60, arisu (ok), 02:47, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > Такие проекты на медленных языках не делаются.

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

     
     
  • 3.86, Аноним (-), 16:03, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > а обёртки хоть на баше можно фигачить, это почти без разницы.

    У баша есть лютый плюс: не надо таскать по 3-4 версии оного для совместимости с собой любимым в молодости. А у автора гвидобэйсика зуд пониже спины, чем он реально задрал уже.

     
     
  • 4.94, Аноним (-), 18:13, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> а обёртки хоть на баше можно фигачить, это почти без разницы.
    > У баша есть лютый плюс: не надо таскать по 3-4 версии оного
    > для совместимости с собой любимым в молодости. А у автора гвидобэйсика
    > зуд пониже спины, чем он реально задрал уже.

    Ну не пользуйся ты "гвидобэйсиком", не пользуйся... Кончай ныть и сделай свой "петябэйсик" сам знаешь с чем!

     

  • 1.70, xxx (??), 09:47, 19/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что-то интервью ни о чем. А питон мне нравится. Использую повсеместно как вспомогательный инструмент. Простой и выразительный синтаксис, куча библиотек, кросплатформенный - писать скрипты до 1000 строк вообще не напрягает.
     
  • 1.71, ЩИТО (?), 09:59, 19/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вообще Питон - классный язык! Все пишу на нем. Всем доволен.
    А главное, всегда легко читается, и не надо писать скобок, да и вообще лишних символов.
    cool-язык в общем)))
     
     
  • 2.73, anonymous (??), 12:18, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Поглядел вики про ГР, тама написано что он в гугле пилил - code-review.
    Кто даст ссылку где это скачать и почитать про это. Все что нахожу не много нето :(
     
  • 2.76, anonimous (?), 13:11, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    "лишних символов" - это вы про пробелы да табуляции?
     
     
  • 3.90, Анон (?), 16:16, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Символов может и больше получается, зато код читать/разбирать легче.
     
     
  • 4.104, arisu (ok), 19:45, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Символов может и больше получается, зато код читать/разбирать легче.

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

     
  • 2.87, Аноним (-), 16:04, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > cool-язык в общем)))

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

     

  • 1.74, Kodir (ok), 12:50, 19/03/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > ...из-за неумения подобрать должный инструмент для решаемой задачи и провести надлежащую оптимизацию...

    Ну да. Миллионы мух - дураки, одна пчела - молодец! :)
    "переписывать на Си" критичные участки - это и есть сознаться "мой язык - полное Г и служит только для прикольных перделок!".
    Почему-то ни один сишарповый проект, да не подскочит ваше давление, не использует подобных хаков (пришедших из 80-ых). Просто потому, что за сам язык разработчик спокоен и не тратит время, проверяя "кто виноват" - виноват всегда прогер. И он берёт и профилирует подозрительные участки.
    Кстати, недавно оптимизировал запрос структуры БД - с минуты до 2-3 секунд. Сегодняшний способ получить эту структуру - полное Г, пришлось писать кучу джойнов.

     
     
  • 2.77, anonimous (?), 13:19, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Если вы не знали, то шарпы вполне себе позволяют использовать вызовы нативных библиотек, а так-же (о ужас!) unmanaged code. Исходя из вашей логики - он тоже "служит только для прикольных перделок" и от гвидобейсика не отличается.

    Какое отношение ваши неясные потуги с БД имеют к гвидобейсику совсем не понятно.
     
  • 2.78, xxx (??), 13:25, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Ну да. Миллионы мух - дураки, одна пчела - молодец! :)

    Как я понял ты хочешь сказать, что ты Д'Артаньян...

    >"переписывать на Си" критичные участки - это и есть сознаться "мой язык - полное Г и служит только для прикольных перделок!".

    Так как куча людей переписывают критические участки используя подходящие средства. А ты просто записал все языки программирования в категорию "полное Г", т.к. даже с Си переписывают на ASM.

    >Почему-то ни один сишарповый проект, да не подскочит ваше давление, не использует подобных хаков (пришедших из 80-ых).

    Ты видел все C# проекты? Множество проектов если не используют явно код на Си, С++ и т.д., то делают это неявным образом, через сторонние библиотеки, в том числе и из-за скорости: кодеки, числодробилки.

    Так же имеет место и обратное - использование тормозных, но более удобных ЯП совместно с С, Java и т. д.

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

     
     
  • 3.89, Аноним (-), 16:07, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > По-моему это и есть: "умение подобрать должный инструмент для решаемой задачи и
    > провести надлежащую оптимизацию..."

    Это точно про сишарперов и питонистов? А у меня такое ощущение что типовой сишарпер или питонист на это клинически не способен :)

     
     
  • 4.95, Аноним (-), 18:17, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >> По-моему это и есть: "умение подобрать должный инструмент для решаемой задачи и
    >> провести надлежащую оптимизацию..."
    > Это точно про сишарперов и питонистов? А у меня такое ощущение что
    > типовой сишарпер или питонист на это клинически не способен :)

    Как в принципе и типовой кодер на Java, JavaScript и т.д.

     
  • 4.96, anonimous (?), 19:17, 19/03/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А у меня такое ощущение, что вы ни в С# ни в Python-е не разбираетесь. И, пожалуйста, определение "типовых сишарперов и питонистов"  в студию.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру