Multidesk.be » Forums » Programmeren algemeen » leren programmeren (gesloten)

Helpinformatie
Dit onderwerp werd gesloten.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • [1]
  • 2
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door sletsie op maandag 22 oktober 2007 om 11:54:32.
sletsie's avatar
Multiviteit: 1114
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
ik zou willen leren programmeren met VB, kweet niet of dat het meest handige is voor een beginneling, enige tips voor andere programma's zijn welkom!

maar men vraag is eigenlijk: bestaan er sites met wat uitleg over vb?? een soort van boek in pdf vorm, oid.
^ Reactie #1 geschreven door SMG op maandag 22 oktober 2007 om 13:55:10.
SMG's avatar
Multiviteit: 12000
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ik zou eerder beginnen met Java. Gewoon omdat Java een veel opener principe heeft wat het leren ervan simpeler maakt. Voor elke functie kan je kijken in de Java Documentatie (http://java.sun.com/j2se/1.5.0/docs/api/index.html)

Ook leuk aan Java is dat je er je eigen systeem niet mee kan crashen. Je kan er dus (helaas) geen virussen in schrijven ;). Het werkt ook op Linux en Mac, zo kan iedereen genieten van je programma's.
Het is ook een object georienteerde taal waardoor je een zeer goede basis hebt voor andere talen zoals C#, C++, (een beetje) PHP, ...
^ Reactie #2 geschreven door NightCreature op maandag 22 oktober 2007 om 14:52:43.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ik zou toch echt met pascal of C/C++ beginnen gewoon omdat je als programmeur moet weten wat pointers zijn voordat je naar een taal gaat die ze verstopt gebruikt. Maar dat is mijn mening, het is makkelijker om in java of C# te beginnen en geeft als nog een goede basis in oo. Persoonlijk zou ik dan voor C# gaan omdat dit makkelijker switcht naar c/c++
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #3 geschreven door thekid op maandag 22 oktober 2007 om 15:19:00.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
VB.net is het eenvoudigst voor te leren, het is eigenlijke een soort korte engelse vorm van syntax :) Het is niet slecht en je kan al wat classes leren schrijven, maar het is ook verre van mijn favo taal (ik heb wel .net leren kennen onder VB.net maar ben vrij snel overgestapt naar C# daar deze taal wat meer kracht/flexibiliteit heeft. Enkele tutorials die ik op het eerste zicht vind voor vb.net

http://www.homeandlearn.co.uk/NET/vbNet.html
http://www.programmingtutorials.com/vbnet.aspx
http://www.vbdotnetheaven.com/Articles/ArticleListing.aspx?SectionID=2&SubSectionID=165

programmeeromgevingen:
- Express edities Visual Studio
- Sharp Develop

Help en documentatie kan je samen afhalen met de express edities, of kan je online bekijken via de msdn website


Zoals SMG aangaf is Java een goed "alternatief", het object geörienteerde onderdeel van de taal is heel compatibel met de andere OOP talen, en het leert je eigenlijk wel correct designen, er zijn ook freeware/opensource editors beschikbaar, nl:
- netbeans : mijn favoriet, doet wel wat aan Express Studio's denken, wel soms iets anders werken
- Eclipse : Eclipse, ondersteunt verschillende talen, favoriet van SMG, zelf nog niet getest met laatste versies
- Borland design tools, maar die ken ik niet echt
- in theorie ook iedere texteditor met java sdk geïnstalleerd; alleen is het iets moeilijker dan


Wil je een superbasis, dan kan je de boeken van Eckel bekijken over OOP structuur en design, en hele goeie uitleg van classes, overerving, polymorphisme, runtime casting. Deze zijn dan basis C++, en is de rapste meest robuuste taal, maar ook die met een vrij lange leercurve. Dus, iets meer werk, maar het loont de moeite

Geloof me, deze boeken zijn aanraders en volledig gratis online (java/C++)
http://mindview.net/Books

Editors voor C++
- Bloodshed C++ (de beta van 5 is super): goeie stabiele workenvironment voor C++
- Eclipse
- duizenden andere :)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #4 geschreven door Suriv op maandag 22 oktober 2007 om 18:45:55.
Suriv's avatar
Multiviteit: 7607
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Dixit

Dixit NightCreature op 22/10/2007 14:52:43:

Ik zou toch echt met pascal of C/C++ beginnen gewoon omdat je als programmeur moet weten wat pointers zijn voordat je naar een taal gaat die ze verstopt gebruikt.

Je wil iemand die nog nooit geprogrammeerd heeft met pointers laten werken? o-o
Dat zou ik nu net niet doen...
^ Reactie #5 geschreven door sletsie op maandag 22 oktober 2007 om 19:22:20.
sletsie's avatar
Multiviteit: 1114
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
kdenk dat dus et beste zal zijn met java zeker?? :D
^ Reactie #6 geschreven door SMG op maandag 22 oktober 2007 om 19:47:25.
SMG's avatar
Multiviteit: 12000
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Wiii, I win :D
Trouwens als je vragen hebt, hier op Multidesk.be zitten al zeker 2 mensen die met Java kunnen werken (ik en thekid). Er zullen wel zeker meer mensen zijn aangezien Java een favoriet is bij informaticalessen.
Deze tekst werd het laatst bewerkt voor 25.49 % door SMG op maandag 22 oktober 2007 om 19:48:59.
^ Reactie #7 geschreven door thekid op maandag 22 oktober 2007 om 19:50:41.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ewel, als je het topic wat volgt zie je dat iedere taal wel zijn pro's en con's heeft, dus de keuze van taal hangt vooral af van wat je er mee wilt bereiken, en wat je net wilt ontwikkelen...

Dus mocht je eens uw idee zeggen waarom je wenst te programmeren, en wat je er eventueel mee wenst te bereiken binnen X-aantal tijd (jaren/maanden/weken/uren) dan kunnen we u een objectievere analyse van geven. Wil je bvb binnen aanzienelijke tijd een website maken met de opgedane kennis, ga dan richting .net en leer nu al met .net talen werken (C#/VB.net), of kies voor JSP (wat dan essentie wel iets zwaarder is dan .net) en werk onder linux met een java serverke, en een mysql db

Zou je graag wat games willen programmeren dan zijn de meeste talen goed geschikt, maar is C++ de aan te raden taal om te leren vanwege zijn performantie, en in-coding flexibiliteit (maar het blijft moeilijk te leren, zeker vanaf 0 startende, het duurt wel even voor je resultaat krijgt)

Wil je graag wat ontwikkelen voor zowel windows/mac/linux kan je Java een kans geven, platform indepent met C# en gtk/qt libraries werken of Mono gaan gebruiken voor de .net applicaties

dus, zeg eens uw gedacht wat je ervan wilt maken, en dan kunnen u beter helpen ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #8 geschreven door Simon op maandag 22 oktober 2007 om 20:29:46.
Simon's avatar
Multiviteit: 3742
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Randinformatie

Dixit

Dixit thekid op 22/10/2007 19:50:41:
maar het blijft moeilijk te leren, zeker vanaf 0 startende, het duurt wel even voor je resultaat krijgt.

Dat heb ik ook al gemerkt :).

