Gå til innhold

Holgers lille NTNU-tråd | *Se første post for spørsmål om hybel*


HolgerL

Hvilket sted tilhører du?  

1 456 stemmer

  1. 1. Velg ett av alternativene

    • Dragvoll
      254
    • Gløshaugen
      1018
    • Annet
      202


Anbefalte innlegg

Videoannonse
Annonse

C++-faget er beregnet for de som nettopp har tatt IT grunnkurs såvidt jeg vet, og er i 2. semester på mange studier. Det finnes også et parallellt fag som tar for seg Java istedenfor.

Stemmer det, TDT4102 - Prosedyre- og objektorientert programmering kjøres som et alternativ til TDT4100 - Objektorientert programmering, som baserer seg på java.

Vet at bl.a. elektro har førstnevnte i 2. semester. Sistnevnte har blant anndre datateknikk og ingeniørvitenskap & IKT.

Lenke til kommentar

emnesidene ser det ut som at det kun går om våren. Og det ser også ut som at det er det eneste begynnerfaget som tar for seg C++.

 

Faget er obligatorisk for blant annet MTEL, MTTK, MTFYMA og noen på MTIØT. Selv om faget heter 'Prosedyre- og Objektorientert programmering', så er undervisningen slik at man i hovedsak lærer språket C++ (syntaks, vanlig bruk, muligheter, begrensninger, osv.), og får litt input om prosedyre- og objekt-teori (og litt annet snacks) underveis. Kurset krevet kun ITGK som forkunnskaper og begynner på et veldig lavt nivå (Matlab-folk har tross alt ikke vært borti blant annet datatyper). Men tempoet øker etter hvert og jeg synes undervisningen er utfyllende nok til at man får en god forståelse av språket.

 

 

 

 

Edit: Faen så treig vi skal være i dag da.

Endret av endrebjo
Lenke til kommentar

Hele GNU/Linux er skrevet i C og C++, og de store GUI-bibliotekene Qt og GTK er i første rekke skrevet med tanke på C++. Så det egner seg godt til applikasjoner og spill også.

Men det er sannsynligvis litt mer knotete i C++ enn Java, da C++ tar i bruk en del lavnivågreier mens Java gjør mye av jobben uten at du trenger å bry deg. Men hvis du er ute etter et så enkelt og effektivt språk som mulig, så finnes det sannsynligvis språk som er enklere enn Java også. Mange trekker frem Python og C# som de aller mest effektive språkene i dag.

Lenke til kommentar

Har hatt MATLAB i ITGK. Men føler ikke det kan brukes til så mye fornuftig når du skal kalkulere store ting :thumbdown: (og elendig på brute-force)

 

Mulig det er bortkastet å lære seg C++, men føler programmering er litt artig, på tross av at det ikke passer helt inn i studieretningen min.

 

Edit: Synes JAVA er et primitivt tullespråk :p

Endret av Senyor de la guerra
Lenke til kommentar

Vet at bl.a. elektro har førstnevnte i 2. semester. Sistnevnte har blant anndre datateknikk og ingeniørvitenskap & IKT.

Hm, i gode gamle dager (da jeg var fersk på haugen) hadde elektrolinja Java. Men ting har visst endret seg. Det er nok like greit, C++ er egentlig mer relevant enn Java for elektrogutta (og -jenta).

 

Er ikke det like gjerne å lære java som c++ da? I java kan du lage litt mer applikasjoner/spill etter det jeg har forstått - men c++ brukes mer for å programmere mikroprosessorer og slike dupeditter?

Den viktigste forskjellen på Java og C++ er at Java kjøres i en virtuell maskin, mens man med C++ kan lage programmer som kjøres direkte på maskinvaren. Det gjør at Java er plattformuavhengig, du kan skrive et Java-program en gang for alle og den vil funke like bra på Linux, Mac og Windows. Mens i C++ må man skrive spesifikt for hver maskinvareplattform. Det at C++ "ikke legger noe innimellom" gjør også at man må bli venner med mer tekniske konsepter i programmeringen for å programmere effektivt i C++, som pointers osv. Derfor synes mange at C++ virker mer komplisert enn Java.

 

Men, det faktum at Java er så abstrahert og kjører på en virtuell maskin gjør også at den får langt dårligere ytelse, og ikke kan utnytte maskinvaren langt på nær like godt. Java ligger langt bak C++ i ytelse, og derfor vil ingen seriøst bruke Java for tunge programmer og top-end spill.

 

At C++ bare er for mikroprosessorer er bare tull. C++ er det viktigste programmeringsspråket i dataverdenen, og det aller meste av seriøs programutvikling foregår i C++. Nettleseren du bruker nå er garantert programmert hovedsakelig i C++. Det samme gjelder de aller fleste produktivitetsprogrammene du bruker (alt fra MS Office til Photoshop) og alle seriøse dataspill med tung 3D-grafikk.

Lenke til kommentar

Det er mye riktig i det A-Jay sier, men en overraskende mengde tunge programmer er faktisk basert på mye Java. Både Matlab og Maple er ifølge Wikipedia basert på C og Java, der C sannsynligvis gjør en del optimaliseringer og lavnivåting. Ytelsen til Java var tidligere dårlig, men etter hvert har Java vist seg å bli ganske så kjapp. Java vil alltid være litt treigere i oppstarten pga. den virituelle maskinen som skal laste, men ren ytelse etter det har vist seg å være god nok for det aller meste. Man får selvfølgelig ikke den samme racer-ytelsen som man gjør i C/C++ (eller Assembly), men Java kan absolutt måle seg med mange av de andre høynivåspråkene man finner rundt om kring.

 

Edit: OpenOffice inneholder også en grei mengde Java.

Endret av endrebjo
Lenke til kommentar

 

Er ikke det like gjerne å lære java som c++ da? I java kan du lage litt mer applikasjoner/spill etter det jeg har forstått - men c++ brukes mer for å programmere mikroprosessorer og slike dupeditter?

 

At C++ bare er for mikroprosessorer er bare tull. C++ er det viktigste programmeringsspråket i dataverdenen, og det aller meste av seriøs programutvikling foregår i C++. Nettleseren du bruker nå er garantert programmert hovedsakelig i C++. Det samme gjelder de aller fleste produktivitetsprogrammene du bruker (alt fra MS Office til Photoshop) og alle seriøse dataspill med tung 3D-grafikk.

 

Dude - nå er du litt drøy. Vet at både nettlesere, mange programmer og operativsystem er programmert hovedsaklig i C++. Tipper uansett at det er uaktuelt for oss vanlige folk.

Lenke til kommentar

Som mange andre tar jeg sikte på en sivilingeniørutdanning ved NTNU. Aller høyest på søknaden vil nok Indøk stå, men sannsynligheten for at jeg kommer inn der anser jeg som heller liten. To andre linjer jeg tenker på er petroleum og marin teknikk. I den anledning har det dukket opp et lite spørsmål. Som dere vet kan man velge begge som "underlinjer" av I&IKT. Hvilke fordeler/ulemper er det ved å gå denne veien kontra det å velge f.eks. petroleum som egen fordypning? Hvordan er de videre mulighetene?

 

Takk for svar!

Endret av Pellikan
Lenke til kommentar

Anbefaler deg å ta en titt på fagplanen til de tre linjene det står om på ntnu.no. Går du pet eller marin vil du bli mer spesialisert mtp at du har marin/pet fag fra første semester, mens i i&ikt lærer du mer datafag før du spesialiserer deg. Ergo har du en basis innen datafag på i&ikt mot basis innen marin/pet på marin/pet. Utsiktene videre er vel, som de fleste ingeniørlinjer på ntnu god ;)

Lenke til kommentar

Hvis du først skal lære deg å programmere vil jeg anbefale C++. Der holder de også på med en ny standard så språket skal bli enda deiligere enn som det faktisk er nå. Joda, du må lære deg å knote med pekere, men det er egentlig utrolig lett når du først har forstått konseptet. Bare husk at det å bruke eclipse til å kode C++ er som å banne i kjerka.

 

Til fjotten som skrev noe om Matlab:

Det er da ikke treigt hvis du klarer å bruke det riktig. Kjøre for-løkker og slikt kan ta lenger tid enn du hadde forventet, men stort sett kan alt du har tenkt til å gjøre bli gjort med matriser og det går utrolig fort.

Lenke til kommentar
Edit: C++ kjører ti ganger raskere gjennom for-løkker enn Matlab, samma hva du sier. Som sagt var det snakk om Brute-forcing.
Jeg mistenker at du sidestiller Matlab og GNU Octave. Problemet er at Octave er å regne som eselbæsj i forhold til Matlab.

 

En enkel ytelsestest mellom C++ og Matlab på for-løkker:

#include <ctime>
#include <iostream>

using namespace std;

int main ()
{
long long sum = 0;
clock_t start, finish;

start = clock();
for (int i = 0; i < 100000000; i++)
{
	sum += i;
}

finish = clock();
double usedTime = (double) (finish - start)/CLOCKS_PER_SEC;

cout << "Sum = " << sum << endl << "Tid: " << usedTime << endl;
}

= 0.239 sekunder i VS C++ Express

 

function time = speedTest()
sum = 0;

tic;
for i = 1:10^8
	sum = sum + 1;
end
time = toc;
end

= 0.362 sekunder i Matlab 2009b

 

Octave har jeg ikke tilgjengelig for øyeblikket, men du kan vanligvis gange tiden med 10 der.

 

Endret av endrebjo
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...