piggymouse: (jamaica-muminpappan)
piggymouse ([personal profile] piggymouse) wrote2011-02-26 02:32 pm

Бабушка Питона

Коллеги, посоветуйте пожалуйста правильную IDE-ху для начинающего несовершеннолетнего питонщика и его родителей. Мы тут по совету дорогого товарища [livejournal.com profile] oxfv посмотрели на Питон и в общем остались довольны.

Подрастающее поколение, как оказалось, совершенно независимо от наших педагогических планов хочет писать компутерные версии любимых board games, чтобы компутер сам считал очки и вообще заботился о логистике. Кстати, уважаемые [livejournal.com profile] bleys и [livejournal.com profile] 9cats, поколение у меня сегодня спросило, когда уже наконец поступит в продажу игра про завоёвывающих мир котегов.

What I've seen so far:

  • PyCharm. Лежит в руке как влитой, но кагбе стоит стобаксов. Воровать у практически родных людей мне впадлу. Если бы я сам серьёзно чем-то занимался, купил бы не глядя, а вот несмышлёному подростку жалко. Впрочем, может куплю ещё.
  • Aptana. Странная она какая-то, ну её.
  • Eclipse+PyDev. Не так удобно, как PyCharm, и ваще.
  • Komodo. И смотреть не стал, за четырестабаксов они могут иметь себя сами.
  • NetBeans. Тоже не стал смотреть.

Emacs, vim, NotePad и кнопку F4 просьба не советовать.

Спасибо!

[identity profile] pbl.livejournal.com 2011-02-26 08:45 pm (UTC)(link)
> визуальный дебаггер

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

> код я совершенно не

Это по мотивам чтения архивов haskell-cafe на тему повышения удобства работы с высокоструктурированными данными (минимизация бойлерплейта етц.): там, правда, все к Foldable свели, после чего я утратил нить и поставил закладку почитать статюй основоположников в будущем (самый эффективный способ вкурки ime). Тут же yoinkz по аксессору и валюю достает, fiddle по аксессору, валюю и функции мутирует, st* - то же самое в State, \\ комбинирует аксессоры.

> другой код

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

boop foop gee goop = foop goop (gee goop) -- S
ping goop zoom = goop -- K
oot foop gee goop = foop (gee goop) -- B
pop foop gee goop = foop goop gee -- C
zoom foop = foop (zoom foop) -- комбинатор фиксированной точки
cond bloop foop gee goop = if bloop goop then foop goop else gee goop -- не понял только, нахрена goop? опять какие-нибудь радости нон-стриктности?
floop = zoom (oot (cond ((==) 0) (ping 1)) (oot (boop (*)) (pop oot pred))) -- факториал, сопесна


Но труевые чуваки вроде меня пишут, конечно, с Church encoding'ом всего вообще на каком-нибудь экмаскрипте.

[identity profile] faceted-jacinth.livejournal.com 2011-02-26 09:14 pm (UTC)(link)
> Так что в окружениях, где такие средства не, - матерно мечтаю об их присутствии довольно редко.
    It is said that the two great human sins are pride and
    hate. Are they? I elect to think of them as the two great
    virtues. To give away pride and hate is to say you will
    change for the good of the world. To vent them is more
    noble; that is to say the world must change for the good
    of you. I am on a great adventure.
                            HAROLD EMERY LAUDER

Я имею в виду, что я, конечно, понимаю, что части этого грешного мира до сих пор пребывают в каменном веке (Solaris, HP-UX) и я должен с ними работать, но это означает только то, что моё взаимодействие с ними сводится к svn up && make. Может, по ssh ещё залью что, или там в vi подправлю что-нибудь, но я НЕ БУДУ ТАМ ПИСАТЬ КОД, ИДИТЕ НАХУЙ, ВЫ МНЕ НЕ ИНТЕРЕСНЫ. Как-то так.

> Это по мотивам чтения архивов haskell-cafe на тему повышения удобства работы с высокоструктурированными данными (минимизация бойлерплейта етц.):
Ну а можешь объяснить, нах оно мне полезно в нормальном языке? Вот как монады мне полезны в Петоне -- это я отлично понимаю, и очень обижен на хаскелеёбов что они не объяснили их мне раньше понятными словами. А это к чему?

> Ты будешь смеяться, но я в последние полгода столько курил комбинаторную логику, что распарсил, не приходя в сознание
Ок, завидую, я даже не пытался после того, как увидел знакомый паттерн в конце, ну конечно же, любая хаски прога вычисляет либо facs, либо fibs, тут ясно, что!

