Huiz.Net | Leesvoorbeeld
Lees meer over de boekenserie Sam Werner en andere boeken van Anton Huizinga
Boeken, e-books, Sam Werner, fantasie, science fiction, detectives, story, verhalen, spannend
237
page-template-default,page,page-id-237,page-child,parent-pageid-232,ajax_updown_fade,page_not_loaded,,qode-child-theme-ver-1.0.0,qode-theme-ver-12.1,qode-theme-bridge,wpb-js-composer js-comp-ver-5.4.2,vc_responsive

Leesvoorbeeld

Beginnen met programmeren

De meningen zijn verdeeld over wat de beste manier is om te leren programmeren. Sommige mensen zullen zeggen dat je het beste een goed boek over programmeren kunt lezen. Dat roept weer de vraag op of het dan een algemeen boek over programmeren moet zijn of een boek over de taal waarin geprogrammeerd gaat worden.

Ik zeg: “programmeren moet in je zitten.” Anders kun je net zo goed stoppen. Autorijden kun je ook niet uit een boekje leren. De techniek van autorijden wel, zoals schakelen, het bedienen van de richtingaanwijzers, en zelfs hoe je de olie peilt. Maar het verkrijgen van verkeersinzicht, het onbewust kunnen bedienen van de auto, en het vermogen tot anticiperen op medeweggebruikers zal nooit iets worden als het niet in je zit om goed te kunnen autorijden.

Zo werkt het met programmeren ook. Als een computer slechts een stuk gereedschap is dat hooguit tijdens kantooruren aan moet, als je niet nieuwsgierig bent om dat bijzondere apparaat verder te doorgronden, als je geen gedrevenheid voelt om dieper te graven in de wondere wereld van computers, dan kun je beter stoppen met dit boek en je richten op een andere hobby. Het gaat nooit iets worden. Succes met je verdere leven!

Mocht je nu toch verder lezen, dan neem ik aan dat jij wel de gedrevenheid bezit om te leren programmeren, en het mogelijk in je zit om daar goed in te worden. Succes gewenst dan maar! We beginnen dit hoofdstuk met wat saaie kost. Hopelijk kom je er doorheen.

Programmeren voor AutoCAD

Dit boek is gericht op het programmeren in AutoCAD. Het is geen boek met alle ins en outs over programmeren van Windows applicaties of mobiele applicaties, maar over het maken van plug-ins in AutoCAD. Wil je je verder verdiepen in specifieke programmeeronderdelen, dan zijn daar talloze boeken van te verkrijgen. Maar helaas zijn er maar weinig boeken over programmeren voor AutoCAD. Daarom heb ik de tijd genomen om er zelf eentje te schrijven in de hoop andere mensen ermee te kunnen helpen.

Kiezen voor de programmeertaal

Hoewel er verschillende talen beschikbaar zijn om in te gaan programmeren, is er niet echt een keuze. De beste taal om te leren is C#. Dit wordt uitgesproken als sie sjarp. En waarom is dit de beste keuze?

In AutoCAD is het mogelijk om te programmeren in de volgende talen (en nog wel meer):

  • AutoLISP
  • VBA(Visual Basic for Applications)
  • NET
  • C++
  • C#

AutoLISP is heel krachtig en je kunt er bijna alles mee maken. Maar de Lisp-routines zijn niet of nauwelijks te beveiligen en zijn dus te bewerken door derden. Verder is de syntax van Lisp in niets gelijkend op andere gangbare programmeertalen en daarom is het moeilijker om een andere taal aan te leren of te switchen tussen verschillende talen. Leuk voor kleine klusjes in AutoCAD en zeker handig als je het kent, maar laat toch maar even links liggen.

VBA is ook zeer krachtig en je kunt er nog veel meer mee dan met Lisp, omdat je met VBA ook Windows functies kunt uitvoeren. VBA heeft als nadeel dat het een oudere taal is en al jaren doodverklaard is maar telkens weer (half) tot leven komt. Bovendien is het een Visual Basic taal en wordt het door echte (of beter gezegd: succesvolle) programmeurs niet serieus genomen.

