mboost-dp1

unknown

Javakonference skal kaste lys over open source planer

- Via IT Week - , redigeret af Net_Srak

JavaOne, der afholdes i San Francisco i næste uge, vil blandt andet kaste lys over de planer, Sun har for at udgive JDK som open source.

Jean Elliott, chef for udvikler marketingsafdelingen udtaler:

There will also be a new track for business people “who need to understand the powers of the Java ecosystem” and another concentrating on Java’s role in the emerging digital TV market.





Gå til bund
Gravatar #1 - Amunium
5. maj 2007 10:17
IBM lavede jo engang en open source Java-compiler - Jikes - som så vidt jeg husker døde pga. manglende interesse, tilbage i 2004.

Selvfølgelig ville en Java runtime-engine, der ikke brugte 60 MB RAM til et "hello world" program på Windows være dejligt - og måske endda ligefrem få mig til at installere Java, hvilket jeg kategorisk nægter nu... men jeg tvivler nu på der er nok interesse for det, til ligefrem at begynde på et så stort projekt.

Der sker nok ikke så meget ved det.
Gravatar #2 - Disky
5. maj 2007 11:35
#1
Hvad betyder 60 MB hukommelse i dag, når det normale vel er 512 MB eller endda 1 GB ?

Men da det nu er open source, kan du jo reelt bare selv lave en der bruger mindre hukommelse.
Gravatar #3 - procrastinator
5. maj 2007 11:44
#2 Man kunne vel forestille sig, at brugeren måske ville gøre brug af sin computer til at køre andre programmer end "hello world". Men det er selvfølgelig bare ren teori.
Gravatar #4 - LarsCharmer
5. maj 2007 11:55
#1 Jeg tvivler stærk på at helloworld bruger 60MB, hvor har Du det tal fra? Du har vel ikke lyttede til for meget FUD fra MS? Når man nu kan kører java på alt fra pc'er, telefoner til smartcard, så er et lille hukommelse forbrug jo en fordel. Envidere har jeg ingen problemer med at kører 10 samtidige JVM, på min gl. maskine, som kun har en 512 MB ram.
Gravatar #5 - mathiass
5. maj 2007 12:12
Selvfølgelig ville en Java runtime-engine, der ikke brugte 60 MB RAM til et "hello world" program på Windows være dejligt
Java er en virtuel maskine og den reserverer 32 MB hukommelse til heapen og tilsvarende til stakken.
Det ser ud som om fra Windows at hukommelsen er "brugt", men det er altså ikke tilfældet. OS'et giver et niveau af paging som gør at de 64 MB ikke optager plads i den fysiske RAM.
Denne opførsel er helt uafhængig af om du kører et hello world program eller en applikationsserver og det er såmænd ganske glimrende, hvis man vil have Java programmer til at performe godt (og det vil man jo gerne).

men jeg tvivler nu på der er nok interesse for det, til ligefrem at begynde på et så stort projekt.
Du kan på command line vælge hvor meget virtuel hukommelse som skal reserveres ved opstart. Hvis du sætter det lavt så vil java kun bruge få MB hukommelse, men det vil gå ud over performance. Default størrelsen er en afvejning som Sun har lavet....
Gravatar #6 - AskHL
5. maj 2007 12:19
#1

60 MB RAM? Nu må du stramme op. På mit system er der et reelt overhead på 3 MB, hvilket egentlig ikke er så slemt. Derudover er der 4,2 MB shared, så i værst tænkelige fald 7,2 MB.

Hvis der vitterligt står 60 MB, så skyldes det måden hvorpå hukommelsen opregnes (virtuel hukommelse og hvad ved jeg. EDIT: tak til mathiass. Jeg mente dog stakken var noget mindre).

Til sammenligning bruger python 1 MB plus 1,4 MB shared, hvilket jo stadig er betydeligt mere end hvad der kræves for at køre et hello world program. Er du også stærk modstander af python?