Door PHP had ik al een kleine voorsprong, maar het blijft moeilijk :). Ik heb ook niet echt veel tijd om mij ermee bezig te houden, ik hoop dat het wel zal lukken in de kerstvakantie.
Deze tekst werd het laatst bewerkt voor 13.57 % door Simon op maandag 22 oktober 2007 om 20:30:29.
^ Reactie #9 geschreven door NightCreature op maandag 22 oktober 2007 om 21:04:15.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ja ik wil iemand die niet kan programeren met een taal laten beginnen die pointers heeft. Java heeft ze trouwens ook alleen zijn ze verstopt onder een andere naam java references zijn in feite gewoon pointer en niet references zoals ze heten. Java geeft namelijk nullpointer exceptions als fout meldingen, groote hint naar het feit dat het ook echt pointers zijn, met alle gevaren van dien. Maar pointers zijn helemaal niet zo moeilijk als iedereen denkt. Je moet alleen onthouden dat je naar geheugen plaatsen verwijst ipv data. Trouwens als je games wil doen met DX of OpenGL kom je niet onder het gebruik van pointers uit. (XNA valt ff niet binnen mijn definitie van DX, OpenGL commando glVertexPointer())

Trouwens als je wil leren programmeren is Pascal toch nog steeds favoriet deze taal is ontwikkeld om in les te geven. En deze taal heeft ook pointers, het is eigenlijk een schande dat informatica scholen geen pointers meer aanleren aan hun studenten. En er zijn nog wel een aantal dingen die een hoop mensen in de industrie missen aan de scholen. Lees http://www.joelonsoftware.com/ en dergelijken maar eens.

Trouwens voor Games voldoet alleen C++(lees dit als een taal die naar CPU instructies compileert) als je real time 3d wil doen met allerlei gave effecten. Dit komt doordat C#/Java en alle andere geinterpreteerde talen cycles van de cpu moeten afstaan om te kunnen draaien. Daarnaast worden de games die gemaakt moeten worden steeds moeilijker en de hardware waar het op draait wordt ook niet beter maar erder slechter. Als voorbeeld in de X360 is het vaak sneller om 2 assignments te doen dan 1 if statement. Ps3 heeft ook van deze keuren enigste leuke cpu om voor te programeren is die in de desktop.
Deze tekst werd het laatst bewerkt voor 10.54 % door NightCreature op maandag 22 oktober 2007 om 21:08:54.
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #10 geschreven door sletsie op maandag 22 oktober 2007 om 23:03:30.
sletsie's avatar
Multiviteit: 1114
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
kwil een beetje vanalles kunne, websites, games....., maar beetje per beetje, kheb tijd genoeg om dat te leren, kweet ook dat dit niet in 1 2 3 zal lukken :)

alleszins al bedankt voor alle info!
^ Reactie #11 geschreven door Suriv op dinsdag 23 oktober 2007 om 07:52:53.
Suriv's avatar
Multiviteit: 7607
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Websites, programma's en games gebruiken (in de meeste gevallen) een heel ander soort code.

Websites = HTML, CSS, JS, ASP(X) (lijkt op VB(.NET))/PHP (lijkt op C++)
Games = (denk ik) C(++) en engine
Programma's = tientallen talen: Java, VB(.NET), C++, C#, ...

Het lijkt me dus sterk dat je al deze talen onder de knie zal krijgen, dus make your choice. :p
Deze tekst werd het laatst bewerkt voor 16.77 % door Suriv op dinsdag 23 oktober 2007 om 07:53:28.
^ Reactie #12 geschreven door SMG op dinsdag 23 oktober 2007 om 08:18:46.
SMG's avatar
Multiviteit: 12000
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Websites is het leukste aangezien je daar meteen een resultaat kan krijgen. Bij al die andere dingen moet je eerst de taal min of meer onder de knie krijgen voordat je echt iets kan doen wat op iets trekt.

Wat je natuurlijk ook moet onthouden, PHP, ASP, en andere SSS en CSS zijn vrij slecht om een taal goed te leren. Ze laten immers veel toe wat in een C++, Java, ... nooit zal mogen. Het voordeel en meteen het nadeel is dat die talen niet echt strikt zijn met regels.
Een goed voorbeeld is hiervan variabelen. Bij Java zal je bij het declareren zeer precies moeten zijn met wat je erin zal zetten. Bij PHP of ASP prop je er in wat je maar wilt. Als je die variabelen dan wilt gebruiken zal het kijken wat erin zit en zien wat je ermee kan doen.

