På tide at boycotte Java ?

I Oracles køb af Suns effekter lader det til at de fleste af os har overset hvilken værdi Oracle tillægger Java.

(Bare fordi jeg ved hvor mange javapartisaner vi har: Dette post handler ikke om java sproget overhovedet. Det handler om alt det uden om javasproget)

Jeg har altid haft et temmelig problematisk forhold til Java, fra java applets der bare ikke virker fordi det ikke er en Windows maskine til folk der tror at java per definition er bedre end alle andre sprog.

Men det største problem for mig har altid været Suns håndtering af Java, ikke mindst i open-source sammenhæng.

Domstole har dokumenteret at Microsoft gav Sun rigelig grund til at være paranoide om Java, men det er egentlig ikke ret relevant for os i Open Source miljøet, vi er nødt til at se på hvorledes vi selv bliver behandlet.

For at få en native java fortolker godkendt skulle man betale et temmelig ublu beløb til Sun og de så hverken nogen værdi eller grund til at give open source projekter som FreeBSD lempeligere vilkår.

Det har siden vist sig at være symptomatisk for den "almost-but-not-quite-open-source" som Java er blevet håndteret som.

Nu er det Oracle der sidder på Java og de sagsøger folk til højre og venstre lige så hurtigt som de kan[1].

Google er blevet sagsøgt af Oracle for at implementere Java efter bogen, hvad der er op og ned i den sag må tiden vise.

De kildetekster der er fremlagt som bevis, lugter langt væk af at java specifikationen er skrevet så tæt at man kun kan implementere mange dele af den på en måde.

Men det udelukker naturligvis ikke at der er nogen der har skelet lidt for meget til andres kildetekst, men hvis den på den anden side var Open Source'et på det tidspunkt, er det så ulovligt ?

Som altid afhænger resultatet mest af hvilke 12 personer der ikke kan smy sig udenom "jury-duty." og sagen har bestemt potientiale til en eller flere ture i højesteret.

Nu har Apache-Foundation fået nok og truer med at forlade Javasamarbejdet, hvis ikke Oracle kommer med en meget klar melding hurtigt.

Det virkede, som vi alle husker, utrolig godt for OpenOffice, så jeg håber de har sat en dead-line og holder fast i den, for der er ingen der skal fortælle Larry hvad han skal gøre.

Uanset hvad vi mener om Java som sprog, kommer vi ikke udenom at Java er blevet valget imellem Oracles ideer om god opførsel og stort set alle andres ditto.

Er tiden inden til en totalboycot af Java ?

phk

[1] Det er ret tydeligt at HP er de næste i sigtekornet: Larry spilder ingen chance for at skælde og smælde over hvad HP's bestyrelse foretager sig og for tiden tør HP's nye direktør ikke engang vise sig på hovedkontoret, muligvis slet ikke i landet, af frygt for at blive trukket ind i Oracles retssag imod SAP.

Kommentarer (45)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Leonard Kramer

Java er hovedsproget her hvor jeg studere, og jeg maa indroemme at jeg faktisk godt kan lide at arbejde i sproget (som mange andre er jeg dog enig i at rent faktisk afvikle programmer i java ofte er en knap saa god oplevelse).

For Oracle koebte Sun ville jeg nok have overvejet at soege om jobs hvor Java var hovedsproget (selv om det ikke ville vaere forste valg), men lige nu syntes jeg det er et lidt for usikkert sprog til at jeg vil begynde en karriere i det, saa jeg vil nok styre uden om det i hvert fald indtil vi ved praecist hvad der sker.

Martin Bøgelund

PHK:

Er tiden inden til en totalboycot af Java ?

Al erfaring viser at hvis man fjerner noget, opstår der et vakuum som skal udfyldes.

Dette gælder uanset om man hiver en korkprop ud af en vinflaske, eller trækker russiske tropper ud af Afghanistan.

Man er derfor godt hjulpet, hvis man udviser rettidig omhu, og gør sig tanker om hvad der skal fyldes i vakuumet, inden man skaber det.

Sidst jeg trak en prop ud af en vinflaske, blev vakuumet udfyldt på en hensigstmæssig måde.

Sidst russerne trak tropper ud af Afghanistan, blev vakuumet ikke udfyldt på en (for mange) hensigtsmæssig måde.

Så når du foreslår en totalboycott af Java, må du gerne fortælle hvad du forestiller dig vakuumet bliver udfyldt med.

Vil du f.eks. foretrække at der blev hældt C# i de huller, der pt. er proppet med Java?

Jimmy Krag

Det handler vel i princippet bare om JVM, og ikke så meget om sproget Java, ikke?

Så er det vel på tide at diverse institutioner og universiteterne begynder at tænke på at søge midler til at kreere en ny virtuel maskine (selvfølgelig open source), med compiler til diverse sprog til at afløse JVM. Jeg foreslår at compileren evt. kunne bygges på LLVM, så valget af sprog står frit for (i en perfekt verden).

Var det ikke noget for dig at stå som primus motor for phk? Så vil jeg antage at det i hvert fald kommer til at køre optimalt på FreeBSD :)

Poul-Henning Kamp Blogger

Det handler vel i princippet bare om JVM, og ikke så meget om sproget Java, ikke?

Det er faktisk det jeg synes er mest interessant ved Oracle/Google sagen: Hvis oracle får ret, kan det blive umuligt at implementere sproget uden at betale en licens til dem.

Prøv at se det bilag J der er fremlagt:

http://www.groklaw.net/pdf2/OraGoogle-36-10.pdf

Har Google kopieret Oracles kode, eller har de tastet den ind fra specifikationen ? (Jeg hælder imod det sidste, baseret på min erfaring med folk der kopierer kode.)

Hvis retten dømmer Google for kopiering, er der pludselig ingen der kan implementere specifikationen direkte mere...

Men spørgsmålet er også mere principielt: Er Java stadig "cool" når det bliver spændt for Oracles grove kapitalisme og monopolbygningsmaskine ?

Poul-Henning

Kresten Krab Thorup

Ja, det er trist at alle de store spillere optræder så aggresivt når det gælder Java. Java er jo blevet den "moderne cobol", og der er jo nu et stort marked i at malke alle dem der har gjort sig afhængige af det.

Den sidste udmelding jeg har set var på vores QCon/SF konference sidste uge (se fx her http://www.theregister.co.uk/2010/11/06/oracle_dueling_jvms), og det tyder på at vi stilles to versioner af Java i udsigt; en "Premium" og en "open source". Sidstnævnte er baseret på OpenJDK (HotSpot), som er under GPL+classpath-exception, og IBM har meldt ud at de vil samarbejde med Oracle om at arbejde videre på den.

Jeg håber at OpenJDK med IBM+Oracle support fortsat vil give os en solid opensource JVM som vi kan leve med fremover.

Pengene kommer jo nok i overvejende grad til at blive tjent på serviceydelser, og produkter der relaterer sig til administration, overvågning og operations, samt diverse "application server"-agtig software som kører ovenpå en JDK. Ikke på selve JVM'en.

Den dag vi ikke længere kan få en gratis (og god) JVM stopper innovationen på platformen. Og det tror jeg godt Oracle er klar over.

Flemming Frandsen

Den krampagtige kontrol SUN har haft med Java har altid været det største problem med Java, men de har trods alt ikke gået rundt og sagsøgt de største brugere af Java som Oracle lader til at gøre.

Det største problem med Java er at det eneste troværdige alternativ C# også er kontrolleret af en enkelt stor og farlig spiller man ikke kan handle med.

Det kan selvfølgelig ske at Oracle kommer på bedre tanker, men det ser godt nok ud til at jeg skal til at kigge lidt på Mono.

Jakob Damkjær

"Har Google kopieret Oracles kode, eller har de tastet den ind fra specifikationen ? (Jeg hælder imod det sidste, baseret på min erfaring med folk der kopierer kode.)"

Sikkert rigtig nok men jeg tror ikke at specifikationen var belagt med copyright og den beskyttelse som copyright giver er meget stærk for der skal det bare bevises at det oprindelige materiale er skrevet først og at det formastelige materiale ligner originalen i tilstrækkelig grad for at lovgivningen gælder og så er det hamrende ligegyldigt hvilke søforklaringer som afskriveren kommer med...

og det er der kæden hopper af for mig... for det er bare ikke ok at kopiere kode uden at anerkende copyright.

Desuden så kommer den kopierede kode ikke fra Apatche projektet så det er noget google selv har stået for så forklaringen med at koden var i det de lånte fra harmony projektet er lidt male bovine droppings...

At droppe Java eller JVMs er en fin ide... men tror det ikke er sådan lige noget der bliver gjort på en dag eller ti da den skyttegravs position som Java/JVM har er ret god og ikke lige opgiver uden en kamp specielt hvis de kan få google/android som java licensee...

Men som altid er Apple foran i stormløbet mod morgendagen, da der ikke vil være en Apple JVM fra 10.7 og fremefter. Lad os se hvor mange andre der vil skrive sig selv ud af storfirma server OS land med den manøvre (som en bekendt hos et stort international firma mener at Apples træk i sin essens er. Noget der giver mening da Xserver linjen af rackmount servere er blevet EOLet).

/Jakob

Poul-Henning Kamp Blogger

Nej, selvfølgelige er det ikke noget der sker fra dag til dag.

Men prøv at lægge mærke til den allerførste kommentar ovenfor.

Bør vi fortsat uddanne folk med Java som (eneste ?) hovedsprog, i lyset af den mildest talt mudrede situation ?

"Hvis du vil ud af et hul, skal du først holde op med at grave det dybere"

Poul-Henning

Mikkel Høgh

Nu har jeg jo ikke studeret CS, men som selvlært har det været meget gavnligt for forståelsen af softwareudvikling at prøve forskellige sprog.

Jeg vil mene at hvis man ikke kender mindst tre forskellige sprog og tre forskellige programmeringsparadigmer indgående, så har man ikke den fornødne viden til at tænke ud af boksen og finde ud af hvad den “rigtige” løsninger i forhold til opgaven, fremfor bare at gøre som man plejer.

Anonym

Bør vi fortsat uddanne folk med Java som (eneste ?) hovedsprog

Som den intelligente person jeg tro du er, burde du vide, at det vigtige er at kunne/forstå programmering uagtet hvilket sprog.

Kigger man lidt ned i de forskellige (gængse) sprog er forskellen marginal.

Tænk over følgende frase fra '90-erne:
"Java er Delphi med C-syntaks"..

Kigger man på overordnede konstruktioner (OO), så har farven blot en anden lyd.

COBOL er en anden boldgade, men til gængæld skal man ikke slås med stateless kommunikation, og diverse obskure 'opfindelser' for at simulere en statefull kommunikation.

Stateless er godt i nogle tilfælde, og mareridt i andre tilfælde.

Forskellen er, at med statefull kan man afgrænse en enkelt transaktion til 'stateless', hvorimod det modsatte kræver mange (ikke standard) 'session management' - 'ting'.

Martin Bøgelund
  • C/C++ for tidskritiske

C/C++ eksisterede allerede da Java blev søsat, og må derfor være blevet fravalgt hver gang man har tilvalgt Java.

Nu siger PHK noget på en blog, og så bliver C/C++ pludselig et optimalt valg?

Hvis du laver en søgning på "Java" blandt IT-jobs, vil du se at stillinger hvor Java-kompetencer nævnes sammen med andre sprog, forekommer C# rigtig ofte (men også C++).

Så man skal nok være forberedt på at der siver en del C# ind, der hvor man hiver noget Java ud - og spørgsmålet bliver så, om PHK hader Larry mere end han hader Steve :-)
http://www.version2.dk/artikel/16768-quiz-microsoft-eller-oracle

Som Jimmy nævner ovenfor, er det måske nok mere JVM, end selve Java der er kernen i PHK's opfordring.

Hvis open source operativsystemerne bliver til "det sted hvor man [i]ikke[/i] kan køre Java", hvem vil så tabe mest på det? Java eller OS-OS'erne?

Martin Bøgelund

Som den intelligente person jeg tro du er, burde du vide, at det vigtige er at kunne/forstå programmering uagtet hvilket sprog.

Det er selvfølgelig korrekt.

Jeg lærte selv "rigtig" programmering med Modula-II, og principperne har jeg kunnet anvende i alle de sprog jeg har beskæftiget mig med siden.

Jeg lærte sågår at [i]forstå[/i] pointere med Modula-II, hvilket er en stor ting for én som mig :-)

Hvis vi kan give vores studerende en hjemmebanefordel ved at lære dem et sprog, som de rent faktisk risikerer at støde på ude i virkeligheden, så er det jo oplagt.

Java er relevant ift produkter fra Sun/Oracle, men også flere andre leverandører. Selv hos Oracle-konkurrenten SAP har Java en plads.

Hvis vi inddæmmer Java til kun at være relevant i en snæver kreds omkring Oracle, må vi selvsagt spørge os selv om det så ikke var en idé at skifte Java ud på læreanstalterne, med noget der har en bredere produktvifte det kan bruges på. Når nu de studerende alligevel skal lære [i]noget[/i].

Kresten Krab Thorup

Bør vi fortsat uddanne folk med Java som (eneste ?) hovedsprog, i lyset af den mildest talt mudrede situation ?

Nej, det mener jeg bestemt ikke. Jeg mener (og har hele tiden ment) at det var en fejl da universiteterne bukkede under for den ide. Det er bedre at lære Scheme, Haskell, Eiffel eller Beta som første sprog. Sprog der har en idé, og som kan være reference for hvad man lærer fremadrettet. Java og C# skal måske nok være et af værktøjerne i kassen når man kommer ud som kandidat, men ikke det eneste.

Lasse Lindgård

Nu ville jeg ønske at jeg kunne ride rundt på min Scala-kæphest som jeg plejer at gøre og råbe skift til scala, så er alle problemer i orden.

Som jeg forstår retssagen mod google er det googles brug af platformen java der er under angreb, så vi ville ikke engang være reddet af at man bare kunne boykotte sproget.

Sproget java er ved at blive ud-innoveret af sprog som Scala, så mit bud er at java som sprog er på vej mod legacy uanset hvad vi gør.

Men hvis afløseren for java ikke kan køre på java platformen så ser det grimt ud.

Esben Nielsen

Er det ikke et generelt problem, at hvis man bruger nyere teknologier, resikerer man at blive sagsøgt for patenter/copyright? Det kan godt være at søgsmålet er nonsense; men man har ikke råd til at få ret..

Hvis man vil være nogenlunde sikker på, at sproget ikke lige pludselig bliver ramt af en "IP bombe", skal man holde sig til C.

Jesper Louis Andersen

Hvis man ser på hvad de har fået ud af projektet:

  1. DIKU og DTU har i 10 år uddannet folk i OOP via Java. Det giver en god ballast i erhvervslivet senere, da mange af de studerende som kommer ud nu allerede kan sproget. DIKU har også givet folk en ballast i andre sprog for diversitetens skyld, men det er egentlig underordnet. På verdensplan er Java nok et kendt sprog for mange. Rigtig mange.

  2. Java er aldrig blevet "høstet". Sun kørte en balanceforestilling med udviklerne: Vi laver det så åbent at i vil kunne acceptere det og i får det gratis. Vi vil ikke udnytte vores patenter som er defensive. Til gengæld skal i lave et økosystem der er microsoft værdigt. Den købte udviklerne råt - men der er stadig plads til at mejetærskeren kommer forbi. Det kunne tænkes at ske nu.

  3. Java er et library-mekka. Fordi virksomhederne, de store af dem, har set Java som det eneste reelle alternativ til C#, C++ eller lignende, så er der lavet mange libraries der løser en masse forskellige problemer. Dette arbejde kan kun udnyttes hvis man har Java.

  4. Google Satsede hårdt på Java som platform. Og ydermere har Google eksponeret platformen således de forventer at udviklere som vil bruge Google-platformen vælger det (eller Python). Android-systemet er det helt rigtige sted at få kobenet ind hvis man vil starte.

  5. Google's AppEngine-løsning er en direkte konkurrent til at sælge Oracle-server-hardware. Java vil give Oracle mulighed for at stække Google på denne front.

++

Primærproblemet med boycut er mistet arbejde. Inertien ved at forsætte med Java er stadig så høj det ikke kan betale sig at lave et skift. For nye projekter vil en overvejelse dog være på sin plads.

Personligt har jeg altid boycut'et Java. Mestendels fordi jeg synes dets økosystem passer ualmindeligt dårligt ind i en UNIX-filosofi og ikke lader sig programmere nemt i en ordentlig editor (Vi, eller Emacs - pick your poison). Hele ideen om at jeg skal starte et IDE som NetBeans, IntelliJ eller Eclipse for at kunne skrive kode nogenlunde hurtigt er efter min mening en stor fejl.

Dertil kommer at jeg ikke er begejstret for sproget, men det er en anden sag.

Da Java var på sit højeste kørte jeg FreeBSD. PHK har nævnt de problemer der var med at få en Java til FreeBSD som fungerede på lige vilkår med andre platforme, så der blev hacket alt muligt andet i stedet.

Palle Simonsen

Er Beta stadig aktivt?

Ville mene at Scheme + Eiffel er et godt valg. Eiffel ligner 'normale' sprog tilpas meget, medens Scheme kan lære den kommende generation noget om programmeringsmæssig elegance. Så kan man altid få chocket, når man i det 'virkelige liv' udsættes for ustruktureret 'klytkode' skrevet af personer uden sporbar programmeringsviden i 'rigtige' sprog som C#,vb, PHP, C,C++,Java etc. - komplet med diverse hjemmestrikkede frameworks ;)

Carsten Sonne

Spørgsmålet er om det overhovet er nødvendigt at ty til så drastiske midler som at levet et totalboycot af Java? Det virker til Java langsomt er ved at slå sig selv ihjel. Innovationen udebliver, platforms-uafhængigheden indskrænkes langsomt og Oracles adfærd skræmmer andre end de direkte anklagede.

Spørgsmålet er nærmere om Java ikke har udlevet sin rolle. Måske er det blevet tid til nye arters opstående som Darwin ville have haft sagt.

Jens Madsen

Al erfaring viser at hvis man fjerner noget, opstår der et vakuum som skal udfyldes.

Dette gælder uanset om man hiver en korkprop ud af en vinflaske, eller trækker russiske tropper ud af Afghanistan.

Man er derfor godt hjulpet, hvis man udviser rettidig omhu, og gør sig tanker om hvad der skal fyldes i vakuumet, inden man skaber det.

Jeg tænkte noget i samme retning. En løsning, er at vælge gængse sprog, som måske kunne erstatte Java - en anden er, at udvikle et nyt sprog, der er bedre end Java og alle andre højnivausprog på alle punkter.

Det sidste - hvorfor kan det ikke gøres i "Open" regi? Så man er fri for patenter, rettigheder, og alle de andre problematikker, hvis man selv søger at implementere "indstruktionerne"? Jeg synes ikke, at der findes et perfekt højnivau sprog - og Java er bestemt hellerikke perfekt. Hvorfor, skal vi blive ved med at nøjes med "det bedste blandt de eksisterende"? Lad os tage hul på det ikke eksisterende nu.

Jens Madsen

Al erfaring viser at hvis man fjerner noget, opstår der et vakuum som skal udfyldes.

Dette gælder uanset om man hiver en korkprop ud af en vinflaske, eller trækker russiske tropper ud af Afghanistan.

Man er derfor godt hjulpet, hvis man udviser rettidig omhu, og gør sig tanker om hvad der skal fyldes i vakuumet, inden man skaber det.

Jeg tænkte noget i samme retning. En løsning, er at vælge gængse sprog, som måske kunne erstatte Java - en anden er, at udvikle et nyt sprog, der er bedre end Java og alle andre højnivausprog på alle punkter.

Det sidste - hvorfor kan det ikke gøres i "Open" regi? Så man er fri for patenter, rettigheder, og alle de andre problematikker, hvis man selv søger at implementere "indstruktionerne"? Jeg synes ikke, at der findes et perfekt højnivau sprog - og Java er bestemt hellerikke perfekt. Hvorfor, skal vi blive ved med at nøjes med "det bedste blandt de eksisterende"? Lad os tage hul på det ikke eksisterende nu, og få lavet et ordentligt programmeringssprog. Jeg tror, at det gøres bedst i open-source regi, da mange programmører har idéer, og har holdninger til, hvad det er godt og skidt i nuværende programmeringssprog. Det idéelle er, at det netop er mange - og ikke éen idémand, som mange traditionelle programmeringssprog er plaget af. Og at man ikke laver sproget på baggrund af kompromisser, men på baggrund af fornuft, og det som der kan argumenteres, og bevises.

Jesper Louis Andersen

Det idéelle er, at det netop er mange - og ikke éen idémand, som mange traditionelle programmeringssprog er plaget af.

Der er grundliggende to skoler: Design by benevolent dictator eller design by committee. Design by massive hoarde er aldrig blevet prøvet tror jeg.

Personligt er jeg mest til at have en lille gruppe, maks 4 mand, helst 3, der udstykker sprogets retning ved stort set alle sammen at blive enige om en feature. Ellers bliver der for mange kokke og så får man en sprogmæssig rodebutik hvor hver persons foretrukne feature skal med.

Det perfekte sprog findes ikke. Alle sprog foretager valg og fravalg der placerer dem forskelligt i forhold til hinanden og det giver dem forskellige forcer og svagheder.

Jeg tror ikke umiddelbart at "Design by massive hoarde" virker.

Jacob Christian Munch-Andersen

De fleste succesfulde designprocesser følger en pyramideudvikling, en eller få personer laver det indledende arbejde og opbygger en ramme, som så er grundlaget for at opgaver kan uddelegeres, disse opgaver kan så igen forgrenes når de fundamentale dele er på plads, osv. Fx nytter det ikke meget at være 20 personer om at diskutere hvor i syntaksen der skal være semikoloner, men man kan snildt være 100 til at skrive biblioteker på et senere tidspunkt.

Kai Birger Nielsen

Måske er "benevolent dictator" heller ikke dum at have inde over bibliotekerne. Jeg mindes et foredrag af Bjarne Stroustrup, hvor han havde timet forskellige implementationer af C og C++ og hvor det mest var hvem der havde haft de(n) smarteste person(er) til at skrive standardbiblioteket, der vandt.

Jesper S. Møller

Hvis man tager et skridt tilbage og ser på hvad Java "gør" hvor det bruges, så har det jo opnået nogle egenskaber som vi tager for givet:

  • Java bytekode er portabel
  • JVM'er er nemme kan indlejres i egne programmer
  • JVM'en har garbage collection som er god nok til almindelig udbredelse

Oven på denne platform kører der så voldsomt mange sprog, biblioteker, og hvad ved jeg, og under denne platform kan der køre fortolkere, hardware, JIT compilere og (statiske) compilere (GCJ). Det er dét, der er bedriften, ikke sproget.

Måske er Java blevet vor tids COBOL, men tilsvarende er bytekode blevet vor tids assembler + interfacebeskrivelsessprog for binær interop. Og hurra for det (specielt hvis man sammenligner med C++)

Et alternativ som skulle gøre sig gældende på samme måde skal have ovennævnte egenskaber PLUS have en åben governancemodel, der gør det attraktivt/tåleligt for både open source og kommercielle interesser at deltage. Wow.

Oh boy, oh boy, jeg håber at Oracle hidser sig ned igen.

Eyðun Nielsen

Prøv at se det bilag J der er fremlagt:

http://www.groklaw.net/pdf2/OraGoog...

Har Google kopieret Oracles kode, eller har de tastet den ind fra specifikationen ? (Jeg hælder imod det sidste, baseret på min erfaring med folk der kopierer kode.)

Det ser nu mere ud som om at google har brugt en decompiler til hjælp.

På side 2:
[code=java5]private static final String ANY_POLICY = "2.5.29.32.0";[/code]

Denne konstant bliver ikke brugt overhovedet i googles version... Se side 6 og 7.

Så ja, det er uden tvivl et brud på copyright.

Steen Larsen

Hvad ville der ske hvis Apache udgav deres fremtidige software, updateringer, etc. med en licens der siger at Oracle ikke har licens til at bruge softwaren?

Det vil være svært at være IT virksomhed i dag hvis man er udelukket fra at bruge ASF's software og andre store open-source projekter!

Er dette overhovedet muligt?

Er det uetisk i open-source sammenhæng?

Det sker nok ikke, men det kunne være sjovt!

Venlig hilsen
Steen

Martin Bøgelund

Hvad ville der ske hvis Apache udgav deres fremtidige software, updateringer, etc. med en licens der siger at Oracle ikke har licens til at bruge softwaren?
[...]
Er det uetisk i open-source sammenhæng?

Uetisk - måske. Tåbeligt - helt sikkert.

Open source definitionen (ifølge OSI) siger, at licensen ikke må diskriminere:
http://www.opensource.org/docs/osd

  1. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

  1. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Det siger sig selv, at når open source-samfundet selv er blevet diskrimineret i så mange år, og har påpeget uretfærdigheden heri, kan det ikke nytte noget at open source-folk selv begynder at diskriminere. Bl.a. derfor må ikke-diskrimination være blevet indskrevet i OSI's definition.

Jesper S. Møller

Parrot mangler så vidt jeg ved en del på threading området (selvom dette blev adresseret i årets Google Summer of Code), hvilket får mig til at tænke at der så heller ikke er tænkt så frygtelig meget over "happens-before" relationer, låsningsprimitiver, m.v.

Til gengæld er den lille og ret pæn, og kan bruges på flere abstraktionsniveauer.

VM-kit er også spændende (delprojekt under LLVM)

Jesper S. Møller

Pointen med at diskutere alternativer til JVM (og ja, også standardbiblioteker) var at undgå at være afhængig af Java og Oracle, herunder Oracles VM.
Med andre ord, er der rimelige tekniske alternativer på "general purpose" platform-området, til Java og .NET.

Men: Om diverse Sun patenter er så bredt formuleret at de også ville ramme sådanne alternativer er vel stadig et åbent spørgsmål.

Men 2: Ville er sådant alternativ kunne opnå udbredelse uden kommerciel opbakning? Og ville en sådan opbakning ikke blot medføre en tilsvarende situation?

Jesper S. Møller

Pointen med at diskutere alternativer til JVM (og ja, også standardbiblioteker) var at undgå at være afhængig af Java og Oracle, herunder Oracles VM.
Med andre ord, er der rimelige tekniske alternativer på "general purpose" platform-området, til Java og .NET.

Men: Om diverse Sun patenter er så bredt formuleret at de også ville ramme sådanne alternativer er vel stadig et åbent spørgsmål.

Men 2: Ville er sådant alternativ kunne opnå udbredelse uden kommerciel opbakning? Og ville en sådan opbakning ikke blot medføre en tilsvarende situation?

Thorbjørn Andersen

[I]C/C++ eksisterede allerede da Java blev søsat, og må derfor være blevet fravalgt hver gang man har tilvalgt Java.

Nu siger PHK noget på en blog, og så bliver C/C++ pludselig et optimalt valg?[/I]

Ovenstående argument forudsætter at ting ikke ændrer sig over tid (hvilket er basal modstridende). Når man før har valgt java, kan nogle af følgende ting være inde i billedet ...

a) Garbage-collection
b) Crossplatfrom
c) Man ønskern noget bedre end MFC
(som c++ var lig med for 5 år siden)

Med (Nokias) QT er man ret godt stillet med C++ og jeg antager at man kan få/købe garbage-collectorer ...

Desværre går man så fra en patenthaj til en anden (jvf ..)
http://flowingdata.com/wp-content/uploads/2010/10/Mobile-lawsuits1-550x5...

... men teknisk er C++ et udemærket alternativ ... og jeg tror ikke umiddelbart på søgsmål for at bruge/forke QT...

I hvert fald vil jeg skynde mig at sige, at hvis man går C#-vejen går man fra asken og i ilden.

Oracles søgsmål kan være tvivlsomt, hvis det omhandler software under GPLv3 - MS holder en række patenter indenfor C# - og de eneste fredede er kunder hos Microsoft og Novell.

Alle andre brugere og købere af mono-programmer risikere at få en 'dummebøde' fra MS ... (selvom bøden ikke nødvendigvis holder i retten her i EU - det er jo patenter på (upatenterbart) software)

Desværre lader det til at lobbyismen (læs korruptionen) i EU kunne bane vejen for softwarepatenter ... (men en domstol i EU, der accepterer dem)

Jesper S. Møller

@Thorbjørn:

Jo, C++ er et fedt sprog, men til "almindelig" applikationsudvikling er det virkelig en hæmsko at skulle recompilere hele tiden, i forhold til den værktøjsunderstøttelse, der findes til netop Java. Der er en stor produktivitetsforskel, selv med det nyeste hardware.

<utopia>Hvis man forestillede sig en "profil" (i.e. en indsnævring) af C++ som gjorde det af med .hpp / .cpp skelnen (hvor er jeg træt af af gentage mig selv for toolchainens skyld), som havde optimal dependency-analyse og minimal genoversættelse, og som skar noget af sprogets massive "accidental complexity" væk (f.eks. bandlyste løse pointere med mindre man bad om dem ). Og det skulle selvfølgelig beholde ABI kompatibilitet med eksterne libraries... ja, så kunne vi snakke om det. </utopia>
Indtil da ville jeg fravælge det til almindelige dødelige applikationer..

Min baggrund for ovenstående utopisk drøm: Jeg har netop haft "glæden" af at skulle skifte compiler for en i alt 10-11 år gammel kodebase, fra MSVC++ 6.0 til 2010 udgaven (endda med en foranalyse på MinGW - fejlslagen!). Av, av, av.
Jo, fejlbeskederne er blevet bedre i de mellemliggende 12 år. Og der er parallel oversættelse nu også (wow, det har man kunnet "altid" på Unix), men oversættelsen er isoleret set blevet langsommere og IDE'et er uændret rent produktivitetsmæssigt.

Jeg ved godt at der i f.eks. Clang er sket en masse I den forgangne tid, men indtil der kommer en tæt integration imellem IDE og toolchain (á la Eclipse JDT) så er der bare for meget ventetid og gentagelse (for min smag).

Martin Bøgelund

Thorbjørn L. Andersen:
[quote]Ovenstående argument forudsætter at ting ikke ændrer sig over tid (hvilket er basal modstridende).[quote]

Nej. Det forudsætter kun at Java og C++ begge ændrer sig over tid - uden at nogen af dem ændrer sig revolutionerende mht deres indbyrdes forskelligheder.

Og i den anden retning trækker så, at jo mere Java-kode og -ekspertise man opbygger, jo mere tilbøjelig vil man være til at beholde Java, selvom C++ skulle blive lidt mere attraktivt.

Ellers er jeg stort set enig.

Log ind eller Opret konto for at kommentere