Gå til innhold

PHP for dårleg for store komplekse systemer?


Anbefalte innlegg

Eg leser eit innlegg frå eit anna forum

 

Web-sider er bare GUI - det må man rett og slett innse. Og det jeg snakker om er hva som skjer "lengre ned" i systemene, samt hvordan GUI kan inngå sømløst i XA-transaksjoner mot kjernesystemer. Med f.eks. PHP er du da for alle praktiske formål prisgitt veien via CORBA-integrasjon. Og det er idag både tungvindt og totalt unødvendig når både J2EE og .Net tilbyr ønsket funksjonalitet rett ut av esken. Ikke bare mangler du da argument for å bruke PHP, men du har et godt argument for å la være!

 

Det finnes en grunn for at EDB ikke bruker PHP som front-end for sine banksystemer, for å si det sånn...

 

Telenor er et av Nord-Europas største teknologiselskaper, og dersom de skal standardisere på en bestemt plattform ønsker de naturlig nok ikke å velge en plattform som ikke tilbyr "hele pakka". Selv om de aller fleste kundene sikkert hadde klart seg med PHP.

 

Eg har alltid sett på PHP som ein fullverdig lausning som tilbyr "heile pakka". Stemmer dette? Det blir litt viktig for meg å vite kva slags lausning eg burde fordype meg skikkeleg i, det finnes jo ikkje tid i denna verda og fordype meg i alt.

Lenke til kommentar
Videoannonse
Annonse

Er PHP som språk for dårlig for store komplekse syster? - Nei!

Som språk kan du gjøre det samme i php på web som i alle andre språk. Derimot er PHP som plattform enda veldig ungt og ikke ferdig utviklet. Det er en mangel på standarder og bibliotek som andre språk har. Men dette er noe som endres fortløpende. Zend framework er et steg, pdo/spl er et annet steg. Det aller meste av php-kode som kjører i verden er skript, men det vil ikke si at du ikke kan skrive applikasjoner for det.

 

Når "web 2.0" kommer rullende for fult vil du se at det primært er brukt 3 språk, ruby, php og python.

Telenor representerer også minoriteten av teknologiselskaper. De fleste er langt mindre og står mye friere til valg av språk. Om et stort konsert allerede har mye legacy java-systemer så sier det seg selv at du ikke velger å standarisere på et annet språk.

 

.NET er dessuten ikke et språk så å sammenligne det med Java eller PHP blir ganske meningsløst. .NET er en plattform.

 

Hvilket språk du skal fordype deg i bør bestemmes av hva du liker å skrive og hvilket språk du liker.

Prøv ut PHP, Java, Ruby og Python om det er web-ting du vil jobbe med.

Personlig ville jeg landet på php, ruby eller python om jeg skulle valgt hovedspråk nå. Men jeg har på mange måter tatt det valget for noen år siden (PHP).

 

Det viktigste du lærer til å begynne med er dog programmeringsteori, ikke språkspesifikke detaljer.

Lær deg skikkelig OOP, TDD (XP generelt) og refactoring.

Lenke til kommentar

PHP kan nesten fungere til akkurat det du vil det skal fungere til. Selv har jeg skrevet både webapplikasjoner, Mp3 sorteringsrogram, Backupprogram, Webserver og moduler til f.eks Munin i PHP.

 

Men jeg har merket at PHP har langt igjen til å bli like effektivt som programmer skrevet i C eller C++.

 

Det finnes og systemer som lar en skrive Windows programmer i (altså med fancy GUI og annet ræl) i PHP, men de prosjektene er enda ikke veldig utbredt.

 

Det er veldig mange bedrifter som bruker Java til mye, java er i og for seg vel og bra men i mine øyne ikke når det krever at brukere må installere tunge javamotorer for å få det til å fungere og bør dermed ikke bli brukt før det er nødvendig.

 

Men igjen; Det finnes dårlige utviklere innenfor alle språk. :)

 

Jeg har enda stor tro på at PHP bare kommer til å bli bedre og bedre innenfor flere felter etterhvert som det får modnet seg og de får det til å bli enda kraftigere. Å kode en webserver i PHP er ikke akkurat noe man gjør for å ha topp ytelse...

Lenke til kommentar

