Door
marina janssen
op 03-03-2016 01:15
gewijzigd op 03-03-2016 01:17
2.269 views
Ik wilde een tijdje geleden een website bouwen en daarvoor was
PHP nodig. Kreeg van een kennis een dikke PHP-pdf toegstuurd maar het was echt veel te technisch. Plan op de lange baan gezet. Maar ja het bloed kruipt waar het niet gaan kan en met behulp van een gratis online ministoomcursus die heel erg praktisch was en aansloot bij wat ik wilde, heb ik toch een eerste versie van die website in mekaar geflanst.
En elke dag ontdek ik mogelijkheden voor verbetering. Dit kan beter, dat kan beter. Toen ik de eerste keer hoorde dat ik mijn input moest filteren, dacht ik ja doei, veels te moeilijk. Maar ik heb het toch gedaan want gehackt worden was het alternatief. Toen ik hoorde dat mysql verouderd was en ik echt over moest stappen dacht ik, ja doei, bekijk het effe, veels te moeilijk. Maar ik heb het toch maar aangepast.
Toen ik voor het eerst over paginatie hoorde, dacht ik laat maar zitten: dat leer ik nooit. Maar de eerste versie heeft nu paginatie.
Het is leuk als je opeens iets kan wat je nooit dacht te leren.
En nu dus buig ik me dus opeens over *&%$# die dekselse arrays en loops waar ik geen snars van begrijp. Het lijkt nu echt een onoverkomelijke berg, maar ja dat leek mysqli ook:)
Ik heb totaal geen talent hiervoor en zonder jullie hulp, een dozijn youtubefilmpjes en tutorials was ik nooit zover gekomen maar ik kan nog lang niet zeggen dat ik PHP beheers.
Ik vroeg me af, na hoeveel tijd durfde je te zeggen dat je PHP beheerst? Wanneer is dat moment?
Vroeger ging ik voor de grap gastenboeken of login-systemen maken, en ja, ik vond dit ook moeilijk vroeger en nu is het easy. Maar na een tijdje doe je zo ervaring op hoe PHP werkt zoals Data Types (array, integer, string etc.) wat wel handig is om te weten.
>> Ik heb totaal geen talent hiervoor en zonder jullie hulp ...
Het is ook niet iets wat zomaar komt aanwaaien. Een groot deel hangt af van inzicht en je bereidwilligheid en vastberadenheid om iets nieuws te leren.
Om je vraag te beantwoorden, ik denk dat het minimaal 2 jaar duurt om enigszins de basis van PHP door te hebben, en pas daarna ga je je echt ontwikkelen. Het is niet alleen een kwestie van snappen hoe een functie werkt, maar zeker ook een kwestie van begrijpen hoe je een probleem/casus aanpakt en hoe je zo'n casus kunt 'vertalen' naar een programmastructuur. Dat is stap 1 ... en vervolgens kun je je eigen code telkens weer verbeteren. Zo komt het vaak voor dat je nu iets maakt en 2 weken later denkt 'hé dat kan veel efficiënter en/of korter'. Het is een beetje als het schrijven van een verhaaltje. Schrijf vandaag een perfect verhaaltje, lees het over 2 weken nogmaals en je ziet ineens verbeterpunten.
Geheel eens met Ozzie en het buzzwoord is programmastructuur. Wanneer heb je geleerd om gestructureerd te programmeren of bouw je vanaf het begin wat spaghetti met behulp van voorbeelden en wordt dat steeds lastiger om uit te breiden? Datamodellering is ook belangrijk, regelmatig zie je vragen over data waarbij men het advies krijgt om te normaliseren. Heb je dat ooit geleerd? Heb je datamodellering en gestructureerd programmeren onder de knie dan ben je al behoorlijk op dreef. On-topic: zelf heb ik dat geleerd met cobol, pascal en python waardoor ik ook eenvoudig op een andere taal, in dit geval php kon doorgaan voor mijn eigen website en slechts voor wat hobbywerk. Helaas ben ik wel van voor het object georienteerde tijdperk. Ik zoek nog steeds een handig werkje om me daarin te verdiepen, zowel in php als in java.
Volgens sommigen heb je 10.000 uur oefening nodig voordat je ergens in uitblinkt. Dat komt ongeveer overeen met 5 jaar werkervaring in een fulltime baan.
Het draait daarbij inderdaad niet zozeer om "PHP leren", maar veel meer om leren programmeren, dat ben ik helemaal met Ozzie en Aad eens. Ik denk zelfs dat als je PHP echt begrijpt, je weinig moeite zult hebben met het lezen van code in Java of C#.
Zou hier graag op willen inhaken. Ik doe zelf meer Front-end dev. Maar zou toch ook echt een stuk meer van PHP willen weten. Ik heb destijds een cursus gedaan, alleen na een tijd verwaterd het gewoon weer.
Hoeveel uur per week moet je er nou aan spenderen om het erin te stampen? wat is jullie mening daarover, of wat werkt voor jullie?
Allereerst het woord "erin stampen" vergeten lijkt me een goede start :)
Zoals al eerder genoemd is de vraag "wanneer ken ik php?" niet belangrijk, de belangrijke vraag is "wanneer begrijp ik hoe ik moet programmeren?" De gedachte en manier van bedenken van een oplossing is veel belangrijker dan het uitwerken van de uiteindelijke oplossing.
"Wanneer ken ik PHP?" was op het moment dat ik PHP code kon schrijven zonder telkens php.net te bezoeken. Dat kost geruime tijd en zelfs nu is php.net nog wel eens nodig. Toch merk je dat je na een half jaar oid gemakkelijker code op kan dreunen en schrijven.
"Wanneer begrijp ik hoe ik moet programmeren?" is een doelstelling waar denk ik niemand ook bij kan komen. Er zijn altijd weer nieuwe innovaties en dergelijke die telkens weer betere oplossingen voor problemen bedenken.
Het gaat bij programmeren meer om het plezier hebben in wat je doet en veel oefenen. Ga vooral niet lezen, lezen en lezen. Ga doen doen doen en wanneer je iets niet weet wat je moet doen zoek je het op. Kijk naar oplossingen en probeer deze te begrijpen. Zorg vooral dat je niet te moeilijk begint, begin bijvoorbeeld met een rekenmachine. Werk dan iets verder en probeer een todo-lijst te maken. Ga dan weer iets verder door mensen toe te staan een eigen todo-lijst te maken. Maak dan een simpel forum systeem. Je begrijpt het, denk vooral niet te groot en bouw het langzaam op.
Voor een groot deel eens met je verhaal Wouter, maar met bovenstaande ben ik het niet helemaal eens. Er zijn mensen die veel oppikken door op internet te zoeken, maar een goede basis kan zeker geen kwaad. Ik raad juist aan om wél een boek te kopen waarin in een logische volgorde de basis wordt uitgelegd. Bepaalde basisvaardigheden worden in een boek vaak wel besproken, terwijl je die al zoekende op internet niet zomaar tegenkomt tenzij je er bewust naar zoekt. Een basisboek neemt je ook vaak mee in de (denk)wereld van het programmeren. Nee, je leert echt niet alles uit de boek en je zult ook zelf aan de slag moeten, maar een boek lezen om wat basiskennis op te doen kan echt geen kwaad.
Edit:
"Nee, je leert echt niet alles uit de boek"
De boek? Hahaha ... ik was er met m'n gedachten niet helemaal bij geloof ik :-)