Citiraj:
Originally posted by dr.fiksi
Hm, to bi bilo za zanimljivu programersku raspravu, i možda jedan dobar put.Ali, kako brzine cpua rastu, a kompajleri se usavršavaju, mislim da nitko više neće na to misliti.C++ je još uvijek gotovo idealan jezik jer ne sili niti OOP niti proceduralni način, već se po potrebi sve može kombinirati.Izgleda da se nitko osim nas neće uključiti u ovo, ali ako imaš išta, postaj pa što bude.
|
Nisam imo ništa konkratno -
ali razmisli - napraviš neku vrstu predprocesora - koja generira strukturu sa svim podatcima u klasi, funkcije odvojiš u poseban namespace (ja mislim da ovo ne usporava rad) i onda za sve sve funkcije u klasi zoveš namespace - funkcija i onda kad prenosi klasa listu svojih funkcija - samo prenese namespace klase - a public/private/preotected - za to se brine kompajler koji prije provjeri orginalni C++ kod dali je ispravan - po public/private/preotected i sličnim stvarima - tako da se za te stvari ne moraš brinut pri runtime -
Operatore - samo napraviš funkciju sa imenom npr - oprplus - i staviš je u namespace od klase - te potražiš cijeli kod - za mjesta gdje se operator koristi i staviš funkciju umjesto operatora - ovo je zapravo pretvaranje C++ u C kod - i to jest u stvari što želiš dobit - proceeduralno programiranje
Ali možda je ovo glup način - jer je već većina programa rade sa prvobitnim tipom klasa - tako da je ovo neučinkovito jer bi se svi sistemi morali mjenjat na ovaj način. Ali kažem možda jednog dana - nekom padne na pamet nešto bolje - meni je i ova brzina dosta za moj engin.
Istina je da OOP ne usporava toliko kod koliko ne efikasni algoritmi i kompajleri - ali to je ništa što mali inline assemblya nemože rješit
