Skip to content

Pythonista

11 August 2011

Încercam să explic de ce nu am mai scris posturi tehnice. Voi scrie acum unul, dar cu mai multă vorbăraie și mai puțin cod.

Eu am învățat să programez în Pascal. M-am jucat puțin cu Basic înainte dar primii pași în programare i-am făcut cu Pascal. Acum mulți mulți ani. Apoi în timpul liceului am început să învăț C la școală și acasă să mă joc cu Delphi (Object Pascal). În facultate am aprofundat C (și C++) apoi am descoperit C#. M-am jucat puțin și cu Java (de fapt nu am să înșir toate limbajele cu care m-am jucat) dar C# pentru mine a fost o mare descoperire. Sintaxă elegantă, expresiv – spuneam că ce faci în 10 linii de cod în C++ faci în una în C#. Deja lucram, ca programator C++ în principal (cu mizeria de Borland C++ Builder) dar în timpul liber aprofundam C# și .NET.

Pe când am terminat facultatea, știam destul de bine .NET pe dinăuntru – proiectul meu de licență fiind un compilator ce produce managed code. Apoi m-am angajat la Microsoft și primii doi ani am folosit tot C# și eram tot încântat. Și cred că am și scris câteva posturi tehnice despre C#/.NET și am învățat și mai multe despre internals (de exemplu știați că există un heap separat pentru obiectele mari, Large Object Heap, care nu este compactat de GC?). Apoi, acum un an, m-am transferat în altă echipă, pe poziție de C++ developer din nou. Și în timpul liber am descoperit Python.

Python a fost a doua revelație pentru mine. Sintaxă mai elegantă, limbaj mai expresiv. Ce faci în 10 linii de cod în C# faci în una în Python. Plus că ani de zile am citit cărți despre cum să scrii cod frumos și inteligibil, cum să produci un design curat, toate principiile astea de iginerie software. Python nu numai că le încurajează, sunt parte din filozofia fundamentală cu care a fost dezvoltat. Porniți interpretorul și scrieți import this ca să vedeți ce vreau să spun🙂 Python este un limbaj superb, intuitiv, portabil, cu biblioteci care fac absolut orice (fie parte din distribuție, fie împrășitate pe internet)… Îmi face foarte mare plăcere să scriu cod în Python. Și da, Python nu e perfect dar, din punctul meu de vedere, e cel mai aproape de perfecțiune. Unde mai pui că în orele de servici mă lupt cu un C++ și toate bucuriile pe care le aduce (dependințe între header-e, ifdef-uri cât cuprinde etc.).

Despre Python nu pot scrie încă chestii profunde pentru că acum îl învăț. Sunt o mulțime de subtilități de care nu am încă habar așa că nu îmi prea vine să scriu chestii prea tehnice ca să nu scriu prostii. Dar cred în Python! Sper să devină cât mai popular și cât mai folosit pentru că e mult, mult mai ușor de scris/menținut cod în Python decât în orice alt limbaj cu care am lucrat până acum.

Închei cu o poză cu Mr. Py, care aprobă.

PS: Am lucrat și cu Perl destul de mult dar nici nu îl menționez. Nu vreau să îmi amintesc de perioadele negre de Perl. Write-only language🙂

From → code complete

6 Comments
  1. George permalink

    Din ce imi amintesc eu, numele limbajului de programare Python nu vine de la sarpele cu acelasti nume ci de la trupa de comedie “Monty Python”. Cu toate acestea este mai simpatic sarpele de plus decat niste omuleti de plus.🙂

    Totusi am o intrebare: Cum faci sa ai timp de invatat chestii noi si unde studiezi? La munca sau acasa?

  2. George permalink

    Si inca o intrebare: poti enumera aici cartile pe care le-ai citit “despre cum să scrii cod frumos și inteligibil, cum să produci un design curat, toate principiile astea de iginerie software”

  3. vladr permalink

    Da, Python vine de la Monty Python dar Mr. Py e o mascotă mai bună.

    De studiat studiez în timpul liber și mai tot timpul meșteresc la ceva progrămașe, pentru mine programarea e și hobby, nu doar job🙂

    Câteva cărți:
    Code Complete
    The Pragmatic Programmer
    Agile Priniciples, Patterns and Practices
    Refactoring
    Emergent Design

  4. De Ruby ce parere ai?

    La carti as adauga:
    Working Effectively with Legacy Code

  5. vladr permalink

    Ruby nu am folosit dar clar e nașpa pentru că folosește { și } ca block delimiters🙂 Nu, glumesc, dar Ruby vs. Python poate deveni ușor discuție religioasă așa că nu dezvolt.

  6. pffff… Mr Py e dezamagit de atitudinea ta🙂

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: