Just use X, e mai simplu

Ca o continuare a discuției de aici:

De aia imi vin la interviu oameni care nu stiu sa foloseasca CURL sau orice inafara de laravel. Lasa-l sa inteleaga cum functioneaza chestiile pe dedesubt. La ce bun a incarci dita-i libraria pentru un request amarat?

2 Likes

Pentru ca e error prone sa faci totul ad-labam.

De ce sa chinui pe cineva cu asta?

De acord ca trebuie sa stii ce e in spate, dar daca scopul OP-ului este sa trimita un request de ce sa isi bata capul cu ceva mai overfluent care pana la urma l-ar aduce la acelasi rezultat?

Poate dupa, cand va avea mai multa experienta o sa fie curios si o sa invete si asta. Dar nu-l ajuta ca se blocheaza la o chestie simpla acum care l-ar face poate sa-si piarda interesul.

1 Like

Scopul ar trebui sa fie sa te dezvolti ca developer. Cred eu. Da, poti sa faci o chestie mai repede, mai usor, dar fara sa inveti nimic.

1 Like

Poate nu e developer, de unde sa stim?

Scopurile si le seteaza fiecare. De-aia python a luat amploare asa de mult, ca are atat de multe lucruri gata facute si oamenii pot sa le foloseasca ca sa construiasca lucruri.

Just build stuff. If it works, it works. Ai timp mai incolo dupa ce monetizezi sa angajezi si oameni care inteleg :slight_smile:

Cred că sunt două aspecte ale acestei abordări:

  1. get it done: pur și simplu, vrei să ai ceva funcțional, rapid, testat, bug-free etc.
  2. cum funcționează. Sigur, e mai simplu să folosești [insert framework/lib here], dar sunt de părere că, înainte de a folosi cod scris de alții, tu ar trebui să fii capabil să poți scrie o funcționalitate asemănătoare ad labam. După ce înțelegi cum și de ce funcționează, treci la o bibliotecă existentă. Vezi ce face la ca soluția ta. Vezi ce face diferit. Faci un diff mental și înveți un lucru-două noi.

Nu e vorba de Guzzle aici, e vorba de orice framework/lib. Ok, folosești React/Vue/Svelte/etc, dar ai fi capabil să scrii o variantă super dumbed-down? Laravel e mișto, dar știi să scrii singur, de la zero, un middleware? Etc.

Pentru că altfel tind să cred că în 10-20 de ani o să fim o hoardă de lego builders iar orice idee nouă va trece inițial prin filtrul „găsim bibliotecă/framework să implementăm asta?”

3 Likes

Depinde total de scopul tau si timpul pe care il ai la dispozitie.

Deja suntem lego builders, poti folosi streams, de ce sa folosesti CURL ? :smiley: Oricum CURL e o librarie deja simpla, poti sa iti faci o fatada doar la ce folosesti si e ok. (practic un Guzzle propriu - daca nu face ceva cache automat desigur)

1 Like

În mod ideal, chiar dacă rezolvi problema cu o bibliotecă existentă, te întorci și vezi de ce așa și nu altfel.

Pentru că altfel ajungi în situația în care totul stă în echilibru, iar când ceva pică… ești în pom.

1 Like

Din păcate, toți cei care folosesc framework-uri, librării, cms-uri și alte utilitare asemenea, sunt limitați. Și, pentru că aici e problema și mai mare, majoritatea aleg să rămână pe drumul ăsta.

Au ajuns programatorii să folosească mai mult mouse-ul decât tastatura.

Sigur, cineva ar spune că pe linia asta ar trebui ne creăm propriul sistem de operare când avem nevoie doar de o aplicație. Nu. Ar trebui doar ca atunci când avem un limbaj de programare preferat, să începem să-l învățăm și să-l folosim de la subsol. Nu de la etajul 7.

Ideea cum că folosești un framework pentru că oricum înțelegi cum funcționează, nu este realistă. Vei înțelege cum funcționează cu adevărat numai după ce te apuci să ți-l construiești singur. Și, după ce ai făcut asta o dată, de două ori, cu greu te vei întoarce la a le mai descărca altele de pe internet.

Îmi aduc aminte la un moment dat că aveam nevoie de un filtru pentru imagini, în PHP. Extensia imagemagick avea filtrul ăsta disponibil, dar am refuzat să-l folosesc. Nici n-aveți idee ce satisfacție am avut când m-am apucat să învăț algoritmul și, punându-l în practică, am văzut că rezultatul meu era același cu cel al extensiei.

Am aruncat timpul pe geam ? Nici vorbă. Am fost un învingător. Și așa am rămas.

1 Like

Sa nu crezi ca poate un om sa faca mai bine sau mai mult decat o comunitate. Asta cu “fac singur decat sa folosesc un framework” e neeconomic si nementenabil.

2 Likes

Depinde de om si depinde de comunitate.

Oare comunitatea satenilor din Pravalita din Vale poate sa faca mai bine decat a facut Einstein?

In exemplul nostru sunt mai mari sanse ca omul sa fie din Pravalita din Vale, iar comunitatea sa fie de Einsteini.

E greu de crezut ca vei face singur mai bine un lucru intr-un timp limitat decat a facut-o un grup de oameni care si-a alocat timpul necesar pentru acel lucru.

Din pacate distributia inteligentei & abilitatilor nu e ca in povestile astea, ci pe dos.

Einstein si-ar crea comunitate intai apoi ar programa frameworkul

Si pana la urma ce ziceti ca a fost prima data? Oul sau gaina? :smiley:

1 Like

Oul.

Dinozaurii faceau oua si nu prea existau gaini pe-atunci.

4 Likes

Tine de scop daca e sa alegem intre a folosi o librarie si sa invatam o tehnologie.
Folosim frecvent tehnologia respectiva si e relativ mica? O invatam.
Folosim rar tehnologia respectiva, dar libraria este mare? Invatam tehnologia.
Tehnologia este stufoasa, iar libraria mica → folosim libraria.

Sunt situatii de mijloc, unde nu se potriveste nicio optiune din astea.
In cazul asta mai luam in calcul si alte argumente.

PS: si omul are in creierul lui un “garbage collection”.

Păi nici n-am susținut asta, chiar încurajez folosirea bibliotecilor sau a framework-urilor atunci când se poate :slight_smile:

Doar că nu sunt fanul black-box, unde folosim dar habar n-avem cum funcționează.

pentru că nu e niciodată un request amărât.

pentru că un request amărât acum înseamnă peste 6 luni logică de genul „back-off retry” sau logging mai avansat pe request-response pentru că API-ul extern nu se comportă cum trebuie și tot așa.

iar 3 ani mai târziu, ajungi să rescrii cam 80% din Guzzle de mână, trecând prin toate problemele prin care Guzzle a trecut acum -3 ani, aruncând la gunoi 6 ani de know-how doar pentru că tu ai crezut că e doar un simplu request.

acum, a se lua cu apă ce zic eu mai sus: e bine să știi ce-i “under the hood” pentru că deși e vendor-code și nu e în src/ , you still own it, as a developer.

dar personal, sunt tare tare împotriva ideii de a reinventa roata atunci când ea a fost inventată deja.

5 Likes