← All posts tagged Python

lovesan

Я когда-то писал длинные объемные сравнения Python со всем остальным, и длинные обоснования на тему почему питон использовать нельзя в принципе, но теперь мне просто лень.

Как например лень писать и про PHP. Любой, например, интеллектуальный человек, знает что PHP говно, и единственное, что ему не лень сказать на тему PHP это "PHP говно", и все остальные интеллектуальные люди его поймут, и поддержат, или просто промолчат — потому что им лень как-то реагировать на очередное повторение всем известных даже не то, что мыслей, а прописных истин. И я считаю, точно так же должно быть и с Python, например.

Поэтому когда я тут в бложике пишу о питоне, например, находя в нем новые, так сказать изъяны(все не перестаю удивляться насколько их много), я совершенно не жду(на самом деле!) что ко мне придет очередной ид^WWпитонист и начнет упорно доказывать мне мнящуюся ему мою невежественность и какие-либо доказательства кристальной чистоты и идеальности Python по причине сотворения последнего самим Б-гом. Максимум что я хочу от таких людей — это чтобы они, блять, пошли и подучили матчасть, другие языки программирования, и так далее, и перестали все-таки засирать глобальное пространство написанного кода говном.

lovesan

docs.python.org

Пиздец. То есть, ссылаясь на проблему конкуррентного доступа к словарю(что забавно, учитывая что в бетоне многопоточности в принципе нет(т.к. GIL)), пидонисты придумали значит кидать исключения(что заведомо дерьмово выглядит и медленно работает) вместо предусловия существования ключа.

Пиздец. Потому что, во-первых, уже даже в .NET давно поняли что надо использовать лиспе-style доступ к словарям(ну типа (gethash key ht) -> (values value exists-p), интерфейс которого фактически повторяется дотнетным bool TryGetValue(out value)) вместо кидания исключения когда попало, и даже, опять же в .NET сделали нормальный ConcurrentDictionary, у которого такая проблема как описанная в доке питона, вообще не стоит.

Хотя почему "даже"? Питон с дотнетом(даже с дотнетом!) даже сравнивать нельзя, некрасиво все-таки обижать калек и умственно осталых.

lovesan

juick.com

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

Я лично заебался слушать все эти телеги про кроссплатформенность. Вся эта "кроссплатформенность" в 99% случаев упирается в писание кода под прыщами и натягивание прыщевой модели программ на винды, вплоть до установки костылей типа Cygwin.

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

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

Они не осиливают SXS(в каком опенсорсном проекте с корнями в линуксе это используется? Хоть один назовите!).

