Jan
18
2007

The Body Says No

È giunto il momento di rivelare al mondo, e alle anime belle che lo abitano, una verità orrenda, per troppo tempo taciuta da Chi Sa:

<div style="text-align:center"><h3>Python Fa Schifo e Chi l’Ha Scritto Va Tumulato Vivo Sotto Una Colata di Cemento a Presa Rapida</h3></div>

Certo, il linguaggio in sé è moderatamente carino, ma appena tenti di muoverti sotto l’interprete, per scrivere un modulo di interfaccia tra una libreria C e Python, l’idiozia della API Python/C e l’assenza di messaggi di errore significativi rendono il lavoro con Python una tortura – e dimostrano un’amatorialità degna di Ruby. Un’ora di questa tortura e rimpiango le macro criptiche e l’assenza di documentazione delle API del Perl. Per un linguaggio che si vanta di seguire il dogma del <em>better explicit than implicit</em>, le API C sono il trionfo della perversione mentale, della rottura all’indietro, dell’inconsistenza nelle <em>naming policy</em> e della mancanza di utilità.

Ovviamente, ognuno è libero di pensarla diversamente; sono convinto che Pythonisti arriveranno qui nel tentativo di mostrarmi la Retta Via Verso l’Illuminazione. Per me, tuttavia, e per i miei scopi non esiste differenza tra il lavorare per mezza giornata con Python e darmi delle vigorose martellate sui coglioni.

<em style="font-size:80%">Adesso mi sento molto meglio. E no, Python continua a farmi schifo.</em>

Written by ebassi in: Linux,Rants,Software |

9 Comments

  • curson says:

    Una differenza c’è: le martoriate fanno rumore. Il ritmo aiuta a passare il tempo :p

  • curson says:

    …ti giuro che non so come il mio cervello abbia comandato alle mie dita di scrivere "<em>martoriate</em>". Pensavo "<em>martellate</em>" ed è uscito quello: ho idea che le API C/Python non siano le uniche cose che avrebbero bisogno di messaggi di errore più chiari ;)

  • Eviterò di mostrarti la Retta Via Verso l’Illuminazione ma ti chiedo: per cosa usi Python? Clutter? Potresti bloggare un po’ di più su clutter, noi siamo curiosi!

  • zefram says:

    marco: esatto, sto scrivendo i binding di clutter :-) vedrò di scriverne quanto prima – sono ancora in botta per la release di oggi.

  • Eddai mi sembra un po’ esagerato dire che fa schifo perché l’API C è una rottura :P

    Hai provato a usare pyrex?
    http://www.cosc.canterbury.ac.nz/greg.ewing/python/Pyrex/

    Oppure puoi usare ctypes se devi fare chiamate al sistema.

    Se devi wrappare librerie o usi ctypes o swing python.

    Fammi sapere!

  • zefram says:

    lawrence: non posso usare pyrex o ctypes – devo usare l’aggeggio per i binding delle librerie basate su gobject, da quello non si scappa. quindi: autogenerazione del codice, python/c api e pedalare.

    ad ogni modo, non so se si è capito: il linguaggio python non è brutto; è l’interprete python a fare schifo.

  • Si si ho capito che a te non piace il reference counting :-P
    Nemmeno a me piace l’API Python per inciso. Il fatto che ruby sia mark &amp; sweep porta notevoli vantaggi in quanto ad API.

    Buon divertimento e se hai problemi fai un salto su it.comp.lang.python che qualcuno volenteroso lo trovi a rispondere

  • .mau. says:

    D’altra parte, la Vera Interfaccia per i messaggi di errore è quella di ed(1): tersa e coerente.

  • Ikitt says:

    l’API di CPython l’ho vista di sfuggita (ho rischiato di scrivere un modulo, poi ho risolto in puro python e usando la stdlib -per il mio caso e` bastato), ma devo dire che ad una primissima occhiata ho avuto impressioni pericolosamente simili alle tue. Tanto bello (almeno per chi scrive :P ) sopra la scorza l’interprete, tanto brutto sotto?

RSS feed for comments on this post.


Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com