|
Programiranje Java, Perl, VB, ASP, .NET, C, C++, Pascal, Delphi Sponzor:
![]() |
![]() |
|
Alati teme | Način prikaza |
|
![]() |
#1 |
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. |
![]() |
![]() |
![]() |
#2 | ||||
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. |
||||
![]() |
![]() |
![]() |
#3 | |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
![]() ![]() |
![]() OT:
Citat:
![]() Koliko mi je poznato i Java i .NET imaju mogućnost da se kod prevede u mašinski znatno ranije (gcj za Javu odnosno ngen.exe za .NET) i onda otpada dinamičko kompajliranje.
__________________
Commercial-Free !!! Poslednja izmena od degojs : 11. 01. 2006. u 23:55. |
|
![]() |
![]() |
![]() |
#4 | ||
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
![]() ![]() |
![]() OT:
Citat:
Citat:
Mislim da je besmisleno na ovakav način "braniti" loosely-typed jezike, tj. napadati ove druge. Ja takođe lično malo više volim da radim sa ovakvim "opuštenijim" okruženjima (ako nije nešto mnogo veliko u pitanju), ali daleko da bih bilo šta od ovog gore naveo kao nedostatak nekog jezika. Kao i uvek - use the right tool for the job.
__________________
Commercial-Free !!! Poslednja izmena od degojs : 12. 01. 2006. u 05:05. |
||
![]() |
![]() |
![]() |
#5 | ||
Ivan Dilber
Sir Write-a-Lot
|
![]() Citat:
Sa druge strane na web-u su svi inputi uvek stringovi, i sasvim sigurno bi se desavalo relativno cesto da zaboravis da uradis kasting stringa u int i slicne stvari. Naprosto moja teza je da briga o tipovima podataka predstavlja samo jos nesto o cemu moras da mislis, a to povecava sanse za greske i usporava razvoj samim tim, a istovremeno ne vidim velike prednosti koje pruza... Citat:
__________________
Leadership is the art of getting people to want to do what you know must be done. Poslednja izmena od ivanhoe : 12. 01. 2006. u 19:46. |
||
![]() |
![]() |
![]() |
#6 | ||
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
![]() ![]() |
![]() Citat:
Druga stvar, pre si kao primer naveo onu neku raketicu što je pala, a sad se ipak ograničavaš na web. Nije baš isto ![]() Citat:
O da, za kraj, što se brzine razvoja tiče mislim da i tu grešiš. Kod strongly typed okruženja, kompajler će upravo umesto tebe da uhvati gomilu sitnih greščica (od najobičnijeg krivo otkucanog) do onih većih i time sebe oslobađaš da misliš o tome, itd, itd. Stvarčice kao intellisense da ne pominjem. Rekao bih da loosely typed jezici omogućuju brži razvoj sve dok projekti nisu veći i komplikovaniji. Ajd dobro, od mene dosta da ne počnemo da tupimo ![]()
__________________
Commercial-Free !!! Poslednja izmena od degojs : 12. 01. 2006. u 23:00. |
||
![]() |
![]() |
![]() |
#7 |
expert
Master
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
![]() |
![]() @ivanhoe
Upravo u tradicionalnim jezicima ne brines o tipovima, a u skript jezicima moras recimo class nesto { var $broj1; function promenibroj1($vrednost) { if (is_float($vrednost){ $this->$broj1=$vrednost; } } } i sad moras da koristis is_integer ili is_float ili sta vec u svakoj funkciji nad klasom a ako ih imas hiljadu? Nema web aplikacije sa hiljadu funkcija, u tome je problem, kada radis na stvarno necem velikom, cenices striktnost koju ti namece tradicionalni jezik. Dakle bas moras da vodis racuna o tipovima, dok tradicionalni jezik vodi racuna o tipovima za tebe da ne mesas babe i zabe ![]() Dalje, u dobrom programskom jeziku kada $vrednost nije float imas exception - i mogucnost da gresku obradis bas onako kako ti treba za odredjeni slucaj bez toga da program izbacuje neke nerazumljive greske ili sto je jos gore, zabrlja podatke u nekoj tabeli (v. gore, ovaj kod jos mora da se menja da bi smo bili sigurni da npr. necemo da imamo dvaput isti ID u tabeli, jer ce tiho da preskoci sve ako ne dobije float ![]() ![]() ![]() Poslednja izmena od bojan_bozovic : 13. 01. 2006. u 04:12. |
![]() |
![]() |
![]() |
#8 |
Direktor Kombinata
Invented the damn thing
Datum učlanjenja: 07.06.2005
Poruke: 2.669
Hvala: 44
119 "Hvala" u 64 poruka
![]() ![]() |
![]() Bojane, ako ti PHP zadaje takve glavobolje mislim da bi trebalo da ce baciš u pekare i ostaviš programiranje ljudima koji imaju više živaca.
Uz malo discipline i poštovanje proverenih patterna PHP aplikacije mogu da budu jako lepe i lake za održavanje. Budi dosledan i disciplinovan, dobro dizajniraj svoje aplikacije (nemoj nabacavati kod), razumi platfromu sa kojom radiš i sve će biti u redu. PS: PHP je daleko od savršenog jezika, razvojni tim je napravio par debilnih odluka u skorije vreme i čini se da će napraviti još par u budućnosti, vrlo je lako sa PHPom napisati glup kod koji je jako teško održavati itd itd itd ali to opet ne znači da se sa njim ne mogu napraviti kvalitetna rešenja.
__________________
activeCollab - Project Management and Collaboration Tool iz domaće kuhinje | area51.rs - Blog |
![]() |
![]() |
![]() |
#9 | |
I'm a PC too.
Wrote a book
Datum učlanjenja: 05.06.2005
Lokacija: Kanada
Poruke: 1.354
Hvala: 82
130 "Hvala" u 89 poruka
![]() ![]() |
![]() OT:
Citat:
(Nadam se da se niko ne ljuti zbog ovoliko OT poruka ![]()
__________________
Commercial-Free !!! Poslednja izmena od degojs : 12. 01. 2006. u 06:18. |
|
![]() |
![]() |
![]() |
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 |