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. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 56 reacties
Bron: eWeek

Naast de bestaande traditionele .Net-programmeertalen als C#, Visual Basic en C++/CLI werkt Microsoft ook aan alternatieve talen voor zijn programmeerplatform. Zo heeft Microsoft inmiddels ondersteuning voor de scripttaal Python dankzij het IronPython-project. Voor webontwikkelaars is er echter ook goed nieuws, aangezien het bedrijf werkt aan een .Net-compiler voor de PHP-scripttaal.

PHP logo (60 pix)Het Phalanger-project heeft als doel om een volledige ondersteuning te bieden voor alle elementen van de PHP-taal zodat PHP-scripts ongemodificeerd binnen het .Net-platform kunnen draaien. De PHP-scripts worden hiervoor vertaald naar de Common Intermediate Language (CIL). Volgens Microsoft krijgen webapplicatieontwikkelaars de mogelijkheid om de gebruiksvriendelijkheid van PHP te combineren met de krachtige API's die beschikbaar zijn binnen het .Net-framework. Zo zal het bijvoorbeeld mogelijk zijn om in een PHP-script gebruik te maken van classes die zijn geschreven in een andere .Net-taal zoals C# of Visual Basic. Het Phalanger-project, dat op 30 juli de tweede bŤta van versie 2.0 heeft uitgebracht, probeert volledig compatible te zijn met het objectmodel van PHP 5.0. De nieuwste bŤta van Phalanger legt de basis voor integratie van PHP in Visual Studio 2005, die binnenkort volledig beschikbaar zal zijn.

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (56)

Mijn eerste gedachte, en dat meen ik serieus toen ik de titel las: "Hell just froze over!". Vervolgens even mijn adem terg gekregen en toen de potentiele eerste voordelen gezien:

- compiled php > performance winst (als het goed is)
- meer uitwisseling tussen de vele handige php projecten met .Net
- dit zou misschien ook nog een extra boost aan het Mono project kunnen geven. Dan krijg je php > .net > *nix.

De vraag is natuurlijk: Zou je echt 1 op 1 de hele handel in .Net kunnen knallen? Als je bijvoorbeeld met Visual Studio erbij aan de slag kan gaan heb je imo een krachtige ontwikkel omgeving voor PHP applicaties welke vrij rap te porten zijn.
Mijn eerste gedachte was

PHP > CIL > C# / VB

Het lijkt mij dat je een intermediare taal makkelijker naar een ondersteunde taal converteerd, dan van taal > taal (sommige daargelaten)
Zoals je nu bv. ook redelijk makkelijk je java classes kunt decompilen.
Het is niet de bedoeling PHP in C# of VB om te zetten, maar PHP rechtstreeks op .NET te draaien. Dan heb je ook de voordelen van het .NET framework in PHP.
Er is ook een PHP implementatie in Java. Hoewel het nog redelijk basic is worden veel functies al ondersteund.
Dit is een erg suggestief artikel dat kant nog wal raakt. De eerste zin in de bron geeft al aan wat het werkelijke nieuws is:
Extending its support for scripting and dynamic languages, Microsoft is hosting a project on its CodePlex site to deliver a PHP language compiler for the .Net Framework.
CodePlex is een door Microsoft opgerichte community waar van allerlei .NET gerelateerde projecten gehost worden, waar Microsoft wel een goede kans van slagen in ziet of die zij zien als een waardevolle toevoeging aan .NET.

Microsoft gaat helemaal NIET meehelpen, meewerken of wat dan ook aan dit PHP project zoals hierop Tweakers gesuggereert wordt. Ze hosten het project alleen. Ze hosten ook .NET projecten voor World of Warcraft. Het lijkt me niet dat Blizzard WoW in c# gaat bouwen :+

Overigens is het wel interessant om eens op CodePlex te kijken:
http://www.codeplex.com

En het originele bericht over CodePlex hier op Tweakers: nieuws: Microsoft opent 'community development'-site

