Invataturile minerului Silviu Ardelean catre cine l-o asculta

Posted in Premiul n00bel on September 29th, 2011 by Mihnea

Ieri seara un incepator extrem de ghinionist s-a ratacit pe codexpert, punindu-si astfel serios in pericol sansele de a invata vreodata sa programeze. El a intrebat de ce compilatorul ii da eroarea “non-lvalue in assignment” in codul if(x%20=0).

Ovidiu i-a dat omului rezolvarea, dar Silviu a simtit ca e loc si pentru o contributie a sa, caci schema de desfasurare a discutiilor aprobata in sedinta plenara de consiliul suprem al expertilor este intrebare – raspuns (optional) – propunere. Ca si in episoadele anterioare, utilajul minier semi-autonom s-a activat la un cuvint cheie fara sa inteleaga contextul si a emis urmatoarea Cugetare Predefinita:

Aditional la cele spuse de Ovidiu iti recomand ca atunci cand ai conditii cu constante sa pui constanta in stanga. La astfel de greseli compilatorul iti va da peste degete inainte de-a rula aplicatia, evitand astfel de buguri: if(0 == x%20) …

Deci: daca scrii 0 = x%20, compilatorul iti va da eroare, spre diferenta de cazul in care scrii x%20 = 0, cind iti va da exact aceeasi eroare. Bug evitat! Vorba aia, Regula e Regula. In programare e ca-n minerit: trebuie sa te bazezi pe reflexe, nu ai timp sa gindesti.

Este amuzant si cum a ratat ocazia de a o da la intors spunind ca de fapt a zis altceva decit a zis. Daca n-ar fi ilustrat propunerea cu cod, ar fi putut pretinde ca vorbea despre cazul real in care se aplica gaozaria aia cu literalu’ in stinga, dar din exces de zel s-a coborit in mocirla concretului si acum nici nu se mai poate baza pe Ovidiu sa-l ajute cu “few cosmetics”. Ca tot ii plac lui citatele, o sa citez si eu din operele unui instalator cu care am avut mai demult onoarea sa port o discutie: “Meseria asta (mineritul, n.r.) e mai grea decit carnea de porc”. Amin!

Tags: , , , , , ,