PHP funker jo til web-sider, selv om det finnes bedre alternativer, men er absolutt ikke språket jeg ville brukt til (heller ikke web-baserte)applikasjoner.

 

Det er ikke til å komme bort fra at selve språket har en del fundamentelle svakheter, og jeg har ikke tro på plattformen kommer til å 'modne' seg i noen særlig grad.

 

Selvsagt mulig å lage 'hva som helst' i ethvert turing-komplett språk, men når man har bedre alternativer..

Endret av Frank2004
Lenke til kommentar

Eg har skreve websider med java og php, though veldig simple websider som stort sett bare jobber mot databaser. Min erfaring er at det blir mykje "ryddigare" i PHP og litt mindre antall linjer med kode. Eg har aldri prøvd å kjøre ein CORBA lausning mellom PHP og Java, men er det den einaste måten å få dei to til å kommunisere med kvarandre?

Lenke til kommentar

Det er også viktig å tenke på at dersom det er forskjeller i performance på virkelig store og tunge løsninger mellom de ulike plattformene så er det jo ikke mange av disse i Norge.

 

For hver nettbank eller digre nettavis med titusener av samtidige brukere innen et kort tidsrom så er det jo hundrevis av 'vanlige' nettsider der teknisk ytelse har lite å si for hvordan nettsiden flyter.

Lenke til kommentar
Selvsagt mulig å lage 'hva som helst' i ethvert turing-komplett språk, men når man har bedre alternativer..

6158912[/snapback]

Selvsagt, å bruke php til alt er like dumt som å bruke java eller c til alt. Jeg regner virkelig med at vi snakker om komplekse websystemer her siden det er under kategorien php.

Spørsmålet er jo hvorvidt PHP er for dårlig for store komplekse systemer, noe jeg mener det ikke er. Det er ikke gitt at det dermed er det beste valget nei.

 

 

Eg har skreve websider med java og php, though veldig simple websider som stort sett bare jobber mot databaser. Min erfaring er at det blir mykje "ryddigare" i PHP og litt mindre antall linjer med kode. Eg har aldri prøvd å kjøre ein CORBA lausning mellom PHP og Java, men er det den einaste måten å få dei to til å kommunisere med kvarandre?

6159587[/snapback]

Det kommer jo litt ann på hva du mener med kommunisere. Så vidt jeg vet finnes det f.eks en modul til php for å integrere java-kode i php. Ellers så kan man jo kommunisere med xml (eller annen form for plain text) mellom alle språk.

Lenke til kommentar

Men når du skriver javakode i ein PHP fil så vil jo ytelsen gå drastisk ned når den ikkje blir kompilert til verken JBC eller maskinkode først. Når det gjelder PHP og ytelse så er det jo klart ein ikkje vil gjera store beregninger med det og heller bare lage funksjoner.

 

Synes PHP fungerer ypperleg idag mot ein god database. Det burde jo væra fullt mogleg å lage eit sikkert, raskt og stabilt banksystem med bare PHP og ein god database.

Endret av siDDIs
Lenke til kommentar

Man kan så klart bruke php i store prosjekter, men det kommer veldig ann på hvordan prosjektet blir organisert. Jeg tror OOP er veldig viktig å kunne i alle språk hvis man skal klare det best mulig! Men er det egentlig noe fasitsvar på hvilket språk som er best? Tror ikke det, fordi hvert språk har nok sine egne fordeler og ulemper. Hva mener dere?

Lenke til kommentar
Min erfaring er at PHP kan være godt ryddig og funke fett + rask kode hvis man er god til å bruke OO og organisere prosjekter.

 

Å lage et stort system med mange tusen linjer på en eneste fil uten OO er bare tull. Og ja, jeg har sett folk bruke det :no:

6168152[/snapback]

Hvorfor er det tull? Klarer du virkelig ikke å holde god nok orden til at du klarer å utvikle mye kode uten OOP? Nå vil jeg nødig starte en OOP-diskusjon her, men OOP er ikke den generelle måten å utvikle noe på og da skal den heller ikke behandles som om den er det. At OOP i seg selv gir raskere kode er kort og greit bullshit. Den koden vil jeg isåfall gjerne se.