@junkchaser: Als je zo gaat redeneren gaat Microsoft binnenkort ook Linux mee helpen bouwen... Beetje kromme redenatie wat mij betreft.
Hey mensen wat is dit nu??? ik mis een reactie over Vendor Lock-In..... ik zie namelijk weer microsoft staan ergens... hup... kom op... wie durft ;Z
Het .NET-platform is nu net een van de producten van Microsoft die niet onderworpen is aan een vendor lock-in. Er is namelijk een open standaard die iedereen mag implementeren (getuige het Mono-project) en gebruiken. Het feit dat Microsoft zelf ondersteuning biedt voor andere talen (en zeker voor een taal die het best past in het kraam van Linux) is een stap in de goede richting.

Op deze manier kan iedereen op elk platform gebruik maken van alle beschikbare talen (C#, VB.NET, PHP, ...) zonder zich veel zorgen te maken over de beschikbaarheid van libraries.

Die libraries lijken mij een ander groot voordeel. Er zijn veel meer pre-made controls/libaries voor .NET die goed getest en in enterprise applicaties gebruikt worden dan voor PHP, waar de meeste developers nog altijd denken 'wat ik zelf doe doe ik beter'.
besides wat dingetje zegt,

als de mafia in het nieuws is zeg je toch ook niet, kom op wie durft de magia gemeen te noemen?

MS is door verschillende langdurige rechtzaken en de hoogste rechter veroordeeld voor praktijken die ze door middel van vendor lock in mogelijk maakten.

Mogen bezoekers van tweakers daar nu ineens niet meer boos over zijn, of mensen voor waarschuwen? Ik denk het wel.

MS is een veroordeeld monopolist.
Sterker nog MS is het bedrijf/persoon die het grootste Financieel delict OOIT in europe gepleegd heeft, en daar nog echt niet van geleerd heeft. Vindt je het gek dat mensen voorzichtig zijn?

Coke gebruikers zullen ook nooit hun dealer als klootzak bestempelen, ze zijn immers afhankelijk, en weten niet goed hoe het zonder de coke is.
ze hebben wel van dat financiŽle conflict geleerd denk ik, namelijk dat de EU betalen wellicht goedkoper is dan documentatie vrij geven.
Voor mij een signaal dat ze duidelijk niet overtuigd zijn van de kwaliteit van hun eigen producten, omdat binnen no-time andere zo goed of waarschijnlijk beter samenwerken dan hun eigen producten.
Beweren dat iets op Windows langzamer is is niet geheel een troll, windows draait nog altijd een grafische schil en staat bekend om slecht geheugen management.
Voor mij persoonlijk ervaar ik het als een onstabiel server platform voor Lotus Notes.

Ik kan het zo snel niet vinden, maar heb gelezen dat nergens staat dat Microsoft de .Net specificatie blijft vrijgeven. Open is niet Open als in Open Source bij Microsoft, kijk maar naar OpenXML(andere discussie).
Voor zover ik begreep kan Microsoft de Vendor-locking truck uit halen bij .Net (kan er naast zitten).
Dan krijg je dus voor het Mono project een deel goede implementatie en zou de rest reverse engineering worden, waarschijnlijk leidend tot een splitsing.

time will tell :)?
Embrace, Extend, Extinguish

Waarom heb ik het gevoel dat dit uiteindelijk niet ten goede zal komen aan PHP.
Hoezo heb je dat gevoel? Je hoeft PHP.Net niet te gebruiken hoor.
Wat dahakon op doelt is op wat er gepoogd is met Java.

Daar zat Microsoft, zonder toestemming van SUN, de functionaliteit uit te breiden/wizjigen met als gevolg incompambpitibileit voor VM's voor andere platforms. Dat zou betekenen dat het alleen zou werken als je een MS VM zou gebruiken. Daar is SUN destijds succesvol tegen in gegaan. Dahakon is bang dta een zelfde verhaal ook kan gebeuren voor PHP. Eventjes een paar exotische functies toevoegen en het draait altijd super ... als je het maar op een .NET server draait. That's the point.
Driewerf DUH!

Het doel van PHP.Net is het integreren in het .Net platform, zodat je andere .Net componenten -evt geschreven in andere talen- ook aan kunt roepen. Nogal logisch dat het dan alleen onder het .Net framework draait. Er is dan ook geen enkele vergelijking mogelijk met wat MS destijds met Java gedaan heeft.
Tis met Java tot nu toe ook niet gelukt...
Tsja maar het lijkt mij dat de performance onder native php (+apache oid) toch een stuk vlotter is
Uit de bron:
Unlike the original PHP interpreter, Phalanger compiles scripts into MSIL (Microsoft Intermediate Language).
Doordat er gecompileerd wordt, is er juist een forse prestatieverbetering te verwachten t.o.v. "native PHP", lijkt mij. In principe maakt het dus niet uit of de code geschreven is in C#, Visual Basic, PHP of welke ondersteunde taal dan ook. Een zeer interessante ontwikkeling die vermoedelijk met open armen wordt ontvangen door de PHP-programmeurs.
Er zijn voor PHP meerdere accelerators beschikbaar. In de praktijk komt het erop neer dat die ook compileren en dan de gecompileerde versie opslaan in een cache. Dit zorgt ook voor een forse prestatieverbetering. Op dat punt is er dus eigenlijk weinig verschil en zal de tijd leren of de MS methode of de PHP accelerators zullen winnen.
Dit is natuurlijk niet bedoeldom de parsetimes van PHP te vermijden, maar onder andere om classes uit andere talen te kunnen gebruiken, zoals in het bericht wordt genoemt.

Dat ik de titel las was ik huiverig, maar na de laatste alinea klinkt het veelbelovend.
Dit is natuurlijk niet bedoeldom de parsetimes van PHP te vermijden,
Een gecompilede versie vermijd ook niet alleen de parsetime, maar verbeterd ook sterk de execution time.
Als je er een simpele website mee bouwt zal .NET inderdaad niet heel veel sneller zijn. Maar idee is meer dat je nu PHP als taal kan gebruiken in .NET applicaties en services om bijboorbeeld simpele front-end zaken mee te regelen.
Hmm.. concurrentie uit de PHP hoek verwachtte ik niet als C# programmeur. Tijd om PHP te gaan leren denk ik :o
Let misschien maar op P#
Klinkt wel grappig in het Engels :+
Het lijkt me bijzonder onwaarschijnlijk dat .NET krachtig genoeg is om native PHP te draaien. Zo ondersteund PHP dynamisch laden (en compileren) van code, lambda functie achtige constructies, een bijzonder krachtige eval, conditionele includes binnen de code, conditionele creatie van functies, alles is volledig op multidemensionale associative arrays gebaseerd, typering van variabelen is volledig dynamisch etc. etc. allemaal dingen die binnen een gecompileerde omgeving buitengewoon lastig zijn.

Het lijkt me veel waarschijnlijker dat ze, net zoals ze dat bij Perl gedaan hebben, zullen kiezen voor een hybride oplossing waarbij in feide de orginele PHP engine draait binnen het .NET framework. Voor Perl golden vergelijkbare overwegingen.

Doen ze dat niet dan zal er een subset van PHP ontstaan waarin de meeste wat complexere PHP applicaties niet zullen draaien.

Een andere reden om het op dezelfde manier op te lossen als dat met Perl gebeurd is, is dat het veel minder werk is. Je legt wat verbindingen over en weer en klaar is klara. Het is dan ook veel makkelijker toekomstige aanpassingen in PHP te verwerken door simpelweg de PHP code opnieuw te compileren.
Die dingen die je noemt zijn stuk voor stuk syntactische suiker en hebben dus geen zak te maken met de features die .Net als platform ondersteunt :)
Daarmee komen vele PHP toepassingen beschikbaar voor het windows platform.
Hoe krijgt MicroSoft nog meer grip op de markt?
Er is al gewoon PHP voor Windows hoor -- alleen nog geen PHP voor .NET.
Dit maakt de overstap van PHP naar ASP.NET (icm PHP) een stuk makkelijker. Zo bekeken vind ik dit helemaal geen slechte zet voor MS. Toch wel een apart idee, ASP.NET icm PHP, het moet niet gekker worden :)

Alleen vraag ik me af, wat gaan ze doen met dingen als namespaces ed, die niet in PHP zitten?

edit: het antwoord stond op deze pagina:
* Declare your classes and functions in namespaces using namespace N { ... }
* Access classes and functions in namespaces using new N:::C; N:::C::f(); N:::C::$x;
* Import namespaces to scripts using import namespace System:::Collections:::Generics;
Toch wel een apart idee, ASP.NET icm PHP, het moet niet gekker worden
Je kunt nu ook al kiezen of je ASP.NET web apps met bijvoorbeeld C# of VB wilt programmeren. Als je nu 'gewoon' een ASP.NET app bouwt (dus met control, code behind page etc) alleen dan de PHP syntax gebruikt voor je logica, dan is dat nog niet eens zo gek (gek in de zin van vreemd).

De vraag is, wie wil dat?

Bestaande ASP.NET programmeurs gebruiken natuurlijk C#, een taal die (zeker voor .NET) toch wel de meest superieure taal is. Er zal weinig motivatie zijn om te gaan downgraden voor geen extra voordelen.

Bestaande PHP scripters zouden nu makkelijker de overstap naar .NET kunnen maken. Of de PHP'er daar echt op zit te wachten is maar de vraag. Je kiest PHP voornamelijk omdat je niet in architecturen, modellen, designs etc gelooft, en kiest het niet specificiek voor de syntax. In ASP.NET is het juist niet de bedoeling maar wat aan te prutsen (het framework dwingt oa een MVC structuur af). Aangezien het grootste gedeelte van de PHP'ers gewoon een beetje wil prutsen, zullen die helemaal geen interesse hebben in ASP.NET.

Een andere mogelijkheid is dat het is bedoeld om bestaande PHP apps op de .NET CLR te laten lopen, en eventueel zo makkelijk integratie code te kunnen schrijven om te bruggen tussen ASP.NET en PHP (bijvoorbeeld een PHP CMS binnen een ASP.NET business applicatie integreren, waarbij de CMS user en de BA user meteen dezelfde zijn).

Voor deze laatste mogelijkheid zal MS niet alleen een PHP compiler moeten leveren, maar ook de PHP gehele library.
Aangezien het grootste gedeelte van de PHP'ers gewoon een beetje wil prutsen, zullen die helemaal geen interesse hebben in ASP.NET.
Waarschijnlijk heb je hiermee gelijk, gezien iets van 90% van de goedkopere webhost een LAMP configuratie heeft, en een .net systeem dus niet eens mogelijk is. Denk dat dit systeem de meeste websites levert.
Door je hele reply lees ik alleen wel iets denegrerends over PHP. PHP is wel degelijk een hele krachtige taal waarmee zeker vanaf PHP5 heel mooi object georienteerd te programmeren is. OA heel tweakers draait ook op PHP, net als de meeste andere grote sites.
edit:
En het objectgeorienteerde idee met "webforms" zijn ook wel library's voor te krijgen. Heb zelf ook al iets voor geschreven als leerproject voor PHP. Inmiddels code die zo lelijk is dat ie direct de prullenbak in mag natuurlijk :).
Heb jij al eens met .Net gewerkt? Toegegeven je kan er een puinbak van maken, maar dat geldt ook voor PHP. De security e.d. binnen .Net is enorm.

Jij hebt het namelijk over ASP/MS-SQL terwijl we het hier over .Net hebben. Beetje appels met peren vergelijken.
Als je kwetsbaarheden in het onderliggende platform buiten beschouwing laat, is volgens mij security in handen van een goede programmeur en niet platform zelf.

Ik kom in PHP dingen tegen, daar barst je echt van in tranen uit. admin=Y met $_GET :'(
Ook dat, maar twabi2 heeft het in feite ook over onderliggende platforms, en niet over de ontwikkelaar. :). M.a.w. een makkelijke flame/troll richting MS en niet naar de ontwikkelaars.
Het lijkt mij, dat als .Net ondersteuning biedt voor de programmeertaal C, dat de in C geschreven functies ook wel rechtstreeks doorgezet kunnen worden?
En ASP laat nu eenmaal zodanige meldingen zien dat je de db kan uitlezen met een klein beetje werk
Die meldingen heeft een echte systeembeheerder alleen ingeschakeld in de develop omgeving.

Diezelfde echte beheerder heeft sql zo ingericht dat er net zoveel mogelijk is als nodig voor de applicatie.

Het heeft dus niks met ASP te maken maar met een slechte beheerder waar je waarschijnlijk mee gewerkt hebt (of welke jezelf bent....)

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True