Archief - c# leren

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

ward55

Legacy Member
hallo iedereen

ik ben zo al enkele weken aan het uitkijken om een programmeertaal mezelf aan te leren ik ben momenteel 14 bijna 15 en zou graag c# leren, vooral om kleine programma's te maken en dan misschien later android apps, ik heb vernomen dat c# nog niet lang uit is en een goeie taal is om mee te starten. Kent iemand online tutorials of boeken om die taal de leren, ik heb al enkele tutorials gezien maar het probleem is dat ik moet compileren en daar leggen ze vaak niet uit welk programma ik moet installeren en hoe.
Mijn 2 vragen:

Is c# een goeie taal, adviseren jullie die mij?
Welke boeken of tutorials zijn er goed?

Momenteel bezit ik nog niet veel ervaring

Alvast bedankt!

mvg

Recipe4hate

Legacy Member
Ja, C# is een leuke taal, waarvan je de concepten gemakkelijk kan overnemen naar andere talen.
De beste IDE lijkt me Visual Studio.
Voor boeken zou ik naar Wrox of O'Reilly kijken. Hou er rekening mee dat je behalve C# ook beste een (al dan niet alles) deel van het dotNET framework dient te leren :)

C# bestaat ondertussen toch ook al een tijdje hoor (nog niet lang uit?): van 2001...

ward55

Legacy Member
oke, badankt voor de info, en ik dacht dat die nog maar uit was van 2007 fout dus:), ken je ook enkele goeie online tutorials? waar er echt alles staat in beschreven, ook het downloaden van de compiler?

mvg

Mackenzie

Legacy Member
Voor C# kan je Visual Studio Express downloaden (zowel 2010 als 2012 zijn vrij beschikbaar). Maar als je ambities uitgaan naar Android applications, waarom dan starten met C#? Zou je dan niet beter een cursusje Java op het internet zoeken? De syntax van de talen zijn voor 70% hetzelfde, maar er zijn toch enkele belangrijke verschillen die je fout zou kunnen doen als je het jezelf leert.

ward55

Legacy Member
om dan java te programmeren is eclipse dan de beste? (heb ik al staan) Ik koos eerder voor c# omdat ik weet dat je daar veel mee kunt en wilde daar mee beginnen en dan misschien volgend jaar de wat moeilijkere eclipse proberen? of lijkt dat geen goed idee? ps. welke talen kun jij?

mvg

Recipe4hate

Legacy Member
Qua moeilijkheid moet je echt niet gaan vergelijken tussen C# en Java bijvoorbeeld.
Sowieso moet je de concepten van OOP gaan leren...

Er bestaat imo geen online 'tutorial' die je alles leert. Zelfs geen boek. Daarvoor dien je al een halve boekenkast te vullen :p (zo zijn er zelfs ganse boeken over UML alleen).

@Mackenzie: dacht dat Android nu wel C# supporteert?

ward55

Legacy Member
van die boeken weet ik het al (ik haat echt boeken! :) ) maar ik denk dat als ik echt java of c# wil kunnen leren dan zal ik wat moeten doorbijten :) als ik java leer, kan ik ook programma's afspeelbaar op windows ontwikkelen? Ik begrijp al wat van die compilers dat het dient om je programmeertaal te vertalen is naar "computertaal", maar als je java dan programmeer moet je dan ook gebruik maken van cmd ofzo? Ik heb steeds moeite met compiler enzo is visual basic express dan ook een soort compiler?

mvg

Mackenzie

Legacy Member
Recipe4hate zei:
@Mackenzie: dacht dat Android nu wel C# supporteert?

Nope, native Android is enkel Java. Google heeft na het aankopen van Android Inc (het oorspronkelijke bedrijf achter Android) zich aangesloten bij de Open Handset Alliance en die houden enkel van Open Source stuff, wat C# niet is :)
Wel zijn er tegenwoordig mogelijkheden via tools als Monodroid om in C# te programmeren en dan om te zetten, maar tot op de dag van vandaag zit dit vol bugs en is niet alle functionaliteit mogelijk. Wat natuurlijk logisch is omdat de Android versies zich blijven opstapelen. Het basiswerk is er wel mee te doen :) Maar om een deftige app te maken, is Java wel aangeraden.
Ook draait het dan weer niet om de extacte Java SE of ME die je op scholen/ergens anders leert. Maar de functionaliteit is hetzelfde en het draait meer om werken met Java in een bepaalde omgeving specifiek voor Android.

En zoals Recipe4hate al zegt, het beste is beginnen met standaard Java syntax (syntax is btw de manier hoe je iets neertypt/de regeltjes die je moet volgen bij het typen zoals volgorde van bepaalde woorden etc 'om het te doen werken') en dan de OOP concepten te leren. OOP is Object oriented programming, want Java is net als C# een object-georienteerde taal.

Op je vraag wat een compiler is of iets dergelijks, daar zat je ongeveer juist. Elke programmeertaal heeft zijn eigen structuur en syntax, maar om het dus uitvoerbaar te maken voor een machine (in dit geval een pc) moet het omgezet worden in machine taal en dat is de taak van een compiler. Een compiler wordt altijd meegeleverd bij een IDE, dus als je voor Java Netbeans of Eclipse download, kan je door op het 'run' knopje te duwen je code laten compileren en uitvoeren.
Je vermeldde ook iets van uitvoeren in cmd... Kijk als je gewoon wat klassetjes maakt die iets doen met invoer en iets als uitvoer teruggeven (is maar een voorbeeld), dan ga je natuurlijk niets op het scherm zien. Wat je wel nodig hebt om iets op het scherm te zien is een GUI (graphical User Interface) of User interface klassen zoals die van de Swing library.
Ik zou voor jou, als beginner, eerder Netbeans aanraden boven Eclipse. Dit alleen al omdat in Netbeans je ook kan slepen en klikken van knoppen, tekstvakken, radiobuttons (zoals in Visual Studio voor jouw C#) zonder die zelf te moeten programmeren. Als je nadien een echt degelijk programma wilt maken als je meer kennis hebt, dan kan je nog zelf de layout programmeren etc.

Als je nog een vraag moest hebben, stel gerust :)

Tyfius

Legacy Member
Mackenzie zei:
Nope, native Android is enkel Java. Google heeft na het aankopen van Android Inc (het oorspronkelijke bedrijf achter Android) zich aangesloten bij de Open Handset Alliance en die houden enkel van Open Source stuff, wat C# niet is :)
Wel zijn er tegenwoordig mogelijkheden via tools als Monodroid om in C# te programmeren en dan om te zetten, maar tot op de dag van vandaag zit dit vol bugs en is niet alle functionaliteit mogelijk. Wat natuurlijk logisch is omdat de Android versies zich blijven opstapelen. Het basiswerk is er wel mee te doen :)

C# is wel open-source, als je dat zo kan noemen. De taal zelf is volgens een ISO en ECMA standaard gedocumenteerd en iedereen is vrij daar een implementatie van te voorzien. Vandaag de dag staat Mono vrijwel even ver met de implementatie van het .NET Framework als Microsoft zelf, uitgezonderd bepaalde delen die niet onder de ECMA standaard vallen of waar zij geen nood aan hebben. (WPF is bijvoorbeeld weinig ondersteund aangezien hun filosofie is dat het beter is op elk platform een goeie GUI te voorzien dan 1 GUI die half-en-half aan elkaar hangt.)

Xamarin heeft vorige week trouwens 2.0 vrijgegeven waar ze een jaar lang achter de schermen aan gewerkt. Er zijn een hele hoop verbeteringen aan de platform compatibiliteit aangebracht. Er zijn ondertussen best een aantal goeie C# Android applicaties beschikbaar. Vergeet ook niet dat Unity 3D C# en Mono gebruikt als scripting platform voor hun games en deze toch op elk OS werken.

Enkele interessante links:
Announcing Xamarin 2.0 | Xamarin Blog
Xamarin 2.0 reviewed: iOS development comes to Visual Studio | Ars Technica

Er is vandaag de dag geen enkele reden meer om expliciet voor Java te kiezen als je Android applicaties wil maken. Je kan er zelfs je voordeel mee doen aangezien het zonder al te veel moeite naar iOS en andere platformen over te zetten is. ;)

Leren programmeren is niet moeilijk. Start wel best in het Engels. Je Engels wordt er beter door en je komt niet voor verwarrende situaties te staan waarin bepaalde kritische termen vertaald gaan worden. Je moet vooral doen, proberen, opzoeken en opnieuw proberen.

Baelemeister

Legacy Member
Java is een goede taal om te leren starten, je hebt talrijke E-books die je kunt aanschaffen en ik dacht ook enkele YouTube-tutorials die je kunnen verder helpen om de basics van deze taal te kennen. Onderschat het wel niet, je gaat niet in twee weken een grote applicatie kunnen ontwikkelen.

Ik raad aan om klein te beginnen (basic rekentoestel, klein programmaatje waarbij je moet wegschrijven en ophalen van een database, ...) Zodat je elk aspect van deze taal goed onder de knie hebt.

Elk project je maakt, sla dat ook op onder een verstaanbare naam (bv. ProjectDatabaseConnectie, GebruikMappers, ...) Ik doe dit ook en als je dan later eens een serieus project wilt maken, kan deze code die je vroeger hebt geschreven je nog enorm goed van pas kome! :)

Recipe4hate

Legacy Member
Baelemeister zei:
Java is een goede taal om te leren starten, je hebt talrijke E-books die je kunt aanschaffen en ik dacht ook enkele YouTube-tutorials die je kunnen verder helpen om de basics van deze taal te kennen. Onderschat het wel niet, je gaat niet in twee weken een grote applicatie kunnen ontwikkelen.

Ik raad aan om klein te beginnen (basic rekentoestel, klein programmaatje waarbij je moet wegschrijven en ophalen van een database, ...) Zodat je elk aspect van deze taal goed onder de knie hebt.

Elk project je maakt, sla dat ook op onder een verstaanbare naam (bv. ProjectDatabaseConnectie, GebruikMappers, ...) Ik doe dit ook en als je dan later eens een serieus project wilt maken, kan deze code die je vroeger hebt geschreven je nog enorm goed van pas kome! :)

En gebruik Engelse benamingen! Geen Nederlandstalige fields, properties, methods of projectnamen aub! :)

Mackenzie

Legacy Member
Tyfius zei:
C# is wel open-source, .....

Nope C# is niet open-source. Het is niet omdat er online documentatie van te vinden is en dat je er zelf zaken aan kan toevoegen, dat je het ook direct vrij mag distribueren als je eigen versie. Dus het is officieel modifiable by license, maar soit :D En ja ik volg de mono-wereld niet op de voet, maar heb toch mn bedenkeningen bij al die cross platform zaken. Ze zijn leuk in theorie... Maar het kan dus zeker zijn dat ze momenteel al goed werken, maar geef mij toch maar native platformen die direct worden geupdatet als de versies omhoog gaan. Ik ken trouwens ook 3 mensen die hun master thesis doen over vergelijking native tools en cross platform en onderlinge vergelijkingen tussen cross platform tools zowel voor C#, Java als ook tools zoals PhoneGap om een wrapper te maken rond webtools om cross platform apps te maken.

Maar uiteindelijk draait de vraag van de TS hier niet over :p
Engels is zeker aan te raden zoals andere hier ook al zeggen, maar het gaat voornamelijk om zo een beetje de klik te maken tussen gewoon wat typen en door hebben hoe object gericht programmeren werkt. En dat kan enkel door eenvoudig te beginnen.

ward55

Legacy Member
Mackenzie zei:
Nope, native Android is enkel Java. Google heeft na het aankopen van Android Inc (het oorspronkelijke bedrijf achter Android) zich aangesloten bij de Open Handset Alliance en die houden enkel van Open Source stuff, wat C# niet is :)
Wel zijn er tegenwoordig mogelijkheden via tools als Monodroid om in C# te programmeren en dan om te zetten, maar tot op de dag van vandaag zit dit vol bugs en is niet alle functionaliteit mogelijk. Wat natuurlijk logisch is omdat de Android versies zich blijven opstapelen. Het basiswerk is er wel mee te doen :) Maar om een deftige app te maken, is Java wel aangeraden.
Ook draait het dan weer niet om de extacte Java SE of ME die je op scholen/ergens anders leert. Maar de functionaliteit is hetzelfde en het draait meer om werken met Java in een bepaalde omgeving specifiek voor Android.

En zoals Recipe4hate al zegt, het beste is beginnen met standaard Java syntax (syntax is btw de manier hoe je iets neertypt/de regeltjes die je moet volgen bij het typen zoals volgorde van bepaalde woorden etc 'om het te doen werken') en dan de OOP concepten te leren. OOP is Object oriented programming, want Java is net als C# een object-georienteerde taal.

Op je vraag wat een compiler is of iets dergelijks, daar zat je ongeveer juist. Elke programmeertaal heeft zijn eigen structuur en syntax, maar om het dus uitvoerbaar te maken voor een machine (in dit geval een pc) moet het omgezet worden in machine taal en dat is de taak van een compiler. Een compiler wordt altijd meegeleverd bij een IDE, dus als je voor Java Netbeans of Eclipse download, kan je door op het 'run' knopje te duwen je code laten compileren en uitvoeren.
Je vermeldde ook iets van uitvoeren in cmd... Kijk als je gewoon wat klassetjes maakt die iets doen met invoer en iets als uitvoer teruggeven (is maar een voorbeeld), dan ga je natuurlijk niets op het scherm zien. Wat je wel nodig hebt om iets op het scherm te zien is een GUI (graphical User Interface) of User interface klassen zoals die van de Swing library.
Ik zou voor jou, als beginner, eerder Netbeans aanraden boven Eclipse. Dit alleen al omdat in Netbeans je ook kan slepen en klikken van knoppen, tekstvakken, radiobuttons (zoals in Visual Studio voor jouw C#) zonder die zelf te moeten programmeren. Als je nadien een echt degelijk programma wilt maken als je meer kennis hebt, dan kan je nog zelf de layout programmeren etc.

Als je nog een vraag moest hebben, stel gerust :)

oke ik zal netbeans eens proberen, bedankt voor de info!

mvg

ward55

Legacy Member
Leren programmeren is niet moeilijk. Start wel best in het Engels. Je Engels wordt er beter door en je komt niet voor verwarrende situaties te staan waarin bepaalde kritische termen vertaald gaan worden. Je moet vooral doen, proberen, opzoeken en opnieuw proberen.[/QUOTE]

bedankt! Ik zal me een goede engelse tutorial aanschaffen of boek (weet u toevallig een goed boek?), mijn Engels kan toch wat beter :)

ward55

Legacy Member
ps, java is het een goeie taal om mee te beginnen momenteel bezit ik nog geen enkele taal, heb wel al eens visual basic en eclipse geopend maar nog nooit echt mee gewerkt da leek me enorm moeilijk nu ben ik op het moment gekomen dat ik het wil leren.

mvg

Tyfius

Legacy Member
Mackenzie zei:

Vandaar dat ik ook zei "als je het zo kan noemen". Maar ik wou alleen maar verduidelijken dat je met .NET niet aan 1 platform gebonden bent.

Mono staat trouwens vrij ver hoor. Zij hadden bijvoorbeeld al een versie met de C# 5.0 features uitgebracht voor .NET 4.5 officieel uit was. Ze zijn er vandaag de dag snel bij. Het is namelijk niet alleen een open-source gebeuren, maar er zit ook echt een bedrijf achter met de nodige fondsen.

Recipe4hate

Legacy Member
ward55 zei:
ps, java is het een goeie taal om mee te beginnen momenteel bezit ik nog geen enkele taal, heb wel al eens visual basic en eclipse geopend maar nog nooit echt mee gewerkt da leek me enorm moeilijk nu ben ik op het moment gekomen dat ik het wil leren.

mvg

Kortweg (en concluderend uit alle bovenstaande posts): ja
ps: het is Visual Studio dat je bedoelt en niet Visual Basic (dit is een andere programmeertaal (VBA, VB.Net, VB6 etc)

ward55

Legacy Member
Recipe4hate zei:
Kortweg (en concluderend uit alle bovenstaande posts): ja
ps: het is Visual Studio dat je bedoelt en niet Visual Basic (dit is een andere programmeertaal (VBA, VB.Net, VB6 etc)

neen, ik heb visual basic ook eens geprobeert men toen kende ik er niets van :)

mvg

Moto

Legacy Member
ps, java is het een goeie taal om mee te beginnen

Het gaat echt wel om hoe goed de boek is in het uitleggen van de basis concepten ipv kiezen voor C# of java DAT is echt wel voor een beginner kompleet onbelangrijk
En zo een vragen stellen op een forum gaat alleen nog maar meer voor verwarring zorgen, want iedereen komt zijn favoriet taaltje verdedigen

En stel dat uw boek een andere IDE voorstelt of een andere UI-library of framework dan dat hier als "beste" word omgeschreven, al direkt twijfel
En u ook zeker niet laten meeslepen door gelul over hoe belangrijk gevorderde OO-concepten, Solid principles en Design pattern zijn, zijn echt dingen die totaal onbelangrijk zijn als ge nog geen enkel programma geschreven hebt

Het belangrijkste aan programmeren is effectief programmeren, niet blogs lezen over hoe het allemaal moet, of discussieren wat de beste technologie/taal/framework/methodolgie is maar gewoon programmeren en iets plezants/nuttigs maken

PS Trouwens als ge direkt aan de slag wilt zonder IDE is er nog altijd
-> Codecademy

javascript of python is ook geen slechte taal

PS 2: oke ik zeg wel dat de taal niet zo belangrijk is maar, IN HEMELSNAAM GEEN BASIC!!! :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan