|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor:
![]() |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
expert
Grand Master
|
![]() petre (i ostali), interesuje me koje su "greške/nedostaci u dizajnu" PHP-a.
t.j. zasto bi bio nepogodan za zaista velike projekte. Koji jezik (platformu) preporucujes? P.S. ovo nije flame, niti nista slicno. Zaista me interesuje da cujem misljenje nekoga ko moze ovo dobro da objasni. |
![]() |
![]() |
![]() |
#2 |
Goran Pilipović
Sir Write-a-Lot
|
![]() @zextra: zbog toga se na live sajtovima isključi $smarty->compile_check pa onda ne proverava sve to
@robi-bobi: I mene to interesuje, naricito definicija "zaista velikih stvari". To je jako rastegljiv pojam.
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
![]() |
![]() |
![]() |
#3 |
Igor Marinović
Expert
|
![]() Na ovoj temi sam odgovorio u vezi Smartyja, MySQL-a, i slicnih tehnologija koje "nisu pogodne" za velike sisteme:
http://www.devprotalk.com/t436-p2-iz...plikacije.html Flickr je izradjen sa Smartyjem i MySQLom, a mislim da se Flickr moze nazvati velikim. Bas sam proveravao pre koji dan, dnevno je uploadovano vise od 250.000 fotografija, a ima vise od 90 miliona fotografija, dok se do kraja godine se ocekuje 230 miliona fotografija. |
![]() |
![]() |
![]() |
#4 |
Python Ambassador
Master
|
![]() Šta mi lično smeta kod PHP-a:
- nedostatak nativne unicode podrske - half-baked podrška za objektno programiranje (donekle popravljena sa PHP5) - nedostatak namespaces. Sve funkcije obitavaju u default namespace-u - nedostatak virtuelnih metoda - omogućava lako pisanje izrazito nečitljivog koda - ne postoji sistemska podrška za internacionalizaciju i lokalizaciju. Gettext biblioteka je problematična zato što nikada nije bila namenjena za multithreaded okruženja. Detaljnije informacije možete naći u starim diskusijama na django dev mail-listi u temama koje obrađuju i18n probleme. Čak i uz sve pobrojane mane (ima ih sigurno još, ali mi trenutno ne padaju na pamet) PHP ima izrazitu upotrebnu vrednost. A right tool for the right job™. PS: Trenutno skidam snimak sa Snakes and Rubies događaja. Čuo sam da su obojica govornika kritikovali PHP zbog nekih njegovih osobina, pa vam taj video može poslužiti kao dodatno štivo ![]()
__________________
Python Ambassador of Serbia Poslednja izmena od Petar Marić : 11. 01. 2006. u 17:14. |
![]() |
![]() |
![]() |
#5 |
expert
Master
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
![]() |
![]() @Petar
O kakvom objektno orijentisanom PHP pricas, kad bas kao i Perl ili Python, ne moras ni da deklarises promenjljivu da bi je koristio? Kako mozes da izvrsis uopste ikakvu apstrakciju tipova u objekte i funkcija u metode nad objektima uz nasledjuivanje osobina kad isti nisu definisani? PHP=bash. Tacka. Moze CGI program i u C/C++ da se pise, i to bih i radio da mogu ikako (imam root access na serveru) jer bi morao da pisem dobar i citljiv kod. Ne mogu 10 includovanih fajlova da pretrazujem da bih video ima li kolizije sa promenjljivom koju sam negde **mozda** upotrebio. #!/usr/bin/php -Wall <?php $string="Hello world!"; echo $string; ?> Undeclared variable $string at /cgi-bin/hello.cgi line 2 - jebi si mater E takav izlaz treba ![]() ![]() $objekt->funkcija("hello world!"); ![]() Poslednja izmena od bojan_bozovic : 11. 01. 2006. u 18:47. |
![]() |
![]() |
![]() |
#6 | ||||
Ivan Dilber
Sir Write-a-Lot
|
![]() Citat:
u perlu zaista ne moras da deklarises promenjivu ako bas ne zelis (tipa pises skriptu od 10 linija i smara te da kucas vise nego sto moras), ali svaki perl tutorijal pocinje sa preprukom da OBAVEZNO koristis use strict; na pocetku skripte, a tada MORAS da deklarise promenjivu da bi je koristio. Znaci ovo sto pricas vazi za PHP, ali uopste ne stoji za perl, i ne treba da ih sve trpas u isti kosh... I takodje u perlu imas mnogo napredniji scope mehanizam nego recimo u C-u, javi ili pascalu jer mozes da deklarises promenjive i kao lexicki lokalne sa my, i kao dinamicki scope-ovane sa local, a mozes i da koristis direktan pristup tabeli simbola pomocu. Tako da mozes mnogo finije da kontrolises sta je vidljivo odakle. A inace sto se tice prijavljivanja gresaka kod kompajliranja C tu bas i nije neki heroj, pascal ima neuporedivo smislenije i korisnije poruke o greskama...a perl ima jos bolje jer ti uglavnom tacno kaze ne samo na kojoj liniji je greska nego i sta je verovatan problem.. i ima -W mod u kome moze da analizira kod i da ti da warninge oko verovatnih gresaka, tipa ponovljene deklaracije promenjive, promenjivi koje nisu nikad upotrebljen i slicno... Citat:
Citat:
Potreba da konvertujes svaki karakter u integer pre nego sto ga upotrebis u nekoj aritmetickoj operaciji i obrnuto bi samo bio izvor gomile bugova. A greske koje bi mogle nastati zato sto si upisao broj u polje gde je trebalo da ide string su izuzetno retke i svode se na to da li znas da koristis neku klasu ili ne. Ako upises pogresne podatke u klasu naravno da nece raditi, ali tu ti strogi tipovi nece pomoci. Citat:
Koliko je meni u znanju, ako sam dobro razumeo sta si hteo da napises, sintaxa bi bila $object1->Im[1] i u PHP i u perlu, a $object1[1] ne bi trebalo da moze ?? To jest, za perl sam siguran da ovo ne moze, jer je tamo objekat referenca, a mislim da i u PHP-u isto. Takve stvari mozes da radis jedino u javascriptu jer su tamo nizovi u stvari propertiji objekta...
__________________
Leadership is the art of getting people to want to do what you know must be done. |
||||
![]() |
![]() |
![]() |
Alati teme | |
Način prikaza | |
|
|
![]() |
||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Izbor PHP Framework | dootzky | PHP | 100 | 21. 02. 2010. 18:15 |
Forum za web tehnologije | Pedja | Obaveštenja, predlozi i pitanja | 1 | 24. 08. 2006. 13:50 |