Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Je kunt ook een cookievrije versie van de website bezoeken met minder functionaliteit. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , reacties: 209, views: 25.222 •

Dinsdag is het vijftien jaar geleden dat de Deense ontwikkelaar Rasmus Lerdorf de scripttaal PHP publiekelijk vrijgaf. Inmiddels worden miljoenen websites met php gegenereerd, waaronder blogs, wiki's, fora en contentmanagementsystemen.

phpDe Deen annex Groenlander Rasmus Lerdorf gaf zijn Personal Home Page Tools op 8 juni 1995 vrij op de usenetgroep comp.infosystems.www.authoring.cgi. Rasmus had daarvoor al een jaar aan zijn in C geschreven tools gewerkt. De tools moesten een aantal Perl-scipts vervangen die Lerdorf gebruikte om zijn eigen webpagina te onderhouden. Hij voegde aan PHP al snel de mogelijkheid toe om met databases te communiceren. Het publiekelijk vrijgeven van de code moest ertoe leiden dat bugs sneller werden verholpen en de ontwikkeling in een stroomversnelling zou komen.

PHP werd destijds onder de gpl-licentie uitgebracht, maar vanaf versie 4.0 gebeurt dit onder de php-licentie. In 1997 werd PHP/FI 2 uitgebracht, waarbij FI voor form interpreter staat, maar de grootste sprong voorwaarts kwam in het jaar daarna met PHP 3. Twee ontwikkelaars uit Israël hadden een nieuwe parser geschreven en voor versie 4.0 herschreven ze de core van PHP geheel, om deze als Zend Engine uit te brengen. De Zend Engine is een compiler en runtime-engine en deze virtual machine speelde een grote rol bij de popularisering van PHP.

PHP 5 verscheen in 2004 en deze versie wordt door Zend Engine II aangedreven. Versie 5 bracht onder andere betere ondersteuning voor objectgeoriënteerd programmeren en de PHP Data Object-extensies. In juni 2009 verscheen versie 5.3, die verbeteringen als closureslate static binding en namespaces kreeg. Een komende versie van PHP zou aanvankelijk ondersteuning voor Unicode moeten brengen, maar de ontwikkeling van PHP 6 is stil komen te staan en er is daarop een ontwikkelversie op basis van versie 5.3 gestart waarin geen Unicode-ondersteuning is opgenomen.

PHP draait op honderdduizenden webservers en wordt als belangrijk onderdeel van het officieuze LAMP-platform gezien, waarbij de eerste drie letters staan voor Linux, Apache en MySQL en de laatste voor PHP, hoewel ook Perl en Python worden genoemd. Lerdorf werkte tot november vorig jaar als programmeur bij Yahoo maar is eind april aan de slag gegaan bij Wepay.com.

Reacties (209)

Reactiefilter:-12090209+1111+211+30
Gefeliciteerd! Dankzij deze heb ik leren programmeren omdat PHP vooral op C lijkt kwa syntax.

[Reactie gewijzigd door Jeffrey v. Hees op 8 juni 2010 17:45]

Ik vraag me af in welke obscure C variant jij dan C programmeert.
De syntax komt redelijk overheen: de for / if / while zijn helemaal het zelfde (op de $ voor variablen na dan), het gebruikt beide accolades en puntkommas, etc. Maar of je van een syntax nou programmeren leert?
Ja, C en PHP zijn beide lid van de curly brace familie van programeertalen. Maar dan is er nog steeds een wereld van verschil tussen C en PHP wat syntax betreft.
Ik vraag me af in welke obscure C variant jij dan C programmeert.
Het is gek genoeg echt zo, PHP is meer vergevingsgezind dan C, maar het lijkt er in een hoop opzichten heel veel op. Ik schrijf PHP zelfs exact hoe een C programmeur het zou doen. (in de tijd dat ik nog geen C deed)
Sinds wanneer kun je leren programmeren? Voor programmeren heb je alleen een bepaalde denkwijze nodig, je gebruikt eigen logica om een oplossing te bedenken voor wat dan ook. Niet iedereen kan programmeren, maar syntax kan iedereen leren (als ze er moeite voor doen, het is [machinetaal erbuiten gelaten] voornamelijk ascii, dus door iedereen leesbaar).

Daarbij heb je wel gelijk, PHP lijkt qua syntax erg veel op C. Sinds kort (als ik mijzelf niet vergis) kun je nu ook gebruik maken van namespacing... PHP is een leuke taal, maar beperk je er niet mee.
Sinds wanneer kun je leren programmeren?
Sinds het bestaat. Logica kun je leren. Design patterns ook. Natuurlijk vereist het ergens ook een gave, maar dat betekent niet dat het niet "leerbaar" is.
Dat zou betekenen dat mensen die met die "bepaalde denkwijze" geboren zijn zich meteen op hetzelfde niveau zitten van programmeurs met zeer veel ervaring. Dat is volgens mij toch echt nog niet zo!
Ben je het nu met mij eens? Je reageert op mij dus ik ga er vanuit van niet, maar je zegt wel precies hoe ik erover denk :)
Einstein was bij zijn geboorte ook dommer dan dat jij nu bent ... hij had echter een gave. Een bepaalde denkwijze is niet altijd aanleerbaar net zo min dat iedereen de gave heeft om top-sporter te worden. Je kunt nog zo hard je best doen, maar als de gave er niet is zul je het toch verliezen van iemand met wel de juiste gave.
Ik geloof je meteen, echter heb ik programmeren nooit hoeven leren. Heb het altijd al gekunnen, bij mij was het een kwestie van syntax leren om in een bepaalde taal te schrijven. Ik dacht dat je geboren werd met een bepaalde logica...

[Reactie gewijzigd door Bloodhatch op 8 juni 2010 18:28]

Als je dat denkt heb je nog nooit leren programmeren, en nog nooit complexe software geschreven :)
Amen to that!

Ik ben nu al zo'n 20 jaar bezig met programmeren, waarvan zo'n 10 jaar professioneel en ik leer er nog bijna dagelijks dingen bij.
Je kan ook hebben zitten protoprogrammeren met legoblokjes en mecano
dit maakte ik toen net kon praten

http://www.youtube.com/watch?v=zX09WnGU6ZY 8)7

alles kan je leren de een heeft er alleen meer aanleg voor als de anderen en andere meer intresse
volgens mij bestaat er nog geen programmeer instinct dus niemand kon het voor dat het hem geleerd werd! behalve schijten slapen en ademen.
kwestie van syntax leren
Het is net als schrijven bloodhatch. Je moet het leren. Je weet wat je wil schrijven. Je begint met het leren van woordjes. Je leert meer woordjes, en je maakt al snel een zinnetje. Na een shitload aan zinnetjes heb je een boek.
Komt behoorlijk dicht in de buurt als leren programmeren; je leert de syntaxen, begint ermee te spelen en al snel staat er een 'Hello World' op je scherm. Hoe meer syntaxen je leert, hoe gecompliceerder de software kan zijn die je schrijft.

Komt op het zelfde neer, ja toch? En je hebt echt leren schrijven. En je werd geboren met de logica om een taal te schrijven? Grammatica heb je ook moeten leren..

hoop dat het niet verkeerd overkomt :X
making a point, dont mean to bash you Blood - one love :+
Nee je kan niet leren programmeren. Niet op het niveau van een programmeur die logica in zijn genen heeft. Of totaal niet als een asperger bijvoorbeeld want je hersenen kunnen die informatiestroom niet aan.

Ik kan ook een boek schrijven maar verkoopcijfers als Hugo Claus zal ik er niet mee halen. Ik kan ook op een tennisbal slaan maar zelfs al train ik 20jaar, Federer zou me de grond inboren.
Je hebt iets of je hebt het niet. In het leven moet je zo snel mogelijk uitvinden wat je hebt en er iets mee doen.
Logica in je genen? WTF?
Ik kan ook op een tennisbal slaan maar zelfs al train ik 20jaar, Federer zou me de grond inboren.
Als jij 20 jaar traint vanaf je 3e af of zo - en je hebt er zin in en plezier in en wilt graag tennissen in tegenstelling tot door je ouders gepusht worden en het alleen maar doen omdat je het moet - dan heb je een goede kans dat je gelijk speelt of wint.

Nooit van de 10,000 hour rule gehoord?
@Yoozer: Andre Agassi werd gepushed door z'n ouders, dus zelf zin en plezier hoeven niet van toepassing te zijn.

[Reactie gewijzigd door demonite op 9 juni 2010 09:54]

Je gaat wel heel kort door de bocht.
Er zit zeker bepaalde dingen in je genen.
Mensen die goed zijn in talen zijn doorgaans niet goed in logica en beta mensen zin doorgaans niet goed in talen.
Tot op zekere hoogte kan je het wel bij leren, maar een bepaalde aanleg heb je echt nodig. Zo zijn er wel meer dingen die echt niet te berijken zijn voor sommige mensen.
Zo zit er ook lichamelijk verschil tussen duur lopers en sprinters. Hoe hard een duurloper ook traint een echte sprinter zal het nooit worden. En andersom ook niet.

Tevens als jij 10.000 uur ergens vol overgave op stort moet je er wel goed in zijn anders houd je dat niet vol.
@Rizon:
je kan niet leren programmeren
Wat een onzin is dat zeg. Weet je wat je niet hoef te leren? Ademen! Verder moet je alles leren, zelfs lopen.

Ook dat autisten op een hoger niveau programmeren hoeft helemaal niet waar te zijn. Ik ken er een paar die dusdanig complexe code produceren die ze zelf prima begrijpen maar voor een ander onbruikbaar is. Dat noem ik niet op hoog niveau programmeren.
Wat een onzin is dat zeg. Weet je wat je niet hoef te leren? Ademen! Verder moet je alles leren, zelfs lopen.
En zelfs ademen heb je geleerd. ;)
het betere programmeren gebeurd echter in teams, met vaste werkwijze's (V-model, watervalmethode) en documentatie volgens vaste standaarden (UML).
je gebruikt vaak meerdere talen, verschillende protocollen om data te sturen, bepaale soorten databases voor opslag en zelfs meerdere SDK's
dat moet je allemaal leren wil je serieus programmeren, en dat krijg je niet zomaar aangeboren. ook qua syntax: tuurlijk HTML kun je binnen een dag leren, maar als je met bijvoorbeeld assembly bezig moet...
HTML is geen programmeertaal.
Het betere programmeren
Wat versta jij onder het betere programmeren en die vaste werkwijze's zijn die in alle gevallen wel geschikt? Ik heb zelf ervaring opgedaan met UML en ben van overtuiging dat het voor software waarbij databases gebruikt worden geschikt is, maar voor het maken van allerlei GUI gerelateerde zaken is het pure flauwekul. Ik betwijfel bijvoorbeeld ten zeerste dat er voor de basis van Google-maps ooit maar 1 UML diagram is getekend, laat staan dat er een design is geweest. Veel meer denk ik dat iemand aan het hacken is geslagen om te kijken of hij een enorm groot plaatje kon opknippen in kleinere en deze via javascript kon laten na laden. Volgens jou redenering is google-maps dus niet ontstaan uit serieus programmeren.

W.m.b is programmeren gedeeltelijk een vorm van kunst en voor het schilderen van schilderijen zijn er natuurlijk allerlei regels, maar een goed schilder leert te spelen met deze regels ... hij lapt ze af en toe aan zijn laars, probeert ze anders te interpreteren en probeert ongewoonlijke combinaties. Het spelen met de regels vereist A: kennis van de regels, B: de gave om er mee te spelen en C: ervaring. Belangrijk is te weten dat er GEEN vaste route is ...
je gebruikt eigen logica
Agreed, de syntax is eigenlijk secundair aan het concept van programmeren.
Maar vanwaar komt die logica denk je? Die heb je wel degelijk geleerd uit andere vakken ;)
Hoeft niet, maar een bepaalde manier van denken is wel handig. Mijns insziens kun je dat leren, én kun je daar aanleg voor hebben.
Sinds babies niet kunnen programmeren en sommige ouderen wel.
Oei. Met een zin zijn alle programmeeropleidingen overbodig geworden. Dit moet een nitwit schrijven. Elke programmeur weet dat er programmeermethoden, technieken en stijlen bestaan. Daarnaast heb je ook nog formele leermethoden met bijvoorbeeld correctheidsbewijzen. En ik kan je vertellen dat dat laatste behoorlijk lastig kan zijn.
Sinds wanneer kun je leren programmeren? Voor programmeren heb je alleen een bepaalde denkwijze nodig, je gebruikt eigen logica om een oplossing te bedenken voor wat dan ook.
En waar denk je dat die bepaalde denkwijze vandaan komt? Die heb je ooit eens moeten leren. Natuurlijk kun je leren programmeren, iedereen die programmeur is heeft het ooit eens moeten leren, net zoals een willekeurige andere vaardigheid. En sommige mensen hebben er meer aanleg voor dan anderen.
Volgens mij lijkt PHP nog het meest op Perl, alleen jammer dat niet zoveel mensen daar ervaring mee hebben. Ik baseer mij hiervoor op de gelijkenissen met Perl, zoals zwakke types, de arrays die eigenlijk hashed arrays zijn, etc.

Perl is een scripttaal om u tegen te zeggen, toch als het aankomt op het verwerken van tekstuele data.

[Reactie gewijzigd door DevilsProphet op 9 juni 2010 08:41]

Lerdorf werkt inmiddels als programmeur bij Yahoo.
Al sinds november 2009 niet meer: Lerdorf leaves Yahoo!.
Feedback knopje bovenaan ;)
Zal PHP dan over 3 jaar, na hun 18e verjaardag, eindelijk een volwassen taal zijn? :+
Waarom is PHP geen volwassen taal? PHP is namelijk geweldig voor de doelen waarvoor de taal wordt gebruikt!
(legt grap uit) Je bent voor de wet volwassen als je 18 jaar wordt.
Ook ginder in Denemarken/groenland?
Oh, haha :P. Ik denk je bent weer zo iemand die PHP afkraakt :P. Excuus }:O

[Reactie gewijzigd door Jeffrey v. Hees op 8 juni 2010 20:27]

Dat PHP makkelijk is om te leren en te gebruiken zal ik niet ontkennen maar in vergelijking met andere talen zitten er teveel quirks in om als volwassen te worden gezien. De introductie van die achterlijke namespace operator als laatste wapenfeit bevestigt dit nog maar eens.
De introductie van die achterlijke namespace operator als laatste wapenfeit bevestigt dit nog maar eens.
Ze hadden geen keus. In tegenstelling tot veel andere talen is de betekenis van een identifier in PHP afhankelijk van de context waarin hij gebruikt wordt. Zo is het prima mogelijk om een constante, functie, class én namespace met dezelfde naam te hebben. De operators eromheen bepalen vervolgens welke van de 4 je bedoelt. new of :: -> class. \ -> namespace. () -> functie. En anders gewoon een constante.

[Reactie gewijzigd door .oisyn op 8 juni 2010 18:49]

De taal is niet volwassen omdat zijn makers niet volwassen zijn. Ze presteren het keer op keer om vage niet-intuitieve designkeuzes te maken. Of eigenlijk zijn het ook geen designkeuzes, maar slaan ze gewoon aan het implementeren en moeten de overige side-effects dan maar uit die implementatie blijken. Elke poging tot discussie met de lui van Zend wordt de kop ingedrukt met "dit is geen bug, dit is zoals we het hebben geïmplementeerd". Ja, duh, élke bug komt voort uit de implementatie. Misschien moet je het dan anders implementeren.

