С Днем программиста!

Discussion in 'Off Topic' started by Relict, Sep 13, 2010.

  1. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,186
    Location:
    Izhevsk
    Ну ты же не думаешь, что все пользователи того же numpy занимаются и его разработкой? :) На гитхабе у этого проекта с десяток активных контрибьютеров. Остальные - в следовых количествах.
    А нафиг он тебе, если разработкой не занимаешься? :) Вам дали медленный питон с быстрыми библиотеками - пользуйтесь.
     
  2. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    Ну, положим, больше. Но, судя по pull-request'ам, там внутри все не просто. Поэтому и распределение по количеству коммитов типа экспоненциального.

    Корпоративный софт не в счет? Пакеты интерполяции по всяким кривым 2D/3D сеткам до Quad9 тоже не считаются? Увы, на гитхаб не выложу - изнасилуют, хотя никаких секретов там нет. Всякая фигня на PyQt тоже за разработку не считается?
     
  3. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,186
    Location:
    Izhevsk
    Анди, для всего, что ты перечисляешь питон лишь интерфейс для запуска кода из готовых библиотек, написанных на совсем других языках.
     
  4. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    Если так рассуждать, то и С++ это лишь интерфейс для машинных кодов. И когда я говорил про интерполяцию на "кривых" неструктурированных сетках, так алгоритм - именно на Питоне. Ну, да, что я, дурак, сам низкоуровневые векторные операции реализовывать или нелинейные системы уравнений решать. Сервис и сервис, алгоритм этажом выше. Та же фигня с PyQt.
     
  5. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,186
    Location:
    Izhevsk
    Т.е. если бы не было библиотечной реализации, питоном бы ты не пользовался.
    В этом преимуществ у питона нет никаких, кроме как я уже говорил, простоты языка для этих целей. Ты им пользуешься именно как пользователь языка, а не как разработчик. С тем же успехом я иногда по просьбе коллег правлю vbs-скрипты, в которых основная работа выполняется в вызываемых activex-компонентах.
     
  6. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    Если бы у бабушки были яица, она была бы дедушкой. А если серьезно, то я еще и embedded Python в Trelis (это такой посторитель геометрии/сетки, автоматизируемый через свой питон) использую. Нет там ни numpy, ни scipy. Т.е. себе я могу присообачить, а вот пользователям по разным причинам фиг. Например, потому-что кое-кто пользуется еще бесплатной, но настолько древней версией, что там внутри питон 2.3.4 2004 года выпуска :(. Или запускают на кластере, где хрен достучишься до IT.
     
  7. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    А вот и нет. Давай, напиши на C++ те же unit тесты с подменой низкоуровневых функций/классов. Или всякую асинхронность реализуй. Чтобы, например, аналог tee на Windows реализовать (перехват вывода в stdout/stderr c записью вывода хоть в файлы, хоть в сеть - естественно с сохранением вывода на консоль). А на питоне - 60 строк :)
     
  8. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    7,431
    Location:
    Moscow, Russia
    Мне питон не нравится. Не нравится и «программирование пробелами».
    Но, как минимум, последние несколько месяцев питон входит в пятёрку самых популярных языков.
    Вон и гугл для питона много делает.

    Не удивлюсь, если для питона сделают наборы программирования а-ля ардуиновским и встроят в IoT чипы.
     
  9. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    Зато один единственный способ - отступ 4 пробела (PEP8) и все. А в языках со скобками, сколько там вариантов их расстановки? Три как минимум. Да еще и размер отступа не стандартизован.
     
  10. breedr

    breedr FH Developer

    Joined:
    Jan 27, 2000
    Messages:
    970
    А как математики без многопоточности обходятся?
     
  11. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    17,186
    Location:
    Izhevsk
    А по факту "чёрный ящик" на доверии и километровый strace вместо нескольких системных вызовов.
     
  12. mcgru-

    mcgru- Well-Known Member

    Joined:
    Sep 21, 2000
    Messages:
    61,412
    Location:
    Tomsk, Russia
    4 пробела только лашары используют.
    2 гораздо удобнее.
    но ты не увидишь камента. и похуй :)
     
  13. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    7,431
    Location:
    Moscow, Russia
    Для меня оптимальна табуляция в 2 пробела. Тем паче, это настраивается. У напарника 4, и каждый видит как ему удобно.

    Правильный — обе скобки на новой строке. Сокращённый вариант, когда код можно разместить в одной строке. И вариант со скобкой после условия описания блока и закрывающая на новой строке для веба (php, js), там так привыкли.

    Дело привычки.

    Чем оканчивается оператор в питоне? Три варианта: переводом строки, точкой с запятой, любыми скобками (три варианта!) с двоеточием на конце.

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

    Ещё раз, дело привычки.
     
  14. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,318
    Location:
    Russia
    В топку скобочки! Паскаль рулит. ;)
     
    -tyt-- likes this.
  15. breedr

    breedr FH Developer

    Joined:
    Jan 27, 2000
    Messages:
    970
    Code:
    #define begin {
    #define end }
    
     
    Flk likes this.
  16. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    7,431
    Location:
    Moscow, Russia
    Да ты пасквилянт! :fly2:
     
  17. bimbom

    bimbom FH Beta Tester

    Joined:
    Jan 19, 2006
    Messages:
    7,431
    Location:
    Moscow, Russia
    Ага #define true 0 // счастливой отладки!
     
    Flk likes this.
  18. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    42,318
    Location:
    Russia
    Как щас помню! Было такое. ;)

    А еще
    #define and && и т.п.
     
  19. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    Почему черный ящик? asyncio... Это нынче системная библиотека. Все исходные коды доступны. Да, и, кстати, код и на linux'е работает.
     
  20. -andy-

    -andy- Well-Known Member

    Joined:
    Feb 12, 2000
    Messages:
    8,871
    Location:
    St.Petersburg
    import multiprocessing

    На самом деле, не часто и надо.