[identity profile] pbl.livejournal.com 2011-02-26 09:46 pm (UTC)(link)
> понимаю, что части этого грешного мира до сих пор пребывают в каменном веке

Я тэбэ адын стращьный вещь скажу... толко ты нэ абижайса! ОГРОМНЫЕ части этого грешного мира до сих пор пребывают в каменном веке; и, более того, будут там пребывать всегда - так или иначе.
<troll>And pride ain't something you can shmear you bagel with.</troll>

> нах оно мне полезно в нормальном языке?

<troll>И эти люди будут мне таки рассказывать про каменный век!</troll> Не, я-то что, я сам пока не вкладывал персты в раны многопоточных систем с иммутабельными данными; но я готов держать открытый разум для этой идеи.

> любая хаски прога вычисляет либо facs, либо fibs

Sad, but largely true.

[identity profile] faceted-jacinth.livejournal.com 2011-02-26 10:11 pm (UTC)(link)
> And pride ain't something you can shmear you bagel with.
But ssh target_address cat <localfile ">" remotefile is. Hence, my fuck off to the world.

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

> И эти люди будут мне таки рассказывать про каменный век!

Нет ну правда! То есть я не уверен, что вся эта хуита решает реальную проблему, а не обходит ограничения Хаскеля. Убеди меня в обратном, рассказав как ты можешь написать то же самое в PHP фор греатер глори! (Это мой подход к разным Хаски фишкам, и я уверен в его продуктивности потому что могу заебать моск любому про то, как знание монд помогает мне писать чистый питонокод, например)

[identity profile] pbl.livejournal.com 2011-02-26 11:25 pm (UTC)(link)
А теперь смотри, какая ситуация. У нас есть окружение для разработчиков, воспроизводящее продакшн-окружение примерно на 99.9%. Поддержки нормальных отладчиков в нем нет и не будет (потому что "напиши таск, получи апрув у цто, через три месяца сделаем, если оно не е3т при пересборке" - а оно е3т при пересборке, и будет забито на!.. да и цто не апрувнет, ибо инфраструктурщики и так перегружены). Что я могу сделать? Собрать то же самое окружение локально, вот этими мозолистыми руками, но с поддержкой отладчиков. Это значит, что а) мне придется сидеть на богомерзкой федоре очень специфической конфигурации, чего мне абсолютно не хочется; б) мне придется порядком зае2ться, ибо занятие сие сводит с ума 85% джуниор сисадминов, которым его поручают (сборка весьма нетривиальная и обвешана кучей ништяков, в которых я секу очень слабо - или вообще не), - чего мне абсолютно не хочется! И ради чего? Чтобы получить интегрированный отладчик, который мне не сильно-то и нужен, и сбережет хорошо если полпроцента времени на длинной темпоральной дистанции. Мне уе3ный энвайронмент больше времени потеряет! Да и лень - тоже одна из программистских добродетелей.

Да, то есть, хорошо ездить на роллс-ройсе, а не на троллейбусе, - но это не повод собирать роллс-ройс в гараже перед любой поездкой. И даже перед какой бы то ни было поездкой.

> решает реальную проблему

Ты забываешь, что я не магистр Йода, а обыкновенный янглинг. Ну и потом - ты прав, все эта возня с аксессорами, генерализованными фолдами и матрешкообразными стэйтами решает проблемы, возникающие из-за специфического дизайна хаскеля. Потому что в оо/императивном языке, я, конечно, полезу своими opposedthumbless лапами в глобальный стейт и буду там произвольно резвиться, как моей opposedthubmless душеньке будет угодно. Но. Этот самый специфический дизайн хаскеля якобы решает многие проблемы, возникающие при массивном распараллеливании. Решает ли действительно - я судить не компетентен, потому осторожно полагаюсь на мнение совета джедаев. (Ко мне один раз даже приходил в комменты суровый Мэйс Винду и делал выговор за то, что я не понимаю Суть фп, - мол, не простые абстракции, а иммутабельность! конкуррентность! стм! - отчего я очевидным образом стушевался и усох.)

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

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

А вообще мы злоупотребляем г3еприимством, нет?

[identity profile] piggymouse.livejournal.com 2011-02-27 07:05 am (UTC)(link)
Отнюдь. Продолжайте, коллеги, продолжайте.