Toon posts:

[Alg] Hoe programmeer vaardigheden verder ontwikkelen

Pagina: 1
Acties:
  • 278 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hoi,

In het propedeusejaar van m'n studie natuurkunde heb ik een inleiding tot C++ gehad. Het beviel me zo goed, dat ik nu serieus wil gaan programmeren. Ik heb echter totaal geen idee waar te beginnen.
Aangezien ik al het 1 en ander heb geleerd over C++, lijkt het mij verstandig om voorlopig bij die taal te blijven. Ik zit vooral met vragen over het volgende:
- Is het mischien toch nodig een andere taal te leren?
- Wat zijn de essentiele dingen die ik moet weten wanneer ik programmeer voor moderne OSen?
- Voor welk OS zou ik moeten beginnen met proggen? (liefst *nix natuurlijk) :)
- Welke tools zou ik moeten beheersen? (editors, omgevingen, etc zoveel mogelijk OSS)
- Kan ik het beste boeken lezen (tips?) of kan ik het wel redden met webpagina's?
- En verder allerlei tips die een beginneling op weg kan helpen.

Ik heb gezocht in de topicsearch, maar meeste was, of heel oud, of irrelevant. Laat mij door de bomen het bos weer zien GoT. :+

  • klinz
  • Registratie: Maart 2002
  • Laatst online: 10-08 15:44

klinz

weet van NIETS

Tips:

- Veel doen.
- Veel naar sources van andere kijken, maar niet klakkeloos. Kijken of je dingen op een andere manier zou doen.
- Elke regel die je codeert verantwoorden.

Verwijderd

Met C heb je direct een heel mooie keuze.
Niet echt OS afhankelijk want er zijn linuxcompilers etc.
Snel
...

Zolang je maar niet zoals ik met Qbasic bent begonnen :(

Verwijderd

Wellicht kijken of je in je vrije tijd bij een bedrijf kunt werken, en hulp bieden bij programmeerwerk. Het beste leer je het altijd nog door het veel te gebruiken.

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 21-08 18:33
1 Lezen
2 Doen
3 Afkijken waar je kunt. ( Alleen de goede dingen natuurlijk :) )
4 Bovenstaande punten herhalen tot je er bij neervalt

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • ekoopman
  • Registratie: April 2003
  • Laatst online: 03-08 21:36
Ik heb dus precies hetzelfde gehad, (ook 5 jaar terug natuurkunde met 1e jaars inleiding c) en heb tot dusver het meeste gehad aan het goed leren gebruiken van een editor (duh..), met name xemacs en vi zijn erg fijn, xemacs voor wat grotere projecten en vi voor snelle hacks.
Wat je zeker eens moet bestuderen is het schrijven van Makefiles, misschien voor veel mensen iets triviaals maar het is mij nooit goed uitgelegd.
Als je dat allemaal een beetje kan zou je eens wat simulaties kunnen schrijven (aangezien je dus natuurkundige bent :)). Probeer bv. eens numeriek het zonnestelsel te simuleren (zon + planeten).

Wat een leuke uitbreiding is op standaard c/c++ kennis is een of meerdere GUI libraries, OpenGL programmeren en wat simpele netwerk applicaties (je eigen irc client doet het altijd goed :)).

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Als je een andere taal wil leren is een scripttaal erg handig. Zelfs simpel shell scripting (ksh/bash) is een nuttige aanvulling, maar Perl of Python zijn andere goede alternatieven.

Programeren leer je niet door boeken, maar ook niet zonder boeken. Boeken helpen je met oplossingen voor problemen die je herkent. Problemen die je niet herkent kun je natuurlijk niet oplossen, en er zijn genoeg problemen die te moeilijk zijn om zelf 100% op te lossen.
Evengoed zijn er nuttige webpagina's. Voor C++ zou je bijvoorbeeld op www.gotw.ca kunnen kijken. Goede boeken voor C++ programmeurs die de basis beheersen zijn de EffectiveC++/More EffectiveC++ boeken van Scott Myers.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
tja - iedereen is anders he. Sommige mensen MOETEN met een boek beginnen en uitlezen, andere nemen liever een tutorial approach, terwijl andere er gewoon invliegen en overal wat gaan liggen zoeken.

Ik denk dat alle richtingen even valid zijn - tis maar wat jouw het beste bevalt.

1 Ding dat ik wel kan aanraden - en dat ik als 'leraar' (ahem) meestal voorstel is doelgericht te werken. Er zijn wel mensen die programmeren om te programmeren maar die zijn er niet veel. Geef jezelf een ding dat je denkt dat wel zou gaan en ga verder vandaar. Als je iemand kent die al kan programmeren kun je vragen of je project te hoog is gegrepen of niet. Mijn eerste dingetje was een console based kwisje, een week later wist ik hoe ik echte graphics kon doen (toen nog assembler) en een eerste spelletje. *Nix om te leren proggen - ik weet niet, er zijn daar toch maar weinig echte 'vriendelijke' IDE's.

Zie dat je snel resultaat kunt zien: en daarvoor is OpenGL/GLUT vaak mijn eerste suggestie: kun je direct, snel mooie graphics krijgen zonder echt platform gericht te zijn (draait op zowat elke bak) en eventueel Java natuurlijk.

Zelf geniet ik van simulaties - niet super complex maar een systeem met feedback is gewoon mooi en meestal niet te moeilijk te maken (Boid Dynamics is echt niet moeilijk), Simulatie van mieren enzo - tis gewoon leuk werkende code te zien...

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 07-04 13:41
ALS je een goede IDE voor de *nix-en wilt hebben zou ik toch echt even naar emacs kijken, wel even de man-pages doorlezen of een boek kopen (Linx programming guid oid :)). Voor C/C++ zijn veel goede tutorials/boeken te vinden maar als je een boek gaat kopen lees hem dan wel eerst goed :X, die fout ben ik ook begaan en k heb meteen het slechtste boek gekocht :X, ook veeeeeeeeeeeeeel proberen, vooral simpele dingen met moeilijkere technieken, aangezien je de basis al kent :)

Verwijderd

nou als natuurkundige, maar dan allang afgestudeerd... zit ik ook alweer 4 jaar in de IT. Ik doe momenteel niet meer erg veel met mijn natuurkunde achtergrond maar ja dat gebeurt he;p

wat ik een erg zinnig webbook vind, is het volgende, geeft je echt een stevige basis in c++ syntax

http://cma.zdnet.com/book/c++/

Daarna een goed boek MS Visual C++ is ook wel zinnig. En dan veel doen, maar dat is al eens gezegt geloof ik;p

De laatste jaren heb ik me vooral verdiept in Java. Voor de specialisten onder ons in combinatie weblogic en websphere.

wat ik heb ondervonden is dat je met C++ meestal wel raakvlakken blijft houden met de natuurkunde (beeld verwerking, modeleren, ect). Met Java kom je al snel terecht in bedrijfs technische zaken (bedrijfs processen analyzeren, ect)

  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Kroxigor schreef op 30 July 2003 @ 20:09:
Wat je zeker eens moet bestuderen is het schrijven van Makefiles, misschien voor veel mensen iets triviaals maar het is mij nooit goed uitgelegd.
Dit vind ik niet nodig.
Programmeren is een oplossing kunnen schrijven voor een probleem. En daarvoor heb je -naast je programmeertaal- een heel aantal tools tot je beschikking zoals een goede IDE. Die IDE zorgt zelf voor het maken van de make-files.

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: [makefiles]Dit vind ik niet nodig.
Aaardige suggestie, maar geen enkele IDE (die ik ken) handelt dit goed af en dus is het niet zo realistisch. Als je project ook buiten de IDE wil bouwen kom je bij veel bestaande IDEs in de problemen.

Kennis van build specificaties is absoluut noodzakelijk, zeker in heterogene projecten. Als je voor Unix, GNU/Linux of *BSD systemen werkt moet je dan dus kennis hebben van het schrijven van configure scripts en makefiles. Als je met Java werkt ligt het gebruik van Ant misschien meer voor de hand. Geen enkele IDE kan goede configure scripts, Ant build files of specificerende Makefiles genereren. Handmatig ingrijpen zal altijd nodig blijken. Ga een gegenereerd build proces maar eens testen op verschillende OSen en smaken.
Programmeren is een oplossing kunnen schrijven voor een probleem.
Bij programmeren komt meer kijken: alles wat met software engineering te maken heeft: versiebeheer, build management, testing, en deployment. Daar heb je tools voor nodig en die tools moet je beheersen. Soms gebruik die tools ook een taal, die moet je dan ook kennen.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Als je trouwens wilt gaan ontwikkelen voor Unix systemen is dit boek van Eric S. Raymond een enorme aanrader:

http://www.catb.org/~esr/writings/taoup/

Nu we het over software engineering tooling hebben is met name de tools sectie interessant:
http://www.catb.org/~esr/...up/html/toolschapter.html

Er is een topic over gestart (waar het erg stil bleef)
[rml][ Boek] The Art of Unix Programming[/rml]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
mbravenboer schreef op 31 July 2003 @ 10:56:
[...]

Aaardige suggestie, maar geen enkele IDE (die ik ken) handelt dit goed af en dus is het niet zo realistisch. Als je project ook buiten de IDE wil bouwen kom je bij veel bestaande IDEs in de problemen.
Ligt het nu aan mij, maar ik heb nog nooit zelf make-files moeten maken.
Bij programmeren komt meer kijken: alles wat met software engineering te maken heeft: versiebeheer, build management, testing, en deployment. Daar heb je tools voor nodig en die tools moet je beheersen. Soms gebruik die tools ook een taal, die moet je dan ook kennen.
Daar ben ik het mee eens.

https://fgheysels.github.io/


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
whoami: Ligt het nu aan mij, maar ik heb nog nooit zelf make-files moeten maken.
Dat kan best zo zijn in jouw situatie, maar die situatie zal je alleen zien als je voor jezelf of in een bedrijf met een afgesproken IDE werkt.

Een typisch voorbeeld waar dit uiteraard niet opgaat (wat ik dus heterogene omgevingen noemde) zijn open source projecten waar mensen met hele verschillende smaken en systemen aan werken. Die projecten worden gewoon gebouwd met gescheiden (op zichzelf staande, los van een IDE) build oplossingen zoals de GNU make/automake/autoconf tools.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 10-08 15:44

klinz

weet van NIETS

Lees eens How to be a Programmer van Robert L. Read. Een erg nuttig werkje.

Ook nuttig: Teach Yourself Programming in Ten Years.

  • whoami
  • Registratie: December 2000
  • Laatst online: 21-08 22:54
Die laatste vind ik wel cewl. Ik heb net de eerste alinea gelezen en ik vind wel dat die auteur een punt heeft. Hoe kan je nu leren programmeren in 7 of 21 dagen, of zelfs in 24 uur?
De basisdingen kan je idd leren in die tijdsspanne, maar dat maakt je nog geen programmeur.

Ik leer zelf nog iedere dag bij.

https://fgheysels.github.io/

Pagina: 1