Egyetertek avval, hogy az OO nem szukseges semmihez. Viszont nem ertek egyet avval, hogy hatrany lenne. Szerintem az OO lenyege, hogy az egyszer megirt kod konnyebben ujrahasznosithato, mivel, a fuggvenyek (metodusok) a leglenyegesebb parameterhez vannak kotve es igy a compiler abbol le tudja vezetni, hogy mirol van szo. Masreszt a fuggvenynevek rovidebbek birnak lenni.
Vannak persze mas utak modok is erre: pl. az emlitett OCaml nyelv, amely bar tamogatja a OO szintaxist, en megsem szoktam azt hasznalni, mert valahogy "kilog a nyelvbol". Masreszt viszont a nyelv funkcionalis volta es a type inference es polimorf tipusok lehetove tesznek hasonlo merteku ujrahasznositast, mint az OO szintaxis.
Ez persze mind "csak" pszihologiai komponenes, de ahogy te is irtad, a fontos az, "hogy egy problémát milyen gépi+emberi ráfordítással tudsz megoldani".
A garbage collection-t persze fontos ervnek tartom a nyelved mellett, persze csak a C-hez vay pascalhoz kepest, mert egyebkent majdnem minden mas modern nyelv rendelkezik evvel.
Persze a sebesség C-ben megvan. Az Euphoriaban viszont sebesség *és* biztonság. Ja azt még nem is mondtam: nagyon szép post mortem dumpot csinál, tehát ha valami programozási hiba miatt elszáll, látod, hogyan jutott el oda, mi a változók aktuális tartalma stb. Szigorúan személyes véleményem szerint az OO inkább hátrány, úgyhogy kifejezetten díjazom, hogy nincs benne. Még nem láttam olyan problémát, aminek a megoldásához OO kifejezetten kellett volna, pedig több, mint 20 éve programozok. Automatikus garbage collection egyébként van benne. Szerintem egyébként a programozási nyelvek legfontosabb tulajdonsága a hatékonyság, tehát, hogy egy problémát milyen gépi+emberi ráfordítással tudsz megoldani. Szerintem ebben az Euphoria nyerô (+ az awk verhetetlen).
Szerintem a multiplatform nem tul sulyos erv, inkabb alapkovetelmeny, mert manapsag minden valamire valo cucc multiplatfom.
A sebesseg erdekes, csak a kerdes az, hogy amire igazan sebesseg kell, arra az ember nem hasznal e ugyis C-t?
Ha pedig error checkinget akarok, akkor nem jobb e C++-t megfelelo konyvtarral hasznalni, es akkor a sebesseget ugyanugy megkapom es meg OO is tudok programozni.
Ami furcsa, hogy a nyelv eleg maradinak tunik szinte semmi ujdonsagot nem latok benne a C-n vagy Pascalon kivul. Az egyetlen erv (ami persze nyomos) az runtime error checking. Ez erdekes, csak ketlem, hogy ez onmagaban eleg lenne.
Van benne automatikus garbage collection?
En kulonben nagyon afele tendalok, hogyha gyors programot akarok irni, akkor azt Ocaml-ben csinalom (www.ocaml.org): ez egy funkcionalis nyelv, lehet belole bytecode-ot es native kodot is generalni (nagyon sok platformra). Ez utobbis esetben lenyegeben olyan gyors mint a C. Van hozza garbage collaction es teljes runtime bound checking (kikapcsolhato). Ami a legjobb, hogy bar szigoruan tipizalt, type inference-el dolgozik, igy az esetek kilencvenkilenc szazalekaban nem kell deklaralnia valtozok tipusat, mert a compiler kitalaja kontextusbol. Nagy elonye a C-hez kepest, hogy konnyen lehet benne polimorf tipusokat deklaralni (ez a c++-os template-hez hasonlit, de kicsit attekinthetobb annal.) Es persze raadasul meg szabad szoftver is.
Akkor mondanám: teljes körű runtime error checking (nem tudsz túlcímezni, nem tudsz inicializálatlan változót használni). Qrva gyors noha interpretált nyelv, a p-code is terjeszthetô, azaz nem kell félned attól, hogy valaki ellopja az ötleteid vagy belebuherál. A használt listaszerkezet rendkívül rugalmas, mert egyesíti a tömb (ortogonális struktúra) és a klasszikus struktúra elônyeit. Multiplatformos. Egyébként nem erôltetem, tehát a másik megállapítás (nem a tiéd) igaztalan. Mindig az volt a véleményem, mint Teng et-nek: virágozzék száz virág. Továbbá: nem az a fontos, milyen színű a macska, hanem az, hogy megfogja az egeret. Ez igaz az euphoria-ra is.
OFF (Hat igen, vannak nehanyan akik minden kerdesre a sajat kedvenv script-nyelvuket eroltetik, pedig mar ugyis annyi van mint a nyúlszar... tele van az emberek töke harddiszkje a rengetegféle interpreterrel)