Het is niet ongebruikelijk dat mensen die beginnen te leren coderen, zich afvragen of ze moeten beginnen met elementaire programmeergerelateerde onderwerpen voordat ze een programmeertaal leren. Dus moet je echt beginnen met basisvakken programmeren voordat je bijvoorbeeld Java leert? Het is ja en nee, echt. Aan de ene kant is de cursus van CodeGym ontworpen om perfect duidelijk te zijn en gemakkelijk om in te duiken, zelfs voor een totale beginner. Als je je daar zorgen over maakte, zou je dat niet moeten doen. Aan de andere kant kan het hebben van een gedegen theoretische kennisbasis zeker geen kwaad en kan het u in de toekomst goed van dienst zijn. Bovendien kan basiskennis van programmeertheorie op veel gebieden van toepassing zijn. Dus een stap verder gaan is geen vergissing.
Het opfrissen van de basis van wiskunde zou nuttig zijn. Je hoeft er niet al te diep in te duiken om programmeur te worden, maar een duidelijk begrip hebben van zaken als kwadratische en lineaire vergelijkingen, evenals hoe wiskunde wordt gebruikt in algoritmen en het oplossen van problemen, zal van toepassing zijn bij softwareontwikkeling op veel manieren.
Computational thinking is een reeks methoden waarbij een complex probleem wordt opgesplitst in een reeks kleinere problemen die gemakkelijker te beheren zijn, en waarbij de essentie van een probleem en de oplossing worden uitgedrukt op manieren die een computer zou kunnen uitvoeren. Algoritmen zijn een onderdeel van computerdenken, maar kunnen als apart vak worden aangeleerd. Weten hoe je algoritmen moet bedenken en gebruiken, zou zeker erg handig zijn als je de basisprincipes van coderen leert en begint met programmeren.
Een ander belangrijk onderdeel van de theorie achter programmeren is binaire en booleaanse algebra, dus je kunt ook dieper op deze onderwerpen ingaan. Dit zal u helpen om te leren hoe het binaire systeem werkt en hoe u binair kunt denken en werken in het binaire getallenstelsel.
En als je graag meer wilt leren over algebra, binaire en andere fundamentele principes van programmeren, zou het volkomen logisch zijn om ook te bestuderen hoe alles werkt vanuit het oogpunt van hardware. Als je dat weet, kan dat heel nuttig zijn bij het maken van een programma of bij het uitzoeken wat je er wel en niet mee kunt bereiken.
En tot slot kun je leren over programmeertalen en hun structuur door vertrouwd te raken met programmeerparadigma's, die een manier zijn om programmeertalen te classificeren op basis van hun kenmerken. Kennis van paradigma's zal je helpen een duidelijk beeld te krijgen van welke soorten programmeertalen er voor ons zijn om te gebruiken en waar ze kunnen worden gebruikt. Dit zou de theoretische basis moeten vormen waarop u kunt doorgaan met het leren van programmeren op zich.
Een fatsoenlijk advies van Rohan Urkude, een software-engineer bij HERE Technologies: “Nu ik al meer dan 4 jaar in de branche zit als Java-ontwikkelaar en interviewer, kan ik je een aantal briljante dingen geven die je moet weten voordat je een programmeertaal aanraakt: ontwerpprincipes (SOLID, KISS, etc.), ontwerppatronen (slechts een kort begrip) en gegevensstructuren (onderliggende structuren achter elke DS in elke taal) en ga je gang en leer elke taal en kijk hoeveel tijd je hebt bespaard, want nu weet je het de essentie van alles.”
Bill Karwin, expert op het gebied van softwareontwikkeling en auteur van het handboek 'SQL Antipatterns: Avoiding the Pitfalls of Database Programming', raadt iedereen aan om eerst te leren hoe Java CLASSPATH gebruikt, omdat "in Java 90% van de problemen te wijten is aan CLASSPATH." “Je moet leren hoe Java CLASSPATH gebruikt om klassen te vinden om te laden. Elke Java-handleiding of -tutorial zou dit moeten behandelen, maar let goed op”, zegt Karwin.
Pratik Patil, een softwareontwikkelaar van IBM, raadt nieuwe leerlingen aan om eerst C++ of de basisconcepten van OOP (Object-Oriented Programming) onder de knie te krijgen: “Als je C en C++ kent, kun je zeker met Java aan de slag. Als je ze niet kent, leer dan OOPS-concepten en maak ze heel duidelijk, en ga dan voor Java.”
Foto door AWeith / CC BY-SA 4.0
GO TO FULL VERSION