LINUX.ORG.RU

Питонячьи радости

 ,


0

4

Отступы, блин

Был у меня код вида:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # код
    else:
        # ещё код

Код скопипастил из одного места программы в другой. При этом не заметил как отступы нарушились. Ну вы поняли, да? Стало:

for blah-blah-blah :
    # какой-то код
    if что-то :
         # какой-то код
else:
      # ещё код

И вот это мне стоило довольно большого количества потеряного времени. Условие else: стало относиться не к if, а к циклу for. Учитывая, что тело цикла было достаточно длинным, как-то не бросалось в глаза, что else уехал не туда. Мать-перемать, но код после этого даже почти нормально работал.

Еще уже мелочь относительная, но все же, чего-то не подумав захотел поработать с гугл драйвом прямо из своего кода и недолго думая сделал pip install --upgrade google-api-python-client - и это разрушило всё. Благо, что от юзера, а не рута, вылечилось сносом .local и повторной накаткой некоторых модулей

★★★★★

Последнее исправление: anonymous_incognito (всего исправлений: 3)

Ответ на: комментарий от sanyo1234

Всё же bash IMHO имеет очень тесную интеграцию с shell

С чем? С самим собой?

wandrien ★★
()
Ответ на: комментарий от lovesan

Основное, для чего я его использовал - универсальный доступ к win32com. У баша такого нет.

Shadow ★★★★★
()
Ответ на: комментарий от sanyo1234

Всё же bash IMHO имеет очень тесную интеграцию с shell, управление jobs и т.п.

bash это и есть shell, как и PS, и джобы в PS тоже есть

все что можно делать в bash в линуксе - можно делать в PS, причем наверное даже с более удобным синтаксисом, или хотя бы таким же

lovesan ★★
()
Ответ на: комментарий от lovesan

в т.ч. для командной строки.

  1. Открыл официальную справку.

  2. Увидел, что вместо ps предлагают набирать

Get-Process | Get-Member | Out-Host -Paging
  1. Закрыл официальную справку.

Этим можно пользоваться лишь от безысходности и обмазавшись alias’ами, чтобы было на bash похоже. Но зачем, я лучше настоящий bash возьму.

ugoday ★★★★★
()
Ответ на: комментарий от lovesan

все что можно делать в bash в линуксе - можно делать в PS, причем наверное даже с более удобным синтаксисом, или хотя бы таким же

Но у PS не хватает кроссплатформенность?

Где взять PS для OpenBSD, OmniOS/SmartOS ?

Навряд ли современный (и уж тем более будущие релизы) PS полноценно работает на mono?

sanyo1234
()
Последнее исправление: sanyo1234 (всего исправлений: 2)
Ответ на: комментарий от wandrien

Ты бы еще SunOS 4 вспомнил.

Так ведь я привёл примеры современных поддерживаемых осей со своей спецификой и предназначением.

sanyo1234
()
Ответ на: комментарий от ugoday

Я тебе открою секрет - ps это не часть bash, а программа из coreutils, или откуда она там. И ее точно так же можно вызывать в PowerShell.

lovesan ★★
()
Ответ на: комментарий от sanyo1234

IMHO Perl конечно некомфортный по синтаксису, но зато есть почти везде и ставится легко и просто.

После баша на перле очень легко писать, и дело даже не в синтаксисе. А вообще хотеть tcl вместо баша. Я на нём и писал довольно много раньше, но теперь это как разновидность нетрадиционной любви. Коллеги не оценят.

bread
()
Ответ на: комментарий от bread

А вообще хотеть tcl вместо баша. Я на нём и писал довольно много раньше, но теперь это как разновидность нетрадиционной любви. Коллеги не оценят.

Там модель внешней среды исполнения паршивая, насколько я помню. Никакой нативной работы с возможностями POSIX-систем.

wandrien ★★
()
Ответ на: комментарий от bread

Я так понимаю, это «приделанное сбоку», то есть то, что может

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

Вместо того, чтобы сразу дать грамотный toolbox в базовой поставке, который просто есть по умолчанию.

Вон даже по ссылке какие-то два отдельных форка.

wandrien ★★
()
Ответ на: комментарий от lovesan

И зачем мне тогда PowerShell, я с coreutils и без него отлично взаимодействую? Это всё равно, что хвалить $ProgramLanguage, за то, что в нём есть os.exec() и случись что можно вызвать внешнюю программу, написанную на $GoodProgramLanguage.

