Kristian Kristensen’s Blog


Qte skriver om Java Tiger

Posted in Misc by Kristian Kristensen on the October 31st, 2004

Qte - min studiekammerat der lige har startet sin egen blog – skriver i en af sine første posts om den nye version af Java codename Tiger (my emphasis):

…it occurs to me that Java beat C# to the punch when it comes to the new feature everyone requests in both languages “Generics” and when Java 5.0 at the same time adds features as
* Boxing – Primitive types can now be assigned directly to e.g. Integer, which comes really in handy when using generics.
* Foreach loop – although implemented using the old *for* keyword it functions the same was as in C#
* XML – one of the things I missed most in the previous Java versions was core support for XML, and now it is here – no need for using external packages.

Qte, der for ikke så længe siden (faktisk op til at vi skulle påbegynde dette semester) fandt .NET og C#, mener at Java nåede målstregen først med en ny feature som vi alle venter på i spænding, nemlig Generics. Som selvbestaltet .NET og C# evangelist på vores uddannelse kan jeg selvfølgelig ikke lade være med at kommentere. So here goes :-)

At Sun har frigivet en virtuel maskine med understøttelse for Generics i sit programmeringssprog kan der selvfølgelig ikke ændres på. Men Generics er ikke bare Generics. Der findes flere versioner af det, og de der deltog i Microsoft arrangementet med Anders Hejlsberg i september, vil vide at designet og implementationen af Java Generics og C# Generics er dybt forskellig. På overfladen ser de meget ens ud – de benytter stort set samme syntaks – men graver man sig ned i detaljerne, vil man hurtigt finde forskellige. En af de vigtigste fra mit synspunkt er at Sun har valgt at basere deres Generics på Erasure teknikken. Grunden til dette er at man fra Suns side har prioriteret kompatabilitiet med tidligere versioner højt, og derfor valgt at deres ændringer i Tiger skal ske i compileren og ikke i VM’en. En grund man kan mene er rigtig eller forkert, men ikke desto mindre en grund, der har betydelig indflydelse på hvad man kan lave. Kort fortalt betyder Erasure at compileren under kompileringen erstatter alle de steder hvor der står Generic Type information med object. Man får typesikkerhed og typecheck på compiletidspunktet, men altså ikke på runtime, fordi man på det tidspunkt ikke ved noget som helst omkring den generiske type.
I C# Generics derimod er der tilføjet funktionalitet til CLR’en, der gør for det første at alle .NET sprog har mulighed for at benytte generics, men også at type informationen bliver bibeholdt og er tilstede på runtime. Fordi C# Generics er inkluderet i CLR’en kan man også lave en række performanceoptimeringer, som ikke kan lade sig gøre i Java Tiger.
Spørgsmålet er altså hvad man mener man har fået ud af at have tilføjet Generics i Java. Lidt har man selvfølgelig, for man har det nu, men jeg synes det virker lidt som om “de andre har, så derfor vil vi også, men vi gider ikke rigtig arbejde så meget for det”.

At Sun har tilføjet boxing til Tiger er en kærkommen udvidelse. Lige siden jeg lavede mit første Java program har jeg været ved at blive sindsyg over at der ikke er nogen som helst mapning mellem den primitive type verden og objekt verdenen.

At der er kommet bedre XML understøttelse i Java er også kun en fordel, for helt ærlig den var rimelig crappy før.

Nuvel vi kan vel blive enige om at de nye features i Java Tiger er gode, rare og velkomne, men tager man sin helikopter for at se det hele lidt ovenfra, melder der sig nogle andre spørgsmål. Ja, Sun kom før Microsoft med de nye sprog features, men til næste år kommer .NET 2.0, og så er Microsoft igen en hestelængde foran (hvis det kan gøre det). Det er lykkedes Sun at lappe deres sammen, og få det op på niveau, men de vil formodentlig ikke holde den plads længe. Det samme gælder XML understøttelse.
Sun er efterhånden røget i en catch-up position, hvor andre delvist definerer hvad man skal have, og ikke have – det gælder attributes/annotations, boxing, foreach, enumerators, native XML support, param/varargs, etc. Bevares det var også den retning de skulle gå, men det virker nu stadig påfaldende at Sun efter .NET kom ud begyndte at snakke om boxing, properties og alt muligt. Hvor mon de fik inspirationen fra?
Så at sige Sun rykker fra Microsoft og er dem dre sætter standarden fra nu af, vil nok være en overdrivelse* :-)

En lang post, vist den længste jeg har skrevet. Håber ikke jeg har trådt nogen over Java-tæerne, det er ikke meningen. Men når Qte spiller op, så skal der svares ;-)