Testprogrammet er i begge tilfælde en enkelt linje der læser fra standard input.
Gravatar #7 - mathiass
5. maj 2007 12:22
#1 Du kan læse på java man-page hvordan du kan sætte initial heap size:
http://www.hmug.org/man/1/java.php
(bladr ned til -Xmsn). Det ville dog være fjollet at sætte den meget lavt med det eneste formål at få mængden af reserveret virtuel hukommelse sat ned. Det eneste du kan få ud af det er ringe performance for dine java-programmer, men det giver dig måske lidt en forklaring på hvad de 60 MB egentlig betyder, når nu det ikke er forbrug af fysisk hukommelse...
Gravatar #8 - mathiass
5. maj 2007 12:24
tak til mathiass. Jeg mente dog stakken var noget mindre
Jeg vil ikke lægge hovedet på blokken om stakken er 32MB også, men det var heller ikke helt min hovedpointe...
Gravatar #9 - mrmorris
5. maj 2007 13:47
Det største problem med Java er kompleksiteten, lag på lag på lag i 12-13 år nu, med 18.000 klasser, SE/EE/ME opdeling der lige så godt kunne være 3 forskellige sprog og en konstant skiftende fokus (appletter, enterprise og nu endelig desktop).
Der er ingen tvivl om, at livet for en Java programmør er noget mere komplekst end livet for en Microsoft programmør hvor en masse valg er taget på forhånd (Hvilken IDE, hvilket build værktøj, hvilket web framework, hvilket UI library osv.).

Sun har dog endelig forståelse for at der skal stærke standard værktøjer og de-facto teknologier til (NetBeans, Matisse, GlassFish, JPA, JSF...) for ikke at udviklerne drukner.

Jeg er bare bange for at det er for sent for Java, det er heller ikke for ingen ting der er så meget fokus på Groovy, Scala og lignende sprog i VM'en fordi Java i sig selv er for komplekst.
Gravatar #10 - mathiass
5. maj 2007 13:57
med 18.000 klasser, SE/EE/ME opdeling der lige så godt kunne være 3 forskellige sprog
Sprog? Der er da nøjagtig det samme sprog, kun API'erne er forskellige, og det er ikke meningen at man sætter sig ind i hele EE, kun i de dele som man har behov for...

Der er ingen tvivl om, at livet for en Java programmør er noget mere komplekst end livet for en Microsoft programmør hvor en masse valg er taget på forhånd (Hvilken IDE, hvilket build værktøj, hvilket web framework, hvilket UI library osv.).
Er det nødvendigvis godt? Konkurrencen på Java IDE'er har givet nogle utroligt stærke og gode IDE'er som IMHO er lysår foran hvad Visual Studio kan præstere. Build værktøjet (ant) og UI library (Swing) ligger nu rimlig fast...

Jeg er bare bange for at det er for sent for Java
Java er mig bekendt den største platform til enterprise udvikling for tiden.
Gravatar #11 - arne_v
5. maj 2007 14:23
#1

Jikes lever da endnu.

http://jikes.sourceforge.net/
Gravatar #12 - mrmorris
5. maj 2007 14:25
Sprog? Der er da nøjagtig det samme sprog, kun API'erne er forskellige, og det er ikke meningen at man sætter sig ind i hele EE, kun i de dele som man har behov for...

Har du nogensinde set hvad der sker hvis du forsøger at bruge et singleton i noget SE kode og deployer det til en app server? Har du nogensinde set hvor mange fiksfakserier (f.eks. preprocessors) der skal bruges til ME kode?

Er det nødvendigvis godt? Konkurrencen på Java IDE'er har givet nogle utroligt stærke og gode IDE'er som IMHO er lysår foran hvad Visual Studio kan præstere. Build værktøjet (ant) og UI library (Swing) ligger nu rimlig fast...

Du joker ik? Da jeg startede på Java i 96 var der INGEN IDE'er men så kom MS (Anders Hejlsberg) med J++. I dag kan man sågar sætte en breakpoint i Visual Studio og så steppe tilbage i koden. Der går nok et par år før Java IDE'er/debuggers kan det. Og Swing med dets emulering holder altså bare ikke, man kan føle at det ikke er nativt hvorfor også IBM startede på SWT. Hvis Sun havde valgt en native peer teknologi som SWT fra start af havde verden set helt anderledes ud og så skulle de måske heller ikke have brugt 10 år på af finde en layout manager der rent faktisk virker (GroupLayout).

Java er mig bekendt den største platform til enterprise udvikling for tiden.

Og større er bedre eller hvad? For ja, så er Java da bedst! lol
Gravatar #13 - dauer962c
5. maj 2007 15:27
#12 "I dag kan man sågar sætte en breakpoint i Visual Studio og så steppe tilbage i koden. Der går nok et par år før Java IDE'er/debuggers kan det"