Die onwil om van tevoren dingen goed uit te denken of anders achteraf te heroverwegen maakt dat PHP vol zit met rare quirks en dat de taal dus gewoon onvolwassen is. Dat hij daarbij goed inzetbaar is bij talloze projecten doet daar verder niets aan af. Beginners vallen keer op keer in diverse valkuilen zoals het feit dat het getal 0 gelijk is aan de string "aap" of dat als je een foreach met reference doet en later die variabele hergebruikt je plots het laatste element uit die array aanpast waar je de vorige foreach op had gedaan.

@Niellie41: als de reactie van Jeff van Hees een grap moet zijn dan is het niet echt bepaald een grappige. Waarschijnlijk doel jij op de reactie van GuidoH, maar dat is niet de reactie waar ik op reageer.

[Reactie gewijzigd door .oisyn op 8 juni 2010 18:04]

het is een grap. Sommige mensen nemen alles serieus.
Wat ik hier aan wil toevoegen is dat ik nog steeds iets als een specificatie van de taal mis, zoals je die wel bij Java hebt. In die zin vind ik het model wat Sun heeft ontwikkeld voor de ontwikkeling van Java veel meer open en transparant.
Het is open en transparant, uitgebreid en precies gespecificeerd, echter dit komt (in mijn optiek) niet ten goede van de snelheid van het ontwikkelen van de taal zelf. Genoeg libraries die een enorme hoeveelheid functionaliteit bieden, maar in vergelijking met bijvoorbeeld .NET ligt de snelheid er behoorlijk uit - en langzame vooruitgang, net zoals stilstand, is achteruitgang.

Niet om Java te bashen overigens, ik ben zou er veel mee aan het werken. Alhoewel ik graag C# / .NET zou willen leren.

En PHP eens toe willen passen in een professioneel project - je kunt mooie dingen maken met PHP, maar er wordt teveel in geprutst door mensen die denken dat ze er verstand van hebben. Zie ook: Zend Framework.

Zend als bedrijf zou er wel goed aan doen om bij PHP 7 (ofzo) de taal volledig op de schop te nemen - alle quirks eruit, een officiële standaard uitbrengen, etcetera. Ik denk dat als ze daarmee bezig gaan, en ze zien hoeveel uitzonderingen ze moeten beschrijven (bijvoorbeeld dat 0 == "aap"), ze zich wel even achter de oren zullen krabben.

Het lijkt me ook niet onmogelijk om een interpreter te maken die zowel ouderwetse PHP code als de nieuwe, verbeterde versie te kunnen onderscheiden en te interpreteren.
Ik vind de vergelijking volledig mank gaan, PHP moet je gebruiken waar het voor bedoeld is; de primaire toegang tot je webserver. PHP moet je vergelijken met ASP, want ik vind persoonlijk dat als je een web-applicatie maakt veel zaken beter met javascript/flash kan afhandelen (client-side).

edit: Verder ben ik het wel enigzins eens met bovenstaande comments. Ze zouden wel eens een keer een nieuwe start mogen maken, net als Adobe met As2 naar As3.
Wat met name een probleem is nu dat hele oude webapplicaties van klanten deprecated functies gebruiken en dat geeft problemen met updaten van de php-versie. Ik zou graag een frisse en slanke nieuwe versie van php willen die ik naast de oude php kan draaien.

[Reactie gewijzigd door poepkop op 8 juni 2010 21:46]

Inderdaad. Ze kunnen het niet maken ineens alle oude PHP applicaties te breken. Dat zou de populariteit van PHP direct slopen

Al waarschuwd de interperter prima op strict als een functie deprecated is. Kan je die dingen stapje voor stapje verwijderen
Al waarschuwd de interperter prima op strict als een functie deprecated is. Kan je die dingen stapje voor stapje verwijderen
Langzaamaan doen ze dat ook, gelukkig - controversiële zaken zoals magic quotes en short open tags (alhoewel die wel handig zijn) worden er uit gehaald.
@hackerhater: Dat hoeft helemaal niet zo te zijn. Microsoft deed in 2000 precies hetzelfde toen het van VB6 naar VB.NET ging. VB6 applicaties moesten flink worden aangepast om te kunnen draaien (compileren) in VB.NET. Hetzelfde geld voor asp en asp.net.

En om nou te zeggen dat de populariteit van VB(.net) is afgenomen, nou nee. De kans is erg groot dat als die rare quirks uit de taal worden gehaald en Zend de discussie met de developer base aandurft PHP een meer professionelere uitstraling zou krijgen.

Als zelfs Microsoft delen van hun code gaan ontwikkelen als open-source (MVC.NET, MEF, etc) om daarmee developers meer betrekken bij de ontwikkeling van .NET, dan kan het toch niet zo zijn dat een van de grotere open source projecten opmerkingen uit de community negeren..

Overigens als PHP 7 ineens totaal anders zou werken, dan heeft dan natuurlijk verder weinig te maken met PHP 6. Default hou je dan gewoon PHP6 aan en bij die enkele website welke werkt op basis van PHP7 kun je de mime type koppelen aan de PHP7 module. Daarnaast heeft PHP in het verleden wel vaker braking changes gehad. En als je die netjes beschrijft dan is daar helemaal niets mis mee.
Dan gebruik je toch geen PHP. Als je een strong of static typed taal wilt moet je geen PHP nemen, zo simpel is het. Als de taal niet aan jouw behoeften voldoet betekend dat nog niet dat het niet volwassen is. Want op die manier heb je ook mensen die C geen volwassen taal vinden omdat deze niet weak typed is of omdat je wild pointers kan maken.

