Miért nem használnak jóval többet ASP.NET-et fejlesztésre
Sziasztok,
gondoltam felvetem a weblabor-on a kérdést, hogy miért nem használnak jóval többen asp.net -et webfejlesztésre ?
Én fejlesztettem egy jópár weboldalt PHP-ben és Perl-ben is, viszont azt kell mondjam, hogy csalódottan látom azt, hogy elég kevesen használják az asp.net -et ami véleményem szerint sokkal hatásosabb mint a PHP.
Maga a strukturáltsága és az objektum orientált framework ami a háta mögött van sokkal fejlettebb mint a PHP framework-je, mégis úgy látom, hogy a PHP sokkal közkedveltebb :) ... ?
■ gondoltam felvetem a weblabor-on a kérdést, hogy miért nem használnak jóval többen asp.net -et webfejlesztésre ?
Én fejlesztettem egy jópár weboldalt PHP-ben és Perl-ben is, viszont azt kell mondjam, hogy csalódottan látom azt, hogy elég kevesen használják az asp.net -et ami véleményem szerint sokkal hatásosabb mint a PHP.
Maga a strukturáltsága és az objektum orientált framework ami a háta mögött van sokkal fejlettebb mint a PHP framework-je, mégis úgy látom, hogy a PHP sokkal közkedveltebb :) ... ?
flame on
Az ember JS-kódoláskor látja igazán mi mindenről is szólhatna a szerveroldal, persze ez nyafogás, én személy szerint ruby-ra szeretnék átállni, de ez nem könnyű és nem gyors folyamat.
Aztán nyilván belejátszik a kérdésbe a windows vs. linux, illetve apache vs. IIS témakör.
ez igy tenyleg csak flame ;)
Udv,
Felho
Elérhetőség, egyszerűség
Ahogy láttam, ASP.NET -t meg inkább nagyobb projectekhez használnak.
- Szerintem -
Lehet mar itthon is asp.net-et kapni
köszi!
üdv. krey
szivi
framework..?
A php nem framework, ezért nem értem a php és az asp.net öszehasonlítást. Egy WACT-ot, vagy CodeIgnitert össze lehet hasonlítani vele, de a php és a asp.net összehasonlítása igen csak fals...
Szaky
Szerintem
Megpróbálom felsorolni a lehetséges indokokat:
- spórolnak. Jává-t és ASP.NET-et általában nagy projekteknél használnak, legtöbbjük dedikált szerveren fut, ami azt jelenti, hogy Windows esetében jelentősen megnőnek a kiadások a szoftwer licensz miatt.
- kevés a VB vagy C# fejlesztő. Szinte minden főiskolán tanitanak Java-t.
- spórolnak. A PHP fejlesztők kevesebbe kerülnek.
Szerintem az a kérdés érdekesebb, hogy hány PHP fejlesztő tart ki továbbra is a PHP mellett. Az évek során a fejlesztők tudása és a fejlesztendő webes alkalmazások követelményei is egyre inkább nőnek. A PHP pedig nem sokat fejlődött. Igyhát sokan kinövik a PHP-t, mások pedig szomorúan belátják, hogy a PHP már többé nem ideális nagyobb webes alkalmazásokra (teljesitmény, gyenge OOP, skálázhatóság,..).
Hogy miért nem használnak jóval többen ASP.NET-et fejlesztésre? Szerintem ezért, mert még sok a kicsi webes projekt, amire a PHP alkalmasabb. Kisebb projektekhez a PHP szerencsésebb választás, mert gyorsabban elkészül a projekt. Kis projekteknél nem érdekes a spagetti kód, a nehezen átlátható és nehezen karbatarthatű kód, mert a projekt elkészül, és utána senki sem fog vele törődni.
védelem
Nagyon sok fejlesztőt hallottam szídni a phpt gyenge teljesítménye miatt. Szerintem ez egy erős túlzás, megfelelő környezet és technikák alkalmazásával igenis gyors futásidőt lehet elérni(gyorsítótárak, HATÉKONY kódolási technikák). Az pedig, hogy kinek mi a "spagetti kód", arról fölösleges vitatkozni, én még nem láttam olyan nyelvet, amiben ne lehetne gányolni, így ez is a programozón múlik...
Az őskövület kifejezést pedig nevetségesnek találom. Én inkább egy kicsit nagyobb fapadosságot hiányolok, amivel akadályozható lenne, hogy a fejlesztők "csakműködjön" személelbe kódolhassanak. Kódolj egy napot assembliben, utána nem mondanál ilyet;) (amúgy már egy kis C programozás is megváltoztatná ezt a szemléletet..)
hát igen
JS vs. php??
Az ooval kapscolatban megjegyezném, hogy pontosan ugyan azt tudod megoldani nélküle is(persze, kivételek és hasonló, de ezeket is le lehet kezelni nélküle), igazából szerintem a fejlesztők 99% nem talákozott még olyan méretű projekkel, amihez tényleg feltétlenül kellene(én sem). mivel még nem volt még ennyire égetően szükségem, így nem is tudom mi a vége, de nekem még nem volt olyan feladat, amit phpval nem tudtam megoldani. A webes projektetben általában az adatbázissal lehet sokat gyorsítani, az, hogy php vagy asp fut, szinte nem is feltűnő. A fejlesztésen spórolt forintokat pedig lehet szerverre költeni, és akkor végül is melyik a gyorsabb?:)
OOP vs funkcionalis
Udv,
Felho
persze hogy összehasonlítható
Már miért ne lenne érdemes. A megfelelő szempont kell hozzá, engem elsősorban a php szintaxisa zavar: rettenetesen merev CFG (különösen OOP-ben).
De említhetnénk a namespace nélküli függvénykönyvtárat is (ennek sincs sok köze ahhoz, hogy szerver- vagy kliensoldali).
Én egyébként nem rosszindulatú vagyok a php-val szemben, egyszerűen csak megállapítom, hogy amikor tervezték, még másról szólt a webfejlesztés. Nem véletlenül mondják többen, hogy kisebb projektekre alkalmasabb: amikor készült, akkor még template-funkciót szántak neki (sokféle string-szintaxis, megszakított tagek stb.), a mai web2-es és MVC-s világ viszont már másról szól. Nem arra készült, hogy frameworköket írjanak rá. Ezért egyébként a php-ra készült frameworköket is magukkal viszik ezt a merevséget, pláne hogy egy frameworkben már hangsúlyosabb szerep jut az oop-re is.
És hogy miben rugalmasabb a js? Vhol olvastam egy cikket, ami arról szólt, hogy a Prototype mennyire át tudta formálni ruby-sra a JS-t, és hogy a JS-t valójában szándékosan ilyenre tervezték (a cikk egyébként egy reakció volt egy prototype-pal szembeni kritikára, miszerint az eltéríti a programozót a JS helyes koncepciójától). Csakhogy a JS tényleg arról szól, hogy össze-vissza lehet gyúrni. Nem tudom, mi volt a megnevezés erre a tulajdonságára.
Szóval aki a szemantikai tömörségben ínyenc, annak a php egy szálkás öreg deszka.
kicsit konkrétabban?
Üdv,
Felhő
nem tudok konkrétabb dolgokat mondani erre
Ez a véleményem. Nem tudom megkérdezni az alkotókat, mi volt az alapkoncepció, én a nyelvből meg az említett körülményből, hogy akkor hogy nézett ki a web, és hogy hogy néz ki most, ezt olvasom ki.
Mi a gond a PHP OOP-jével, ezt még nem tudtuk meg (csak hogy elég szomorú, hogy nem lehet egy példány egy metódusát csak úgy felül definiálni).
Nincs túl határozott véleményem a php OOP-jéről, de nem is erről beszéltem. (A másik topikban sem arról beszéltem.)
...
Mielőtt ilyeneket írnál nézz egy kicsit körül. Ajánlom figyelmedbe a CakePHP-t.
Ebből és néhány korábbbi megszólalásodból számomra csak az jön le, hogy te rendesen kevered a tervezési mintákat és azok adott nyelven történő megvalósítását.
kicsit reszletesebben?
A teljesitmenyt alapvetoen hagyjuk, mert szinten tok relativ, de nem hiszem, hogy egy "nagyobb webes projekt" eseten a PHP "lassusaga" lenne a legszukebb keresztmetszet, raadasul lattam/latok eleg komoly terhelessel biro PHP rendszereket.
Gyenge OOP: ket gondolat. Mi az a gyengeseg, ami nagyon akadalyoz abban, hogy valami komoly dolgot tudj alkotni PHP alapokon? Masreszt az OOP szerintem szemleletmod, nem azon fog mulni, hogy ne adj isten valamit a nyelv nem tamogat, persze nyilvan jobb, ha bizonyos funkciok nyelvi szinten tamogatottak.
Skalazhatosag: hat ha valami, akkor pont a PHP az, ami nem temaszt akadalyt a skalazhatosag ele. Milyen gondjaid voltak a PHP-val kapcsolatban a skalazhatosag szempontjabol?
Udv,
Felho
Egyetértek
Konkrét példa
Még ilyen logikus dolgot sem enged a PHP, pedig ez helyes OOP elgondolás lenne (szerintem).
A SurveyCollection osztály egy specializált osztály, aminek az addItem metódusa felülirja a szülő osztályt. Na most a PHP szerint ez miért nem kóser? Logikus, hogy egy konkrét objektum a variable data type részhalmaza, igy nem értem miért nem kóser, ha type hint-et alkalmazok a specializált osztályban.
Persze kipróbálhatjátok úgy is, hogy a szülő osztály addItem metódusának első argumentuma Object-et fog várni.
A legidegesitőbb azonban a névterek hiánya. Képzeljétek el, hogy van 2 web alkalmazásom, és szeretném használni az egyik webes alkalmazásban a másik webes alkalmazás API-ját, mert nincs kedvem copy paste-t csinálni. De ez nem olyan egyszerű, mert előtte minden osztály nevét valami prefix-el kell ellátnom, nehogy name collision jöjjön létre. Nos, az ilyen kényszer megoldásokat én nem szeretem.
ASP.NET ben az egész webes alkalmazás egy dll, és azt simán tudnám használni egy másik webes alkalmazásban.
A másik dolog, hogy ha OOP-ben akarunk programozni, akkor arra jövünk rá, hogy PHP-ben nincsenek is előre definiált objektumok (OK PHP5.2-ben már van néhány). Például olyan alap osztályok, mint Collection, DateTime, DateTimeInterval, TimeSpan, ...
Persze, máris rávágjátok, hogy frameworkot kell használni. Ez igaz, de melyik frameworkot a létező 20 vagy 30 ból? És mennyibe kerül nekünk ez? Az eredmény gyengébb teljesitmény. ASP.NET-ben nyugodtan használhatjuk a .NET frameworkot, mert nem kell attól tartani, hogy lassúbb lesz a teljesítmény.
The performance test of 6 leading frameworks
CakePHP & CodeIgniter Benchmark
Szerintem is a JavaScript egy sokkal rugalmasabb nyelv, és egyből szerelmes lettem bele. A closures a JavaScript-ben egyszerűen fantasztikus dolgokra ad lehetőséget.
Nem feltétlen
Emlékeim szerint viszont az utóbbi példának működnie kéne.
Ami pedig a frameworkoket illeti, az a kérdés, hogy mennyire akarsz alacsony szinten programozni. Ha magas szinten akarsz programozni, akkor oké, de nem tudom, mennyire tudsz az alacsonyabb rétegekbe belenyúlni. Annyi ASP.NET-es nem rendesen lekezelt hibát láttam a neten, hogy ihaj.
A másik kérdés a portabilitás. A PHP szinte bármilyen rendszeren el fog futni. Elmondható ugyanez az ASP.NET-ről is? Nem hiszem. Plusz még annyit hozzáteszek, hogy a JavaScript kezdetektől fogva egy beteg nyelv volt, a Microsoft és a Netscape párharcának esett áldozatul - a mai napig nincs egységes implementációja. Arról nem is beszélve, hogy a Microsoft bármikor foghatja magát és átgombolhatja az egészet vagy megszűntetheti a supportot és senki nem fog tudni ellene semmit sem csinálni.
Re
- MONO
- ECMAScript Language Specification
- kiprábáltam mindkét esetet, nem megengdett.
rere
o Fura, hogy a PHP OOP hiányosságai után egy olyan nyelvre mondod, hogy sokkal rugalmasabb, ahol semmilyen nyelvi eszközöd nincs arra, hogy biztonságosan tudj programozni. (mondjuk szerintem sem érdemes a két nyelvet összevetni)
o Ami megint csak fura annak fényében amit írtál, hogy pont JS szinte alig nyújt bármit is, ha hatékonyan akarod használni, akkor kénytelen vagy valamilyen frameworkot használni.
Üdv,
Felhő
Re:
Nem értem az érvelésedet. Talán egy példa segítene megérteni.
Ime a kód Java nyelven. És működik.
- természetesen az osztályok hiánya nem jelenti azt, hogy nem tudok jó OOP kódot írni. Csak hát kinek van egy projekt elején kedve heteket azzal eltölteni, hogy megírja ezeket az alap osztályokat. Sokan csak PHP programozók, és nem szoftwer tervezők. Nem könnyű jó objektum modellt megtervezni. A másik dolog pedig, hogy nincsen idő és pénz saját alap osztályok tervezésére és kódolására, mert az idő pénz. Ami pedig a PEAR-t illeti, inkább hanyagoljuk. Sosem használtam és nem is fogom.
A nyelv szépsége (syntax és lehetőségek) és rugalmassága fogott meg.
- privát változók és metódusokat támogatja JavaScript nyelv. Ennek ellenére nem ajánlott gyakran closure-t használni, mert a teljesitmény jelentősen leromlik. The cost of private members via closures in JavaScript
- semmi problémát nem látok abban, hogy a privát láthatóságú metódusoknak és tulajdoságoknak "_"-el ellátott nevet adjak. Pl.: var _colItems;
Tessék egy másik konrét példa:
re mindenféle
Kicsit megkésve, de eléggé be vagyok havazva.
Az eredeti példa logikussága (ahogy én látom, lehet, hogy tévedek): azzal, hogy megszorítom egy metódus által elfogadható paraméter típusát, azzal szűkítem az objektum interfészét, ami szerintem nem szerencsés. Elvileg ugye ahol egy osztályt megengedek, ott bármikor használhatok egy belőle származó gyereket. Ha a használat helyen az ős osztály nem tesz semmilyen megszorítást az addItem paraméterére vonatkozóan, így gond lehet, amikor ott egy gyerek osztály addItem függvényét hívom meg mondjuk egy inttel.
JAVA (amihez nem értek) példa:
o Kíváncsi lennék, hogy ugyanaz működik-e akkor, ha az alap osztályban nem Objectet használsz, hanem int-et.
o Amit nem értek a példából, hogy ez nem mond ellen a polimorfizmusnak?
Az eredeti PHP kódod: kicsit azért gyanús volt nekem ez a dolog, ezért kipróbáltam, igaz én azt akartam kipróbálni, hogy az ős mondjuk egy Param object hintet használ, a gyerek pedig egy ParamChild-ot. Erre nem kaptam hibát. Ezután kipróbáltam a Te példád szerint (hogy a szülőnél nincs semmi meghatározva), szintén nem volt hiba. Ezután most gugliztam egyet, és ki is derült, hogy ez nem a PHP OOP model hiányossága, hanem egyszerű bug: http://bugs.php.net/bug.php?id=41461 -> http://news.php.net/php.internals/29646.
Üdv,
Felhő
Re:
kösz, hogy utánanéztél. Már értem mire gondoltál. Amit én akartam elérni az teljesen normális más nyelveken, mint például Java vagy C#. Csakhogy nem metódus felülirásról van szó, hanem method overloading-ról (túlterhelés). Ez azért lehetséges, mert egy metódust a szignatúrája (a metódus neve, a paraméterek száma és rendre a paraméterek típusai együtt) azonosít. Szóval a polimorfizmussal sincsen semmi gond, mert az átadott paraméterek száma és típusa alapján mindig a megfelelő metódus kerül végrehajtásra, egyszer a gyerek objektum specializált metódusa, egyszer a szülő objektumé.
Tehát most már értem és talán mások is, miért nem kóser PHP-ben, amit én akartam. Ahhoz method overloading kellene, ami sajna nincs és talán sosem lesz a PHP-ben.
Szerény véleményem szerint valóban E_STRICT kivételt kell dobnia a PHP-nek, mert ahogyan azt Te is irtad, gond lehetne a polimorfizmussal. Mindkét web cimet megnéztem, és őszintén szólva kicsit össze vagyok zavarodva.
Ha jól értettem a PHP nyelv tervezői szerint nem kell E_STRICT kivételt dobni??
Ez a kód a PHP szerint teljesen kóser:
Még egy kis példa arra, hogy miért nem jó megváltoztatni a paraméterlistát, ha felüldefiniált kódról van szó:
De a PHP semmilyen figyelmeztetést nem ad nekünk, hogy a fenti kód nem szerencsés.
Megjegyzés:
- azért szeretem a C# -ot a Jávánál jobban, mert C#-ban mindig jelezni kell az override kulcsszóval, ha egy metódus felülirja az ős osztály ugyanilyen metódusát.
Attila
Pontosítás
A Java-s példával kapcsolatban. Már egy ideje ugyan nem Java-zok, de ha jól tévedek, akkor Java-ban a metódusokat azok teljes szignatúrája (metódus neve + paraméterek típusa) azonosítja, így tehát amikor a SurveyCollection osztályban létrehozod az AddItem metódust, akkor az nem felüldefiniálja a szülő azonos nevű hívását, hanem overload-olja (túltölti?) azt. Így tehát a SurveyCollection osztálynak két AddItem metódusa lesz, és a paraméterek típusától függően fog eldőlni, hogy mikor melyik hívódik meg.
PHP-ban - a Java-val ellentétben - a hívásokat csak a függvény/metódus neve azonosítja, mivel a paraméterek kezelése itt teljesen másképp működik (elvileg ugye nem is muszáj deklarálni őket, mégis tudod a func_get_args(), stb. hívásokkal kezelni). Ilyen szempontból picit más szemlélet szükségeltetik az összehasonlításhoz.
Üdv,
Z
Method overloading
Igazad van Z. Ezt tényleg nem metódus felüldefiniálás volt. Valójában 2 AddItem nevű metódust hoztam létre.
Például C# nyelvben is a metódusokat azok teljes szignatúrája azonosítja.
Kösz a pontositást, már (majdnem) mindent tisztán látok.
Üdv,
Attila
Mono, projekt méret
Viszont azt hiszem, hogy az egyik nagy érv amivel egyetértek veled az tényleg az applikáció mérete... A licensz kiadások részével nem teljesen értek viszont egyet ugyanis már létezik Linux-ra is a MONO (az ASP.NET linux-os verziója), amit ha jól értettem folyamatosan fejlesztenek, és egész jó ?! (bár bevallom nem próbáltam még ki :) ... )
PHP
Kisebb és közepes projectekhez kiváló. Frameworkből is van hozzá 1000, de tudom, hogy lehet használni a .NET frameworkkel is.
A teljesítményre többen felhívták a figyelmet. Szerintem a legjobb eredményeket mindig a kompilált nyelvek fogják elérni, ezért is kísérletezem most kompilált PHP kódokkal.
Amúgy hogy a kérdésre is reagáljak, olcsóbb és több a közép és kis project, ezért.
üdv. krey
ps. azért nagy butaságokat ne írjunk, h a PHP őskövület, meghogy a JS üti, etc.
a lenázett php
Szaky
windows vs nix
php vs komplex alkalmazás
Szerver
Nyilván lehet PHP-vel pénzügyi alkalmazást írni, de ha csak a számlanyomtatást nézed, már problémába ütközöl, mert a PHP nem tudja ellenőrizni, hányszor nyomtatták ki a számlát. (ld. erről szóló viták korábban).
webes alkalmazás?
Üdv,
Felhő
Pont ezért
hatásosabb?
Hogyan lehet "hatásosabb" egy programozási nyelv? Esetleg hatékonyabb, de ne lovagoljunk a szavakon, valószínű egyre gondolunk :)
Én aktívan használok .NET-et, ASP.NET-et is és szerintem az egész ASP.NET bár hatékonynak tűnő "szörny", egyáltalán nem jobb mint a PHP. Sőt. Sokkal rosszabb... Az ASP.NET tele van pakolva komponensekkel és egy nagyon látványos eszköztárral (Visual Studio), van hozzá hipp-hopp használható Ajax-os alrendszer, van sablonrendszere (masterpédzses, konténeres) - és ezek valóban használhatók, ugyanúgy mint a cache megoldásai. Viszont egészében véve egy befejezetlen és nehézkes rendszert képeznek, nagy erőforrásigénnyel és a .NET minden előnyével, hátrányával és bogaraival. Próbálj pl. SharePoint alá fejleszteni vele meg fogsz őszülni záros határidőn belül...
Mindennek ellenére használható eszköz és használják is :)
Nekem a PHP egy megkönnyebülés és kreativitásra serkentő eszköz az ASP.NET mellett és sokkal szívesebben fejlesztek átlátható, szép oldalakat (értsd ezalatt: CSS validitás, XHTML validitás stb.) mert az MS cinikusan nem nagyon törődött ezekkel a dolgokkal, sőt ha elmész egy MS tanfolyamra és a validitást emlegeted, akkor megmosolyognak érte, de persze kiemelik, hogy a Firefoxxal már kompatibilis az új ASP.NET. :)
Az ASP.NET egyik nagy hiányossága, hogy egyáltalán nem törődik a "szép" kimenettel, persze megoldható benne a helyes és szabványos "végtermék", de egyáltalán nem könnyen és magától értetődően, értsd. a gyári vizuális komponensek nem törődnek ezzel, vagyis neked kell szenvedned... Ezen kívül az ASP.NET cache rendszere bár fejlett, de nem kellően egyensúlyozza a .NET kód lassúságát akkor, amikor először fut és felépíti az objektumokat...meg még sorolhatnám, de nem akarok ezzel senkit untatni, lényeg, hogy én mindkettőt használom rendszeresen, de nálam a PHP a majdnem tökéletes webes fejlesztőeszköz, jobb megoldással erre a célra én még nem találkoztam, gondolom nem véletlenül olyan népszerű mint amilyen.
Az ASP.NET erőssége abban rejlik, hogy a nem professzionális webes fejlesztők gyorsan összekattingathatnak benne ezt-azt, ez persze hatékony a nagyobb cégeknek és költségkímélő, a legtöbb helyen csakis ez a mérvadó és az MS pont ezt használja ki.
Ez persze nem jelenti azt, hogy ASP.NET-ben nem lehet szép és szabványos oldalakat gyártani! Ellenkezőleg! Sok példa van rá a neten, de ezeknek az előállítása már több hozzáértést igényel és nem lehet kizárólag egy csilli-villi fejlesztőeszközzel összetákolni! Vagyis, ugyanott leszel mint a PHP-nál: kódolnod kell ezerrel. :) Csak egy nehézkesebb környezetben, elveszítve a többplatformúság előnyeit és a nyílt forráskód szépségeit (és csúfságait is!).
kb. ennyi :)
PHP +1
MS folyóirat
Kérdés mrc-nek
Nem.
Méret a lényeg
Hm... Kissé talán szubjektív a véleményed
ÉN IS AKTÍVAN használom az ASP.NET-et egy kb 2000 fős cégnél ahol több tehnológia is megfordult már előttem ... (PHP, Perl, Java, Ruby, .NET) és annyit mondanék, hogy mielőtt "befejezetlennek" titulálsz egy tehnológiát talán kissé jobban merülj el benne :) ...
Amúgy meg elég érdekes válaszok jöttek a kérdésemre. Picit rettegtem attól, hogy nem azt fogják elmondani az emberek, hogy miért szeretik jobban a PHP-t, hanem szubjektív véleményt mondanak majd az ASP.NET-ről; viszont talán kissé érthető is ez ...
Ebben a kérdésben amit feltettem nem arra szerettem volna választ kapni, hogy miért gyengébb a PHP vagy az ASP.NET ...
PS. Az ASP.NET nem egy programozási nyelv. Az egy tehnológia ...
Egy válasz
Igazából miért nem használják inkább az ASP.NET-et?
Azért nem használják annyian sajnos, mert sokan nem ismerik a C# nyelvet, a VB-t és a .NET keretrendszert, emellett semmilyen késztetést nem éreznek rá, hogy megtanulják. Sok olyan emberrel is találkoztam, akik PHP után belenéznek a C#-ba és máris ott is hagyják, a VB-vel dettó ugyanez és maradnak a PHP-nál.
A PHP egy igen egyszerű nyelv és nagyon cimborás, belegondolva abba, hogy változó típussal sem kell foglalkoznod, meg Kollekcióként elég a sima tömb is. Az ilyen könnyedségek miatt szeretik, csak sajnos amennyire könnyű, sokszor annyira is idegesítő tud lenni. Sokszor akadtam bele olyan problémába, hogy egy változó típusát nem jól kezeli (pl 10-ből kivontam 1-et és 99 lett az eredmény, típuskényszerítéssel meg nagyobb katasztrófa lett, voltak még hasonló gondok is).
A másik amit hiányolok, hogy az eseményvezérelt programozás benne nagyon fapados, szinte nem is tudja, inkább a Javascriptre bízták ezt (ez nagy hiba!).
Nagyobb projekteknél már hatékonyabb elővenni a .NET-et, de igaz PHP-ban is megvalósítható, csak több a macera.
A lényeg az, hogy azért nem használják igazán, mert a PHP programozók legtöbbje nem akar más nyelvet megtanulni.
Nem hiszem
Számomra +1 indok, hogy ha
ehm
A PHP szerintem egy kényelmes, kézreálló, igaz ilyen-olyan hasfájással megáldott (melyik nem?) nyelv.
Előnye az elterjedtsége. Nagy előnye.
Viszont mostanában kezdtem el nézegetni a C#-ot MONO-val. No. A PHP után szinte már felüdülés az OO készlet, amit ad. Mindent a fenék alá tol, cserébe persze kicsit le is korlátoz (a PHP-val viszonyítva). Ellenben ami nagyon fontos, az a C#-os thread-elés. Pl. Meg a nem elhanyagolható (a méréseink szerint) kb. 10x-es teljesítménybeli különbség a C#Mono javára. (Persze biztosan nem 100% a mérési eredmény, de elgondolkodtató).
Ja, és a Mono = .NET on Linux (aki esetleg nem tudná), azaz nem kell hozzá windows-os szerver.
már megint
csak hangosan gondolkodva
Pl lehet ok az hogy a windows szerver nem kicsi idegeskedéssel jár + e miatt sokkal drágább...
Aztán mit nevezünk nagy projektnek? Ha a világon kb 10, najó legyen 20% "nagy projekt" van akkor ez is egy korlátozó tényező... ugye egy darab fecske sem csinál tavaszt...
Aztán még itt lehez az ágyúval verébre eset is, hiába a frameworkök csúcsa az ASP... kérdés tényleg van-e értelme egy sima login formhoz?
Windows
ellentét
Márcsak ott drágább fenntartásnál, hogy a komplett OS frissítés/váltás pénz, bár ezzel máris kontrázhat bárki jogosan, hogy azért nem szokás OS-t cserélgetni évente a szervereken, úgyhogy ez szerintem sem mérvadó.
Na tehát vissza az elejére, amikor beindult itthon az OS X szerver képzés akkor igen sok win és linux (félreértés ne essék nem vagy-vagy hanem mindkét OS-hez nem kicsit értő) rendszergazda volt ott és kialakult egy kisebb vita UNIX (linux) vs WIN téren (nem stabilitás téren mert ott tényleg csak a szaktudás dönt hanem karbantartási téren): szüttyögősebb a win szerver buherelása bármit csinálsz. Ha több idő akkor azzal nem tudsz mit csinálni... a Cessna 172 is repül X óra szervizelés után és a Boeing 747 is repül csak 100 X óra szervizelés után... az idő meg ugye pénz. Természetesen itt (1 webszervernél) nem súlyos milliókról beszélünk, de amíg a linux szerverek vannak többen pláne ugye számunkra relevánsabb webszerver téren így nem tud olcsóbb lenni a szaktudás ez által az ASP hosting sem. Ebből pedig az következik hogy a piac a kisebb ellenállás irányába mozdul így mégnagyobbra nyitva az ollót.
Drágább
10 PRINT "Basic for ever!" 20
Optimalizálva:
20 RUN
Pont ma olvastam egy cikket