Door Viognier: @Krakatau: wat je maar niet wil inzien is dat een taal maar een taal is. Frans is niet beter dan Duits, Spaans niet beter dan Italiaans. Hoe goed de taal gesproken wordt hangt af van wie de taal spreekt.
Frans is wel degelijk beter dan Duits, hoewel Duits net zo goed beter is dan Frans... alleen voor verschillende doeleinden.
Dat geldt nog veel sterker voor programmeertalen. Maargoed, als je dat niet weten wil, dan wil je het volgende zeker ook niet lezen:
http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/Hoewel de ene taal wat meer geschikt is voor een bepaalde toepassing dan een andere hangt de kwaliteit van het eindprodukt vooral af van de programmeur. Een slechte PHP programmeur levert waarschijnlijk een slechte PHP applicatie op.
De kunde en het inzicht van de programmeur spelen zeker een rol. Laat PHP nou een laagdrempelige taal zijn met een hele grote aanhang van overwegend slechte tot zeer slechte programmeurs. Want zij die wel andere talen gezien hebben en weten dat het beter kan, kiezen vlug voor wat anders. Het zijn dan ook de beginners, de ongeinformeerde knutselaars, en de chronisch nietbeterweters die achterblijven. Tot bij de "ontwerpers" van de taal toe, en dat is goed te zien voor zij die wel het verschil kennen.
De keuze voor de taal waarin een applicatie gemaakt wordt moet afhangen van je infrastructuur. Heb je een Windows/IIS serveromgeving, kies dan vooral voor .NET omdat de applicatie dan makkelijker pas in je omgeving wat het beheer makkelijk maakt. Heb je daarentegen een Linux/Apache serveromgeving, kies dan vooral voor PHP omdat je ook dan een applicatie krijgt die makkelijk in je omgeving past en dus beter te beheren is dan een .NET applicatie. Maar kies hoe dan ook voor een goede ontwikkelaar en staar je niet blind op de taal.
Goede ontwikkelaars kunnen goed uit de voeten met meerdere talen, dus als dat het criterium is dan is "kan alleen wat met $TAAL" indicatie dat we hier niet met een goede ontwikkelaar te maken hebben.
Hoewel je gelijk hebt dat infrastructuur voor beheer en onderhoud liefst niet al te heterogeen moet zijn (hoewel compleet homogeen zo zijn eigen problemen met zich meebrengt), bestaat infrastructuur slechts voor het bereiken van een doel, namelijk het opserveren van een dienst.
De bestaande infrastructuur heeft dan ook zeker invloed op keuzes bij niewe toevoegingen, maar de te verwachten ontwikkelingen ook, en gewenste veranderingen kunnen zo geleidelijk ingezet worden. De bestaande infrastructuur is derhalve niet per definitie leidend.
Persoonlijk zou ik infrastructuur die aan publieke netwerken hangt niet aan redmond toevertrouwen. Daarbij is met het beschikbare aanbod geen reden behalve masochisme om nog talen met maar een enkele proprietare fabrikant te gebruiken. Maar zelfs met unix (linux, freebsd, iets anders) zou ik liever geen PHP gebruiken--en zeker niet voor nieuwe projecten.
Is het voor een grootbedrijf, dan is de kans groot dat er al het een en ander in java gebeurt en is het vrij natuurlijk dat te blijven doen. Anders, ach, er zijn genoeg alternatieven. python is populair, perl wordt ook nog veel gebruikt, ruby(-on-rails) heeft zo zijn aanhang maar tegenwoordig schijnt scala (voor op de jvm) toch nog net iets hipper te zijn, maar als je heel erg graag alles in javascript wil doen is er node.js, en zelfs lisp is terug in de vorm van clojure (voor op de java runtime of de dotnet runtime).
Keuze genoeg, dus waarom je nou bij de meest brakke optie (uitgezonderd wellicht iets als "vb.net") wil blijven ontgaat me een beetje. Vandaar ook die eerdere pro tip: Gebruik geen PHP voor nieuwe projecten.