Class-C : Új fiú a C alapú objektum-orientált programozási nyelvek társaságában

Címkék

Már mindenkinek a könyökén jönnek ki a legújabb programozási nyelvek és mindenki jól elvan a C/C++/Objective-C triumvirátussal, de a Class-C talán érdekes lehet a C szerelmeseinek. Tulajdonképpen szabványos C minimális módosításokkal, ami megsokszorozza a C fejlesztés sebességét. Az osztályok és objektumok létrehozása pofonegyszerű és a header file-ok karbantartásával sem kell bajlódni.

web : www.milgra.com/classc
git : www.github.com/milgra/clc

Hozzászólások

Felmerül bennem a kérdés, hogy hallottak-e a Vala nyelvről.

Miért zavar, hogy valaki azt csinál, amit akar? Képzeld, vagyunk páran olyan emberek, akik szeretnek olyan dolgokat létrehozni, aminek nem feltétlenül van értelme, mégis jól érezzük magunkat vele. Van aki zongorázik, van aki képeket fest és van aki programokat ír csak azért, hogy magát szórakoztassa és esetleg másnak is örömet okozhat vele. Próbáld ki te is! Jó dolog, ha az embernek van valami hobbija.
Amúgy meg mikrokontrolleres környezetben, ahol nincs C++ fordító, még hasznos is lehet egy ilyen egyszerű cucc.

Hát az a te bajod hogy azzal amit csinálsz, nem akarod jobbá tenni a világot, hanem csak meghagyod "hobbi szinten". Attól még másnak lehetnek eltérő motivációi.
Pl. én meg zenélek. Vannak nálam kompetensebb zeneszerzők? Vannak. Van olyan, aki olyat tudna kifejezni, amit én? Nincsen. Ha 10 embert érdekel, akkor már megérte.
Nyilván a Class C írójának sem gondolja hogy most mindenki ezt fogja mostantól használni, de attól még lesz akinek hasznos lesz.

Aranyos kis játék. Kis önuralommal a C++-t is lehet használni hasonló módon nem?
Igaz ott még van azért a runtime?, de akkor is.

Én is erre gondoltam.
A C++-nak is az a alapfilozófiája (szemben az Obj C-vel), hogy OO featureöket a minimális (és azon belül determinisztikus) kód és adat overheaddel valósítsa meg. Ez - ha jól tudom - deklarált kiindulási pont.

Csak emellett még próbálják az Alan Kay idézet másik felét is megvalósítani:
"Simple things should be simple, complex things should be possible."

Ami ezek után nem tetszhet egyeseknek, hogy a "simple thing"-re is adható így komplex megoldás... És innen már csak Murphy törvény, hogy ez be is következik a gyakorlatban.

Nincs RAII... Useless...

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

Azt a szerző bizonyára puhapöcs dolognak tartja (biztos nem annyira mint a GC-t de gondolom épp eléggé) írja is a Intro.pdf-ben a végén található filozófiai összefoglalóban:

"Memory management

If you don't like memory management, you don't like programming"

Erre varrjál gombot! :P

Meg is érdemli...
A kérdés már csak az, hogy mennyivel nyújt így a nyelv többet mint syntactic sugar a fv pointeres struct-okhoz képest ("OOP" in C).
Nekem úgy tűnik nem sokkal.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee." -- Ted Ts'o

A függvénypointer a structban egy objektumonként jelentkező "felesleges" overhead:
ezt a pazarlást azért a C++, a Vala, az Objective C (mondjuk globálisan ő már mindenképp tárol pointert a methodra de classonként nem objektumonként, mondjuk mintha C++-ban minden fv. virtual lenne) is elkerüli, és ahogy én értelmeztem a Class-C is!