Endret av Ernie
Lenke til kommentar
Hvorfor er det tull? Klarer du virkelig ikke å holde god nok orden til at du klarer å utvikle mye kode uten OOP? Nå vil jeg nød starte en OOP-diskusjon her, men OOP er ikke den generelle måten å utvikle noe på og da skal den heller ikke behandles som om den er det. At OOP i seg selv gir raskere kode er kort og greit bullshit. Den koden vil jeg isåfall gjerne se.

6168450[/snapback]

 

Bare for å dra frem et klassiker-sitat innen programmering:

"Alle kan skrive kode som en maskin forstår, gode programmerere skriver kode som mennesker forstår" (Fritt oversatt fra hukomelse med hull).

OOP kan hjelpe deg å strukturere koden slik at koden blir mer lesbar for andre.

 

Den koden som yter best vil aldri være den koden som er mest lesbar, det er ikke forenelig. Men det handler i 99% av tilfellene ikke om å skrive kode som yter best, den skal yte godt nok for formålet, der er det mange som bekymrer seg for mye.

Med mindre du jobber med noe hvor ytelse er punkt 1 i kravspec-en så bør du bare fokusere på å skrive god, lesbar og robust kode. Optimalisering gjør man etter at funksjonaliteten er ferdig og etter at du faktisk har testet og funnet en grunn til å optimalisere.

Prematur optimalisering er roten til alt ondt.

Lenke til kommentar

Først og fremst må jeg si meg enig med Findus her, OOP gjør kodingen mer strukturert og lesbar.

Jeg jobber for tiden med en webapplikasjon som består av 90% PHP. Vi bruker PHP5 og koder selvsagt objektorientert. Denne webapplikasjonen er stor gjør relativt tunge operasjoner og jeg synes dette fungerer relativt bra med PHP5 (jeg skal ikke gå inn i en diskusjon om ytelse da PHP ikke på langt nær eksekverer kode like raskt som C, Haskell, standard ML osv.) Webapplikasjonen vi her snakker om er stor, det vil si ti tusenvis av kodelinjer (PHP dette er ikke inkludert html osv), applikasjonen er også av en slik art at den må være tilgjengelig 24-7-365. Vi har ikke hatt store problemer med applikasjonen på grunn av at den er kodet i PHP, men vi har merket oss hvor PHP kommer til kort. Så for å kommentere på spørsmålet om PHP er egnet for store og komplekse applikasjoner så vil jeg svare både ja og nei. Ved utvikling av store og komplekse applikasjoner blir man kjent med PHPs svakheter, og i mange tilfeller vil nok PHP komme til kort (jeg ville nok ikke kodet en nettbank i PHP :p ).

Jeg vil dog presisere at jeg ikke synes PHP er et dårlig språk, jeg jobber til daglig med PHP og trives veldig godt med det.

 

 

siDDs, det finnes flere muligheter til å kommunisere data mellom JAVA og PHP, først og fremst så kan man bruke webservices, man har også verktøy som Javabridge for PHP som er en slags CORBA implementasjon. Jeg vil vel anbefale webservices, hvis dette er applikasjoner man lager selv eller som har feks et SOAP grensenitt. Jeg har benyttet meg av SOAP grensesnittet som kan kan kompileres inn i PHP. SOAP grensenittet til PHP har fungert smertefritt for min del (jeg har da benyttet meg av PHP 5.0.4).

 

 

Jeg er enig med deg Frank2004 at PHP har sine svakheter, jeg vil vel først og fremst fremheve typekontrollen. Dette er allikevel svakheter det går an å leve med, iallefall i webapplikasjoner som ikke krever høy sikkerhet.

 

Jeg har tro på at PHP vil vokse fra seg disse barnesykdommene det har idag, PHP5 er jo et stort steg i riktig retning mener nå iallefall jeg.

Lenke til kommentar

PHP har sine svakheter, slik som alle programmerings språk har.

 

Men du kan fikse ein av dei "største" svakhetene (imo) nokså lett, tiden det tar å vise ein side med php code.

 

Opcode Cache, output buffering sammen med server/software tuning og du vil få ein server som kan håndtere MYE meir trafikk, og levere dei forskjellige sidene MYE fortere.

 

Det er fleire "store" sider som bruker php, men som sagt tidligere i tråden så passer ikkje php til alle "web applications".

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...