Avatar billede dronten Nybegynder
31. maj 2003 - 01:45 Der er 10 kommentarer og
3 løsninger

c eller c++

jeg kan ikke helt finde ud af om jeg skal begynde at lære c eller c++ !? jeg vil kode på min linux box og det skal ikke være det vilde grafik jeg vil lave, men på et eller andet tidspunkt kommer der jo nok lidt grafik ind i det. hvad skal jeg vælge? hvad er nemmest at komme i gang med? og hvor stor forskel er der på de to sprog?
Avatar billede human Nybegynder
31. maj 2003 - 02:15 #1
C og C++ er stort set det samme.

Og det er nemt at komme igang med, du skal bare have de rigtige bøger.
Avatar billede dronten Nybegynder
31. maj 2003 - 02:19 #2
hvad er bedst til hvad?
Avatar billede human Nybegynder
31. maj 2003 - 02:35 #3
Du kan betragte C++ som udvidet C.

Anbefaler bogen Beginning Visual C++ 6.0 Hvis det er det visuelle du vil altså.
Avatar billede bertelbrander Praktikant
31. maj 2003 - 02:49 #4
Jeg vil anbefale at du starter med at lære C, fordi der er meget mindre at lære i C. Når du så har sat dig grundigt ind i C kan du så gå videre til C++, hvor du kan bruge (stort set) alt det du har lært i C.

Til at lære C vil jeg anbefale dig at læse:

Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988, ISBN 0-13-110362-8, 0-13-110370-9. [K&R2]
Avatar billede arne_v Ekspert
31. maj 2003 - 16:12 #5
human>

"Beginning Visual C++ 6.0" ??

Jeg har en grim mistanke om at det er til produktet "MS Visual C++ 6.0"
og ikke generelt GUI programmering.

Og han sagde eksplicit Linux.
Avatar billede arne_v Ekspert
31. maj 2003 - 16:22 #6
C++ er en næsten ren udvidelse af C.

D.v.s. at de fleste *pæne* C programmer bør compile med en
C++ compiler.

C++ har så en masse ekstra features.

C++ er objekt orienteret.

C++ har templates.

C++ er et betydeligt større sprog end C.

Og derfor også noget sværere at lære.

Men ikke desto mindre synes jeg at du skulle gå i gang med C++.

Hvis du lærer C++ og objekt orienteret programmering er
du godt rustet til mange ting og kan nemmere skifte til
C# eller Java, hvis det skulle blive nødvendigt.

Det er heller ikke dårligt at være god til C, men det er
nok en lidt mere specialiseret retning idag.

Hvis du er god til C++ er det rimeligt nemt at lave
noget i C fordi du kender C syntax. Og hvis du bruger
C++ speciefikke features så skal compileren nok fange det.

Hvis du lærer C så kan du ganske vist godt få din kode til
at compile med en C++ compiler, men hvis ikke du har lært
den rigtige objekt orienterede tankegang, så vil du ikke
kunne udnytte C++ fornuftigt.

Så min anbefaking er C++.

Men C++ og OOP er ikke nemt. Du skal regne med at skulle bruge
en del tid på at sætte dig ind i tingene.

Skriv hvis du vil have nogle links eller bog anbefalinger.
Avatar billede alsace Nybegynder
31. maj 2003 - 16:33 #7
Hejsa

Ja, en god bog er ikke sådan at kimse af når man vil lære noget nyt. Men som arne v ganske rigtig påpeger rammer human's bog anbefaling nok lidt skævt da den henvender sig til Microsofts udviklinsmiljø.

Men indtil du får fat på en bog kan du prøve at kikke nærmere på http://www.cplusplus.com/doc/tutorial/ selv om du vælger C frem for C++ henvender de første 3 "afsnit" sig til C delen af C++ så det vil ikke være helt spildt læsning. Ligeledes kan det evt. give et indtryk af om man har lyst til at fortsætte med at lære et objekt orienteret sprog som C++, eller starte med at holde sig til det imperitive - som her er C.

Det er rigtigt at man kan bruge det man lærer om C i C++ da det er indeholdt som et subset i sproget. Men på den anden side kan man så overveje om man får brug for C senere. Selv har jeg kun lært C++ i forbindelse med min uddannelse, men har dog også et par gange haft brug for C -- og indrømmet, der har været nogle irritationsmomenter involveret i at skulle lede efter hvordan man nu skal gøre ting og sager i stedet i C frem for C++.

Hvad tænker du på i forbindelse med grafik?
Er det GUI programmering eller mere det at kunne tegne bitmap grafik på en skærm, eller måske 3d grafik?

Dog vil jeg tro at det i alle tilfælde er nemmest at benytte et eller andet library til det.
Er det 2D kan du se nærmere på SDL eller Allegro (som vist også har lidt 3d).
Er det 3D vil du formodelig benytte OpenGL, hvilket også er understøttet af SDL (kender ikke Allegro så godt, så måske er det også med i det)
Er det GUI's du vil lave kan du evt. se nærmere på QT (dog kun C++) eller GTK+.

Lidt URL'er:
SDL:    http://www.libsdl.org/index.php
Allegro: http://www.talula.demon.co.uk/allegro/
GTK+:    http://www.gtk.org/
QT:      http://www.trolltech.com/

-Alsace
Avatar billede human Nybegynder
01. juni 2003 - 00:23 #8
Ahh.. Havde lige glemt han nævnte Linux. Men ja, den bog er til Windows app's, hvor programmet der bliver benyttet self er Visual C++ fra M$.
Avatar billede cplus Nybegynder
01. juni 2003 - 12:13 #9
Begynd med noget almén C programmering -om du benytter Visual C++, Borland C++ eller GNU/GCC er for mig fuldstændig ligemeget.
Den fordel MS og Borland har er dog at deres debug værktøjer nok er lidt nemmere tilgængelig for en nybegynder (sorry:)

Derefter kan du gå igang med C++. Igen er compileren egentlig lidt ligemeget. Dog anbefaler jeg Visual C++. Den er utrolig lækker at arbejde med -især IntelliSense og det lækre ClassView -gør det mere overskueligt at arbejde med sine klasser.

Naturligvis er spørgsmålet i sidste ende om det er til Windows eller UNIX du skal programmere.

Jeg ser sådan på det:
UNIX -> Systemudvikling ... Det er utrolig spændende
Windows -> Primært UI -men også sys-udvikling. Dog synes jeg UNIX har mere at gi' :)
Håber du kunne bruge svaret :)
Avatar billede tester01 Nybegynder
07. juni 2003 - 18:36 #10
C++ er klart at foretrække fremfor C. C++-skaberen anbefaler tilmed også IKKE at lære C før man går i gang med C++.

C++ betyder jo C increment, og er en udvidelse af C, bl.a. OOP.

Du kan jo også prøve Java, hvis det ikke er meget hastighedskrævende programmer du skal lave. Java er cross-platformt, hvilket betyder, at det kan køre på næsten alle platforme med samme kode.

SmallTalk er nemmere end Java og har også samme princip med croos-platformt.
Avatar billede arne_v Ekspert
15. juni 2003 - 18:41 #11
dronten>

Tid at lukke spørgsmålet ?
Avatar billede arne_v Ekspert
24. juni 2003 - 21:10 #12
??
Avatar billede arne_v Ekspert
11. juli 2003 - 19:15 #13
??
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester