Programming fatigue

Programming fatigue

Îmi place să cred că nivelul la care sunt este unul mulțumitor. Se poate mai bine, cu siguranță, dar este good enough. Cu toate astea, nu rar mi se întâmplă să învăț un concept nou și să mă lovesc de tot felul de porcărioare mici. Azi vorbim despre pachete.

Cam toate limbajele moderne au cel puțin un manager de pachete. Composer pentru PHP, Node, Yarn sau Lerna pentru JS, Cargo sau Crates pentru Rust, NuGet pentru .NET, Gem pentru Ruby, PIP pentru Python șamd.

Eh, problema cu toate pachetele astea este aceeași de ani de zile: toate pleacă de la premisa că deja știi cum funcționează lucrurile iar articolele introductive… brrr.

Acum câțiva (mulți) ani, când încercam marea cu degetul și Ruby cu terminalul, aveam Gems și aveam Bundler. Nici acum nu știu care-i care și ce face, dar la momentul respectiv aveam fix zero experiență cu genul ăsta de managere de pachete (pe vremea aia Node nu exista iar PHP avea PEAR…) . Eh, iar informațiile porneau de la un nivel mai sus decât eram eu pregătit să procesez.

Cam același lucru se întâmplă și azi. Intri pe github, cauți biblioteci JS și vezi că una se instalează cu npm, dar alta cu yarn. Altele au instrucțiuni pentru ambele. Așa cum am zis ieri, am configurat un Storybook: o parte din documentație folosea yarn, alta npm.

În Python… e horror. Încă se folosește Py2.7, dar ultima versiune e 3.x (și e apărută de mulți ani. Ești la început cu Py? Succes!

Apoi este treaba cu versionarea. Composer a introdus relativ recent documentație despre versionare. Când am început să folosesc Composer, documentația asta avea vreo două-trei paragrafe. În NPM nici acum nu știu unde găsesc informațiile astea.

La sfârșit trebuie să las o notă despre unealta venită din ultimul cerc al iadului: Webpack. Este absolut horror de configurat și bag mâna în foc că majoritatea utilizatorilor doar fac copy/paste din diverse locuri, sperând că fac lucrurile să meargă. Și când merg… ei bine, nu le mai atingem!

Nu am concluzie, voiam doar să mă descarc.

Adaugă un comentariurăspuns pentru

Poți adăuga bucăți de cod folosind [code]codul tău aici[/code], [js][/js], [php][/php] etc.

Link-urile în context sunt binevenite. Comentariile fără nume/email valid sunt șterse.
PS: Comentariul NU este editabil.

Acest sit folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Site-ul blog.iamntz.com utilizează cookie-uri. Continuarea navigării presupune acceptarea lor. Mai multe informații.

windows apple dropbox facebook twitter