Не осиливают распределения по директориям винды, и выстраивают в отдельной директории программы свой тупорылый FHS(не знают и не желают знать, что, например, нужно класть в Program Files(или в директорию с бинарниками программы, если она не в Program Files), а что нужно класть в %APPDATA%, например. Не понимают, что в %WINDIR%\system32 нельзя складывать ничего вообще, и тем более нельзя затирать существующие там библиотеки и программы.

Не осиливают нормально работать с именами файлов(начиная с имен с пробелами).

Не понимают, в большинстве, своем что PATH менять противопоказано.

Игнорируют все вменяемые механизмы межпроцессного взаимодействия и модульности(начиная с COM), и используют максимум сокеты и пайпы(прямо как в 70х).

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

Игнорируют реестр, либо же наоборот, засирают HKLM разнообразным говном.

Кладут болт на систему безопасности Windows, вообще никак не принимают её в расчет.

Игнорируют SEH и VEH, вместо этого используя в приложениях урезанные сигналы из CRT, а то и setjmp/longjmp.

Вообще, перебарщивают с использованием CRT, вместо системного API. Чуваки! С CRT на Windows работать не очень приятно, не полезно и не безопасно. И это не проблема WinAPI, это проблема CRT — ей уже срать сколько лет, и естественно она не может даже близко выразить всю функциональность системы.

Не осиливают нормальную реализацию многопоточных приложений(привыкли форкать то).

Используют cmd.exe из программ(на манер вызова шелла из сишных программ в прыщах) — дада, и такое видел. Чуваки! cmd.exe это артефакт совместимости с DOS'ом, не надо его использовать вообще даже для скриптинга(PowerShell есть), не говоря уже про что-либо серьезнее.

Не осиливают и не используют не то что даже механизмы глобализации и интернационализации Windows, а даже работу с кодировками и юникодом(используют "A"-варианты функций и т.д.).

Если говорить о "кроссплатформенных" GUI-тулкитах — не используют системные виджеты и функционал "тем", и тем более не стараются даже рисовать свои виджеты "похоже" на них(видели GTK+ под виндой? Это пиздец!).

Тащат повсюду свой сраный кривой OpenGL, вместо использования навороченного стека графических технологий Windows(Direct3D, Direct2D, DirectWrite etc.)

Пишут на сишечке или C++!111

Сервисы? WMI? AD? Интеграция с шеллом? Эти понятия им, за редким исключением, вообще не знакомы.

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

И да, если возвращаться к ссылке в начала — Python под виндой это пиздец и говно.

Вообще, есть, конечно, исключения. Ну например, VirtualBox. Но такие исключения только подтверждают правило.

lovesan

Блядь, какое же PHP уебищное говно.

Я аж думал перейти на Python. Но потыкал палочкой фреймворки — и пиздец, отказался от этой идеи. Потому что тоже тот еще пиздец, если не больший.

К Ruby ссу прикасаться.

Еще думал на ASP.NET писать. Но блядь, опять же передумал. Хуй с ним, пусть будет похапе.

Итог: пиздец! все распространенные в сфере веб-программирования языки — блевотное ссаное сраное говно. Пиздец какое говно. И C# говно, и Python, и Ruby, и тем более PHP. Блевать тянет.

Хочу на лиспах писать, они крутые. Хотя тот же CL местами кривоват, но лучше всего остального.

lovesan

Просто по мне что питон, что руби — одно говно. Динамические, плохо сделанные, медленные, с ебанутыми от ЧСВ авторами. У руби еще и комьюнити ебанутых хипстеров. Какая разница в каком говне копатся если всё равно в итоге говно?

theiced.livejournal.com

lovesan

linux.org.ru

Хотя я часто не согласен с @archimag в вопросах лиспа, но тут таки да, соглашусь.

Вообщем, чтобы REPL был столь же полезен, как и в лиспе, нужно чтобы у языка программирования была модель исполнения как у лиспа, или как у смоллтолка, например — то есть, "живая" среда программирования, которую изменяешь под себя.

В Python и многих других "скриптовых" языках модель исполнения совершенно не такая(что в случае Python отлично видно на примере системы модулей, как @archimag правильно сказал).

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

lovesan

Что-то давно не писал про лисп.

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

Нет, серьезно, я понимаю, почему люди берут Си, C++, C#, Java, да даже PHP, но бля.
Нет, конечно, многие, если говорить про настоящее время, про сейчас — возможно, многие берут тот же питон потому, что для него много чего якобы есть — библиотеки, фреймворки, особенно под веб, ну и так далее. Под него да, намного больше вакансий, чем под лисп(но в то же время, по сравнению с теми же Java или PHP — Python невероятно маргинальный язык. А уж Ruby — тем более).

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

А почему руби? Не, ну рельсы — да, но все, больше там смотреть не на что.

И есть лисп.

Лисп, даже Common Lisp — намного проще бидонов и рубей. Серьезно. В CL 27 специальных операторов, и когда вы понимаете что они делают(а понимать там особо и нечего) — все, вы знаете весь язык; остальное это стандартная библиотека — ну да, она крупная и местами кривая, но вы не обязаны ее заучивать наизусть чтобы продуктивно пользоваться языком, как не обязаны заучивать всю инфраструктуру Java/.NET чтобы писать на жабе и сишарпе, и как не обязаны вызубривать API всех свободных библиотек на бидоне, чтобы писать на нем полезные программы. Стандартная библиотека, к тому же, спроектирована довольно неплохо, и в целом отдельные ее части совершенно ортогональны другим, так что можно использовать какое-то ее подмножество не то что не касаясь, а даже не зная про другие(вот в случае с каким-нибудь C++ такое не прокатит, да, но CL не C++).

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

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

У CL тупо больше полезных и нужных фич — макросы, мультиметоды, и так далее.

Про лиспы вообще — есть куча книг, как заумных и дико интересных(AMOP, PAIP), так и простых, веселеньких и легких на подъем(PCL, Land of Lisp).

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

Интеграция со сторонним кодом, с сишечкой? Да у того же CL просто охренительные FFI — простые, но мощные, многофункциональные и расширяемые, которым питоновские аналоги, типа ctypes, в подметки не годятся. И для CL тоже уже есть куча хороших библиотек-оберток над разным сишным кодом — от системных функций POSIX или WinAPI до GTK+, и даже до COM/OLE.

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

На лиспе приятнее писать, лисп проще в изучении, лисп проще в использовании, лисп функциональнее, лисп производительнее! Не используйте блять питоны и руби — это вершина идиотизма покуда есть лисп.

lovesan

Кстати, в догонку к #1669710

На ЛОРе чуваки предлагают для парсинга простейших арифметических выражений использовать Пидон.

Но не просто так, а использовать eval(!!) или вызывать GCC(!!!).

linux.org.ru

Я же говорю — в этом весь бидон. Рассадник дебилов.

lovesan

Одна из моих любимых копипаст с двачей.
Когда первый раз прочитал слово "ПЫХОПЛЕЯДА" — ржал в голос, если честно.



"Не смотря на то, что схемка и смолток делают остальные скрипты совершено ненужными, массы динамических петушков выбирают ПЫХОПЛЕЯДУ (Perl, PHP, Python, Ruby). ПЫХОПЛЕЯДА — это высеры ГСМ-ов и неграмотных долбоебов, которые проделали большую работу изобретя колесо (квадратное) — чукча не читатель, блеать. Пыхоплеяда состоит из протопыха (слишком переподвыподвывернут для петушков, известно, что новейшую версию первоначально удалось реализовать только на хаскеле), пыха — классика гостевушного жанра, гвидопыха и джапопыха. При этом, если гвидопых отличается от пыха только ЧСВ гвидопыхеров, упивающихся своей невъебенной илитностью, и наличием у хуесосов харизматичного фюрерка, то джапопых действительно несколько более продвинут, и в мокрых фантазиях джапопыхеров является смолтоком. Знатоки пыхоплеяды лепят гостевухи за доширак и заправляют картриджи."

lovesan

Бля, все-таки, как преподается в рашке IT это полный пиздец.

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

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

Людям должны сначала давать абстрактные модели вычисления, рассказывать ну там, про виды абстракций, про концепцию фреймов активации в конце концов, давать основы теории вычислимости, алгоритмы, и только потом показывать им Си и объяснять, что это убогая абстракция убогой регистро-стековой машины(полноценная — это CL, например), которая возникла вообще исключительно из-за убогости железа 60х-70х, а остается в живых только благодаря огромному количеству уже написанного на ней говнокода(главным образом, кода ОС), который вменяемым людям лень переписывать. А паскакали — это то же самое, плюс результат убогости компиляторов тех же лет. А C++ это неудачная попытка натягивания на Си гондо^W ООП, мутировавшая в невменяемое переусложненное говно под давлением крупных корпораций. А жаба это такой недо-лисп для ебланов, на котором писать должно быть стыдно в принципе. А питон это такой язык для обучения имбецилов этому всему, и на нем писать должно быть стыдно вдвойне.

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

И, главное, блять, еще прыгают по имиджбордам, гордятся своей неграмотностью и постят картинки типа "HAVE YOU READ YOU SICP TODAY?".
Смешно им блять.

А SICP это фундаментальная книжка, между прочим — прочитали бы, не были бы такими ебланами, и понимали бы хоть что-то в написании кода, блять.

lovesan

--------------------------------------------------
Вот был, скажем, питон. Кто-то наткнулся на грабли, но вместо того, чтобы исправить питон, пошёл, наваял своё руби или, там, груви. Теперь у нас есть две поделки, каждая со своими граблями.
--------------------------------------------------
ivan-gandhi.livejournal.com

Всё так.
Вообще, в этом суть всех этих новомодных скриптовых и не очень языков — "накатаю-ка я поделку по типу вооон той, но только вооот с такими фичами." В итоге все они выходят говно говном, отличающимся друг от друга как максимум парой встроенных функций, а как минимум вообще чисто синтаксисом.
Нормальных языков после CL не появлялось; ну сисярп разве что, хотя и он не фонтан.

lovesan

Если взять и посмотреть правде в глаза, то можно признать, что C# сейчас стал одним из наиболее продвинутых языков, и давно уже обогнал по фичам, динамичности и удобству использования питон, руби и прочие модные "динамические" и не очень "динамические"(типа scala) языки.

До CL(а если смотреть, в какую сторону C# развивается, то я бы сказал, именно в сторону cl-подобных лиспов), правда, еще довольно далеко, ровно как и до хаскеля и узкоспециализированной эзотерики типа эрланга.

lovesan

Навеяно срачем на ЛОРе.

CL — плохой язык для первого знакомства с программированием. В принципе, по той же причине, по которой и Haskell, и Java, и C#, и C++ — тоже очень плохие языки для этого.

CL — охуенный язык для написания программ, для создания сложных систем, но для обучения программированию, и тем более, для знакомства с ним, он не подходит совершенно. В нем слишком много сущностей, и новичку в программировании их очень сложно объяснять(начиная с "зачем нужен funcall" и заканчивая "как работают restart'ы").
Причина в том, что CL разрабатывался для практики. Это чисто практический, прикладной, язык.

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

Я так думаю, идеал для знакомства с программированием, и, естественно, для обучения ему — Scheme или Smalltalk.

lovesan

Меня одного так раздражает эта ебанически идиотская манера питонистов давать своим библиотекам названия с префиксом "Py"?
Апофеоз — PyPy. Название заставляет смеяться и блевать одновременно.