VB.NET is een moderne programmeertaal en kan alles wat ook met C# mogelijk is. Beide zijn .NET varianten en je kunt ze gebruiken om zeer krachtige applicaties te maken. Op zich is er geen verschil tussen beide talen, afgezien van de syntax, maar ook hier geldt dat deze taal niet serieus genomen wordt door succesvolle (lees: niet perse betere) programmeurs. Je moet zelf weten als je liever VB.NET wilt leren, misschien omdat je het eenvoudiger lijkt omdat je ooit iets met VBA gedaan hebt, maar ik raad het toch af. De syntax van VB.NET wijkt best wel af van VBA waardoor je je net zo goed gelijk kunt verdiepen in C#. Ik ken maar één succesvolle programmeur die alles in VB.NET doet. Dat is Stephen Preston van Autodesk. Komende vanuit de oudere C-talen moest hij een keuze gaan maken toen .NET uitkwam, wordt het VB.NET of C#? Zijn vrienden voelden zich superieur ten opzichte van VB.NET programmeurs dus vanuit een sterke eigenwijsheid heeft Stephen toen gekozen voor VB.NET om een punt te maken. Toch lijkt hij in een interview een klein beetje spijt te hebben van zijn keuze:

http://adndevblog.typepad.com/autocad/2012/05/vbnet-or-c-a-personal-perspective.html

C++ is een vrij ingewikkelde taal om te leren, nauwelijks geschikt om mee te beginnen. Het is ook wat krachtiger dan C#. Omdat het heel complex is, en je snel echte storingen kunt veroorzaken, is het niet een geschikte taal om mee te beginnen.

Dan komen we bij C#, dat is een taal die serieus genomen wordt, en een taal is die qua syntax erg lijkt op andere talen zoals Java, PHP, Javascript en C++, waardoor het gemakkelijker is om een andere taal erbij te leren of te kunnen begrijpen. Als je C# kunt lezen, dan kun je op het internet ook een voorbeeldstukje JavaScript of C++ snappen en dus kunnen implementeren in je eigen code. Bovendien is er veel meer voorbeeldcode te vinden in C# of C-achtige talen dan bijvoorbeeld VB.NET.

C# heeft alles om snel en eenvoudig zeer krachtige applicaties te kunnen bouwen. Of dit nu Windows applicaties zijn of AutoCAD plug-ins, deze taal is uitstekend geschikt.

Daarom is C# de (beste) keuze om in te programmeren.

Ook al kun je met VB.NET exact hetzelfde, toch worden C#-programmeurs serieuzer genomen en vinden ze ook sneller een goede baan.

Hoe leer je programmeren?

Dat is een lastige vraag en voor iedereen anders. Hoe je niet leert te programmeren, is veel eenvoudiger te beantwoorden. Toch zal ik een aantal punten noemen die volgens mij noodzakelijk zijn om te kunnen leren programmeren.

  • Zorg dat je geïnteresseerd raakt in programmeren.
  • Ga het doen. Probeer wat. Zoek uit op internet. Doen doet leren.
  • Leer van anderen. Lees broncodeen probeer te snappen wat ze bedoelen. Laurendo Almeida zei eens: “Stealing from one source is plagiarism. Stealing from many sources is research.”
  • Als je de tijd en mogelijkheid hebt, volg een opleiding die een certificaat of diploma oplevert. Altijd handig voor bepaalde banen waar dit van je verlangd wordt.
  • Ga samenwerken. Soms ben je de beste, soms ben je de slechtste in de groep. Leer ervan.
  • Bouw programma’s na. Verzin zelf hoe je tot oplossingen komt.
  • Leer ook andere talen.
  • Plan een Coding Standardvoor jezelf. Niet om je te beperken maar om meer gestructureerd te kunnen werken.
  • Je kunt geen taal leren in 24 uur. Reken eerder op 10 jaar.

.NET enzo

Wat is .NET (of zoals uitgesproken wordt: dot net) dan eigenlijk? Misschien heb je er al meer van gehoord, en anders leg ik het graag even in het kort uit. Wil je nog meer weten, dan zijn daar vast goede boeken over te vinden.

Vroeger, als je een applicatie wilde maken, dan moest je alles zelf uitwerken. Bijvoorbeeld de manier om je beeldscherm aan te sturen, het toetsenbord uit te lezen, muisbewegingen te onderscheppen, enzovoort. Vaak kon je wel kant en klare stukken code of modules vinden of kopen die dat voor jou deden, toch was het altijd een ingewikkelde klus om een applicatie te maken die op elke computer werkte.

Toen kwam Java op de markt. Dat was een Framework waarbinnen applicaties konden draaien die gebruik maakten van de beschikbare Java functies. Dat scheelde enorm veel tijd in programmeren, want je kon nu rechtstreeks functies aanroepen die het echte werk uit handen namen. Omdat Microsoft geen Java mocht implementeren in Windows, heeft Microsoft zelf een Framework gemaakt, gestoeld op het idee van Java maar dan beter. Dit Framework werd .NET genoemd.

Applicaties die binnen .NET geschreven zijn, kunnen onderling met elkaar communiceren en er zijn enorm veel functiebibliotheken beschikbaar om te gebruiken in de code. En daarom is .NET succesvol geworden. Het maakt niet uit of je C++.NET, VB.NET, F# of C# gebruikt, het is allemaal uitwisselbaar. Ook de grote hoeveelheid beschikbare functies is een zegen voor programmeurs. Met één regel code kun je een meldingsvenster tonen met de juiste knoppen en iconen. Met een paar regels code roep je een “Opslaan als” dialoogvenster op dat zelfstandig voor jou kan controleren of een pad bestaat, of een bestand overschreven gaat worden, enzovoort.

.NET is dus zelf geen taal, maar een verzameling bibliotheken dat gebruikt kan worden in de verschillende .NET talen.

Autodesk heeft het mogelijk gemaakt om .NET applicaties in AutoCAD te kunnen laden die gebruik kunnen maken van de AutoCAD functies. Een .NET applicatie in AutoCAD kan dus zowel Windows functies aanroepen als AutoCAD functies. Autodesk heeft als het ware .NET uitgebreid met een bibliotheek vol met AutoCAD functies. En zo zijn er meer bedrijven die hun applicaties openstellen in .NET.  Zo’n beschikbaar gestelde bibliotheek wordt een API genoemd: application programming interface.

De editor

Nog een belangrijk ding om te noemen voordat we echt iets gaan maken, is de editor. Dit wordt ook wel een IDE (integrated development environment) genoemd, want het is meer dan alleen de editor zelf waarin je de code schrijft. Uiteraard kun je prima C# in Kladblok schrijven maar dat is net zo omslachtig en tijdrovend als het paard in de wagen zetten en zelf de kar gaan trekken. Om snel en eenvoudig te kunnen programmeren, heb je een IDE nodig met daarin een editor die toegespitst is op de door jou gekozen taal. C# dus. En hiervoor zijn hele mooie IDE’s.

We beperken het nu even tot Visual Studio van Microsoft. Hiervan is een gratis versie te verkrijgen waarmee je mag programmeren zolang je aan bepaalde voorwaarden voldoet. Ben je een commercieel bedrijf en verdien je ook aan je applicaties, dan zal je Visual Studio moeten kopen, of anders een andere IDE moeten zoeken. Er zijn ook Open-Source IDE’s.

Als het je niet lukt om Visual Studio te installeren, dan kun je het programmeren ook maar beter opgeven. Ik ga er vanuit dat het je lukt, en zie je in het volgende hoofdstuk terug.