Een taal is naar mijn mening volwassen als deze breed ingezet wordt. Dat is bij PHP dus wel het geval. Dat jij dat onterecht vindt doet daar niks aan af.
Dan gebruik je toch geen PHP
Ah ja, de standaard dooddoener. "Als je het niet zint, dan gebruik je het toch niet" |:(. Wat is er in hemelsnaam mis met terechte kritiek op het designproces van een stuk software? Daarnaast sla je de plank echt compleet mis. PHP had als taal veel beter in elkaar kunnen zitten zónder hem strong typed oid te hoeven maken, en dat soort taalparadigma's zijn het hele punt dan ook niet. Javascript is vergelijkbaar met PHP wat dat betreft, maar zit als taal een heel stuk beter in elkaar. Dat is omdat de makers er veel meer van tevoren over nagedacht hebben en niet maar meteen zijn begonnen met typen.
Een taal is naar mijn mening volwassen als deze breed ingezet wordt.
Prima dat dat jouw mening is, ik deel 'm niet, en velen met mij. Ik zeg verder niet dat dit een reden is om PHP links te laten liggen, zolang je je maar blijft beseffen dat dingen altijd niet helemaal zullen blijven werken zoals je in eerste instantie verwacht en dat je dat dus van tevoren goed moet uitzoeken. Veel van die quirks staan ook niet duidelijk in de documentatie zelf, dan moet je op zoek in de comments onder de meeste docpagina's op php.net. De taal lijkt laagdrempelig, maar feitelijk is het dat gewoon niet.

De taal is buggevoelig, en dat had gewoon niet zo hoeven zijn (zonder dat de taal ineens falikant anders in elkaar hoeft te zitten). Zo hadden ze er bijv. voor kunnen kiezen om false te returnen bij 0 == "aap" (zoals javascript ook doet). Of om de reference te unsetten na de foreach lus. Of dat je geen string hoeft te gebruiken om naar een functie te refereren, maar gewoon gebruik kon maken van de identifier van de functie zelf.

[Reactie gewijzigd door .oisyn op 8 juni 2010 19:05]

Toch vind ik dat je (en velen met jou) PHP een soort minderwaardige positie toebedeelt vanuit een soort zuiverheidsdenken over hoe een programmeertaal zou moeten zijn.
Ja und? Een programmeur wordt toch ook geclassificeerd op de waarde van zijn geproduceerde code? Waarom zou je dan een programmeertaal die door velen wordt gebruikt niet minderwaardig achten als het conceptuele en design aspect (laat staan de API) gewoonweg brak in elkaar steekt. Gek genoeg was dat geen probleem als het ging om Visual Basic de grond in te boren, alhoewel dat qua gebruikersaantallen toch ook niet insignificant was.

(PS. ik zie ook nog steeds in allerlei webserver configuraties dat PHP processen na 500-1000 runs weer afgeschoten wordt vanwege memory leaks, erg geruststellend.)
Ik schrijf er elke dag in en .oisyn heeft helemaal gelijk. Je moet je best doen om om de troep heen te werken, en dan is het te doen.

Dat wat jij "zuiverheidsdenken" noemt noem ik "voorspelbaar gedrag en heldere specificatie". Het feit dat je een === nodig hebt om echt helemaal honderd procent zeker te weten of iets false of true is is eigenlijk absurd, het is op het niveau van "elk stuk gereedschap is een hamer, behalve een beitel, da's ook een schroevendraaier".

Ga http://blogs.msdn.com/b/ericlippert/ maar eens lezen en kijk wat je als taal-ontwerper tegenkomt. Als je over dat soort dingen niet voldoende nadenkt benadeel je iedere gebruiker en jezelf.

PHP zou gewoon een stuk beter kunnen zijn dan dat het nu is, en er is niks mis mee om dat te bekritiseren.

Of heb jij vroeger op een school gezeten waar je ondanks tranentrekkend slechte proefwerken alsnog een 6 kreeg "omdat je er toch de moeite voor had gedaan"?
TuXzero, hou nou aub eens op met dat strong/weak/dynamic typing... het is NIET het feit dat PHP dynamic typed is dat het onvolwassen maakt en een strongly typed taal is ook niet automatisch volwassen.

PHP de taal is onvolwassen vanwege precies de redenen die .oisyn hierboven opgeeft.

Het platform (de standaard library) heeft ook z'n problemen. Met name een coherente naamgeving is overduidelijk een gebrek, maar ik mis ook wel wat functies voor dingen als transacties en concurrency (en met concurrency doel ik op dingen zoals in .NET die wel even wat verder gaan dan een simpel threadje spawnen).

Meer basic dingen missen ook. Waar is een fatsoenlijke session scope? En dan heb ik het ook nog niet eens over meer moderne scopes zoals een view scope of een conversation scope.
Dan gebruik je toch geen PHP. Als je een strong of static typed taal wilt moet je geen PHP nemen, zo simpel is het. Als de taal niet aan jouw behoeften voldoet betekend dat nog niet dat het niet volwassen is. Want op die manier heb je ook mensen die C geen volwassen taal vinden omdat deze niet weak typed is of omdat je wild pointers kan maken.

Een taal is naar mijn mening volwassen als deze breed ingezet wordt.
BASIC wordt / werdt breed ingezet. Is dat een volwassen taal?

Engels wordt breed ingezet. Is dat er een?

Ik vindt C overigens iets té volwassen voor mijn wensen - teveel dingen die je verkeerd kunt doen.
Een programmeertaal (C) met een natuurlijke taal (Engels) vergelijken vind ik wel erg ver gaan. Ze hebben beide andere doelen en oorsprongen.
Ik vindt C overigens iets té volwassen voor mijn wensen - teveel dingen die je verkeerd kunt doen.
persoonlijk vind ik dat nou weer net de uitdaging :)
Feitelijk is dat natuurlijk een tekortkoming aan de taal, iets dat het juist níet volwassen maakt. Standaard-C staat m.i. veel te veel fouten impliciet toe. Dat is trouwens een probleem waar ook PHP enigszins last van heeft, mede getuige het hierboven genoemde voorbeeld 0 = "aap".
Nouja, tekortkoming zou ik het ook weer niet noemen... Feature, misschien. Met C zit je op een heel laag niveau te programmeren, wat zowel voordelen kan hebben (snelheid, drivers schrijven etc) als nadelen (hogere kans op fouten, zeker als je er net mee begint).
Met C zit je op een heel laag niveau te programmeren, wat zowel voordelen kan hebben
Er is geen enkel voordeel te behalen aan het feit dat je impliciet een willekeurig type pointer naar een willekeurig ander type pointer kunt converteren. Een fout die onlangs nog een topic op GoT verdiende:

int mijnArray[10];
int ** pointerNaarMijnArray = &mijnArray;

Deze code compileert prima in C, maar hij is gewoon fout. C++ zal hier een error geven (omdat een int(*)[10] nou eenmaal niet naar int** te converteren is). Als je het beter weet dan dan de compiler, dan is dat met een expliciete cast alsnog gepiept. Maar het feit dat zo'n cast nodig is scheelt al een hoop fouten.

[Reactie gewijzigd door .oisyn op 9 juni 2010 15:15]

Een taal is naar mijn mening volwassen als deze breed ingezet wordt.

Ik ken een hoop erg volwassen programmeertalen die slechts op zeer kleine schaal gebruikt worden, ook voor web based omgevingen.

Ik vind PHP meer een lastige verwende puber met overgewicht en stemmingswisselingen. Ik kan er goed mee werken, en het doet wat je ervan verwacht, maar ik ken mooiere en meer consistente talen.
Als je ergens NIET goed mee kan werken en wat NIET doet wat je verwacht, dan is het wel een verwende puber met overgewicht en stemmingswisselingen. Waar jij je vergelijking dus op probeert te baseren ontgaat mij volledig.

C is niet te volwassen. Je moet het kunnen. Dat is juist het hele verschil tussen een scripttaal (PHP) en een programmeertaal (C) C moet je leren, ook al meende iemand hier boven dat je programmeren niet hoeft te leren. Maar stack overflows, memset foutjes en alloc inconsistentie zal je met PHP niet zo snel hebben (Net als segfaults)
PHP moet je ook leren, en in PHP heet het net zo goed "programmeren". De hele distinctie tussen script en programma gaat nergens over.
Noem eens een programmeertaal waar beginners niet in een valkuil terecht komen.

De charme van PHP is de kracht van de gigantische hoeveelheid beschikbare standaardfuncties en de eenvoud waarmee je die functies kunt aanroepen. Een paar regels code is genoeg om behoorlijke complexe bewerkingen uit te voeren.
De charme van PHP is de kracht van de gigantische hoeveelheid beschikbare standaardfuncties...
Nou nou, niet overdrijven. .NET en Java hebben beiden een hoeveelheid 'standaardfuncties' waarvan PHP in een hoekje gaat zitten kniezen.
... en de eenvoud waarmee je die functies kunt aanroepen. Een paar regels code is genoeg om behoorlijke complexe bewerkingen uit te voeren.
Als je iedere keer in de documentatie moet gaan spitten om op te zoeken hoe die ene magische functie ook alweer heet waarmee je die ene specifieke ultra-bewerking kunt uitvoeren... dat is niet eenvoudig.

[Reactie gewijzigd door Korben op 9 juni 2010 09:11]

Nee, meerderjarig. :)
Ja, en volgend jaar mag PHP bier drinken :+
En dan LAM(P) worden? ;)
Zal PHP dan over 3 jaar, na hun 18e verjaardag, eindelijk een volwassen taal zijn? :+
In Nederland wel dan, in andere landen niet ;)
Ik zat meer te denken in de lijn van "Onkruid vergaat niet", maar die van jouw is leuker :)
Gelukkig is PHP niet van Yahoo!

Even zonder dollen,driemaal in de ronte hoera voor PHP.
PHP heeft toch een beetje het web gemaakt zoals het nu is.

[Reactie gewijzigd door eXisTa op 9 juni 2010 08:53]

PHP heeft toch een beetje het web gemaakt zoals het nu is.
Er aan bijgedragen okay, maar 'gemaakt'???

Ik denk dat jij geen benul hebt van hoeveel sites en web applicaties op .NET en Java EE draaien, al dan niet in de back end.
Naja, dat zijn er echt niet zo veel hoor, je moet niet vergeten dat praktisch iedere enkele blog, forum of cms systeem (m.a.w. de meeste content gerichte sites) gemaakt is in PHP. ASP en Java worden alleen gebruikt voor echte webservices en daar zijn er in vergelijk met blogs, fora en standaard sites ongelovelijk weinig van. En sowieso, zelfs het merendeel van alle webservices zijn waarschijnlijk in PHP gedaan.
Naja, dat zijn er echt niet zo veel hoor
Ik denk dat je je daar nog heel erg in vergist. Kijk eens wat de meest gebruikte programmeer taal is. Dat is toch echt Java. Zie b.v. http://www.tiobe.com/inde...paperinfo/tpci/index.html

Bedenk dan ook nog eens dat Java op de client (desktop) slechts een vrij kleine rol speelt . Er is nog wel een niet geheel klein aantal mobile apps, maar de overgrote meerderheid van de Java developers doet server side development.

Wat zouden al die developers dan toch doen joh, als Java zogenaamd zo weinig op het web gebruikt wordt?

Bedenk dat enorm veel banken, vliegtuigmaatschappijen, energie bedrijven etc op Java draaien. Het is leuk dat de blogs, webshopjes en fora op PHP draaien, maar dat is slechts 1 aspect van het web. Dat de serieuzere commerciele diensten OOK via het web beschikbaar zijn is minstens zo belangrijk en is juist iets wat het web zo'n intergraal onderdeel heeft gemaakt van onze maatschappij.

Bedenk daarbij dat zelfs platforms die voor de gebruiker volledig PHP lijken in de backend Java gebruiken. Denk b.v. aan Facebook's Cassandra (http://en.wikipedia.org/wiki/Apache_Cassandra).

Ook in de (semi) wetenschap (mijn eigen terein) wordt Java zeer veel ingezet, voor diverse dingen als (web based) job management, simulatie management en steeds vaker ook voor de implementatie van de simulatie code zelf. Dit zijn ook gewoon dingen die wetenschappers via het web aansturen en niet lokaal op hun computer draaien.

Ook een niet gering aantal services waarvan PHP webshopjes gebruikt maken, zoals betalingen, ad serving, datafeeds, zijn in Java gemaakt (en ook in .NET en enkele andere oplossingen). Ik zeg niet dat Java het alleenheerschap heeft in deze markten, maar geef aan dat Java VEEL meer wordt gebruikt dan je denkt als je alleen naar de .php extentie kijkt van de blogs en webshopjes die je bezoekt.
En ik denk dat jij geen benul van het web heb.

Het gaat hier om een taal die meer dan de andere gebruikt kan worden door iedereen. Het is niet voor niets dat alle populaire blogs en webshops en forums op php draaien.

Ja .NET en Java wordt gebruikt, door de grote partijen. PHP is de taal voor de hobbyist en dit maakt hem tot de taal die iedereen instaat stelde met een ideetje zijn eigen site te maken.

Het web is god zij dank meer dan alleen de ibm en microsoft sites. Het is de voetbal club die met een php forumpje ook mee mag doen.

En dat is waar vooral Java fans maar niets van snappen. Dat 99% van het web een taal nodig heeft die makkelijk is te leren en het gewoon doet. LAMP is niet voor niets het acronym en niet LAMJ or LAM.NET of WIMP

Linux, Apache, MySQL, PHP. Te samen hebben ze het behouden voor de gewone gebruiker.
Linux, Apache, MySQL, PHP. Te samen hebben ze het behouden voor de gewone gebruiker.
Maar tegen welke prijs? Vooral de laatste twee hebben enorm veel quirks en zorgen voor veel rommel en misinformatie op het internet, terwijl er toch zoveel betere alternatieven zijn. Voor MySQL is er bijvoorbeeld Postgres - en iedereen die het kent én die wat verstand heeft van databases zal snel toegeven dat die veruit superieur is aan MySQL. Daar komt nog bij dat Postgres écht open source is - MySQL valt onder een bedrijf (MySQL AB) dat onder een bedrijf valt (Sun) dat onder een bedrijf valt (Oracle), waardoor het 'open' karakter toch wat onstabiel lijkt.

En voor PHP heb je natuurlijk Python, Neerlandsch trotsch als het op programmeertalen aankomt. Volgens velen minstens net zo makkelijk als PHP, maar veel beter qua standaarden en professionaliteit - zie ook http://wiki.python.org/moin/PythonVsPhp. Niet de meest neutrale bron overigens.

[Reactie gewijzigd door YopY op 8 juni 2010 20:52]

En voor PHP heb je natuurlijk Python[...] Volgens velen minstens net zo makkelijk als PHP
Je weet niets van programmeren, Wilt zeker niet direct met vreemde termen lastig gevallen worden en je doet PHP.net vs Python.org

met php kom je heel snel op http://www.php.net/manual/en/tutorial.firstpage.php
Met Python kom je bij http://docs.python.org/tutorial/index.html

Wat is er nu Makkelijker??

@flowerp:
nu voor de volgende vraag. ga weer naar PHP.net of Python.org en vraag hoe je met LDAP kan babbelen.
is PHP dan niet de hornbach?

[Reactie gewijzigd door daft_dutch op 9 juni 2010 00:01]

Het idee achter het concept 'beginner' is dat het meestal van voorbijgaande aart is. Op een gegeven moment ben je beginner af en kies je gewoon een goede tool.

Kwasten bij de HEMA doop je in de verf en kunt verfen. Profesionele kwasten hebben wat meer zorg en kennis nodig. Zijn HEMA kwasten daarom beter dan profesionele? Kiezen ook profesionals voor de HEMA?
Wat een enorm flauwe vergelijking. Dat je bovenstaande kan laten werken is ook alleen maar omdat je een mod_php in je Apache hebt zitten. Je ziet dus dermate de niche focus die PHP van oudsher heeft.

Dat Python van oudsher een generieke programmeertaal is betekent dus dat de focus niet ligt bij het "even snel een hello world in een browser schermpje toveren". Dus wat dat aangaat vind ik echt dat je appels met peren aan het vergelijken bent.

Ik vind je ook nogal stellig met je opmerking richting YopY dat hij "[...] weet niets van programmeren]".
Je weet niets van programmeren, Wilt zeker niet direct met vreemde termen lastig gevallen worden en je doet PHP.net vs Python.org

met php kom je heel snel op http://www.php.net/manual/en/tutorial.firstpage.php
Met Python kom je bij http://docs.python.org/tutorial/index.html

Wat is er nu Makkelijker??
Wat versta je onder "makkelijker"? Ik zie een Hello World script (waar het hele installatieproces van Apache, PHP en/of mod_php overgeslagen wordt) op de PHP site, en de inhoud van de Python documentatie op de Python site.

Op de PHP site wordt je, als leek, geïntroduceerd tot HTML, PHP's open / close tags, een echo statement, HTML in datzelfde echo statement (dat algemeen gezien wordt als 'bad practice' en gewoon verwarrend is voor nieuwe mensen), etcetera.

Het Python alternatief? Download de installer, open een commandline, typ 'python', en typ

[code=python]print "hello world"[/code]

Lijkt mij persoonlijk een stuk makkelijker voor de beginnende gebruiker.
Daar komt nog bij dat Postgres écht open source is - MySQL valt onder een bedrijf
Wat een imens non argument. MySQL is echt open source, het is vrijgegeven onder een open bron licentie (GNU GPLv2) en deze licentie kan NOOIT teruggenomen worden. Men kan enkel een nieuwe versie maken onder een gesloten licentie, maar dankzij de open source licentie kan er dan een fork ontstaan en kan men met een open versie blijven verder gaan.

Ook het feit dat er een bedrijf achter zit heeft zijn voordelen. Zo is er een stabiliteit in het ontwikkelproces. Het bied ook zekerheden naar de klanten toe wat betreft support, iets wat voor bedrijven vaak belangrijker is dan het open bron karakter of de aanschafprijs.
[...]
Wat een imens non argument. MySQL is echt open source, het is vrijgegeven onder een open bron licentie (GNU GPLv2) en deze licentie kan NOOIT teruggenomen worden. Men kan enkel een nieuwe versie maken onder een gesloten licentie, maar dankzij de open source licentie kan er dan een fork ontstaan en kan men met een open versie blijven verder gaan.
Helemaal mee eens, beiden zijn volledig open source. BSD heeft als voordeel dat je geen verplichting hebt om aanpassingen te publiceren wanneer je de nieuwe code zelf gaat uitgeven, maar dit is een situatie waar gebruikers toch al geen last van hebben.
Ook het feit dat er een bedrijf achter zit heeft zijn voordelen.
Zoals?
Zo is er een stabiliteit in het ontwikkelproces.
Welke stabiliteit? MySQL staat daar zeker niet bekend om, zie de doorlooptijd van de bugfixes, men weigert vrijwel altijd externe bijdrages/fixes op te nemen.

En waarom zou dit stabieler zijn dan het proces van een project die geen commerciële eigenaar heeft? Commercie heeft een ander doel dan de ontwikkelaars, deze doelen kunnen elkaar zelfs bijten. Zeker wanneer er ook nog closed source versies van hetzelfde product worden uitgegeven: Zie MySQL en nu Oracle.
Het biedt ook zekerheden naar de klanten toe wat betreft support, iets wat voor bedrijven vaak belangrijker is dan het open bron karakter of de aanschafprijs.
En sinds wanneer is support van dit bedrijf beter dan support van andere bedrijven? Ik heb de gekste dingen van MySQL-engineers gehoord, dingen waar andere MySQL-engineers zich voor zouden schamen. Blunders die de data integriteit van de database (voor zover daar bij MySQL sprake van is) ernstig op het spel zetten! Support van dit soort (gecertificeerde!) medewerkers wil je absoluut niet hebben. Dus wat voor zekerheid heb je het dan over? Het certificaat zegt blijkbaar niks en de aansprakelijkheid is toch beperkt door de leveringsvoorwaarden van het support. Dat is met support altijd het geval en dus maakt het niet uit wie het support levert.

Maar goed, het gaat over PHP: Gefeliciteerd! :Y) (taart!)
Mwah, ik denk eerder dat je de invloed van php overschat. Php was toevallig op het juiste punt op het juiste moment.

Ja, er waren op een gegeven moment de horde hobbyisten die een laagdrempelig platform nodig hadden (en nee inderdaad, jee en asp.net zijn dat zeker niet). Toevallig was php makkelijk te installeren onder de gratis beschikbare apache, en werkte het out of the box met mysql, wat ook weer makkelijk te installeren was. Dit alles draaide op een redelijk krachtig gratis server OS genaamd linux. Dus kozen veel mensen daarvoor. Omdat veel mensen er voor kozen gingen meer hosters het supporten en vervolgens krijg je een soort van network effect.

Maar, heb alsjeblieft niet de illusie dat de hobbyist altijd verstoken zou zijn gebleven van de kunst van het websites maken wanneer php er niet was geweest. Als php er niet was geweest had het web er nog net zo uit gezien, alleen hadden we dan allemaal python, perl, orbscript, serverside javascript of wat dan ook gebruikt. Persoonlijk durf ik nog wel te stellen dat van je zo geliefde LAMP afkorting de P wel het minst belangrijk was voor de 'webapp door de gewone man'-revolutie.
Ach perl. Maar perl bestaat al langer en zeker in de beginne was er helemaal geen mod_php voor apache.

Dus verklaar dan toch eens waarom men voor PHP koos? En waar komt die mod_php vandaan en waarom is of was er in ieder geval geen mod_perl?

En inderdaad, het netwerk effect heeft PHP groot gemaakt maar WAAROM trad dit netwerk effect op bij PHP en niet bij de andere talen?

Stricte programmeurs klagen vaak over de idiote functie benaming in PHP. Ze zijn opgevoed dat het anders moet en kunnen er niet bij dat het eigenlijk niets uitmaakt. Ze zijn als auto rijders die als ze in engeland aankomen totaal van stuur zijn omdat alles aan de verkeerde kant zit. Dan gaan ze vervolgens een complete discussie aan waarom rechts rijden beter is. Zou best eens kunnen, maar zo wat?

PHP is "goed genoeg". Voor java programmeurs komt ik altijd maar weer met system.lang.exit vs exit():

Als je niet snapt wat makkelijker en sneller is, dan zul je het nooit snappen. Dan ben je als een BSD fan die maar niet snapt waarom iedereen voor het mindere Linux kiest. Ben je een wijn liefhebber die niet snapt waarom er meer bier word gedronken. Ben je een WK hater die niet snapt dat mensen die niets van voetbal snappen het feest toch leuk kunnen vinden.
Dus verklaar dan toch eens waarom men voor PHP koos? En waar komt die mod_php vandaan en waarom is of was er in ieder geval geen mod_perl?

En inderdaad, het netwerk effect heeft PHP groot gemaakt maar WAAROM trad dit netwerk effect op bij PHP en niet bij de andere talen?
Dat zeg ik toch? Een combinatie van op de juiste plek op het juiste moment, gevolgd door het netwerk effect. Een eigenschap van het effect is dat een marginaal verschil automatisch exponentieel groeit. Het muntje viel toevallig richting php en de rest is geschiedenis.
Stricte programmeurs klagen vaak over de idiote functie benaming in PHP. Ze zijn opgevoed dat het anders moet en kunnen er niet bij dat het eigenlijk niets uitmaakt. Ze zijn als auto rijders die als ze in engeland aankomen totaal van stuur zijn omdat alles aan de verkeerde kant zit. Dan gaan ze vervolgens een complete discussie aan waarom rechts rijden beter is. Zou best eens kunnen, maar zo wat?
Waar het om gaat is consequent zijn. Het gaat hier niet om een discussie tussen het plaatsen van je accolade op dezelfde regel of op de volgende regel. Het gaat over een consequente naamgeving. Php's naamgeving van functies is dat niet. (Soms prefixen, soms niet, soms camelcase, soms underscores, danweer is de haystack het eerste argument en dan is het weer de needle en soms mag het blijkbaar allebei).

Om even je metafoor erbij te pakken: Php kun je eerder vergelijken met een land waarbij je bij elk kruispunt op moet letten of je op de weg die je inrijd nu links, of rechts moet rijden.
PHP is "goed genoeg". Voor java programmeurs komt ik altijd maar weer met system.lang.exit vs exit():
Uiteraard is php 'goed genoeg', maar om even op het tweede deel in te gaan. Ten eerste is het System.exit(); en ten tweede hebben zelfs de mensen achter php ingezien dat alle functies in dezelfde scope toch niet zo heel handig is.
Als je niet snapt wat makkelijker en sneller is, dan zul je het nooit snappen. Dan ben je als een BSD fan die maar niet snapt waarom iedereen voor het mindere Linux kiest. Ben je een wijn liefhebber die niet snapt waarom er meer bier word gedronken. Ben je een WK hater die niet snapt dat mensen die niets van voetbal snappen het feest toch leuk kunnen vinden.
Ik denk dat ik meer snap dan je denkt ;). Wat ik echter nog vermakelijker vind is dat je met je eigen tunnelvisie eigenlijk blind bent voor de onderbouwde kritiek op php en daarmee eigenlijk precies zelf datgene doet waar je mij van probeert te betichten.

[Reactie gewijzigd door Janoz op 9 juni 2010 10:54]

(even generaliseren) Zijn dat niet die sites die er 20+ sec over doen op een pagina te genereren? Sorry, cheap shot ;) (Klik eens rond op http://www.rai.nl/ voor de grap... om te huilen gewoon)

Anyway, wat statistics (juni 2010):
- 32% van de top 1.000.000 sites draait op PHP (totaal: 30%)
- 23% van de top 1.000.000 sites op ASP.NET (totaal: 25%)
- 2% van de top 1.000.000 sites op J2EE (totaal: 8%)

Even los van hoe goed de taal zelf eigenlijk is, door de toegankelijkheid en brede ondersteuning heeft het zeker een enorme bijdrage geleverd aan "het web". Ok, door de toegankelijkheid is er ook weer een enorme berg rotzooi geproduceerd en sommige ontwerp-keuzes kan ik inderdaad alles behalve volgen... maar feit blijft dat het, alles afgewogen, de #1 taal-voor-het-web is. Nog wel tenminste...
-offtopic
Wow, dat is wel heel extreem :O die lui hebben zeker nog nooit van cache gehoord ofzo
-ontopic
PHP is een enorm fijne taal, en volledig naar je eigen hand te zetten, je kan procedureel maar ook object-orientated programmeren, erg goed!
Je bedoelt een security gatenkaas middels allerlei cross-site scripting (XSS), database injection en meer van dat soort aanvallen? :+
Wat heeft dat met PHP te maken? Een taal beschermt nooit tegen XSS, database injection etc - dat is de verantwoordelijkheid van de programmeur zelf, en/of van de ontwikkelaars van de libraries waar die persoon mee werkt.
Zolang er programmeurs zijn, zullen er veiligheidslekken zijn 8)7
Daarbij zijn we ook allemaal waarschijnlijk blij, omdat we anders geen Tweakers.net hadden kunnen lezen in de vorm zoals het nu is.
Als PHP niet had bestaan dan had Femme destijds wel een andere taal gebruikt. Het gaat nergens over om het bestaan van t.net aan PHP te danken. 't Is maar een tool.
Ik denk dat Tweakers.net de huidige vorm voor een belangrijk deel te danken heeft aan de taal die PHP heet. Natuurlijk zijn er andere zaken, maar er zal zeker met reden voor PHP gekozen is.
Omdat het een lage drempel heeft en Femme slechts een hobbyist programmeur was, dat is de énige reden. Inmiddels lopen ze keer op keer tegen de limieten aan en worden de backends van grote belangrijke features in talen als Java geschreven. Als je denkt dat het destijds een weloverwogen keuze is geweest dan zit je er naast :).

[Reactie gewijzigd door .oisyn op 8 juni 2010 18:32]

Er had ook gekozen kunnen worden voor iets als Perl, Python, C of Java, dat is niet gebeurt. Daarbij ben ik van mening dat het heel erg goed is dat onderdelen van een systeem worden verdeeld en in andere talen worden geschreven omdat je daarmee zo flexibel mogelijk bent.
Er had ook gekozen kunnen worden voor iets als Perl, Python, C of Java, dat is niet gebeurt.
Dus omdat dat niet gebeurd is is het een weloverwogen keuze geweest? Rare redenatie :)
Dat ga ik ook eens onderzoeken, ik hoor het steeds vaker. Back-end in C/Java/.NET, het klinkt intressant!
Nou ja, "PHP ken ik al, Java1 niet" of "Over PHP kan ik veel vinden wat ik meteen snap, over Java1 niet" is ook een geldig argument natuurlijk. Als Femme eerst een andere / moeilijkere / minder laagdrempelige taal had moeten leren, was de intresse tijdens dat leer process misschien wel weg ge-ebt, waardoor deze website misschien wel nooit af had gekomen.

Natuurlijk zijn er een heleboek technische redenen om iets anders als PHP te gebruiken. Maar belangrijker zijn de economische redenen. En als de keuze is "binnen één maand releasen met een technisch minder goede taal" of "over drie maanden releasen met een technisch betere taal", dan zal de eerste keuze toch vaak winnen.

Alleen met een oneindig budget kun je (misschien) software schrijven zonder daarbij consecies te moeten doen.

1: Of C, of Python, of ASP, of wat je maar wil.
En als de keuze is "binnen één maand releasen met een technisch minder goede taal" of "over drie maanden releasen met een technisch betere taal", dan zal de eerste keuze toch vaak winnen.
Onzin. Net zo veel bedrijven investeren wel degelijk in goede tools omdat ze iets willen bouwen dat goed blijft staan en ze daar het geld voor hebben of de investering gekregen hebben.

Zo geldt het overal in onze economie. Jij bekijkt het puur vanuit je eigen amateur/hobby visie en denk dan dat iedereen de zelfde afweging maakt en er het zelfde over denkt.

Een klein kind kan snel iets bouwen met Lego. Moet daarom alles wat los en vast zit in onze maatschappij dan maar met Lego gebouwd worden??? :?

[Reactie gewijzigd door flowerp op 8 juni 2010 23:38]

Moet daarom alles wat los en vast zit in onze maatschappij dan maar met Lego gebouwd worden???
Ja ;)
Natuurlijk zijn er een heleboek technische redenen om iets anders als PHP te gebruiken. Maar belangrijker zijn de economische redenen. En als de keuze is "binnen één maand releasen met een technisch minder goede taal" of "over drie maanden releasen met een technisch betere taal", dan zal de eerste keuze toch vaak winnen.
Helaas zien managers vaak niet in dat snel bouwen ook nadelig kan zijn. Bovenstaand geldt overigens niet specifiek voor PHP - ik kan ook binnen een maand een website uitpoepen in wat voor taal dan ook als het nodig is - maar in het algemeen.

"You can have it cheap, fast, and good. Pick two" gaat de stelling. Zie ook http://en.wikipedia.org/wiki/Project_triangle.
Tja, en je snapt dus blijkbaar niet wat je zelf zegt.

Tweakers, Facebook, zijn MOGELIJK geweest door PHP. NU ze geld zat hebben zitten ze aan de limieten, maar nu kunnen ze beter kopen.

Dat is alsof je zegt dat een kleine transporter een slechte auto is omdat als je uitgegroeid bent naar een internationaale vervoerded een 747 meer kan vervoeren en sneller. Maar zonder die oude transporter had je bedrijf de eerste maand nooit overleefd.
Je vergelijking gaat mank. Er is namelijk niets mis met de Transporter. Er is wel wat mis met PHP. Als je toch in de categorie auto's wilt blijven, Janoz plaatste ooit eens een mooie analogie over hoe er met PHP designissues wordt omgegaan door de developers
Als ik aan een stuur naar rechts draai wil ik dat ik naar rechts ga. Dan kun je documenteren dat het andersom werkt, het verdedigen door te vertellen dat er nu eenmaal een clockwise wormwiel gebruikt is en als handig voorbeeld aandragen dat je bij het achteruitrijden gewoon naar de jusite kant stuurt. Het is volkomen logisch dat het zo werkt door het gebruikte wormwiel, maar maakt dat het ook automatisch logisch dat je naar links moet sturen om rechtsaf te gaan?
De vergelijking is dus dat er geen kleine auto's bestaan, behalve die ene die toevallig ook een clockwise wormwiel gebruikt. Gezien de laagdrempeligheid van die auto (klein en kost weinig) boort hij een gat in de markt aan, maar dat betekent niet dat er niets op aan te merken is.
Tweakers, Facebook, zijn MOGELIJK geweest door PHP
Nonsens. Die sites zijn zonder PHP ook mogelijk, en vaak zelfs beter. Het enige verschil is dat er zo gigantisch veel LAMP configuraties te krijgen zijn waardoor de drempel zo laag is.

Grappig trouwens dat je in elke post hier onder dit artikel mensen ervan beticht er geen verstand van te hebben.

[Reactie gewijzigd door .oisyn op 9 juni 2010 12:30]

Dat is alsof je zegt dat een kleine transporter een slechte auto is omdat als je uitgegroeid bent naar een internationaale vervoerded een 747 meer kan vervoeren en sneller. Maar zonder die oude transporter had je bedrijf de eerste maand nooit overleefd.
Klopt, maar dan is die kleine transporter niet meer bruikbaar door die vervoerder op dat moment en moet ie dus naar die 747 overstappen.