Du joker ik?
Det fungerer da fint med breakpoints i Eclipse debuggeren og jeg ville være meget overrasket hvis NetBeans etc. ikke kan det samme.
Gravatar #14 - Lobais
5. maj 2007 15:29
#12
I dag kan man sågar sætte en breakpoint i Visual Studio og så steppe tilbage i koden. Der går nok et par år før Java IDE'er/debuggers kan det


Jeg tror du mangler et fortegn. Java debuggere er i dag meget avancerede. I Eclipse kan du f.eks. sætte den til at debugge, hvis programmet kaster en exception, så kan du tage et par steps tilbage, redigere lidt i koden og køre videre.
Gravatar #15 - mathiass
5. maj 2007 16:25
Og større er bedre eller hvad? For ja, så er Java da bedst! lol
Der står da ingen steder noget om ordet "bedre". Du skrev at det er for sent for Java som om at Java har misset sin chance for at gøre sig gældende og det må jeg sige at jeg jeg er fuldstændig uenig i. Vi kan godt blive enige om at API har en masse klasser og funktioner som ikke ville være der, hvis man satte sig og lavede det forfra, men selve Java-sproget synes jeg nu er ganske smukt, især i forhold til sprog som C++ eller C# som har vanvittigt mange features som er unødvendige og som skyldes gammel arv...
Gravatar #16 - mathiass
5. maj 2007 16:31
Har du nogensinde set hvad der sker hvis du forsøger at bruge et singleton i noget SE kode og deployer det til en app server?
Jeps, den tror jeg at vi alle sammen har haft fornøjelsen af på et tidspunkt. De fleste regner nu også en stateful singleton for et antipattern.

I dag kan man sågar sætte en breakpoint i Visual Studio og så steppe tilbage i koden. Der går nok et par år før Java IDE'er/debuggers kan det.
Der tager du ganske fejl. Du kan ovenikøbet i eksempelvis Idea injecte vilkårlig kode, mens VM'en er suspenderet, således at du kan teste hurtige fixes mens systemet kører.

Og Swing med dets emulering holder altså bare ikke, man kan føle at det ikke er nativt hvorfor også IBM startede på SWT.
Jeg mener at SWT er ret problematisk da det ikke kan porteres som resten og jeg synes nu efterhånden at Swings look and feel ligner native programmer stort set på en prik (selvom det er kommet til inden for de sidste par releases...).
Gravatar #17 - arne_v
5. maj 2007 16:35
#12

Har du nogensinde set hvad der sker hvis du forsøger at bruge et singleton i noget SE kode og deployer det til en app server?


Det opfører sig vil som man forventer at det skal - nemlig at
forskellige apps er uafhængige af hinanden.
Gravatar #18 - arne_v
5. maj 2007 17:07
#9

Det største problem med Java er kompleksiteten, lag på lag på lag i 12-13 år nu, med 18.000 klasser,


Ca. 3300 public top level classes i JSE 1.6.
Det er ikke så slemt.

.NET 2.0 har dobbelt så mange (men dækker så selvfølgelig også noget af JEE).

Men indrømmet - det er meget mere omfattende end VB6. Men vi kan
ikke skrue tiden 15 år tilbage.

Der er ingen tvivl om, at livet for en Java programmør er noget mere komplekst end livet for en Microsoft programmør hvor en masse valg er taget på forhånd (Hvilken IDE, hvilket build værktøj, hvilket web framework, hvilket UI library osv.).


Hvis du mener at det er stressende at have valg muligheder med hensyn
til IDE, andre tools, frameworks og libraries, så er Java absolut
ikke noget for dig.

Men der er altså mange som er glade for de muligheder.

Sun har dog endelig forståelse for at der skal stærke standard værktøjer og de-facto teknologier til (NetBeans, Matisse, GlassFish, JPA, JSF...) for ikke at udviklerne drukner.


Du skal ikke regne med at NetBeans og Glassfish bliver
de facto standarder. De er ikke specielt udbredte.

Jeg er bare bange for at det er for sent for Java, det er heller ikke for ingen ting der er så meget fokus på Groovy, Scala og lignende sprog i VM'en fordi Java i sig selv er for komplekst.


Groovy har jo adgang til hele Java biblioteket, så der er jo ikke
mindre at skulle sætte sig ind i der.

Jeg synes heller ikke at Groovy sproget som sådan er nemmere
end Java.

Men det er et anderledes sprog. Og hvis det er den type sprog
man vil have (og interessen for pythin og ruby antyder at der
er efterspørgsel efter den type sprog), så kan groovy da
godt gå hen og tage en pæn slice af JVM sprog markedet. Men
indtil videre er det mere interesse end production usage.
Gravatar #19 - mrmorris
5. maj 2007 19:59
C# som har vanvittigt mange features som er unødvendige og som skyldes gammel arv...

C# er i de flestes øjne "Java done right", fordi du har tilpas med funktionalitet til at lade sproget udvikle sig (operator overloading, properties & events, type inference etc.).

Det opfører sig vil som man forventer at det skal - nemlig at forskellige apps er uafhængige af hinanden.

Øhh, jeg tror du får dig en overaskelse hvis du prøver det.

Hvis du mener at det er stressende at have valg muligheder med hensyn til IDE, andre tools, frameworks og libraries, så er Java absolut ikke noget for dig.

Det er stressende fordi man ender med at bruge mere tid på teknologi og research af samme, end på at løse den egentlige opgave man er sat til.

Du skal ikke regne med at NetBeans og Glassfish bliver
de facto standarder. De er ikke specielt udbredte.

Ah det ved jeg nu ikke, men du kan jo tage med til JavaOne i næste uge og se selv hvor meget der handler omkring NetBeans/GlassFish sammenlignet med Eclipse/Orion/WebSphere. ;)

Jeg synes heller ikke at Groovy sproget som sådan er nemmere end Java.

Man kan noget mere, så'n som at bruge closures... men ok det kommer også til Java når de kan blive enige i JCP'en.
Gravatar #20 - mathiass
5. maj 2007 20:59
C# er i de flestes øjne "Java done right"
Ja, med fare for at starte en religionskrig her, så kan jeg stadig ikke forstå at man ikke skaffede sig af med pointere og structs, og hvorfor man ikke forenklede nedarvningssystemet til altid at være virtuelt som i Java. Manglen på operator overloading i Java mener jeg så absolut tjener til Javas ære, men det er jo nok et smagsspørgsmål...
Gravatar #21 - runesoftener
5. maj 2007 21:38
#20 operator overloading er klart noget rod... jeg vil også tilføje manglen på checked exception og afhængigheden af vs.net.. men det er jo en smagssag
Gravatar #22 - Mazon
6. maj 2007 14:13
Ah det ved jeg nu ikke, men du kan jo tage med til JavaOne i næste uge og se selv hvor meget der handler omkring NetBeans/GlassFish sammenlignet med Eclipse/Orion/WebSphere. ;)

I lyset af at det er Sun der udvilker Netbeans & Glassfish OG arrangerer JavaOne, ville det sq da være underligt at de ikke har en del om selv samme!

mrmorris, du fremstår som en meget pro c# frem for java, ved at slå på tromme for lige nøjagtigt de features du synes er relevant, samt at ignorerer samtlige andre features som klart er en force for java. Jeg vil ikke gå i detaljer, men kommentarer som c# is java done right lyder uhyggeligt farvet.
Ville du i øvrigt bruge c# hvis det kørte på en jvm?
Gravatar #23 - Disky
6. maj 2007 14:36
#22
samt at ignorerer samtlige andre features som klart er en force for java

Bare af nysgerrighed, hvilke er det ?
Gravatar #24 - mrmorris
6. maj 2007 15:03
mrmorris, du fremstår som en meget pro c# frem for java, ved at slå på tromme for lige nøjagtigt de features du synes er relevant

Ja det ville være mærkeligt hvis jeg "slog på trumme" overfor ting jeg ikke synes er relevant ville det ikke? Der er i forvejen alt for store skyggeklapper på udviklere i Java verdenen, så jeg synes godt man kan tillade sig at fokusere på de negative sider. C# har også negative sider, f.eks. at det kun er pseudo multi-platform.

Jeg vil ikke gå i detaljer, men kommentarer som c# is java done right lyder uhyggeligt farvet.

Jeg synes du skal gå i detaljer, det er dét man har debatfora til og det er altså mere objektivt end at kalde et synspunkt for "farvet".

De fleste af de problemer Java har, tog Anders Hejlsberg hånd om i C# og det er i dag Java der forsøger at hænge på C#'s innovation. Hvis du har godt modargumenter imod dette så lad mig høre.

Det klart største problem med Java er at der ikke er en stærk leder, alt skal forhandles og specificeret i lukkede JSR komiteer hvor Oracle, BEA, Sun, IBM, RedHat, HP, Intel, Google osv. alle skal have noget indført således at API'erne bliver overengeneered eller fejlagtigt.

Og således har vi nu, for 3 gang, et nyt dato-API på vej (JSR 310). For 3 gang et nyt IO-API på vej (JSR 203), ca. 15 officielle layout managers, og så er der jo EJB3 som igen er 3 forsøg - men stadig ikke så innovativt eller nemt at bruge som Microsoft's Linq.
Gravatar #25 - mathiass
6. maj 2007 15:22
Bare af nysgerrighed, hvilke er det ?
Prøv at læse post #20 og #21 med modsat fortegn. Så er der i hvert fald et udmærket bud. Dertil kommer at koden umiddelbart kan flyttes mellem OS'er. Jeg arbejder selv på en mac, folk jeg arbejder sammen med bruger Windows og i sidste ende kører softwaren ofte på en Linux-server, og det giver ikke anledning til nogen problemer...

Skulle jeg hive ting frem som er bedre i C# end i Java vil jeg først og fremmest pege på lambda funktioner.

De fleste af de problemer Java har, tog Anders Hejlsberg hånd om i C#
Men samtidig svingede pendulet tilbage i den gamle C++ rille med alt alt for mange besynderlige sprog-features der som nævnt dækker pointere men også skelnen mellem pass by reference og pass by value og lignende. C# er et meget omfattende og komplekst sprog, synes jeg. Måske er det fordi jeg mest koder i Java...
Gravatar #26 - snartvoksen
6. maj 2007 16:56
Prøv lige at tjekke disse to gæste talere på javaone:
url=http://www.dk.capgemini.com/nyheder/capgemini_danmark_i_front_p_open_source/
samt
url=http://www.dk.capgemini.com/nyheder/capgemini_skal_levere_open_source_lsning_til_det_offentlige/
Gravatar #27 - mrmorris
6. maj 2007 16:58
...skelnen mellem pass by reference og pass by value og lignende. C# er et meget omfattende og komplekst sprog, synes jeg. Måske er det fordi jeg mest koder i Java...


Men i C# har man trods alt fuld styr på det via in/out semantik. I Java skal man vide at alt er pass-by-value af pointere med undtagelsen af arrays. Dvs. følgende kode stump virker IKKE som mange ville forvente:

public void swap(int a, int b)
{
int tmp = a;
a = b;
b = a;
}

...for at gøre det mere klart er man så begyndt at bruge "final" på argumenterne men det er stadig kun i Java Language Spec'en man kan få forklaringen på disse ting.

Jeg er også Java programmør og det er da en fantastisk platform fra mange synspunkter, især nu det er open source. Men jeg mener bare vi kunne få det endnu bedre ved at slå en streg i sandet og for en gang skyld siger "Java 7 er IKKE binær kompatibel med tidliere" og så få rettet alle de legacy ting det vil tage for lang tid at opremse så som at lave Date immutable, BigDecimal som nativ type og droppe type erasure til generics osv. osv.
Gravatar #28 - Disky
6. maj 2007 17:45
#27
Dvs. følgende kode stump virker IKKE som mange ville forvente:

Jo det gør den reelt, jeg forventer nemlig at den ikke virker :)

Tror lige selv du skal kigge på den, og jeg tænker ikke på samme problem som du beskriver.
Gravatar #29 - mathiass
6. maj 2007 17:49
og droppe type erasure til generics osv. osv.
Ja, det var et tåbeligt valg, men så vidt jeg ved så er det et punkt på dagsordenen for java 7 og det kræver på ingen måde et brud med ideen om binær kompatibilitet, det kræver ikke ret meget mere end lidt desguaring og pilleri som man fint kan bruge det apparat, man lavede til indre klasser, for at implementere (jeg kunne forestille mig noget med et synthetic field til at holde et class object og så lidt syntax til at aflæse det...)
Gravatar #30 - mathiass
6. maj 2007 17:59
public void swap(int a, int b)
{
int tmp = a;
a = b;
b = a;
}
Med fare for at lyde lidt dum, så gøt det stykke kode da det samme i C# (modulo lidt syntax), gør det ikke?
Gravatar #31 - Disky
6. maj 2007 18:04
#30
Det har du helt ret i, den virker heller ikke i c#. Ihvertefalde ikke hvis man forventer at den bytter rundt på a og b jævnfør metode navnet.
Gravatar #32 - mathiass
6. maj 2007 18:07
I java ser løsningen sådan her ud:
public void swap(int a[], int b[])
{
int tmp = a[0];
a[0] = b[0];
b[0] = tmp; //Det er vist det, du mener
}

Og ja, jeg har set sådan en stump kode i virkeligheden (der dog gjorde noget lidt andet) :-)
Gravatar #33 - arne_v
6. maj 2007 22:34
#27

I Java skal man vide at alt er pass-by-value af pointere med undtagelsen af arrays.


Arrays i Java er ogsaa pass by value af reference. Ingen forskel
fra andre objekter.

Dvs. følgende kode stump virker IKKE som mange ville forvente:

public void swap(int a, int b)
{
int tmp = a;
a = b;
b = a;
}


Lad os ignorere den lille b=tmp detalje - vi ved hvad du mener.

Den kode virker fuldstændigt ens i C, C++, Java og C#. Eller
virker ikke hvis man foretrækker det.

C++ og C# har mulighed for explicit at ændre fra call by value
til call by reference. C# lidt pænere end C++.

For min skyld kunne man godt tilføjde det til Java.

Men det er ret sjældent at det er en pæn løsning.
Gravatar #34 - arne_v
6. maj 2007 22:37
#26

Ja - den nye virk.dk skal baseres på:

Linux
JBoss
MySQL
Jahia
Gravatar #35 - arne_v
6. maj 2007 22:42
#24

og så er der jo EJB3 som igen er 3 forsøg - men stadig ikke så innovativt eller nemt at bruge som Microsoft's Linq.


EJB 3 er et objekt persisterings framework.

LINQ er til queries i in-memory data strukturer.

Det giver vist ikke meget mening at sammenligne dem.
Gravatar #36 - arne_v
6. maj 2007 22:50
#19

"Det opfører sig vil som man forventer at det skal - nemlig at forskellige apps er uafhængige af hinanden."

Øhh, jeg tror du får dig en overaskelse hvis du prøver det.


Hvad snakker du om.

Det er da helt elementær Java viden at class names er implicit
prefixed med classloader.

Jeg har en helt klar forventning om at default for en app server
er en classloader per ear.

Og saa virker det som det skal.

NB: bruger man JBoss skal man angive det eksplicit, fordi de
har valgt at bruge en classloader default. Det har de også
fået mange klø for.

Det er iøvrigt præcis det samme med ASP.NET - den sørger via
brug af appdomains for at apps er uafhængige af hinanden.

Ah det ved jeg nu ikke, men du kan jo tage med til JavaOne i næste uge og se selv hvor meget der handler omkring NetBeans/GlassFish sammenlignet med Eclipse/Orion/WebSphere. ;)


Næppe overraskende at et SUN arrangement snakker om SUN produkter
og ikke om IBM eller Oracle produkter.

Hvis det var et IBM arrangement så ville der nok blive snakket
meget WAS og Eclipse.
Gravatar #37 - arne_v
6. maj 2007 22:56
#19

Det er iøvrigt nemt at undersøge hvilke skills der efterspørges
på job markedet.

En søgning på dice.com siger:

WAS - 2470 (WebSphere er andet end app server og giver 4299 hits)
WebLogic - 2655
JBoss - 1059
Glassfish - 4

Eclipse - 1185
JBuilder - 124
IntelliJ - 62
NetBeans - 47
Gravatar #38 - arne_v
6. maj 2007 22:58
#19

Jeg har iøvrigt også læst meget godt om Matisse, så hvis man
udvikler fat client apps i Java tror jeg at NetBeans var et
godt valg.

Der laves imidlertid ikke så mange fat client apps i Java. Web
apps er ret dominerende som UI.
Gravatar #39 - arne_v
6. maj 2007 23:01
#19

Der er ingen tvivl om at C# bygger ovenpå Java og sproget har
en del forbedringer.

Personligt er jeg meget glad for unsigned data typer,
decimal data type og dllimport - mens jeg ikke kan lide
properties og struct - og er rimelig neutral overfor operator
overloading (det er ufatteligt sjældent at man har brug for det,
men har man brug for det så gør det godt nok koden meget kønnere).

Men spørg 12 programmører om det samme og du får 13 forskellige
svar.
Gravatar #40 - mrmorris
6. maj 2007 23:07
Min pointe er at der er kolosal forvirring omkring Java bruger pass-by-value, pass-by-reference eller diverse hybrider - og der har man total frihed i C#.
Aarhus universitet brillierer f.eks. med diaset "Simple typer = handly by value, klasse typer = handle by reference", når sandheden er at ALT er references og bliver passed by value:
http://javadude.com/articles/passbyvalue.htm

Problemet er igen at man tvinges til at lave DTO'er/beans for blot at kunne sende mere end ét resultat tilbage. Det betyder også at det er umuligt at skrive en swap(...) funktion i Java - pudsigt for der findes både Java byte kode og x86 assembler instruktion til netop dette formål.

EJB 3 er et objekt persisterings framework. LINQ er til queries i in-memory data strukturer.

Forkert. JPA er et persistens framework der typisk bruger TopLink i sit ORM lag. Og Linq er først og fremmest til at query DBMS'er men er bare så generelt (og i kraft af at det er trukket ind i selve C# sproget) at det også kan bruges til reflection, registreringsdatabasen, XML, filsystem osv.
Gravatar #41 - Disky
6. maj 2007 23:10
#39
Hvad er der galt med Properties ?

I starten kunne jeg ikke lide dem, i dag synes jeg de er smarte og pynter på koden, ikke alle de get'er og set'er i kaldene.
Gravatar #42 - arne_v
6. maj 2007 23:29
#41

Der er ikke decideret noget galt med dem.

Men det er reelt et metode kald. Og der er ingen restriktioner
på hvad den kode kan gøre.

Derfor synes jeg, at det er mere "retvisende" at bruge metode syntax.
Gravatar #43 - Disky
6. maj 2007 23:35
#42
Det var samme årsag til jeg i starten ikke kunne lide det, men jeg har nu vendet mig til det, og kan reelt bedre lide den nu.

Men det er selvfølgelig smag og behag, og hvad man er van til.
Gravatar #44 - mathiass
7. maj 2007 08:13
Min pointe er at der er kolosal forvirring omkring Java bruger pass-by-value, pass-by-reference
Det kan jeg ikke helt forstå at du siger. Det er fuldstændig veldefineret hvad der sker i java. Du kan altid opfatte en formel parameter som en lokal variabel når du koder, så er den ikke længere...

pudsigt for der findes både Java byte kode og x86 assembler instruktion til netop dette formål.
Det er ikke korrekt! Javas swap bytecode swapper de to øverste elementer på stakken, hvilket er noget ganske andet, men det er nyttigt til implementationer af eksempelvis ++ og -- statements...

sandheden er at ALT er references
Det er ikke korrekt. Specifikt er primitive typer ikke references...
Gravatar #45 - sKIDROw
7. maj 2007 08:49
Har iike styr på alt det Java lingo.

Alt jeg gerne vil vide er egentligt blot, hvornår der kommer den komponent der får min netbank til at virke?.

Det er fucking det eneste jeg mangler en fri Java til. Alle andre programmer i Java, kender jeg alternativer for... :)
Gravatar #46 - mathiass
7. maj 2007 08:59
Alt jeg gerne vil vide er egentligt blot, hvornår der kommer den komponent der får min netbank til at virke?.
Hvilken netbank er det? Nordeas java-bank har ingen problemer med hverken linux eller OSX, så det er nok din bank der har et problem, snarere end java...
Gravatar #47 - sKIDROw
7. maj 2007 09:03
#46

Du glemte den del her:

"Det er fucking det eneste jeg mangler en fri Java til."

Men ja det er Nordea.
Gravatar #48 - mathiass
7. maj 2007 13:51
#47 Hvilken fejl får du? Hvis du sætter Firefox så den kan finde Java-runtimet, så burde det køre som det skal...
Gravatar #49 - sKIDROw
7. maj 2007 18:02
#48

Ohh dear... :)
Jeg får jo ikke pr definition nogen fejl, men jeg efterspørger en *FRI* komponent til at bruge min netbank med, og spørger hvilken del af Java, det er jeg skal vente på?
Gravatar #50 - arne_v
7. maj 2007 18:11
#49

SUN JVM og compiler er jo releaset under GPL. Resten d.v.s. runtime
library er lovet til første halvår 2007, så du skal vel ikke vente
længe.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login