Bij PHP zal je bijvoorbeeld dit kunnen hebben:
Var1: 5mqsdkjf
Var2: 3
Als je Var1 + Var2 zou doen kom je 8 uit. Als je dit bij Java zou doen, kom je ongetwijfeld op een Error te staan.
Dit ligt waarschijnlijk aan het feit dat als een website een klein foutje heeft, dan zou de hele site plat liggen. Een website updaten is dan ook veel simpeler dan een programma (een website staat maar op 1 site, een programma op veel computers)
^ Reactie #13 geschreven door sletsie op dinsdag 23 oktober 2007 om 13:41:10.
sletsie's avatar
Multiviteit: 1114
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
dan ga ik toch maar voor de programma's :D

websites hoeven niet direct, kzou ni wete waarover ik iets moet maken

alhoewel programma's, wat kan je zoal maken?

kweet het, kben echt een 0 maja :D
^ Reactie #14 geschreven door thekid op dinsdag 23 oktober 2007 om 13:54:56.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
tja, dat hangt af van uw eigen motivatie en inspiratie, hé :) Ik heb hier reeds verschillende broncodes staan (degene die ik zeker weet: java tetris, en recent Screenshot programma, verschillende C++ oefeningskes op de site), ik zou zeggen kijk eens wat je gemakkelijkst lijkt

Als je voor java gekozen hebt, zal je nu eens beginnen met het kiezen van je ontwikkelomgeving, je start met het downloaden van IDE (netbeans, eclipse), je pakt er zo'n boekje van Eckel bij en je begint aan je eerste oefeningen op classes, overerving, polymorphisme, etc... Eenmaal je de basis gepasseerd hebt, kan je eens gaan kijken om naar GUI programmering te gaan, en dan zie je wel waar je uitkomt zou ik zeggen ;)
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #15 geschreven door NightCreature op dinsdag 23 oktober 2007 om 18:37:11.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Bij C++ is je eerste programma heel simpel zorg dat het "Hello World!!!" naar de console output kan schrijven. Dit is niet meer dan een regel code dat geldt trouwens voor alle talen. Iets naar een console schrijven is een of 2 regels.

Ik zou eerst een beginnen met te leren wat een classe is laat overerving nog maar ff zitten totdat je weet wat een class precies is. Leer dan het verschil tussen een definitie van een class en een instance van een class. Dit is namelijk een wereld van verschil. Ook eerst HAS A relatie leren voordat je aan Inheritance (ofwel IS A relatie) begint. Inheritance wordt namelijk te veel misbruikt, een HAS A relatie is vaak beter.

hmmz volgens mij ben ik te veel aan het proggen wil iedere regel met een ; afsluiten
Deze tekst werd het laatst bewerkt voor 1.4 % door NightCreature op dinsdag 23 oktober 2007 om 18:37:56.
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #16 geschreven door thekid op dinsdag 23 oktober 2007 om 18:58:40.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
om het leesbaarder te zetten wat NightCreature zei:

Bij ons was het standaardvoorbeeld van overerving een oefening van een "botenclub", waarbij er gemotoriseerde boten bestonden en zeilboten, het grootste deel van de functies van de boten komen overeen, maar bij een zeilboot wordt dan bijgehouden hoeveel zeilen het heeft, is goedkoper te huren, kan niet achteruitvaren, etc... terwijl een motorboot moet weten hoeveel motoren het heeft, duurder om te huren, hoe rap vaart ie achteruit

nog zo'n voorbeeld was met bankrekeningen, met overerving naar zichtrekening en spaarrekening (je kan bvb ook geld aftrekken van de spaarrekening, maar deze kan niet beneden nul, deze van zichtrekening dan weer wel, dus blijft alles grotendeels gelijk maar zit 1 abstracte functie in de classe public abstract void GeldAfhalen(double bedrag); die dan verder wordt uitgespit in zichtrekening en spaarrekening ;)

