Varför ska jag lära mig Java istället för c++? Vad används java först o främst till? Fördelar o nackdelar? Även fördelar o nackdelar jämtemot c++
Tack på förhand
16 svar · 816 visningar · startad av kobranturre
Varför ska jag lära mig Java istället för c++? Vad används java först o främst till? Fördelar o nackdelar? Även fördelar o nackdelar jämtemot c++
Tack på förhand
Jag har hört att java nästan bara används inom elektriska saker (tex micron o sån) stämmer det? Vad kommer jag ha för nytta av Java i framtiden om jag blir programmerare?
Ja för att använda Java så krävs elektrisitet :D, men att det skulle vara till micro mm har jag väldigt svårt att tro!! Javas stakaste vapen är dess plattformsoberoende. Nyttan kan vara att du med Java lär dig OO och Java är ett i tiden rätt språk /plattform så även .NET
Hepp
Varför inte utgå ifrån att lära sig båda? De är ju bara olika uttryck på samma paradigdm. Ifall en programmerare bara kan ett eller ett fåtal språk/tekniker inbillar jag mig att den programmeraren är yrkesmässigt handikappad ;)
PeW skrev:
Varför inte utgå ifrån att lära sig båda? De är ju bara olika uttryck på samma paradigdm. Ifall en programmerare bara kan ett eller ett fåtal språk/tekniker inbillar jag mig att den programmeraren är yrkesmässigt handikappad ;)
haha jooo...men snart börjar skolan och då ska vi ha programmering A. Där måste vi vällja mellan c++ o java. Jag har ingen aning om vilken jag ska ta :q
(vi kommer läsa samma språk i programmering A, B, C...så jag kan inte byta)
Då tar du ju och lär dig det språk du inte kommer att läsa så har du en liten inblick i "det andra" :D
Jag har tänkt så här. Jag tar och läser det språket som det är svårast och finna information/Tutoeials/hjälp från nätet i skolan. Och sen "hobbyläser" jag det andra språket :)
Får man fråga vad det är man lär sig i "programmering a, b, c osv"? Är det språket bara eller är det algoritmer, etc. eller vad?
Själv skulle jag välja C++. C++ är enligt mig ett betydligt mer avanserat språk och mycket svårare att försöka lärasig själv utan någon fort av utbildning. Om du sedan kan grunderna i C++ så är det inte så svårt att läsa lite Java.
/Viktor
I a så lär man sig dem riktigt små grunderna. If satser, for-loopar while o sånt. Även vektorer. Sedan i B är det först lite av en repitition och sedan fördjupning. Tillslut i C så är det "stora saker". Skapa programm sa läraren. Men vi vet vad stora saker i skolan är lika med ;)
Tre stora fördelar med Java kommer här:
1) Du slipper fundera över minneshantering, det sköter Java
Beroende på hur mycket du kan om programmering tidigare blir det här lättbegripligt eller ej... Jag vet inte riktigt hur man formulerar det bra om du inte vet vad minneshantering är... :q Men, mycket kortfattat uttryckt, så måste du i C++ lägga ner mycket tid och tankar på att allokera minne (dvs se till att variablerna får ett ställe i RAM-minnet där de får plats) samt att detta utrymme frigörs när det är "rätt" tillfälle. I praktiken innebär det att man som ovan C++-programmerare får rika tillfällen att gå igenom hela svärordsregistret när ingenting funkar pga minnesproblem.
I Java sköts det mesta av detta direkt av Java, dvs du som programmerare behöver inte fundera över mer än en liten del av problemen. Detta är en STOR fördel. Om du inte vet så mycket om minneshantering innan är det betydligt skönare att lära sig ett så stort språk utan att behöva hålla minnesallokering i huvudet samtidigt.
Det är alltså betydligt lättare att slippa minnesproblem i Java än i C++. Och sådana vill man gärna slippa...
2) Bättre objektorienterat.
Java skapades från grunden för att vara ett (förhållandevis) enkelt objektorienterat språk. Det har alltså varit objektorienterat alltid och är skapat med det syftet.
C++ däremot är en objektorienterad påbyggnad på det procedurorienterade språket C. Det märks här och där.
Syntaxen för Java är mer rättfram och objekten skrivs på ett sådant sätt att man lättare får en överblick över hur objekten fungerar. Allt som hör till ett visst objekt skrivs i samma fil, metoder och variabler definieras på samma ställe. Det gäller inte i C++ (normalt).
3) Java är plattformsoberoende.
Det innebär bla att en viss typ alltid har samma längd på alla maskiner vilket inte säkert gäller för C++.
I Java kan du utan vidare skriva ett program under Unix. Kompilera. Ta din kompilerade(!) fil på en diskett, stoppa in den i en PC och det funkar, rakt av! (Förutsatt att Java är installerat på bägge maskinerna så klart.) Naturligtvis kan du också flytta din okompilerade fil, kompilera på PC och köra. Samma gäller mellan andra OS och maskiner också.
INGET av dessa scenarier är säkert sant för C++. Du kan absolut inte flytta ett kompilerat program från en maskin till en annan. Men det är inte säkert att en flyttning av det okompilerade programmet ger samma resultat heller. En orsak är att tex längden på en int (= heltal) kan variera mellan maskinerna, och för vissa program kan det då generera olika resultat. (Om det blir overflow i den kortare representationen tex.)
Pga Javas plattformsoberoende blir det mycket använt i olika internetbaserade tillämpningar, där det är väsentligt att (tex) appleten funkar oavsett om du ansluter från en PC, Mac... eller annan dator.
......
Allmänt sett räknas Java nog som ett bra nybörjarspråk för att komma in i Objektorientering. På de flesta av landets högskolor och universitet börjar de första kurserna (alt de första OO kurserna) med just Java.
Mc Fetto skrev:
Får man fråga vad det är man lär sig i "programmering a, b, c osv"? Är det språket bara eller är det algoritmer, etc. eller vad?
Programmering A
Programmering B
Programmering C
Men jag tror att det är rätt olika vad man får lära sig. Hade Programmering A förra läsåret och vi fick lära oss en väldigt liten del av det som står som kursmål.
T.ex. så sa läraren inte ett ord om kompilatorer och länkare, utan vi fick skriva ASP. Han förklarade dock lite om hur koden interpreteras av webbservern.
Blir roligare nästa termin. Då kommer vi troligtvis att få pyssla med C++. :)
Viktor skrev:
Själv skulle jag välja C++. C++ är enligt mig ett betydligt mer avanserat språk och mycket svårare att försöka lärasig själv utan någon fort av utbildning. Om du sedan kan grunderna i C++ så är det inte så svårt att läsa lite Java.
Jag säger nog tvärtom. C++ är ett så enormt komplicerat språk att man riskerar att gå vilse i själva språket om man inte har riktigt gott om tid på sig. Med Java får man tid på sig att göra allt det viktiga utan att drunkna i operatoröverlagring, pekararitmetik och virtuella/icke-virtuella medlemsfunktioner...
Eller gör man som jag och läser både programmering a/b/c i både java och c++. :)
Qimen skrev:
Eller gör man som jag och läser både programmering a/b/c i både java och c++. :)
haha...hur har du lyckats med det? Du vet att det är gymnasiet jag pratar om?
kobranturre skrev:
Qimen skrev:
Eller gör man som jag och läser både programmering a/b/c i både java och c++. :)
haha...hur har du lyckats med det? Du vet att det är gymnasiet jag pratar om?
Man anstränger sig lite. Så jäkla jobbigt är inte leknas... eh... gymnasiet.
Lime skrev:
kobranturre skrev:
Qimen skrev:
Eller gör man som jag och läser både programmering a/b/c i både java och c++. :)
haha...hur har du lyckats med det? Du vet att det är gymnasiet jag pratar om?
Man anstränger sig lite. Så jäkla jobbigt är inte leknas... eh... gymnasiet.
haha...alltså det jag menade var att jag inte trodde att det gick. Man får ju betyyg i programmering a,b,c. Säg då att man får VG i a,b,c (Java). Hur blir det då om man får mvg i a,b,c (C++)