*: Den kommer jeg nok til at høre for…

  • If you like my writing you should subscribe to my RSS feed.

    Qte blogger

    Posted in Misc by Kristian Kristensen on the October 31st, 2004

    En fra mit studie – Brian Jørgensen aka Qte – er begyndt at blogge.

    Qte’s blog - Subscribed!

  • If you like my writing you should subscribe to my RSS feed.

    Negativ download = upload ?

    Posted in Misc by Kristian Kristensen on the October 30th, 2004

    Hmm… -2% færdig… hvad mon det betyder….

    Internet Explorer Download Window showing -2% completed 

    Modtaget af Malm fra min Uni gruppe :-) Credit where credit due.

  • If you like my writing you should subscribe to my RSS feed.

    Om at købe dyrt legetøj

    Posted in Misc by Kristian Kristensen on the October 30th, 2004

    Bill skriver i sin post (my emphasis):

    Well, I totally respect his [Brains n Brawn, ed.] viewpoint but I have very little of substance in my life so purchasing expensive toys gives my life meaning. And now I can check my email from my phone, my PDA or my watch.  The only bad part is that I haven’t gotten much but spam lately.

    Hvad siger det så om mig ;-)

  • If you like my writing you should subscribe to my RSS feed.

    Developer Evangelist i SF

    Posted in Misc by Kristian Kristensen on the October 30th, 2004

    Så er det bare med at komme igang med at søge :-)

    Via: David Waddleton

  • If you like my writing you should subscribe to my RSS feed.

    UPS: Hvor dum har man lov at være?

    Posted in Misc by Kristian Kristensen on the October 30th, 2004

    Min UPS, der holder liv i mine servere, når/hvis strømmen går har brokket sig den sidste uge, og sagt at den skulle have et nyt batteri, eller i det mindste have kørt en selv-test. Så her i går nat klokken 01:00 mente jeg, at det var et godt tidspunkt at lave en sådan selv-test på inden jeg bestilte et nyt batteri. Og i vanlig “jeg har bare styr på det her, så jeg gider ikke lige tjekke på nettet” mente jeg at jeg kunne huske at man godt kunne køre en selv-test uden at strømmen gik til serverne. Det kan man ikke! Jeg gentager: Det kan man ikke!
    Så hele skidtet bragede ned. Flot mand!

    Så inden jeg kunne gå i seng måtte jeg lige tjekke at alt var som det skulle være.

    Moralen: Selv ikke en UPS beskytter dig mod almindelig dumhed :-)

  • If you like my writing you should subscribe to my RSS feed.

    PHP, magic quotes gpc og addslashes()

    Posted in Misc by Kristian Kristensen on the October 29th, 2004

    Her i går var jeg i gang med at fejlfinde noget PHP kode jeg har overtaget fra en anden studerende her på Universitetet. Der var dukket et problem op, der gjorde at folk som tilmeldte sig et arrangement modtog mail som bekræftelse, men de blev ikke skrevet som tilmeldte i databasen. Efter fejlfinding viser det sig så at maqic_quotes_gpc ikke er slået til; dette betyder at tekst sendt via GET og POST ikke bliver escapet, og man derfor, hvis ikke man er vågen, får nogle db queries der fejler, fordi der eksempelvis er en ‘ i.
    Nå, men ham, der havde lavet koden, havde altså ikke været vågen, og derfor blev disse ting ikke escapet ordentligt, og derfor kunne ovenstående fejl ske.

    Bittert, men heldigt at det virker nu.

    NB: Alt det her lugter så meget af SQL Injection Attacks at jeg næsten ikke tør tænke på det. Uha!

  • If you like my writing you should subscribe to my RSS feed.

    Channel9, Podcasting og Scobelizer

    Posted in Misc by Kristian Kristensen on the October 28th, 2004
    Efter min blog post i går var jeg rimelig opsat på at Channel9 skulle tilføje enclosures til deres video feed, så jeg skrev til Robert Scoble, der styrer Channel9. Jeg var ret overbevist om at der IKKE var enclosures i feed’et, men Scoble skrev tilbage til mig at det var der. Fint nok, jeg var for hurtigt ude, pinligt, men til at klare. Men i hans blog post fra i dag bliver jeg alligevel lidt i tvivl:

    Speaking of Channel 9, we’re now including enclosures in the videos RSS feed. It’ll be interesting to see if I can get it to shove these things onto my cell phone automatically.

    Så var der enclosures i feed’et før eller efter jeg skrev til ham? Det forbliver nok et mysterie :-)

    Men pyt, for nu kan jeg få de seneste Channel9 videoer downloadet automatisk til min PDA. Hvor kanon er det?

  • If you like my writing you should subscribe to my RSS feed.

    Podcasting og XBox

    Posted in Misc by Kristian Kristensen on the October 27th, 2004
    Der har vist været rimelig meget furore omkring Podcasting - her er en tutorial til at bruge det sammen med WMP 10 – også var det jeg kom til at tænke på at det skal da stoppes i Xbox’en, så man via Xbox Media Center kan liste og downloade disse casts og lytte til dem, når man vil!
    Bliver det så koblet sammen med video, så man kan Podcaste video’er, har man en killer asynkron TV fremviser. Totalt gejl! Og kunne man samtidig få Channel9 til at stoppe RSS enclosure‘s i deres feed, så er vi rigtig langt!!!
  • If you like my writing you should subscribe to my RSS feed.

    Qtek 9090 – Hvordan får du fat i en

    Posted in Misc by Kristian Kristensen on the October 27th, 2004
    I sidste blog post var der nogen, der spurgte hvordan man køber sådan en Qtek 9090 fætter. Man kan købe en hos Klingtech’s webshop TeleOnline, eller hos PDA Shoppen. Er man firma har Dangaard Telecom den som grossist.
    Der går rygter om at Orange vil tilbyde den til sine kunder under navnet M2000, men hvad der sker med det ved jeg ikke.
     
    Pudsigt nok er accessories til Qtek’en ligesom dem til Ipaq 63** seriens, dvs. cradles derfra kan genbruges. Det hænger selvfølgelig sammen emd at HTC producerer Ipaq for HP, og HTC også producerer Qtek.
  • If you like my writing you should subscribe to my RSS feed.

    Next Page »