( bzt | 2024. 03. 11., h – 17:38 )

Szerkesztve: 2024. 03. 11., h – 17:57

Elgondolkodtam, hogy lehetséges-e egyáltalán értelmes szabályokat kiírni alkalmazásfejlesztésre, amennyiben a libek is beleszámítanak.

Hát nem egyszerű. Ha a libek számát nézzük, akkor biztos, hogy a C magasan nyer, de elsősorban azért, mert már nagyon régóta használják, és minden más nyelvvel is garantáltan kompatíbilis.

A libek minőségét pont a libek hatalmas száma miatt nehéz meghatározni, mert tuti kimarad pár. Ugyancsak ennek köszönhető, hogy nincs egységes lista róluk (bár volt próbálkozás, pl. CPAN), és hogy natívan kell telepíteni őket (pl. debian és ubuntu alatt csak hozzácsapod a csomagnév végéhez, hogy "-dev", és a többit az apt megoldja neked). Ez jó, mert nincs szükség külön hekkelésre meg infrastruktúrára, gond nélkül simul a rendszerbe, rengeteg a mirror; ugyanakkor rossz is, mert minden disztrónak saját lib listája van emiatt. (Például ugyanaz a Perl xml parser lib elérhető sima csomagban is a disztrómon, ami feltesz manpage-t meg mindenféle doksit, meg CPAN alól is, ami viszont nem telepít manpage-t. Melyiket vegyük figyelembe? Python-os libek esetén ugyanezek a kérdések merülnek fel.)

Ha a dokumentáltságot akarjuk nézni, akkor megint hasonló a szitu: nem minden libnek könnyű megtalálni a doksiját, és soknak nincs, vagy rossz. Ugyanakkor az is tagadhatatlan, hogy a valaha létezett legjobb lib doksik mind C libekhez tartoznak.

Itt külön kiemelném a Microsoft-ot, ami általában csapnivaló doksikat készít, de az MSDN-je annyira szenzációs, hogy azt komolyan tanítani kéne, hogy tessék, így kell lib doksit csinálni. Minden paraméter külön-külön részletesen el van magyarázva, bőven megtolva infókkal meg linkekkel, és ha valami nem is lenne világos, egyértelmű, merre kell tovább keresgélni. A különösen neccesebb hívásoknál, meg a kezdők által gyakran felmerülő kérdésekre meg mindenhol konkrét C nyelvú példaprogramokat tartalmaz a dokumentáció, még akkor is, ha triviális (például ilyeneknél).

A másik tökéletes példa az ugyancsak kiváló minőségű SDL dokumentáció. Na, így néz ki egy jó lib doksi. Részletes paraméter leírás, linkek, példaprogramok dögivel. (Sajnos épp webmotort váltanak, így előfordulnak benne kissebb formázási bökkenők, de ezeknek semmi köze a doksi minőségéhez, ez technikai probléma).

C# esetén nem rendelkezem kellő tapasztalattal, de ismerősök szerint a .NET dokumentáció ugyanilyen jó minőségű, már ami a Microsoft által biztosított libeket illeti, de a többi 3rd party libé már csapnivaló. De ezt csak mások véleményére alapozva írom, semmiképp sem mérvadó, nincs személyes tapasztalatom.

Java esetében hasonló a helyzet, de ott még tovább bonyolódik a dolog a rengeteg szerteágazó middleware miatt. Ott sem hiszem, hogy könnyű lenne értékelni a libeket megbízhatóság vagy épp dokumentáltság szerint, mivel nagyon nagyon sok van, ráadásul sokminden middleware specifikus, így kérdéses, mit is vegyünk szó szerinti Java libnek.

...stb.

Szóval ha valaki ki akar írni egy alkalmazásversenyt, akkor hajrá, támogatom! Én biztos nem fogok, mert nem érzem azt, hogy igazságos szabályrendszert tudnék felállítani hozzá.