Jump to content


Forumul s-a mutat!

Aceasta este arhiva forumului MacForum.ro din perioada 2010-2014.
Noul forum poate fi accesat aici.
Conturile vechi nu mai sunt valabile pe noul forum!





Photo
- - - - -

A scrie cod curat este o știință...

Posted by Tudor Vedeanu , in iPad, Mac 17 May 2010 · 655 views

Attached Image: macworld-84.jpg

În primul număr al revistei Macworld (apărut în 1984; sunt fericitul posesor al unui exemplar!) Bill Atkinson, unul dintre membrii de bază ai echipei care a creat primul Mac, descrie modul în care scria el cod în acele vremuri:

A scrie cod curat este o știință. E nevoie de o minte clară, ordonată. Am fost „domnul Interfață Grafică” în proiectul Lisa și am făcut primitivele grafice QuickDraw - 40.000 de linii de cod atent scrise în limbaj de asamblare pentru procesoarele 68000. Pentru MacPaint, în cel mai rău caz posibil - și credeți-mă că știu cum e - am la dispoziție doar 300 de biți de memorie liberă din totalul de 128.000 ai computerului. În aceste condiții fiecare linie de cod trebuie minimizată și compactată. Nu am la dispoziție niciun spațiu suplimentar de memorie.


Câți dintre programatorii de astăzi mai au timpul/priceperea/cheful de a stoarce ultima picătură de performanță din hardware-ul pe care-l au la dispoziție? De ce aproape la fiecare versiune nouă a unei aplicații „grele” suntem nevoiți să ne schimbăm computerul cu unul mai performant?

Dacă în cazul computerelor mai putem arunca înăuntru câte un modul suplimentar de memorie, un iPad este limitat la 256 MB RAM. Este oarecum la fel ca Macul lui Bill Atkinson. Un programator ar trebui să aibe mare grijă atunci când scrie o aplicație pentru iPad pentru că nu ar trebui să-și permită luxul de a face risipă de resurse (în caz contrar: boom!). Din acest punct de vedere mă bucur că Apple ține sub control platforma iPhone OS. E un mod de a impune anumite standarde pentru crearea aplicațiilor, lucru imposibil de aplicat acum în lumea computerelor. Nu aș vrea să văd pe iPad aplicații cross-platform făcute în Flash sau în orice alt mediu care nu ține cont și nu exploatează la maxim facilitățile iPhone OS.




Photo
Dragos Salageanu
18 May 2010 08:19
100% de acord. Tin minte faza cand am incercat in liceu sa facem primul TSR ca sa interceptam parola de admin a profului de info intr-o retea Novell :) In Pascal a iesit peste 60k, iar tinta noastra era de 2k. In C, dupa multe compilari, l-am adus la putin 30k, dupa care ne-am lasat pagubasi si ne-am apucat de asm :) In final, am realizat ca avem nevoie de semnificativ mai putin de 2k pentru aplicatie ;)
Păcat, însă, că aplicatțiile noi (a doua jumătate a lui 2009) merg ca naiba pe prima generație de Touch-uri. Aplicații destul de banale, care sigur ar mai putea fi optimizate în prostie.
Este mai mult decat o stiinta, este o arta.

Diferenta majora dintre iPhoneOS si OSX este ca iPhoneOS nu are GC ("memory" garbage collector) fortand applicatiile sa fie foarte constiincioase in privinta utilizarii de memorie, nu exista luxul dat de GC.

Apple sunt foarte de drastici in legatura cu ce are voie sa compileze applicatile acceptate in app store, problema este insa ca 90% dintre applicatiile pentru iPhoneOS sunt scrise prost oricum.

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

September 2015

M T W T F S S
 123456
78910111213
14 15 1617181920
21222324252627
282930    

Recent Comments

0 user(s) viewing

0 members, 0 guests, 0 anonymous users