visa hela sajten visa mobil version
Improove på Twitter:
"improove: Dagens choklad - 22 februari 2012 http://t.co/rZeEAItF"

Intryck efter 2 veckors programmering på Java igen

30 Maj 2011 Utveckling

När jag började som webbprogrammerare för snart 11 år sedan så var Java mitt enda och huvudsakliga alternativ för programerringsspråk. På regniga dagar gjorde man en del ASP 3.0 men i övrigt var det Java, JSP och Servlets som gällde. Java var då by far det bästa alternativet. När vi för första gången utvärderade PHP(version 4) som alternativ avfärdade vi med rätta detta som ett hobbyspråk. Syntaxen var slarvig, objektsorienteringen obefintligt, plattformslösheten var det sisådär med. På det hela taget ett bra språk att börja testa webbprogrammering med om man går gymnasiet eller så men inte något man använder för ”prime time”-applikationer.

Så för 4 år sedan när vi på Improove skulle starta upp ett större  projekt gjorde jag en ny utvärdering av PHP då vi började vidröra WordPress, Joomla och andra ramverk för första gången. Slutsatsen denna gång var att Java fortfarande var ett bättre språk även om PHP på sina håll vaknat till liv och kompletterats med många av de brister man tidigare hade. Nu fanns ramverk som Zend Framework och Code Igniter men det var fortfarande en slarvig och inkonsekvent syntax som låg i botten. Men för mig blev väckarklockan när jag skummade igenom de 20 största Open Source-produkterna för webbapplikationer och kunde konstatera att 70% av dem var baserade på PHP. Det gjorde att jag insåg att det måste finnas fördelar i PHP som ligger bortom syntaxen och strukturerna. Vi kickade igång några projekt och sedan dess har vi aldrig återvänt till C# eller Java. Inte för att de är dåliga utan för att PHP överlag tenderar att vara smidigare.

För några veckor sedan när jag äntligen började bygga min Twitter-skrivare behövde jag en desktop-app och valde att bygga den i Java. Jag fick damma av mina gamla kunskaper och ganska snabbt var man igång igen. Jag måste erkänna att det faktiskt var lite skönt att återgå till ett ”riktigt” språk till en början men bara efter någon timme började jag sucka högljutt. Jag hade helt glömt bort hur omständigt dessa ”riktiga” språk var. Mitt favoritexempel är när man skall läsa ned data från en extern url för att tolka eller läsa ut. Det finns säkert enklare sätt att åstadkomma detta på i Java men detta är min bild av skillnaden att utveckla i Java vs. PHP.  Exemplen är talande.

Koden i PHP:
file_get_contens(”www.minurl.com/api”);

Samma kod i Java
String content;
URL u;
    //Open the URL for reading
    try {
      u = new URL("http://www.minurl.com/api");
      try {
         InputStream is = u.openStream();         
         // throws an IOExceptionBufferedInputStream
         dis = new DataInputStream(new BufferedInputStream(is));
         while ((s = dis.readLine()) != null) {
            content += s;
         }
      } // end try
      catch (Exception e) {
        System.err.println(e)
      }
    } // end try
    catch (MalformedURLException e) {
      System.err.println(args[0] + " is not a parseable URL");
      System.err.println(e);
    }

Denna återgång till Java gav mitt ett nytt tillfälle över att reflektera över PHP’s roll i utveckling och jag kan bara konstatera att PHP verkligen är ett fenomenalt språk när man vill uppnå högsta möjliga utvecklings- och innovationstakt. För rendering av webb är det nästan oslagbart som jag ser det. Däremot kan jag förstå och se fördelar i att använda PHP för presentationslager och bygga bibliotek och underliggande arkitektur i mer gedigna plattformar som Java eller C#. Där har jag ännu inte hamnat men jag kan helt klart se fördelar med det.

Ett intressant projekt relaterat till detta är Quercus från Caucho som byggt JSP-motorn Resin. De har implementerat PHP i JSP-motorn vilket gör att man kan åstadkomma just detta. Bygga den underliggande arkitekturen i Java och bygga ihop webblagret i PHP. Jag har aldrig testat det men idén är intressant.

 


Kommentera inlägget