Zo is het ook met PHP. Het is leuk voor hobby mensen die hun home page er mee bakken, maar zodra je meer wilt en je meer profesioneel inzicht gaat krijgen loop je snel tegen limieten aan
Het is dan ook tijd voor Ruby on Rails!
PHP is log en verouderd. Ruby on Rails is 100x fijner om in te programmeren! http://rubyonrails.org/
ja lekker onderbouwd :/

oh en Ruby on Rails is een framework en geen programmeer/scripting taal :+

[Reactie gewijzigd door !GN!T!ON op 8 juni 2010 17:59]

Het is misschien log, al wordt er zeker aan gewerkt om het efficiënter te maken, kijk maar eens naar HipHop for PHP. En daarbij is het zeer laagdrempelig voor beginnende programmeurs omdat het een heel flexibele taal is.
Elke Turing-complete taal is heel flexibel, waar doel je specifiek op?

En HipHop lijkt me echt een soort van last measure oplossing, een vreemde hack die slechts een symptoom van iets oplost. Voor een organisatie en website zo groot als Facebook (die had het toch gemaakt geloof ik?) kan het niet uit om alle developers om te scholen, of om de gehel software te herschrijven in een snellere taal.
En daarbij is het zeer laagdrempelig voor beginnende programmeurs omdat het een heel flexibele taal is.
Elke Turing-complete taal is heel flexibel, waar doel je specifiek op?
Dit is ook Turing-complete, dus flexibel, dus laagdrempelig? ;)
Ik zei flexibel, niks over laagdrempelig ;).
Moet haast wel.
Als Orang Oetangs Ook! kunnen leren, moet mensen toch wel BF kunnen begrijpen ;)
In alle eerlijkheid, ik ken een stuk of 3/4 talen (afhankelijk van hoe je telt, maja) en ik moet zeggen dat toen ik Ruby en RoR probeerde te leren dat een vreselijke ervaring was en ik het waarschijnlijk nooit meer zal aanraken. Zou best kunnen dat ik heel subjectief ben, maar dat is jouw stelling dan des te meer.

Hoe dan ook, je hoort never nooit iemand op z'n verjaardag te vertellen dat ie oud is, laat staan dat ie log is. O-) :*)
Of misschien het Grails framework? Combinatie van het on-the-fly compileren van je Java/Groovy code bij wijzigingen, zodat je makkelijk net zoals bij PHP kunt kijken wat een aanpassing doet op je pagina, zonder dat je alles opnieuw telkens hoeft te deployen. Verder de voordelen van Java/Hibernate/Groovy/ORM. Ideaal voor mensen die PHP makkelijk vinden werken, maar toch ook wel Java willen leren/gebruiken en niet teveel de PHP-voordelen kwijt willen raken.
Een komende versie van PHP zou onder andere ondersteuning voor Unicode moeten brengen
Welke ondersteuning voor Unicode mist php dan?
PHP kan nog niet goed omgaan met Unicode tekst bijvoorbeeld. Als je strpos() gebruikt tel je bytes en niet karakters (in Unicode kunnen die multi-byte zijn).
http://nl.php.net/manual/en/ref.mbstring.php

Opzich kan PHP prima er al prima mee overweg maar het komt in de core dus dan wordt het alleen maar simpeler om er mee te werken :)

[Reactie gewijzigd door StM op 8 juni 2010 17:55]

Aha.. Nooit opgevallen :)

Dit geeft idd als resultaat 3:

<?
echo strpos('€1','1');
?>
<?=strlen('€')?> spuugt ook vrolijk "3" uit.

<?=mb_strlen('€')?>, mits je je charsets goed hebt ingesteld, spuugt "1" uit.
Gezien het buffer overflow risico moeten we dat maar zo houden. Het aantal bytes in de string is vaak belangrijker dan het aantal karakters. WIl je weten hoeveel karakters er in een string zitten moet je een andere functie gebruiken.
Onzin. De meeste functies werken op karakters, niet op bytes. Dat ze daarbij de aanname doen dat 1 karakter == 1 byte doet daar verder niets aan af. Volgens jouw logica zou mb_strpos() hetzelfde resultaat terug moeten geven als strpos(), aangezien ze bytes tellen. Het punt is dus dat ze geen bytes tellen, maar karakters.

Daarnaast zijn buffer overflows in PHP non-existent en dus geen enkele reden om als programmeur expliciet rekening mee te houden.

[Reactie gewijzigd door .oisyn op 8 juni 2010 18:24]

Yea right, en wat gebeurt er dan als je strlen() loslaat op een string om te kijken of de lengte voldoet? Stel dat je een string van 10 bytes maar 8 karakters controleert op lengte, waarbij 8 de maximaal toegestane lengte is. Dan moet je script dus aan de client gaan vertellen dat de string te lang is, terwijl de client braaf een string van 8 karakters heeft ingevuld 8)7

Buffer overflow? Wat heeft dat er mee te maken, daar heeft PHP genoeg beveiliging tegen... Bij strings werk je nagenoeg altijd met karakters, in je RDBMS geef je toch ook niet op wat de maximale grootte is van een string, maar wat de maximale lengte is?

Wat jij eigenlijk zegt is dat de grootte van een INT met waarde 8 eigenlijk 4 is (8 --> 1000 binair --> 4 bytes) :?
Gefeliciteerd PHP :)
Het Unicode verhaal in PHP6 is incorrect. Een paar maanden geleden hebben de PHP developers besloten opnieuw te beginnen met de volgende versie van PHP, aangezien development van PHP6 was komen stil te staan. Hierbij is de trunk (= development versie, wat PHP6 zou moeten worden) verwijderd en een nieuwe trunk gestart, als kopie van PHP 5.3, welke nu door het leven gaat onder versienummer 5.3.99 aangezien nog niet bekend is of het 5.4 of 6.0 wordt. Momenteel zit hier geen verder uitgebreide Unicode support in: er wordt naar een nieuwe oplossing gezocht. Wat hier wel in zit is type hinting voor scalars (function test(int $a, string $b)), traits, array dereferencing ($var = test(5, "hoi")[5]), ~20% performance winst, rewrite van de output-API (5% performance o.i.d.) en FastCGI Process Manager. Maar geen unicode dus ;)

[Reactie gewijzigd door hostname op 8 juni 2010 18:04]

Gefeliciteerd PHP!

Vraag me wel af of er nog eens 15 jaar bijkomen, want volgens mij wordt PHP steeds vervangbaarder. Overigens weet ik niet of PHP goed is om te 'leren' programmen in bijvoorbeeld C en Java. PHP is natuurlijk minder complex dan 'echte' programmeertalen.
Dat komt doordat PHP ook geen programmeertaal is. Het is meer een scripttaal om dat er een interpreter bij komt kijken.
Ook dat speelt mee inderdaad.

Neemt overigens niet weg dat ik PHP een leuke en prima taal vind voor datgene waarvoor het bedoeld is :)
Dus als je PHP compileert is het een programmeertaal, en als je C interpreter gebruikt is C een scripttaal?

Met andere woorden, hoe het wordt uitgevoerd doet niets af aan de complexiteit van een taal.
Kan je misschien uitleggen waarom PHP geen programmeertaal is? Want dat is het namelijk wel, maar ik ben nieuwsgierig hoe je je hier uit gaat kletsen. ;-).
Ze zullen wel blijven hangen bij de oude PHP-versies die inderdaad onder de scripttalen vielen

PHP4 was een twijfelgeval. PHP 5 is een programmeertaal

Op dit item kan niet meer gereageerd worden.



Populair: Samsung Gamecontrollers Smartphones Sony Microsoft Apple Games Consoles Politiek en recht Smartwatches

© 1998 - 2014 Tweakers.net B.V. Tweakers is onderdeel van De Persgroep en partner van Computable, Autotrack en Carsom.nl Hosting door True

Beste nieuwssite en prijsvergelijker van het jaar 2013