Szvsz te vagy ovis.
De tudodmit, mondok neked valamit, bar nem hiszem hogy a te szinteden lenne az erveles, csak epp mashonnan nezzuk.
Ket fuggveny kozott a kommunikacio mindig egy adott memoriablokk atadasaval zajlik. Egy pillanatra hanyagoljuk a streameket, tegyuk fel, hogy azok mindig vegigolvasottak.
A tipushelyesseg ennek a memoriablokknak az ertelmezeserol szol.
Statikusan tipusos nyelveknel az ertelmezes egy reszet implementalasi (forditasi) idoben, automatikusan lehet ellenorizni. Ez a vedelem nem teljes (pl. egy integer lehet, hogy meter, lehet, hogy lab mertekegysegben van megadva), tovabba nem ez az egyetlen dolog, ami ellen vedekezni kene, es nem is feltetlenul a legfontosabb.
Viszont ennek az ara az explicit jeloles es konverzio.
Amikor te scriptet akarsz osszedobalni, ezt nagyon nem szeretned kerulgetni, az, hogy neked ezen gondolkoznod kell, lassitja a programozasi folyamatot.
Abban teljesseggel igazad lenne, hogy ez egy bizonyos meret utan viszont atlathatatlanna teszi a rendszert. Nade nagy meretben nem is hasznalunk bash-t! Ahhoz kialakultak a specialis esetre a make fajlok ill. az autoconfigure, ahhoz kialakultak a scriptnyelvek mint pl. a szinten atlathatatlan perl, vagy a ruby es a python.
Jellemzoen viszont ezek is kerulik a tipusossagot!
Ez itt feature.
Vannak grafikus pipe rendszerek - pl. Yahoo Pipes - ahol neha nincs automatikus konverzio, de ezek nem tul sikeresek, foleg ha amugy lehetne (pl. Apple Automator)
Igy aztan ugy nez ki, hogy a scripteknel, amik rendszerint csak 1-1 feladatra, egyszer, eldobhato jelleggel kellenek, a legegyszerubb abszolut kerulni a tipusossag kerdeset, es az atadott memoriablokk - stdin - ertelmezeset teljes egeszeben a programozora bizzuk, implicit.
Scripteknel rendszerint az kell, hogy legyen egy vagy tobb adatforrasom, majd ezek kulonbozo szuresevel egy vegeredmenyt tudjak eloallitani, akar egyetlen sorban, interaktivan begepelve. Erre lett a bash, ezzel a feature-rel adtak el anno a UNIX-ot "szovegszerkesztonek" (troff) es programozoi kornyezetnek, es ezzel bizonyit idestova 46 eve.
A shell egyebkent nem lassu: majdnem minden muvelet C-ben zajlik, kizarolag vezerlesert lep ki az "interpretalt terbe", jellemzoen C programokat kotogetsz ossze, akik egy nagyon rovid utasitast - pl. regex - kapnak es jellemzoen agyonoptimalizalt parser facade elemzi oket.
Az OOP-rol pedig annyit, hogy sokan a strukturalis programozas utodjanak, levaltojanak tekintik, holott ez egyaltalan nem igaz: egyfelol a Strukturalt Programozas c. konyv egyik szerzoje Dahl, az OOP atyjainak egyike; foglalkozik is az osztalyokkal rendesen. Ellenben az Alan Kay-tipusu elmeleti OOP tarthatatlannak bizonyult, ma mar sehol nem latjuk nyomat, a class tulajdonkeppen modulszervezest jelent. De errol ne kezdjunk el vitatkozni, mert konnyen kiderul, hogy tenyleg nem vagyunk egy szinten.
Nyilvan letezik egy elegancia az onreflektiv rendszerekben, es nyilvan szep megoldasnak tunik, hogy egy teljesen .NET rendszered legyen shellel. Na de ez UNIX-on nem igeny, itt masrol beszelunk.