ugoday ★★★★★
()
Ответ на: комментарий от Shadow

Тогда это уже не программисты на яве, а программисты на OpenERP.

ugoday ★★★★★
()
Ответ на: комментарий от lovesan

А зачем тебе bash вместо dash?

В моём случае zsh и выбрал я его:

а) по привычке;

б) из-за развитого автодополнения;

в) .oh-my-zsh рулит и бибикает на поворотах.

ugoday ★★★★★
()
Ответ на: комментарий от wandrien

Вместо того, чтобы сразу дать грамотный toolbox в базовой поставке, который просто есть по умолчанию.

Увы. Tcl это язык для описания гуи, остальное там всё сбоку. А жаль, отличный мог бы получиться шелл. Хотя с гуи в итоге тоже не особо задалось. Наверно что-то с тиклем не так, как с лиспами.

bread
()
Ответ на: комментарий от Shadow

OpenERP - это на питоне или на джаве?

Аишка пишет, что на питоне ?

Here are some key things to know about OpenERP:

    OpenERP is an open source enterprise resource planning (ERP) software system. It provides a range of business applications including CRM, accounting, manufacturing, project management, and more.
    It was created in 2005 by the Belgian company Odoo S.A. (formerly Tiny ERP and OpenERP S.A.). The software was renamed Odoo in 2014.
sanyo1234
()
Ответ на: комментарий от bread

Наркотики это плохо!

А для малаграматных как раз сабж придумали.

IT становится всё более массовым. Средний уровень ITшника падает. Увы, иначе и быть не может.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

А кто, что думает про JVM ЯП типа Scala и Groovy? vs С# и F#.

Кому что нравится? Что из них стоит использовать и что не стоит (и для чего ессно)?

sanyo1234
()
Ответ на: комментарий от ugoday

Средний уровень ITшника падает. Увы, иначе и быть не может.

IMHO наоборот требования на позиции мидлов сильно выросли.

sanyo1234
()
Ответ на: комментарий от ugoday

Средний уровень ITшника падает.

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

bread
()
Ответ на: комментарий от bread

А нужно, чтобы спецы могли программировать сами.

Я согласен с вами, собственно, обсуждаемый выше 1С и является примером такого подхода: специалисты по программированию делают платформу, специалисты по проблемной области — решают на ней задачу. К сожалению, IT ещё очень неразвитая индустрия и такого мало где удаётся добиться.

А им питон подсовывают или ещё что похуже.

Питон — прекрасный язык программирования (по сравнению с yaml).

P.S. не шучу.

ugoday ★★★★★
()
Ответ на: комментарий от sanyo1234

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

bread
()
Ответ на: комментарий от bread

Меня в Java раньше отталкивало отсутствие свойств классов и нормальных либ для построения десктопного GUI без браузера.

sanyo1234
()
Ответ на: комментарий от wandrien

Почитай рекламу no-code. Так-то легче даже vba выучить (не синтаксис, а все нюансы подключения к источникам данных и работы с массивами), чем этими нокодами что-то приемлимое запилить...

А дак и позиционируют, что специалисту нужно алгоритмы «программировать».

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Почитай рекламу no-code.

Спасибо, я так этого буллшита уже наслышан.

wandrien ★★
()
Ответ на: комментарий от sanyo1234

Python - это IMHO для коротких скриптиков.

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

wandrien ★★
()
Ответ на: комментарий от Shadow

А тем, кто он no-code уже устал, у них иногда есть даже возможность и покодить! Бинго ;)

Smart people, купиться на удочку no-code, чтобы потом вернуться к yes-code :)

NoSQL СУБД vs YesSQL and NewSQL, LOL

sanyo1234
()
Ответ на: комментарий от sanyo1234

Ну, сишарп хорош, но мне пока не надо. Для веба, датасатанизма и скриптов питона хватает. Хочу вот dart попробовать для фронтенда.

Shadow ★★★★★
()
Ответ на: комментарий от wandrien

А водители могли осуществлять простой ремонт техники.

ugoday ★★★★★
()
Ответ на: комментарий от sanyo1234

Python - это IMHO для коротких скриптиков.

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

bread
()
Ответ на: комментарий от wandrien

А водители могли машины делать сами?

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

bread
()
Ответ на: комментарий от bread

Ведь водитель априори дурак

В принципе, это так и есть.

И хорошо, если не буйный.

wandrien ★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.