Enfin, alle boeken die je zult lezen erover zullen je wel daarmee verder helpen, daarmee dat die boeken van B. Eckel goeie basisreferentie zijn, hij legt duidelijk uit hoe dit alles in zijn werk gaat ;)

Randinformatie


@nightcreature
just small remark, ge gebruikt heel wat termen in je vorig stukje proza, maar uitleg ontbreekt wel een beetje ;) het is een starter, hé :) (ja ik hamer ook op classes en overerving en polymorphisme, maar da's de basis van OOP, hé :))
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #17 geschreven door NightCreature op dinsdag 23 oktober 2007 om 20:18:13.
NightCreature's avatar
Multiviteit: 1196
MSc.
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ik hammer er juist op omdat niet meteen te leren maar eerst te leren wat een class is en wat een instance van een class is.
Ga dan eens aan de slag met classen en probeer een simpele applicatie te maken. Waarbij geen overerving wordt gebruikt. Overerving compliceert dingen alleen maar. Maar een classe die in een andere classe wordt aangemaakt is een stuk makkelijker.

Bijvoorbeeld.
Ik heb een Window class die er voor zorgt dat een venster wordt geopened en alle bijhorende operaties. In deze window class heb ik een aantal andere klassen die bijvoorbeeld vierhoeken, driehoeken, etc. voorstellen. De window class zal nu in zijn teken method de teken methodes van de drie- en vierhoeken gebruiken om ze weer te geven.

Dit is al moeilijk genoeg voor een beginner om dat te begrijpen. Als je dan ook nog eens met overerving begint wordt het helemaal moeilijk. Omdat nu een classe ook andere dingen kan voorstellen.

Randinformatie


Zie polymorfisme in c++. Dit gebruikt een pointer naar een abstracte class en initialiseerd dit met een object dat ervan erft en geen abstracte functies meer heeft.
Deze tekst werd het laatst bewerkt voor 0.09 % door NightCreature op dinsdag 23 oktober 2007 om 20:18:22.
I need thought completion.
Shaders, een beetje vreemd maar wel lekker (voor de ogen dan he)
2.83Ghz Q9550 HD4850 512MiB 4GiB 1333Mhz DDR3 RAM
http://paulintheuk.blogspot.com
FE Programmer @ Codemasters (Front End)
^ Reactie #18 geschreven door thekid op dinsdag 23 oktober 2007 om 23:39:40.
thekid's avatar
Multiviteit: 5273
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Ja, maar ge gebruikt alles waarvoor ze nodig zijn, hé, Tuurlijk heeft een window class andere classes achter zich, maar daarin kunt ge bvb een enemysprite en playersprite van de sprite classes overerven :)

Tuurlijk moet je een klasse goed leren kennen daarvoor, en moet je daarvoor goed topdown programming kennen, En topdown programming houdt in om eerst de structuur te maken (dus de klasses achter het systeem, met de nodige overervingen, polymorphismes, classes in classes :), alvorens het hoofdprogramma wordt geschreven).

OOP is juist het sterkste op die punten, dus je hebt steeds zoiets nodig. In alle punten hier omschreven

maar allé, laten we er een spaghetti van termen met een goed sausje van argumentatie van maken :) Daarmee dat ik het met een voorbeeld gepost had (boten, spaarrekening) om het duidelijker uit te leggen :D
"Human beings make life so interesting. Do you know, that in a universe so full of wonders, they have managed to invent boredom." - Death in Hogfather
^ Reactie #19 geschreven door Wheeldigger op dinsdag 23 oktober 2007 om 23:52:18.
Wheeldigger's avatar
Multiviteit: 10173
Moderator
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Heren, houdt het een beetje overzichtelijk dat naast Sletsie er ook nog anderen wat van kunnen leren.
Ik zie bijna door de bomen het bos niet meer :)
  • Pagina
  • [1]
  • 2
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten