mboost-dp1

Sun

Brian Goetz taler ud om Javas fremtid

- Via Zenbi Systems - , redigeret af Net_Srak , indsendt af arne_v

Ved en mindre konference i Holland lykkedes det stifteren af Zenbi Systems, Gert-Jan Schouten, at få et eksklusivt interview med en af de ledende udviklere af Java hos Oracle, Brian Goetz.

Interviewet har fokus på fremtiden for Java, men kommer også ind på, hvorfor Oracle har modtaget så meget negativ kritik på det seneste, når det drejer sig om Java.

Mange har, og er stadig, bange for, hvordan det skal gå med Java, efter Oracle overtog det fra Sun. Efter et par års tørke, hvor der ikke skete den store udvikling, fordi det gik dårligt for Sun, er der dog nu kommet en klar plan for udviklingen, der skal lede frem til Java 7 og Java 8.

Disse planer til trods har Oracle modtaget en del kritik, og ifølge Goetz, så opstår den dårlig omtale, fordi Oracle er meget omhyggelige med deres svar, når de kritiseres. Det har den uheldige bivirkning, at folk når at danne deres egne meninger, der ofte er negative, inden svaret når at komme.

Alt i alt er Schouten positiv efter snakken med Goetz, hvor de også snakker om Lambda, og han tror på, at Java går en god tid i møde.





Gå til bund
Gravatar #1 - AlienDarkmind
19. nov. 2010 09:07
Er lige begyndt så småt at lære java sproget, og står virkelig og overvejer at droppe det og gå lige til c++ da jeg ikke er meget for den idé med 2 versioner hvor man skal betale for den ene. Så hellere et hvor jeg ved at jeg ikke skal stå mellem det valg.

Nu får vi se. Stoler ikke helt på Oracel..
Gravatar #2 - mfriis
19. nov. 2010 09:25
#1 Hvis du er ved at lære at programmere og ingen erfarring har med det eller objektorienteret programmering generelt så vil jeg påstå du får en bedre start ved at lære det fra sprog som Java eller C#.Net. Der er trodsalt en del støttehjul i forhold til at kaste sig direkte ud i native C++ programmering.

#topic så må vi håbe Java finder sit marked igen, eller markedet finder det. Det er jo et fremragende sprog med en lang portefølje af gode værktøjer. Det virker bare en smule selvdestruktivt i øjeblikket, noget der sikkert får en del virksomheder til at være forsigtige med det, man skulle gerne kunne regne med fortsat support og samme økonomiske model de næste mange år frem.
Gravatar #3 - maghana
19. nov. 2010 09:59
Drop c++ :) - Java er nemt, c# er nemmere :p
Gravatar #4 - illishar
19. nov. 2010 10:12
#3 Man kunne modificere det at hedde:

C++ er ældst og bygger på sproget (ANSI C) der var erstatningen til Assembler.
Java er yngre og bygger på erfaringerne fra C++
C# er yngst er bygger på erfaringerne fra Java og C++
Gravatar #5 - kjeldmis
19. nov. 2010 10:18
Klart det sværeste sprog jeg har skrevet i var ANSI C. Hvis du lige er startet kan jeg kun anbefale dig at starte med et tidssvarende sprog (C++ er dog stadig et fantastisk godt sprog) da du ellers sommetider vil stå i situationer hvor du skal genopfinde "den dybe tallerken". Også sundt nok, men det tager pusten fra en, især hvis det er på hobbyniveau du skriver kode.
Gravatar #6 - illishar
19. nov. 2010 10:19
#1 Jeg har en bedre ide til dig: Færdiggør din indlæring i Java. Gå så derefter over til C++ og tag så C# til sidst. For en god ordens skyld så tag også lige JavaScript og php, når du nu er igang. Husk også at programmér lidt ANSI C, eftersom det trods alt stadigvæk er ret udbredt.
Når du kan alle de ovenstående perfekt, så har du en god pakke indenfor de mest brugte C-like sprog ;)

... og så skal du igang med alle de andre stammer :D
Gravatar #7 - MeepMeep
19. nov. 2010 10:23
Man vælger vel sprog ud fra hvad det er man vil udvikle?

C++ kan bruges hvor som helst, men det rammeværk (framework) man anvender fra C++ vil typisk være specifikt for det OS man udvikler til.

Java findes til stort set til alle OS'er, hvorfor det er at foretrække, hvis ens application skal dække så mange systemer som muligt.

C# er det hotte sprog, som dog kun kører på Microsoft platforme og via Mono på f.eks. Linux. Så udvikler man til f.eks. Windows, er C# at foretrække.
Gravatar #8 - illishar
19. nov. 2010 10:32
><))°r (7) skrev:

C++ kan bruges hvor som helst, men det rammeværk (framework) man anvender fra C++ vil typisk være specifikt for det OS man udvikler til.

Java findes til stort set til alle OS'er, hvorfor det er at foretrække, hvis ens application skal dække så mange systemer som muligt.

Der er nok mange der ville argumentere for at C++ er ligeså porterbart som Java, hvis man fokuserer på den slags. Faktisk er C++ mere porterbart, hvis man medtager eksotiske enheder som embedded devices mm.
Gravatar #9 - Darwind
19. nov. 2010 10:32
Argh, ikke mere "syntaktisk sukker" - tænker på Lambda expressions. Det er noget som godt må blive i F# og C# tak ;S
Ved godt, det ikke er noget MS har opfundet, men det må stadig godt blive hos dem tak ;)

Det irriterer mig grænseløst, at både C# og Java begynder at bevæge sig mere og mere over mod funktionel programmering.

Hvorfor skal vi have det hele i én pakke, når der jo åbenlyst er nogle idéer i at have det hele splittet op i fx funktionel og objektorienteret programmering? Bare min mening - desuden bliver læringskurven vel også stejlere, når der er mere man skal lære om i et enkelt sprog.

Lambda expressions var for mit vedkommende fx rimeligt svært at "graspe" i starten.

#1 - start med enten C# eller Java - det er klart lettere, som helt ny inden for OOP, end bare at hoppe på C++.
Gravatar #10 - Qua
19. nov. 2010 10:59
Darwind (9) skrev:
Argh, ikke mere "syntaktisk sukker" - tænker på Lambda expressions. Det er noget som godt må blive i F# og C# tak ;S
Ved godt, det ikke er noget MS har opfundet, men det må stadig godt blive hos dem tak ;)

Det irriterer mig grænseløst, at både C# og Java begynder at bevæge sig mere og mere over mod funktionel programmering.

Hvorfor skal vi have det hele i én pakke, når der jo åbenlyst er nogle idéer i at have det hele splittet op i fx funktionel og objektorienteret programmering? Bare min mening - desuden bliver læringskurven vel også stejlere, når der er mere man skal lære om i et enkelt sprog.

Lambda expressions var for mit vedkommende fx rimeligt svært at "graspe" i starten.

#1 - start med enten C# eller Java - det er klart lettere, som helt ny inden for OOP, end bare at hoppe på C++.


Der er ingen der tvinger dig til at bruge hverken lambda eller LINQ. Det er en frivillig feature, der kan goere livet meget lettere, hvis man forstaar at bruge det.
Gravatar #11 - Windcape
19. nov. 2010 11:29
Darwind (9) skrev:
Argh, ikke mere "syntaktisk sukker" - tænker på Lambda expressions. Det er noget som godt må blive i F# og C# tak ;S
Hvorfor, er du bange for at lære noget nyt?

Darwind (9) skrev:
Det irriterer mig grænseløst, at både C# og Java begynder at bevæge sig mere og mere over mod funktionel programmering.
Fordi vi kan skrive pænere, mere declerativ og funktionel kode, frem for en masse boilerplate?

Darwind (9) skrev:
Hvorfor skal vi have det hele i én pakke, når der jo åbenlyst er nogle idéer i at have det hele splittet op i fx funktionel og objektorienteret programmering?
Nej, duer ikke. Hybrid sprog (hvor man kombinere paradigmer) er bedre, da purt funktionel programmering kun er noget for akademikere.

Det funktionelle paradigm i imperative sprog er modsat en super god ting, og gør at det faktisk bliver brugt. (Se f.eks. C#)

Darwind (9) skrev:
Bare min mening - desuden bliver læringskurven vel også stejlere, når der er mere man skal lære om i et enkelt sprog.
Læringskurven bliver ikke mere stejl af at man tilføjer flere valgfrie features på toppen.

Darwind (9) skrev:
Lambda expressions var for mit vedkommende fx rimeligt svært at "graspe" i starten.
Det tog mig 5 minutter. Hvad siger det om dig?

Gravatar #12 - Windcape
19. nov. 2010 11:31
Darkmind (1) skrev:
da jeg ikke er meget for den idé med 2 versioner hvor man skal betale for den ene
Hvis du havde læst den tidligere debat, ville du vide at der altid har været en premium udgave (som altså bare er en support-aftale).
Gravatar #13 - Windcape
19. nov. 2010 11:32
mFriis (2) skrev:
Det var jo et fremragende sprog
fixed
Gravatar #14 - Darwind
19. nov. 2010 12:17
Windcape (11) skrev:
Hvorfor, er du bange for at lære noget nyt?

Darwind (9) skrev:
Det irriterer mig grænseløst, at både C# og Java begynder at bevæge sig mere og mere over mod funktionel programmering.
Fordi vi kan skrive pænere, mere declerativ og funktionel kode, frem for en masse boilerplate?

Darwind (9) skrev:
Hvorfor skal vi have det hele i én pakke, når der jo åbenlyst er nogle idéer i at have det hele splittet op i fx funktionel og objektorienteret programmering?
Nej, duer ikke. Hybrid sprog (hvor man kombinere paradigmer) er bedre, da purt funktionel programmering kun er noget for akademikere.

Det funktionelle paradigm i imperative sprog er modsat en super god ting, og gør at det faktisk bliver brugt. (Se f.eks. C#)

Darwind (9) skrev:
Bare min mening - desuden bliver læringskurven vel også stejlere, når der er mere man skal lære om i et enkelt sprog.
Læringskurven bliver ikke mere stejl af at man tilføjer flere valgfrie features på toppen.

Darwind (9) skrev:
Lambda expressions var for mit vedkommende fx rimeligt svært at "graspe" i starten.
Det tog mig 5 minutter. Hvad siger det om dig?


Jeg samler bare op på hele den post:

Det er din holdning / mening og den har du ret til lige så vel jeg har ret til min mening. Hold nu op med at trække ting ned over andre, fordi du mener det er sådan.

Om funktionelle sprog kun er for akademikere tror jeg du skal prøve at spørge bl.a. Google om - se MapReduce fx - desuden er det så forholdsvist nyt et sprog, så der går jo lidt tid, før erhvervslivet tager nye ting til sig.

Lambda expressions er ikke mere deklarativt end at skrive tingene helt ud - det handler om at lave læsbar kode på mange områder også, så flere forstår koden (imho).

Jeg forstår ikke helt din såkaldte "rant" af mig, fordi det tog mig et stykke tid at forstå lambda expressions. Jeg kunne garanteret også finde nogle ting du ikke fattede med det samme, men hvorfor skulle jeg det? Hvad får jeg ud af det?

Og jeg er ikke bange for at lære noget nyt - lambda expressions er jo ældgammelt, det er bare blevet populært igen med C# og F#.
Jeg er bare for, at man skriver læsbar kode (som nævnt tidligere) og det bidrager lambda expressions ikke til, mener jeg.

- Bare mine 10 cent - java er et objektorienteret sprog, jeg mener man bør lade det være ved det og bruge det sprog man nu mener løser opgaven bedst og ikke forsøge at lave et hybridsprog, der kan løse alle opgaver.
Gravatar #15 - Darwind
19. nov. 2010 12:20
Qua (10) skrev:

....

Der er ingen der tvinger dig til at bruge hverken lambda eller LINQ. Det er en frivillig feature, der kan goere livet meget lettere, hvis man forstaar at bruge det.


Det mener jeg da heller ikke jeg skrev? Nu ikke lægge ord i munden på mig tak ;)
Gravatar #16 - ismetteren
19. nov. 2010 13:50
#15: Hvad er problemet så? Du kan jo bare lade være med at bruge det.
Gravatar #17 - MeepMeep
19. nov. 2010 18:53
#8: Der findes C++ på flere systemer, end der findes Java som sprog. Men det gør ikke C++ mere porterbart. C# bruges sammen med .NET og Java-sproget bruger Java-frameworket. Der findes ikke et rammeværk som er standard for C++ på tværs af systemerne, som det er tilfældet med Java. Der findes en del gode bud (f.eks. GTK+), men ikke nogen som følger C++ sproget på tværs af alle systemer, hvor C++ er tilgængelig.
Gravatar #18 - røvskæg
19. nov. 2010 22:43
Hvis du skriver ordentlige java programmer, virker de på Windows, Linux, Mac og Solaris.

C# virker på Windows.
Gravatar #19 - arne_v
19. nov. 2010 22:59
#8 & 17

C++ findes til næsten alt.

Men portabelt plejer at indikere lidt mere end at der eksisterer en compiler til sproget.

Standard C++ library er meget lille efter dagens standard. Stort set alle C++ programmer bruger features udover standard library.

Derudover er der temmeligt mange ting som er implementations specifikt i C++ sproget.

Derfor kommer et C++ program hurtigt til at indeholde .h filer med:

#ifdef OSFOO
...
#endif
#ifdef OSBAR
...
#endif
...

Gravatar #20 - mathiass
22. nov. 2010 07:17
røvskæg (18) skrev:
Hvis du skriver ordentlige java programmer, virker de på Windows, Linux, Mac og Solaris.

C# virker på Windows.
http://www.mono-project.com/Main_Page
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