För/nackdelar med Java om man jämför med C++

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av matricks

Java har även en starttid som är bedrövlig tycker jag personligen.
Sedan det där med portabiliteten i Java ger jag inte mycket för. Inte ofta jag träffar på saker som funkar över flera platformar, om dom ens funkar dvs... Python och lite andra sköna scriptspråk tycker jag har visat på större portabilitet och smidighet.

Har du något exempel på något som inte fungerar på flera plattformar i Java? Jag har aldrig själv haft några problem med det. (Inga Applets som exempel bara).
Ang. starttiden, jo det kan ta några sekunder att starta ett större program. Är ju det som är nackdelen med JITC. Men att den är bedrövlig håller jag inte med om, om man nu inte sitter med en P90 eller nåt.

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av matricks
Jag tänkar quota en mycket välutbildad kompis till mig.

-"Java är bara för bankbögar som programmerar GUI bara så att bankernas datorer skall se mer avancerade ut"

äger din kompis en vit 240:a med tonade rutor och ett grönt wunderbaum?

[QUOTE]
Du är den första programmeraren jag träffat på som inte tycker att operator overloads är guld!
[/QUOTE]

det innebär bara att du inte träffat tillräckligt många..

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av matricks
Sedan det där med portabiliteten i Java ger jag inte mycket för. Inte ofta jag träffar på saker som funkar över flera platformar, om dom ens funkar dvs...

kvalificerat skitsnack... en av de största fördelarna med Java är just portabilitet... man kan ha olika utvecklingsmiljöer och kombinera dem med ett flertal driftsmiljöer..

"inte ofta träffar på saker som funkar över flera plattformar"???? allt fungerar över flera plattformar.. det är det som menas med portabilitet för guds skull..

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av Sunray
Isåfall anser jag dig vara en liten fjortisgamer enligt din signatur.

precis... för det är jäkligt tufft att skriva "NULL" i signaturen och tro att man är polare med Carmack av denna anledning..

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av misko

precis... för det är jäkligt tufft att skriva "NULL" i signaturen och tro att man är polare med Carmack av denna anledning..

Ja visst, eller kan det bero på att man inte kommer på nått vettigt att skriva?

Visa signatur

Perl - Made by Idiots, Java - Made for Idiots, C++ - Envied by Idiots

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av misko
kvalificerat skitsnack... en av de största fördelarna med Java är just portabilitet... man kan ha olika utvecklingsmiljöer och kombinera dem med ett flertal driftsmiljöer..

Vad menar du med portabilitet ? Menar du endast de klassbibliotek som SUN definierat ? Om man använder dessa så funker det men en hel uppsjö med 3:rd party-klassbibliotek finns och är ingenting som finns definierat i standrarden för Java.
C++ kod som är bra designad är precis lika portningsbart som nått annat. Om man har intentioner att det ska vara portningsbart så ser man ju till att koda därefter också.

Visa signatur

- BeatBox

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av BeatBox
Vad menar du med portabilitet ? Menar du endast de klassbibliotek som SUN definierat ? Om man använder dessa så funker det men en hel uppsjö med 3:rd party-klassbibliotek finns och är ingenting som finns definierat i standrarden för Java.
C++ kod som är bra designad är precis lika portningsbart som nått annat. Om man har intentioner att det ska vara portningsbart så ser man ju till att koda därefter också.

det jag menar med portabilitet är att att man kan köra samma kod rakt av på olika plattformar...

att man måste bifoga extra bibliotek när man distribuerar sitt program är lika uppenbart som att att man måste ta med koden man själv skrivit...

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk
Medlem

Och detta skulle va beviset att det är mer portabelt än andra språk ? Varför är i så fall inte C++ portabelt ?

Visa signatur

- BeatBox

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av BeatBox
Och detta skulle va beviset att det är mer portabelt än andra språk ? Varför är i så fall inte C++ portabelt ?

behöver jag verkligen förklara det för dig?

gör ett enkelt program i C++ där du använder dig av ett godtyckligt fönstersystem och skriv ut "hello world" i framen.. kompilera skiten i windowsmiljö så att du kan köra igång det och kontrollera att det fungerar..

ta nu allt som är färdigkompilerat och flytta det över till någon lunix-burk... kör igång programmet och berätta för mig hur bra det fungerar..

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av misko
behöver jag verkligen förklara det för dig?

gör ett enkelt program i C++ där du använder dig av ett godtyckligt fönstersystem och skriv ut "hello world" i framen.. kompilera skiten i windowsmiljö så att du kan köra igång det och kontrollera att det fungerar..

ta nu allt som är färdigkompilerat och flytta det över till någon lunix-burk... kör igång programmet och berätta för mig hur bra det fungerar..

Ja nu var ju inte linux något hyperbra exempel men prova med en mac istället.

Visa signatur

/ Assar

Permalänk
Medlem

Tycker diskussionen blivit lite barnslig nu...

Matricks sade det bra:

Citat:

Ursprungligen inskrivet av matricks
[B]En till sak. C++ har operator overloading, men det betyder inte att man måste använda det. Vet många som använder C++ men använder inte alla funktioner som finns i det. I Java kan du inte ens använda det för det finns inte.

Att operatoröverlagring ska finnas betyder inte att man måste skita i att använda vanliga funktioner och istället använda operatoröverlagring till allt. Operatoröverlagring är bra att ha. Bara för att vissa inte kan hantera det måste man inte banna det. Det är bara dumt att säga ngt annat. Samma sak med goto. Någon gång kan man behöva det, så det skadar inte att ha det kvar.

Visa signatur

:€

Permalänk
3dfx Fanboy
Citat:

Ursprungligen inskrivet av eighty
Det är bara dumt att säga ngt annat.

nej, det är inte alls dumt... man vägde förmodligen fördelar och nackdelar med op-overload när man skapade java och bestämde sig tydligen för att det skadade mer än det tillförde..

stränga regler i ett programmeringsspråk behöver inte vara något negativt.. de finns där av någon anledning, eller hur?

Visa signatur

Runnin with a pump pump
no bluffin we buck buck

Permalänk

Kan börja med att säga att jag gillar Java. Men att tro att det fungerar perfekt överallt och alltid är att ta i. Ska dra ett exempel som jag har varit med om. Jag var med i ett skolprojekt (där språket var Java) för ett år sedan och testade programmet på tre olika plattformar:

1. En arbetsstation från Sun med Solaris som OS och som drevs av en Sparcprocessor

2. En arbetsstation från Compaq (HP/Compaq/Digital) med Tru64 som OS och som drevs av en Alphaprocessor

3. Min PC hemma som körde Mandrake Linux.

Jag skulle skriva lite kod som skulle byta ut muspekaren mot en godtycklig bild. Detta fungerade bra på Sundatorn och PC-n men inte på arbetsstatonen från Compaq/Digital där bilden av någon anledning blev fyra gånger så stor. Jag misstänker att det kan ha berott på en äldre version av jvm användes men orkade inte gräva vidare i det.

Permalänk
Medlem

Ok, efter ett dagsverke så hamnade jag i diskussion med min mentor/nestor.

En del av problemen med Java är att det fungerar så olika på olika platformar. Ena saken är seg på ena och så att det går aldrig att "optimera" ett Java-program. Carmack ville köra Java som VM till Quake men blev tvungen att ge upp det, eftersom det fungerade så ojämnt på dom olika platformarna. Det slutade med att dom skrev sin egen vilket tog sin tid men var tydligen värt det.

Och han(mentorn/nestorn) står även fast att det är bara till för bankbögar (hans eget uttryck).

Visa signatur

Teeworlds - För dig som gillar gulliga saker med stora vapen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av matricks
Ok, efter ett dagsverke så hamnade jag i diskussion med min mentor/nestor.

En del av problemen med Java är att det fungerar så olika på olika platformar. Ena saken är seg på ena och så att det går aldrig att "optimera" ett Java-program. Carmack ville köra Java som VM till Quake men blev tvungen att ge upp det, eftersom det fungerade så ojämnt på dom olika platformarna. Det slutade med att dom skrev sin egen vilket tog sin tid men var tydligen värt det.

Och han(mentorn/nestorn) står även fast att det är bara till för bankbögar (hans eget uttryck).

Det har gjorts många försök att göra hela applikationer i Java och din mentor har rätt i att de har gått i backen.
I början av 90-talet när C++ var nytt gjordes exakt samma felmanöver med detta språk. Man byggde enorma hela system i detta eminenta språk som var "Objektorienterat". Felet man gjorde var att inte ta hänsyn till vad som var bra eller dåligt, och detta har C++ fått skulden för. Det är därför uttrycket "Helt Objektorienterat" har försvunnit och C++ fick ett dåligt oförtjänt rykte i slutet på 90-talet.
Nu gäller det att INTE använda ihjäl även Java utan se till att använda språken där det finns anledning. Grafiska tillämpningar är inte Javas starka sida, däremot kan det fylla en viktig funktion i applikationer där systeminnehavaren inte vill binda sig till en plattform på klientsidan. Banksystem har detta behov och därför har din mentor delvis rätt när han säger att det bara är bank... som använder detta eminenta språk. Om du t.ex. skulle bygga ett centralt privatekonomisystem för hela sveriges befolkning, så skulle du kunna välja att använda en kombination av Java, HTML och XML för klienterna medan du valde C++ på serversidan. Bygger du däremot en ny spelmotor där grafiken är central väljer du förmodligen C++, C och Assembler.
Vad jag vill ha sagt är:
Vart språk har sin platts på stjärnhimlen och skall användas där det är bra, inte till allt. Till och med VB har en platts och då inte bara i historia.
Nu är detta inlägg lite off topic men avsikten är att åtminstone försöka väga upp "Detta är bäst, det är skit"-inläggen.

Visa signatur

/ Assar

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av misko
behöver jag verkligen förklara det för dig?

gör ett enkelt program i C++ där du använder dig av ett godtyckligt fönstersystem och skriv ut "hello world" i framen.. kompilera skiten i windowsmiljö så att du kan köra igång det och kontrollera att det fungerar..

ta nu allt som är färdigkompilerat och flytta det över till någon lunix-burk... kör igång programmet och berätta för mig hur bra det fungerar..

Managed C++ och den CLR för UNIX som Open Source Foundation håller på att ta fram gör att samma program (kompilerat och klart) kan köras på alla maskiner med CLR:en installerad. Vad är skillnaden ? Skillnaden kanske inte sitter i språket i sig.

Visa signatur

- BeatBox

Permalänk
Medlem

Jag har fortfarande inte fårr svar på min fråga vilen Runtime som användes vid testerna och vilka optimeringsinställningar som va gjorda.
Utan denna information är ju testerna tämnligen värdelösa.

Visa signatur

- BeatBox

Permalänk
Medlem

Är själv systemutvecklare/programmerare i Java och ibland VB(jag vet ). Har även programmerat C/C++.
Min "gamla" Java lärare som för övrigt är doktorand i Java och tidigare C/C++ programmerare, föredrar Java i väldigt många lägen.
Speciellt i affärssytem med mycket logik och alltid om det är nätverksprogrammering.Inte för att samma saker inte går att göra i C++, men för att det går fort att utveckla i och just är portabelt, dock inte alltid utan vissa mindre problem.
Att det är "tjejjigt" för "bankbögar" osv e ju skitsnack!
En annan sak som nog är det viktigaste....ska man programmera/utveckla som yrke gäller det att välja de språk som används och efterfrågas av marknaden och enligt en undersökning i USA är Java klart störst, ledande över C++ och VB. Om som all vet är Sverige ett riktigt USA wannabe land...dvs snart kommer Java "ta över" här med....med all rätt.
Finns i princip bara en enda sak som kan slå Java i framtiden och det är .NET plattformen. Inte så mycket för att det skulle vara så mycket bättre utan just för att Bill Gates med sina miljarder ofta får som han vill.;)
Sedan det här ang multipelt arv osv...Man tycker om olika saker. Smart användning av interface och arv i Java fungerar lika bra.

Visa signatur

Workstation:P4 2.6@3.2 || 2x 256MB DDR 3200 || Abit AI7 || POV GeForce3 Ti200 || 1xWDC40GB || 1xWDC 80GB
Htpc:P4 1.6 || Asus P4S533 || 2*256MB DDR 333 || 1x3.5GB || 1xWDC 80 GB HDD

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av BeatBox
Jag har fortfarande inte fårr svar på min fråga vilen Runtime som användes vid testerna och vilka optimeringsinställningar som va gjorda.
Utan denna information är ju testerna tämnligen värdelösa.

Funderade lite på att leta efter testet, men kom fram till att det i princip är onödigt eftrsom språken inte är tänkta till samma målgrupp.
Testen är ju faktiskt endast hypotetiska.

Visa signatur

/ Assar

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av mr.jeppe
Finns i princip bara en enda sak som kan slå Java i framtiden och det är .NET plattformen. Inte så mycket för att det skulle vara så mycket bättre utan just för att Bill Gates med sina miljarder ofta får som han vill.;)

Du har nog rätt i att .NET kommer att slå, och det bevisar bara en sak:
Att bygga VM är rätt väg. MS gör (som alltid) om något som redan finns och ibland till och med lite bättre. Så bra faktiskt att det finns folk i FSF-världen som tar efter.

Visa signatur

/ Assar

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av matricks
Ok, efter ett dagsverke så hamnade jag i diskussion med min mentor/nestor.

En del av problemen med Java är att det fungerar så olika på olika platformar. Ena saken är seg på ena och så att det går aldrig att "optimera" ett Java-program. Carmack ville köra Java som VM till Quake men blev tvungen att ge upp det, eftersom det fungerade så ojämnt på dom olika platformarna. Det slutade med att dom skrev sin egen vilket tog sin tid men var tydligen värt det.

Och han(mentorn/nestorn) står även fast att det är bara till för bankbögar (hans eget uttryck).

Carmack valde väl också bort C++ när han skrev Quake, han skrev det i C istället.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Assar
Det har gjorts många försök att göra hela applikationer i Java och din mentor har rätt i att de har gått i backen.
I början av 90-talet när C++ var nytt gjordes exakt samma felmanöver med detta språk. Man byggde enorma hela system i detta eminenta språk som var "Objektorienterat". Felet man gjorde var att inte ta hänsyn till vad som var bra eller dåligt, och detta har C++ fått skulden för. Det är därför uttrycket "Helt Objektorienterat" har försvunnit och C++ fick ett dåligt oförtjänt rykte i slutet på 90-talet.
Nu gäller det att INTE använda ihjäl även Java utan se till att använda språken där det finns anledning. Grafiska tillämpningar är inte Javas starka sida, däremot kan det fylla en viktig funktion i applikationer där systeminnehavaren inte vill binda sig till en plattform på klientsidan. Banksystem har detta behov och därför har din mentor delvis rätt när han säger att det bara är bank... som använder detta eminenta språk. Om du t.ex. skulle bygga ett centralt privatekonomisystem för hela sveriges befolkning, så skulle du kunna välja att använda en kombination av Java, HTML och XML för klienterna medan du valde C++ på serversidan. Bygger du däremot en ny spelmotor där grafiken är central väljer du förmodligen C++, C och Assembler.
Vad jag vill ha sagt är:
Vart språk har sin platts på stjärnhimlen och skall användas där det är bra, inte till allt. Till och med VB har en platts och då inte bara i historia.
Nu är detta inlägg lite off topic men avsikten är att åtminstone försöka väga upp "Detta är bäst, det är skit"-inläggen.

Detta är precis vad han säger. Det används till banksystem och sånt för att det är där det lämpar sig. Där av att det är ett språk för "bankbögar". Personligen väljer jag också språk efterbehov. Därför jag tycker om att lära mig nya.

*tycker det känns som vi har kommigt överens :)*

Visa signatur

Teeworlds - För dig som gillar gulliga saker med stora vapen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av bizon
Carmack valde väl också bort C++ när han skrev Quake, han skrev det i C istället.

Något som gameplay kodarna hatade Tror han har fått ge sig nu till Doom ]|[

Visa signatur

Teeworlds - För dig som gillar gulliga saker med stora vapen.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av bizon
Carmack valde väl också bort C++ när han skrev Quake, han skrev det i C istället.

Och andra sidan så fanns det inte så många utvecklingsmiljöer för C++ 1995 direkt, så att valet blev C och inte C++ kan ju va en hel rad orsaker.

Visa signatur

- BeatBox