» »

PHP vs. ASP.NET vs. $OTHER

PHP vs. ASP.NET vs. $OTHER

1
2
3 4

BlueRunner ::

2.) Bolje to, kot pa System.Abcd.Something.AgainSomething.SthElse.Random.žnj(a, b);

Mislim, daje bolano, če nekdo reče, da je bolje imeti imenafunkcij, imena_funkcij in imenaFunkcij, modul_imena_funkcij, modul_imenafunkcij in modulimenafunkcij vsa pomešana med seboj. Vsak vsaj približno resen programer se bo res skregal glede tega, katera izmed teh oblik je najboljša, hkrati pa bo vedno in povsod rekel, da ko je ena določena, se jo drži v dobrem in slabem. Če se ne drži ene oblike, postanejo programi grdi, nepregledni in težji za vzdrževanje, kot bi sicer bili.

3.) Še dobro da ima MS vse dobro komentirano. In zakaj je tam napačen recept? Slučajno ne deluje? Ali si po novem odkril int sql injection?

Dokumentirano, ne pa komentirano, kot si narobe prebral. Poglej si dokumentacijo za Javo, .Net in Python, potem pa se jokaj. Zmazek od dokumentacije za PHP se lahko pred ostalimi skrije v kot in joka. Na koncu te dokumentacije so neki recepti, kjer piše da uporabi posebne funkcije za pripravo nizov: mysql_real_escape_string (ime mi je všeč: _real_, kakor, da bi bila mysql_escape_string _fake_), sqlite_escape_string (aha, ta pa ni _real_ in ne pozna Unicode) ali pa naj se zanaša na na funkcije za search/replace v nizih. Pri temu pa popolnoma ignorira obstoj PDO::prepare, ki je na svoji strani dokumentiran kot dober pristop. Skratka dokumentacija, ki vodi v težave. Še posebej tiste, ki scene še ne obvladujejo v celoti.

4.) Debugger lahko to reši. Zend ima enega fajnega, pa tudi open source alternative so.

Aja? Razhroščevalnik potrebuješ zato, da boš ugotovil, da bereš iz spremenljivke, ki ni bila nikjer deklarirana/inicializirana? Še JavaScript, ki je star ata skriptnih jezikov, ima to urejeno, PHP pa še vedno ne. Pa tudi razhroščevalnik ne moreš uporabiti za preventivno iskanje takšnih napak. Ne gre. Malo razmisli zakaj, če ti bo uspelo. Potreboval boš kakšen PHPlint.

5.) Tudi PHP loči med string in int, lahko pa delaš vse skupaj mešano. Nažalost še nisem prišel na situacijo, ki si jo opisoval, tako da ne bi moral na pamet povedati kaj ti vrne.

Seveda loči, dokler ne postane preveč pameten. Potem pa razmišljaj kaj se bo zgodilo, ko ne boš primerjal konstant ampak bodo to vrednosti v spremenljivkah. Potem boš pa kar nenadoma ugotovil, da je "11111111111111111111" nenadoma enako "11111111111111111112". Ker še pretvorba, ki jo PHP dela, jo dela tako narobe, da Pentium FDIV hrošč proti njej izgleda kot dober štos. Aha, saj lahko delaš razhroščevanje korak po korak z vsem možnim smetjem, ki ti ga lahko vnesejo uporabniki. Mhm. To bi pa res rad videl.

Glede tega, da pa ti še nisi naletel na takšno situacijo, pa ne bodi prepričan. Kako pa sploh veš, da ne? Ali si pri takšni bedastoči od delovanja sploh upaš reči, da se to to ni nikoli zgodilo. Kaj pa če tega nisi niti opazil, ker poskusil še enkrat, pa je z drugimi podatki nenadoma delovalo pravilno.

7.) In zakaj bi spletna aplikacija potrebovala več nitnost? Kaj bi s tem pridobil? Delno nitnost lahko dosežeš s forkanjem, ampak kakšen razlog imaš za to.

Obvladovanje več sočasno odprtih in dolgoživih povezav je pri večnitnih spletnih strežnikih lažje in bolj varčno s sistemskimi viri. Pri Apache httpd so to že davno nazaj ugotovili, na PHP se čaka že leta in leta. Zakaj je to pomembno? Keep-alives in AJAX. Kaj ima to veze s PHP-jem? Dokler ni modul, ki se naloži v pomnilniški prostor strežnika reentrant, potem tudi strežnik ne more biti večniten. PHP pač ni prilagojen delu z večimi nitmi. To je resna omejitev. Če ne veš zakaj, pač nimaš pojma o temu.

Recimo pa, da Linux (jedro) pri alociranju VM privzeto malo goljufa z overcommitom. Kar načeloma ni problematično, dokler ne ugotoviš, da ti bo obremenjen strežnik pri OOM začel procese pobijati. Potem pa se zgodi, da ti bo slučajno ubil controlling httpd proces. No, pa smo izgubili celoten spletni strežnik. Zato, da pa se to ne more zgoditi, se na produkcijskih strežnikih spremeni nastavitev za overcommit tako, da se ne more rezervirati pomnilnika, če ta pomnilnik ni na voljo. Če pa na takšnem strežniku potem poganjaš strežnik, ki ni večniten ampak forka, pa se lahko posloviš od učinkovite izrabe sistemskih virov. Kar pa seveda škodi skalabilnosti. Ne veš o čemu govorim? Nič hudega. Če se ti to ne dogaja, potem lahko še naprej živiš brez tega znanja. Samo potem bodi pošten in pošteno povej, da se z resnično velikimi produkcijskimi sistemi v življenju še nisi srečal.

8.) PHP še ni unicode, ima pa funkcije za delo z unicode, tako da lahko že nekaj časa brez problema napišeš aplikacijo, ki bo to podpirala.

Kako odlično deluje Unicode v PHP-ju pa občasno opazi tudi tukaj na slo-tech, ko je naslov kakšne teme odrezan na polovici znaka. Pa tukaj ne delajo amaterji. Pa se morajo še vedno tepsti s platformo, ki naj bi jim pomagala in lajšala delo. Očitno se ti pač ne zdi problematično, da moraš pisati doadtno solato, da ti počne to, kar veliki poznajo že leta in leta.

Samo razjasnim, kar tebi ni uspelo. PHP ima napake, C# pa tudi. in do teh sql injection napak je pripeljalo neznanje programerjev.

Upam, da bo tebi uspelo dojeti, da je PHP kot jezik in kot platforma takšen, da je v njemu potrebno mnogo več discipline, da se napiše varno aplikacijo - tudi iz vidika SQL injectiona. V PHP je peprosto večja verjetnost, da bo tudi dolgoleten programer naredil usodno napako, za začetnike pa je to skoraj zagotovljeno.

Če ostala okolja programerjem poskušajo pomagati tako, da jim nudijo konsistenco, varnost, standardne abstraktne pristope za običajne vzorce programiranja, pa se pri PHP-ju še vedno vztraja na nepreglednosti imen, abstrakcijah, ki se jih ne promovira in napakah, ki se jih ohranja samo zaradi kompatibilnosti.

Let's face it. Še Pasadena je lansko leto bila brez sql injection zaščite. ASP.Net je pa framework in ga ne moreš direktno primerjati z golim PHPjem. Prej lahko primerjaš PHP z ASP. ASP.Net pa lahko primerjaš z zelo veliko frameworkov, ki obstajajo. Recimo CodeIgniter, CakePHP, symfony, Zend, ... In v teh frameworkih je poskrbljeno za sql injection.

Eh, pozabi... blodiš levo in desno, pa še tega ne veš kaj in kako.

Če pogledaš gol programski jezik PHP in ga primerjaš z Javo/Python/C#, je PHP preprosto retardiran. Razlogi so zgoraj.

Če daješ primere na temo $mysql->query(), potem ne govoriš o golem programskem jeziku, temveč govoriš o knjižnicah, ki jih okolje vključuje. Torej prosiš za primerjavo z JDBC/JPA/DB-API/ADO.Net/EF/... Tudi tukaj PHP glede naprednosti in prijaznosti do programerja gladko popuši. Če imaš eno knjižnico za en RDBMS, kjer zadeva dela na en način, potem pa vse ostale knjižnice na drug način, PDO kot abstrakcija dostopa do RDBMS pa na tretji način, lahko to poimenuješ kot kravjek. Saj pognoji zemljo, ampak smrdi pa tudi do neba. Seveda pa moraš vedeti kaj več o razvoju programske opreme, kot pa je običajen nivo razumevanja amaterja.

V dodatnih skeletih je menda poskrbljeno za SQL injection. V .NET to dobiš že v škatli. Ne rabiš vleči notri še dodatnih kosov kompleksnosti, če jih ne želiš. Pa tudi v PDO je poskrbljeno za SQL injection. Če se bi kdo v PHP svetu pravilen vzorec sploh propagiral.

Ti pa očitno pozabljaš, da ima C# eno veliko pomanjkljivost. Deluje samo na najbolj nezanesljivi platformi - Windows.

Odpri novo temo in v njej podaj svoje argumente za to bedasto izjavo. Z veseljem ti bom pokazal, da vsi argumenti, ki jih boš navajal veljajo tudi za "zanesljive" platforme.

Ker primerjaš ASP z PHPjem, poznaš kakšno veliko spletno aplikacijo napisano v ASPju (lahko tudi frameworku kot je .NET)? Če se prav spomnem, je največje socialno omrežje - Facebook napisano v PHPju. In dvomim, da je vse to napisal samo en človek, ko že praviš, da je C# tako super duper za projekte z več programerji.

Ali ti sploh veš kaj so in kaj obsegajo Java, Java SE, Java EE, ASP, ASP.NET, .Net Framework in C#? Eh, brez veze... itak pljuvaš po stvareh, ki jih sploh ne poznaš. Oziroma sploh nimaš pojma o njih. Če bi imel kaj pojma, potem bi vedel, kaj so res njihove omejitve, ne pa navadna pavšalna nabijanja, ki se jih poslužuješ sam.

Sicer pa naj razvijalci FB-ja sami povedo kaj o PHP-ju:
- "PHP does not encourage good programming in the large (at 3M lines of code it is a significant organizational challenge)."
- "Asynchrnous event-handling": prevedeno v slovenščino to pomeni, da smo morali sami dodati manjkajočo večnitnost

Če pa se gre slučajno za masovno skalabilnost in Facebook, pa si preberi tole in tole. Joj. Tako lep in seksi LAMP, ko je pa potrebno izkoristiti vse zmogljivosti današnjih standardnih sistemov, se pa nekaj ustavi. Pa verjemi mi na besedo, da težava ni v črkah L in A.

In katera je manj zanesljiva?

Tista, ki jo vzdržujejo amaterji. I.e. ti.

Ne, nikakor ni bolje. Namespace-i obstajajo z dobrim razlogom.

Kakšnim? Da otežijo delo?

a) Saj veš, da s v PHP 5.3 končno dodali namespace. Zakaj le, če so to tako slaba ideja? Ali trdiš, da razvijalci PHP ne vedo kaj počno?
b) Če ne razumeš za kaj je to zelo uporabna stvar, potem si pač obsojen na svojo lastno nevednost in težje delo. Kajti verjel ali ne, ti obstajajo samo in izključno zato, da se stvari logično organizirajo in olajšajo za uporabo. Nekaj, kar PHP-ju zelo manjka in dokler ne bo prekinil s svojo neslavno preteklostjo, toliko časa ne bo bolje.

Mogoče še kakšno, ki nima veze z MSjem?

Ali pa ti kakšno, ki je napisana samo s PHP-jem, kot si ga lahko sam pobereš in prevedeš pri sebi doma. Facebook je s PHP-jem naredil cel kup stvari, da ga je usposobil za delo, ki ga pri njih opravlja. Stvari, ki tebi in meni preprosto niso dostopne. 100% kompatibilnost s tem kar deluje pri FB in tem kar ti in jaz poganjava na svojih strežnikih je larifari.

Zgodovina sprememb…

  • spremenil: root987 ()

BlueRunner ::

ASP.Net pa nima backward compatibility. Za vsak nov framework je potrebno aplikacijo ponovno napisati.

Nimaš pojma. CRL je šel skozi verzije 1.0, 1.1 in 2.0. 1.1 je bila nazaj kompaibilna s 1.0, 2.0 pa je trenutna aktualna. Podpira pa vse frameworke od 2.0 do 3.5. Vse tri pa lahko po potrebi živim vzporedno in neodvisne ene od drugega. Tako kot to marsikdo še danes počne s PHP-jem, ki polomi kompatibilnost skoraj pri vsaki manjši reviziji (tudi iz 5.0 na 5.1, ne samo iz 4.0 na 5.0). S to razliko, da PHP ne pozna CRL, kar pomeni, da vsaka sprememba v verziji PHP nujno posti posledice na vsaki skripti, v dobrem in v slabem.

Edit: ASP.Net/C# je popularen tudi zaradi preproste vključitve dodatnih knjižnic (kar je bilo impossible pri classic ASPju) in tega pri Monotu ni, ker jih enostavno ne podpira.

Bedarija. Pri klasičnem ASP-ju je bilo knjižnice tudi enostavno dodajati. Še celo bolj enostavno, kot pa je to danes možno pri PHP. Pa še danes lahko uporabljam katero koli knjižnico napisano l. 1998 v IIS7, brez ponovnega prevajanja te knjižnice.

To, da pa dodatnih knjižnic pri Mono ne morem vključevati pa je prvovrstna laž.

Neargumentirano podtikanje se torej nadaljuje... oziorma še vedno kaže na to, da nimaš pojma o tehnologijah, ki jih neuspešno poskušaš očrniti.

Zgodovina sprememb…

techfreak :) ::

Upam, da bo tebi uspelo dojeti, da je PHP kot jezik in kot platforma takšen, da je v njemu potrebno mnogo več discipline, da se napiše varno aplikacijo - tudi iz vidika SQL injectiona. V PHP je peprosto večja verjetnost, da bo tudi dolgoleten programer naredil usodno napako, za začetnike pa je to skoraj zagotovljeno.

Zakaj že? Vsi jeziki so v tem pogledu enako nevarni, saj lahko problematičen query napišeš brez težav povsod.

Če ostala okolja programerjem poskušajo pomagati tako, da jim nudijo konsistenco, varnost, standardne abstraktne pristope za običajne vzorce programiranja, pa se pri PHP-ju še vedno vztraja na nepreglednosti imen, abstrakcijah, ki se jih ne promovira in napakah, ki se jih ohranja samo zaradi kompatibilnosti.

Primer? Kje je kakšna nepreglednost?

Kako odlično deluje Unicode v PHP-ju pa občasno opazi tudi tukaj na slo-tech, ko je naslov kakšne teme odrezan na polovici znaka. Pa tukaj ne delajo amaterji. Pa se morajo še vedno tepsti s platformo, ki naj bi jim pomagala in lajšala delo.

Če imajo res tako slabe izkušnje, zakaj ne gredo na drug jezik, mogoče celo C#?

Dokumentirano, ne pa komentirano, kot si narobe prebral. Poglej si dokumentacijo za Javo, .Net in Python, potem pa se jokaj. Zmazek od dokumentacije za PHP se lahko pred ostalimi skrije v kot in joka. Na koncu te dokumentacije so neki recepti, kjer piše da uporabi posebne funkcije za pripravo nizov: mysql_real_escape_string (ime mi je všeč: _real_, kakor, da bi bila mysql_escape_string _fake_), sqlite_escape_string (aha, ta pa ni _real_ in ne pozna Unicode) ali pa naj se zanaša na na funkcije za search/replace v nizih. Pri temu pa popolnoma ignorira obstoj PDO::prepare, ki je na svoji strani dokumentiran kot dober pristop. Skratka dokumentacija, ki vodi v težave. Še posebej tiste, ki scene še ne obvladujejo v celoti.

In kdo ti brani, da si napišeš class, ki ti mogoča uporabo MySql::Escape? Ali pa avtomatsko escajpanje pri MySql::Insert? In ja, framework bo rešil težave, če boš preko njihovih classov delal.

V dodatnih skeletih je menda poskrbljeno za SQL injection. V .NET to dobiš že v škatli. Ne rabiš vleči notri še dodatnih kosov kompleksnosti, če jih ne želiš. Pa tudi v PDO je poskrbljeno za SQL injection. Če se bi kdo v PHP svetu pravilen vzorec sploh propagiral.

.NET je framework. Za SQL injection je tudi poskrbljeno v PHPjevih frameworkih kot je CodeIgniter.

Nimaš pojma. CRL je šel skozi verzije 1.0, 1.1 in 2.0. 1.1 je bila nazaj kompaibilna s 1.0, 2.0 pa je trenutna aktualna. Podpira pa vse frameworke od 2.0 do 3.5. Vse tri pa lahko po potrebi živim vzporedno in neodvisne ene od drugega. Tako kot to marsikdo še danes počne s PHP-jem, ki polomi kompatibilnost skoraj pri vsaki manjši reviziji (tudi iz 5.0 na 5.1, ne samo iz 4.0 na 5.0). S to razliko, da PHP ne pozna CRL, kar pomeni, da vsaka sprememba v verziji PHP nujno posti posledice na vsaki skripti, v dobrem in v slabem.

Očitno so vsi ljudje, ki na ASP.Net forumu in njihovih blogih pravijo o tem da ni kompatibilen, amaterji. Občasno se zgodi, da kak tak amater dela za Microsoft in je pri razvoju .NET.

Bedarija. Pri klasičnem ASP-ju je bilo knjižnice tudi enostavno dodajati. Še celo bolj enostavno, kot pa je to danes možno pri PHP. Pa še danes lahko uporabljam katero koli knjižnico napisano l. 1998 v IIS7, brez ponovnega prevajanja te knjižnice.

Pri ASP.Net jo preprosto vržeš v ./Bin mapo in že lahko uporabljaš.
Pri ASPju pa potrebuješ dostop do sistema.

BlueRunner ::

Zakaj že? Vsi jeziki so v tem pogledu enako nevarni, saj lahko problematičen query napišeš brez težav povsod.

Preberi si zgoraj, ne da se mi več ponavljati.

Primer? Kje je kakšna nepreglednost?

Preberi si zgoraj, ne da se mi več ponavljati.

Če imajo res tako slabe izkušnje, zakaj ne gredo na drug jezik, mogoče celo C#?

Ne morem govoriti v njihovem imenu ali o kvaliteti njihovih izkušenj. Vse kar lehko povem je to, da se tudi izkušenim v PHP-ju dogajajo neljube stvari.

Dokumentirano, ne pa komentirano, kot si narobe prebral. Poglej si dokumentacijo za Javo, .Net in Python, potem pa se jokaj. Zmazek od dokumentacije za PHP se lahko pred ostalimi skrije v kot in joka. ... Skratka dokumentacija, ki vodi v težave. Še posebej tiste, ki scene še ne obvladujejo v celoti.

In kdo ti brani, da si napišeš class, ki ti mogoča uporabo MySql::Escape? Ali pa avtomatsko escajpanje pri MySql::Insert? In ja, framework bo rešil težave, če boš preko njihovih classov delal.

Zanič dokumentacija je zanič dokumentacija. Vsa magija jezika ne bo pomagala, če so v dokumentaciji napake in slabi nasveti.

.NET je framework. Za SQL injection je tudi poskrbljeno v PHPjevih frameworkih kot je CodeIgniter.

Po tvoji logiki dostop do podatkovnih baz v PHP ni del paketa, ampak je framework. Kaj bi rad primerjal? Jezike, frameworke, ki pridejo v škatli ali vse obstoječe frameworke? Odoloči se preden boš nabijal naprej.

Očitno so vsi ljudje, ki na ASP.Net forumu in njihovih blogih pravijo o tem da ni kompatibilen, amaterji. Občasno se zgodi, da kak tak amater dela za Microsoft in je pri razvoju .NET.

Link pls, pa ti bom pokazal, da to, kar bereš, narobe razumeš, ker sploh ne poznaš tehnologije. Oni se pritožujejo nad eno stvarjo, ti pa si .NET obtožil neke druge stvari.

Pri ASP.Net jo preprosto vržeš v ./Bin mapo in že lahko uporabljaš.
Pri ASPju pa potrebuješ dostop do sistema.

Aha. Torej govorimo o shared hostingu klasičnega ASP-ja. OK, lepo. Samo pozabil si takoj povedati kaj zate pomeni "težko". Meni kot bivšemu vzdrževalcu komercialnih sistemov, ki niso bili shared hosting sistemi, recimo to sploh nikoli ni bila omejitev. Razumem pa, da je to omejitev, če se svoje velecenjene aplikacije vlačiš po nekih multi tennant spletnih strežnikih za 1€/mesec ali manj.

Pa tudi tega še nisem slišal, da bi lahko pri PHP na shared hostingu dodal svoje knjižnice kaj lažje, kot pa pri starem klasičnem ASP-ju. Torej je tudi iz tega pogleda PHP fail glede na .NET.

Pa prikladno si se pozabil opravičiti, da si za Mono zapisal navadno laž.

techfreak :) ::

.NET je framework. Za SQL injection je tudi poskrbljeno v PHPjevih frameworkih kot je CodeIgniter.

Po tvoji logiki dostop do podatkovnih baz v PHP ni del paketa, ampak je framework. Kaj bi rad primerjal? Jezike, frameworke, ki pridejo v škatli ali vse obstoječe frameworke? Odoloči se preden boš nabijal naprej.
Jezike bi rad primerjal, ampak ti framework (ASP.Net) primerjaš z jezikom (PHP).

Aha. Torej govorimo o shared hostingu klasičnega ASP-ja. OK, lepo. Samo pozabil si takoj povedati kaj zate pomeni "težko". Meni kot bivšemu vzdrževalcu komercialnih sistemov, ki niso bili shared hosting sistemi, recimo to sploh nikoli ni bila omejitev. Razumem pa, da je to omejitev, če se svoje velecenjene aplikacije vlačiš po nekih multi tennant spletnih strežnikih za 1EUR/mesec ali manj.

Kje sem omenjal shared hosting? Jaz govorim o strežnikih in dejstvo, da je pri ASP.Net lažje uporabiti druge knjižnice.

Pa tudi tega še nisem slišal, da bi lahko pri PHP na shared hostingu dodal svoje knjižnice kaj lažje, kot pa pri starem klasičnem ASP-ju. Torej je tudi iz tega pogleda PHP fail glede na .NET.

Samo pravim ... nisem primerjal s PHPjem ampak classic ASP s ASP.Net.

Zanič dokumentacija je zanič dokumentacija. Vsa magija jezika ne bo pomagala, če so v dokumentaciji napake in slabi nasveti.

Spet primerjaš PHP dokumentacijo z .NET dokumentacijo. Torej jezik z frameworkom ...

In če ti ne razumeš dokumentacije, ni zato slaba.

Looooooka ::

PHP je bastard child med jeziki.
To kar so oni nardil z namespaci in objektnim programiranjem...jezus kristus.
In to samo zato, ker se trudijo obdrzat neko kompatibilnost za nazaj...kar je dejansko butasto glede na to, da ce hoces met objektno programiranje in php5 bos mogu ves star crap tko al tko prepisat na novo.
Veliko lepse bi blo ce bi pri 5ki zacel znova pa pac uno 4ko fural zravn(sj jo ampak...heh 5ka ni to kar bi mogla bit).

In aja...a to vam ni nc bad, da dejansko primerjate klasicen ASP(zastarelo neupdejtano sranje, ki ga noben vec ne uporablja I HOPE(razen ce more vzrzevat stare projekte) s skriptnim jezikom, ki ma redne updejte...in ob katerem se ocitno brez problema najde 1 stran problemov, ki jih se niso resili v zadnjih 10 letih?
Ce mas jezik, ki ma tako popularnost kot PHP bi verjetno blo logicno, da se prevzame neko odgovornost in resi osnovne probleme ze v samem jeziku.(To, da mas vse v php.iniju prizgano s komentarjem da je slaba stvar..., ki pelje do varnostnih lukenj je neumno.).
Mogl bi met jajca in te opcije vrzt vn.

Kaj ti pomaga to, da lahko zadevo pises v notepadu ce mors pa zravn skrbet za miljon problemov...za katere UPAS, da so reseni s frameworkom.In potem ugotovis, da je cena frameworka padec hitrosti za bogve kok procentov...oz se lepse.... ga magicno nehajo podpirat in si cez pol leta spet v riti.

In to pisem kot clovek, ki mu je PHP vsec.
Zalostno.

Zgodovina sprememb…

techfreak :) ::

In aja...a to vam ni nc bad, da dejansko primerjate klasicen ASP(zastarelo neupdejtano sranje, ki ga noben vec ne uporablja I HOPE(razen ce more vzrzevat stare projekte) s skriptnim jezikom, ki ma redne updejte...in ob katerem se ocitno brez problema najde 1 stran problemov, ki jih se niso resili v zadnjih 10 letih?.

Torej potem moramo primerjati C# z PHPjem? Ampak PHP ima out-of-the-box support za spletne aplikacije, C# pa potrebuje framework ...

Isotropic ::

daj dejan pojdi nazaj v gimnazijo/ srednjo racunalnisko pa se vzdrzi pisanja za ene dve leti od datuma prve zaposlitve prosim.

BlueRunner ::

.NET je framework. Za SQL injection je tudi poskrbljeno v PHPjevih frameworkih kot je CodeIgniter.

Po tvoji logiki dostop do podatkovnih baz v PHP ni del paketa, ampak je framework. Kaj bi rad primerjal? Jezike, frameworke, ki pridejo v škatli ali vse obstoječe frameworke? Odoloči se preden boš nabijal naprej.
Jezike bi rad primerjal, ampak ti framework (ASP.Net) primerjaš z jezikom (PHP).

Sorry, ne bo palilo, ker si ti sam zabluzil. Za razliko od tebe jaz vem kaj sprašujem in tudi zakaj to sprašujem. No, ampak ker tebi informatika ne gre, ti bom moral še malo pomagati.

PHP kot programski jezik je definiran s svojo sintakso in ničemer več. Tako, kot to velja tudi za vsak drug jezik. PHP kot okolje je definirano kot interpreter programskega jezika PHP in v interpreter vključeni razširitve (extensions), kar vključuje tudi npr. knjižnico za manipulacijo nizov, matematične funkcije in tudi dostope do podatkovne baze.

C# kot programski jezik je definiran s svojo sintakso in ničemer več. Tako, kot to velja tudi za vsak drug jezik. .NET kot okolje je definirano kot CLR VM, ki izvaja v CLR prevedene programe. Hkrati to izvršiljivo okolje vključuje tudi določen predpisan nabor standardnih razširitev, kar vključuje tudi npr. manipulacijo nizov, matematične funkcije in tudi dostope do podatkovne baze.

Če primerjava PHP jezik s C#, potem primerjava sintakse.
Če primerjava PHP okolje, ga primerijava z .NET refernčnim okoljem, ker sta to funkcionalno enaki enoti.
Če primerjava 3rd party razširitve, pa primerjava pač te.

Te pa čisto razumem, da te reveža zmede kaj je PHP, ko poskušaš o njemu koherentno govoriti. Saj se s tem poimenuje tako programski jezik, kot tudi okolje za izvajanje. Tako kot je to recimo tudi pri Javi in Python. Isto ime poimenuje obe stvari.


Aha. Torej govorimo o shared hostingu klasičnega ASP-ja. OK, lepo. Samo pozabil si takoj povedati kaj zate pomeni "težko". Meni kot bivšemu vzdrževalcu komercialnih sistemov, ki niso bili shared hosting sistemi, recimo to sploh nikoli ni bila omejitev. Razumem pa, da je to omejitev, če se svoje velecenjene aplikacije vlačiš po nekih multi tennant spletnih strežnikih za 1EUR/mesec ali manj.

Kje sem omenjal shared hosting? Jaz govorim o strežnikih in dejstvo, da je pri ASP.Net lažje uporabiti druge knjižnice.

Aha, torej smo šli iz tega, da je pri klasičnem ASP nekaj nemogoče na to, da je samo v .NET to lažje. Naj te spomnim, da si sam napisal: "kar je bilo impossible pri classic ASPju". Torej si se bodisi izmišljeval, pa si se potem vadil ven, ko si v naslednjem postu napisal "Pri ASPju pa potrebuješ dostop do sistema." Edin praktičen način, da pri namestitivi tvoje aplikacije nimaš ustreznega dostopa do sistema, je shared hosting. V ostalih primerih se to v resničnem življenju preprosto ne dogaja. S tem, ko imaš dostop do sistema, pa je tehnično gledano namestitev dodatne knjižnice za ASP net ni ne zahtevna, ne težka. Še najmanj pa "impossible".

Pa tudi tega še nisem slišal, da bi lahko pri PHP na shared hostingu dodal svoje knjižnice kaj lažje, kot pa pri starem klasičnem ASP-ju. Torej je tudi iz tega pogleda PHP fail glede na .NET.

Samo pravim ... nisem primerjal s PHPjem ampak classic ASP s ASP.Net.

Sem pa jaz sam dodal še PHP v to igro. Zakaj pa ne? Če lahko ti neargumentirano udrihaš po tebi neznanih tehnologijah, potem pa lahko tudi jaz po tistih, ki so tebi tako zelo pri srcu. S to razliko, da jaz svoja mnenja argumentiram.

Zanič dokumentacija je zanič dokumentacija. Vsa magija jezika ne bo pomagala, če so v dokumentaciji napake in slabi nasveti.

Spet primerjaš PHP dokumentacijo z .NET dokumentacijo. Torej jezik z frameworkom ...
In če ti ne razumeš dokumentacije, ni zato slaba.

Nope. Preberi si še enkrat kaj sem napisal in argumentiral: težava ni v nerazumljivi dokumentaciji. Težava je v neobstoječi, nepopolni in ponekod preprosto napačni in zavajajoči dokumentaciji. Kdor bo upošteval zgoraj naveden primer bo pisal slabo kodo in se spotoma še nevede igral z ognjem. Smetje je lahko razumljivo, vendar to še ne pomeni, da ni smetje.

l0g1t3ch ::

Dejan nehaj se že smešit. Sej zastopmo da ne maraš M$ ampak PHP je veliko slabsi od vsega kar ms kdajkoli sproduciral.
Loti se pythona in/ali jave ter pozabi na php.

Looooooka ::

Sploh ne vem kako lahko kj tazga primerjate.

PHP je skriptni jezik.Zadeva je navaden filter za "kodo", ki jo ti lahko napises v notepad.Zraven ti ponavad na ISTI nacin nalozi se "kodo" frameworka...ki je ponavad se kup ene neskompajlane kode isto napisane v notepadu, ki naj bi ti olajsala delo z bazami in osnovnimi zadevami, ki se ponavljajo in ustavljajo "kreativnost".
Zend ma tist svoj framework...ampak na netu mas tud miljon ostalih.Ta zadeva bi mogla pridt ze v PHPju kot osnova...ne pa da se to posebi downloada in dodaja not.
Why?
PHP ma ogromno uporabnikov, ki delajo skodo po internetu s slabim programiranjem.AMPAK HALO...ne mors ti zdej ubit 15 letne otroke, ki neki zacenjajo pa se pol zgovarjat, da ni kriv PHP.
Za te probleme bi mogl bit poskrbljeno ze v coru.Neumnost programerjev gor al pa dol.Neodgovorni so.

Zdej...ajde pustmo dejstvo, da .NET laufa samo na IISju in winsih(jebes MONO).
Tlele je microsoft 10 let pred PHP-jem.Nardil so framework...ki je lepo skompajlan optimiziran in ga bo vsak novinec uporabljal z zacetka.Not je ze poskrbljen za varnost.Ce bi ze vsaj za pol teh stvari poskrbel v PHP5 bi bil vsak dan novo leto.

In again.... C#ja ne mors primerjat s PHP-jem.ASP.NET koda je skompajlana...napisana je bla pa lahko tud v VB-ju.To je neprimerljivo.

Kar se pa da primerjat je pa tko kot sem rekel...out of the box security...out of the box dostop do baz.Out of the box podpora za template.
Ce primerjas vse to...hitr vidis, da PHP tega nima.

techfreak :) ::

Dejan nehaj se že smešit. Sej zastopmo da ne maraš M$ ampak PHP je veliko slabsi od vsega kar ms kdajkoli sproduciral.
Loti se pythona in/ali jave ter pozabi na php.

Kdo je rekel, da ne maram MS? Ampak še vseeno mi PHP ne deluje na IIS ... kdo je zdaj kriv? MS ali jaz?
PHP mi je všeč ... no Python je tudi dober.

Zgodovina sprememb…

BlueRunner ::

Osebno bi Dejanu priporočal Python. Ima vse pozitivne lastnosti PHP, nobenih njegovih negativnih lastnosti, je konsistentno in moderno okolje. Microsoft ni imel pri njegovem nastanku ničesar za povedati. Pa še namespace-ov ne forsira preveč, da bi motili njegov občutek za estetiko.

Je pa res, da bo potem potrebno počasi pozabiti na <?php ... ?> sintakso. Ki je pa tako ali tako najbolj evil pogruntavščina, ki jo je PHP kadarkoli prevzel od Microsofta.

Zgodovina sprememb…

Isotropic ::

ne vem, ce je samo jaz ne znam brat, ampak py dokumentacija (language, library reference) zame ni nek biser, vsaj kot zacetnika. mogoce nebi skodil kaksen extra primer.

BlueRunner ::

Jp. Se strinjam, da je zelo asketska in ne ravno prijazna začetnikom. Ampak do sedaj v njej vsaj še nisem našel slabih ali celo škodljvih nasvetov.

techfreak :) ::

Jp. Se strinjam, da je zelo asketska in ne ravno prijazna začetnikom. Ampak do sedaj v njej vsaj še nisem našel slabih ali celo škodljvih nasvetov.

Še zdaj nisi pojasnil kaj je škodljivo pri PHP dokumentaciji.

Ugotovil sem samo to, da ti PHP ni všeč (ok, da večini ni všeč). In da je Python boljši, pa ASP.Net tudi. In katerega večina priporoča? :D

Isotropic ::

kdo pa je ta vecina? drugi fanboyi? (hint: facebook ze ne). glede php doc je pa omenjeno na prejsnji strani (sql injection)

Zgodovina sprememb…

BlueRunner ::

Še zdaj nisi pojasnil kaj je škodljivo pri PHP dokumentaciji.

Sem. Že dvakrat. Na istem primeru. Samo ti ne razumeš zakaj so nasveti na linku slabi. Tako, kot še marsičesa drugega še nisi groknil.

techfreak :) ::

Kaj pa je narobe z njimi? Saj pretvorijo niz v int in ne more škodovati.

Icematxyz ::

 Trend + Market share

Trend + Market share


Vir in ostale informacije!

 Povprečna plača v razvitem svetu + trend plače

Povprečna plača v razvitem svetu + trend plače



Vir in ostale informacije!

noraguta ::

ne bo šlo
Osebno bi Dejanu priporočal Python. Ima vse pozitivne lastnosti PHP, nobenih njegovih negativnih lastnosti, je konsistentno in moderno okolje. Microsoft ni imel pri njegovem nastanku ničesar za povedati. Pa še namespace-ov ne forsira preveč, da bi motili njegov občutek za estetiko.

dejan pravi
Python/Ruby/... so pač neke dodatne katastrofe, ki pa so vseeno boljše od MSjevih izmečkov




Delo s tipi je precej težje, ker ne moreš na hitro napisati $a = 33; $a += "test";


sam bi mu priporočil lahko kvečjemu perl, ta vsaj ne blefira da bi bil kaj več kot string procesor.
pa seveda brainfuck, ali ook!
Pust' ot pobyedy k pobyedye vyedyot!

techfreak :) ::

Hvala za razlago.

Isotropic ::

There are 3 incompatible versions of PHP.
http://maurus.net/resources/programming...

680x0 ::

Icematxyz je še najbolj zadel žebljico na glavico. Jezik tak ali drugačen, programer redko izbira jezik za izvedbo nekega projekta, potrebno je pogledat, kaj se v Sloveniji in širše išče na trgu dela.
Senior COBOL programerji so pri nas za pol do tisočaka več plačani kot .net/Java, pa ga vrli umi kurcajo že najmanj 30 let.

techfreak :) ::

In kaj je ta jezik, ki je dobro plačan oz. kaj se splača učiti?

Isotropic ::

haha


In his letter to an editor in 1975 titled "How do we tell truths that might hurt?", which was critical of several of COBOL's contemporaries, computer scientist and Turing Award recipient Edsger Dijkstra remarked that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense."[6]
enjoy

Looooooka ::

Ce ne mislis bit eden izmed COBOL programerjev, ki bojo najrdil program...in se potem 30 let smejal, ker ga bojo samo oni poznal...potem pac zacni s cemrkol pa dodajaj jezike.
Java ne bo nikol zguba casa.Sj ce znas en jezik se bos kasneje brez problema lotil tud drugih(ne recem da vsazga obvladas ampak heh...boljs kot da se zalimas na enga in se potem deres okol, da je to to in da vse ostalo smrdi.
Hitr pride kksn overhyped jezik(Ruby on rails) pa pol nimas 1 let nic za delat in cakas, da ljudje spet stopijo na realna tla.

Icematxyz ::

C++ za programje ali pa PHP za web?

Je kaj narobe s tem predlogom?

Isotropic ::

c++ za hpc programje, c# za programje?

BlueRunner ::

C++ ali Java za programje ter Python za skriptni web.

Icematxyz ::

No pa si dobil približen odgovor (in glavne opcije) kaj se ti splača učiti. In za katero področje je kaj namenjeno.

Tako da najprej si izberi področje. Potem pa pojdi eci peci pec. Če se preprosto pač ne boš mogel odločiti. ;)

Zgodovina sprememb…

BlueRunner ::

Ah. Kdor resno pade v te vode po 5 naučenih jezikih počasi neha šteti koliko jih še pozna. Potem se šteje samo še posamezne pristope/kategorije, ki jih pozna.

Icematxyz ::

Ja ampak začetniku to kvečjemu škodi. Tako da izmed predlaganih izberi nekaj. Odvisno pač od področja na katerem bi rad delal. Pa začni kurit cikle.

techfreak :) ::

Ja ampak začetniku to kvečjemu škodi. Tako da izmed predlaganih izberi nekaj. Odvisno pač od področja na katerem bi rad delal. Pa začni kurit cikle.

Nisem ravno čisti začetnik, sem se že učil PHP, ASP, C# in zdaj tudi malo začenjam s ASP.Net. Ampak očitno skoraj nič še ne znam.

Isotropic ::

si ze naredil kaksen forum, novice skripto, kaj podobnega?

AndrejS ::

Sedaj pa vem zakaj FB dostikrat ne deluje pravilno.... PHP :(

techfreak :) ::

si ze naredil kaksen forum, novice skripto, kaj podobnega?

Na tako osnovnem levelu pa spet nisem. Prvi forum (uporabniki, kategorije, forumi, označevanje novih sporočil) sem v PHPju naredil že kakšnih 7 let (omg leta tečejo hitro) nazaj.
Ampak takrat je bil poln lukenj (sql injection) in niti nisem rabil foruma.
Naslednji, ki je bil bolj zaščiten je bil v 2007, zadnji, kjer sem delal predvsem na optimizaciji pa lansko leto.

Vmes pa seveda ostale skripte od AJAX klepetalnice do custom CMSjev.

BlueRunner ::

Sedaj pa vem zakaj FB dostikrat ne deluje pravilno.... PHP

Nope. PHP doesn't make bad web sites. Bad programmers make bad web sites. Them, and pointy haired bosses. >:D

Nisem ravno čisti začetnik, sem se že učil PHP, ASP, C# in zdaj tudi malo začenjam s ASP.Net.

Vidiš, to celotno debato se lahko postavi čisto na glavo. Tam, kjer se tvoje znanje konča, pa potem pomagamo drugi... po najboljših močeh. Ni pa potrebno kritizirati tehnologij, ki jih ne poznaš tako zelo dobro. Lahko ti recimo najdem bizarne idiotizme, ki si jih je MS privoščil v IIS 7.5 in utemeljim zakaj so idiotizmi in zakaj jih bo zelo težko popraviti. Ravno tako za CLR: oh, je v njemu napak, ki jih recimo Java nima. Ali pa "zanimive" odločitve, ki so Javo/JVM naredile za manj programerju prijazno, kot bi sicer lahko bila - recimo napram C#/CLR. Ampak vse to samo zato, ker sem se s temi napakami, bizarnostmi in neumnosti sam srečeval in spopadal. Ne bom pa kritiziral npr. F# ali pa OCAML, ker teh jezikov resnično nisem uporabljal. Tako, da njihov prednosti in pomankljivosti ne poznam.

Ampak očitno skoraj nič še ne znam.

Več kot boš znal, več vidiš kako malo dejansko znaš.

Mavrik ::

Mah, če ne znaš našteti 15 stvari, ki ti grejo popolnoma na živce pri tvojem najljubšem programskem jeziku/knjižnici/operacijskem sistemu/browserju/domači živali, ga ali nisi uporabljal dovolj ali pa nisi profesionalen dovolj, da bi se te splačalo poslušati :)
The truth is rarely pure and never simple.

detroit ::

eh ja očitn se bom poleg asp.net mogu še php začet učit ko z aspjem končam ....vse za službo hehe
Skero

Looooooka ::

ce se dela web aplikacije...web service...potem se splaca znat ASP.NET IN PHP.
Sm ze tokrat vidu, da naredis neki v asp.netu...das na net...in asp.net programerji zadevo lepo konzumirajo...uporabjo heh brez problema parsajo xmlje in sheme...potem pa vedno dobis enga izmed tistih "php" programerjev, ki so 5 let sql queryje tipa
"SELECT * FROM blabla" delal in se loopal cez rezultate (ok ok...pa design obvladajo mogoce)...ampak tm se pa pol ustavi in jim mors posiljat mail za mailom kako konzumirat webservice....kako (jezus kristus) iz file uploada tist klincev binary steam zloadat kot xml ...in pol seveda kako to parsat.
Tko da kdor se ma namen ukvarjat s cemrkol kar dela z internetom in bo zadeva na voljo spletnim aplikacijam...se mu splaca znat oboje.
Java programerje lepo izpuscam...ker iz nekega magicnega meni neznanega(but i love it) razloga...ponavad vse te stvari ze znajo/obvladajo in ne delajo problemov...ever.

DavidJ ::

Sicer se navezuje na drugo temo, a se dotika PHP-ja. Mnenje prodekana za raziskovalno dejavnost in docenta na FRI o PHP-ju kot programskem jeziku.

En odsek:
Php je zgled vsega slabega, kar lahko očitajo programskemu jeziku. Tega nisem (prvi) napisal jaz, se pa s tem strinjam. Razredi, recimo, so očitno dodani naknadno. Jezik je kitchen sink, v njem ni nobenega reda. Vnebovpijoč primer so funkcije, ki jim kot argument podaš niz in podniz: včasih je vrstni argument takšen, včasih drugačen.

Nadaljujte tukaj.
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')

Gandalfar ::

@Looooooka: jao .. a ne bi sel pocasi na JSON ;)

Icematxyz ::

Sicer se navezuje na drugo temo, a se dotika PHP-ja. Mnenje prodekana za raziskovalno dejavnost in docenta na FRI o PHP-ju kot programskem jeziku.

En odsek:
Php je zgled vsega slabega, kar lahko očitajo programskemu jeziku. Tega nisem (prvi) napisal jaz, se pa s tem strinjam. Razredi, recimo, so očitno dodani naknadno. Jezik je kitchen sink, v njem ni nobenega reda. Vnebovpijoč primer so funkcije, ki jim kot argument podaš niz in podniz: včasih je vrstni argument takšen, včasih drugačen.

Nadaljujte tukaj.


Da saj to je ravno tisto kar je problematično v našem šolstvu. S tem se nadvse strinjam. In nebi mogel podati lepšega primera. Pa če bi ga iskal.

P.S. Upam da si znate pravilno razlagati. S čim se strinjam in kaj se mi zdi problematično.

Zgodovina sprememb…

DavidJ ::

> P.S. Upam da si znate pravilno razlagati. S čim se strinjam in kaj se mi zdi problematično.
Meni ni povsem jasno. :)
"Do, or do not. There is no 'try'. "
- Yoda ('The Empire Strikes Back')

camx ::

Ja koda je grda. Še slabše od Pythona.

C/C++ je recimo primer lepe in lepo urejene kode.
C#/F#/VB imajo tako vse skupaj nekaj nametano, da nobeden ne razume.
Python/Ruby/... so pač neke dodatne katastrofe, ki pa so vseeno boljše od MSjevih izmečkov
PHP/Perl sta veliko boljša, ampak še vseeno slabša od C/C++.
Java je dober, pa še OO je.
Objective C je totalna katastrofa.


Temu se še Anders Hejlsberg in Guido klanjata:D

In zaenkrat je PHP še vseeno hitrejši od Mono.

Testi dokazujejo, da lažeš oz. ne veš kaj govoriš.
* Primerjava C# na Mono vs PHP, ker jezika in platforme ne moreš glih primerjat.

Zgodovina sprememb…

  • spremenilo: camx ()

krho ::

Dejan nehaj se že smešit. Sej zastopmo da ne maraš M$ ampak PHP je veliko slabsi od vsega kar ms kdajkoli sproduciral.
Loti se pythona in/ali jave ter pozabi na php.

Kdo je rekel, da ne maram MS? Ampak še vseeno mi PHP ne deluje na IIS ... kdo je zdaj kriv? MS ali jaz?
PHP mi je všeč ... no Python je tudi dober.

Hm v win 2k3 na IIS sem brez problema poganjal php.
Ne bom rekel, da se strinjam z vsem, kar je napisal BlueRunner, se pa strinjam z naslednjim.
Imena funkcij, ter vrstni red parametrov so ;((, prav tako namespace separator.
Pa še nekaj: C# za backend , PHP za frontend :)
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

hendriks ::

Sicer se navezuje na drugo temo, a se dotika PHP-ja. Mnenje prodekana za raziskovalno dejavnost in docenta na FRI o PHP-ju kot programskem jeziku.

En odsek:
Php je zgled vsega slabega, kar lahko očitajo programskemu jeziku. Tega nisem (prvi) napisal jaz, se pa s tem strinjam. Razredi, recimo, so očitno dodani naknadno. Jezik je kitchen sink, v njem ni nobenega reda. Vnebovpijoč primer so funkcije, ki jim kot argument podaš niz in podniz: včasih je vrstni argument takšen, včasih drugačen.

Nadaljujte tukaj.



He he he! Demšar, legenda FRI-ja :) Eden redkih asistentov/profesorjev na FRI, ki je znal razložiti
zadeve po kmečko in ki nam je nosil epizode Seinfelda :)

techfreak :) ::

Hm v win 2k3 na IIS sem brez problema poganjal php.
Ne bom rekel, da se strinjam z vsem, kar je napisal BlueRunner, se pa strinjam z naslednjim.
Imena funkcij, ter vrstni red parametrov so ;((, prav tako namespace separator.
Pa še nekaj: C# za backend , PHP za frontend :)

Meni je tudi uspelo usposobiti PHP na WS08 in WS08 R2. Ampak na Visti imam problem in še iščem rešitev (do takrat bom pa moral Apache uporabljati).

darkolord ::

Ampak na Visti imam problem in še iščem rešitev
Kakšen pa je ta problem?
1
2
3 4


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kaj prvo PHP ali Javascript (strani: 1 2 )

Oddelek: Izdelava spletišč
779272 (7880) HardFu
»

PHP ali ASP

Oddelek: Programiranje
253060 (2429) DavidJ
»

Pol milijona pohekanih spletnih strežnikov - med njimi tudi slovenski!

Oddelek: Novice / Varnost
395770 (3701) poweroff
»

[FORK] PHP kot jezik

Oddelek: Programiranje
353228 (2567) [MYTiX]
»

ASP.NET(jezik C#) vs. PHP (strani: 1 2 )

Oddelek: Programiranje
7710100 (8744) Nerdor

Več podobnih tem