Welke taal moet ik leren?

Moderators: jkien, Xilvo

Reageer
Berichten: 3

Welke taal moet ik leren?

Om te beginnen moet ik mededelen dat ik nul verstand heb van programmeren. Ik wil graag een site bouwen en daar weet ik genoeg over te vinden, maar stel dat ik een app in mijn site wil verwerken, een soort quiz of vragenlijst/test om specifiek te zijn. Welke taal is dan geschikt? Kan ik dit alles doen met een programmeer taal of moet ik combineren?
Alvast bedankt!

Berichten: 12.262

Re: Welke taal moet ik leren?

Ik denk dat de antwoorden hierop vooral van persoonlijke voorkeur zullen komen. 
 
Ik zou je aanraden dit in php op te pakken, andere gebruikers waarschijnlijk in python, en wellicht komen perl, asp, en ook nog andere suggesties binnen. 
 
Gezien je stelt bij nul te beginnen denk ik dat het feitelijk niet zoveel uit maakt. Ik zou kiezen voor een taal met een brede userbase zodat je je vragen kunt stellen, maar die is aanwezig voor zowel php, python als perl. 
 
Als je een app wilt maken in de zin van het soort dat werkt op een smartphone en je kunt downloaden uit een app store dan vrees ik dat je daarvoor aan java vast komt te zitten. Dit is echter absoluut geen handige taal voor beginners, als je het als web-app kunt uitrollen zou ik kiezen voor php of desnoods python. 
Victory through technology

Gebruikersavatar
Berichten: 2.609

Re: Welke taal moet ik leren?

Als je puur geïnteresseerd bent in websites dan zou ik je aanraden om te beginnen met HTML en CSS.
Dat zijn GEEN programmeertalen, maar 'opmaak' talen. Je beschrijft op een gestructureerde manier hoe een pagina eruit ziet.
Met HTML en CSS maak je dus een website die gewoon content toont aan een user, maar qua functionaliteit kan je er niet veel insteken.
 
Om een 'interessante' website te maken moet je dus inderdaad iets gaan programmeren en dan moet je kiezen of je aan de kant van de client of aan de kant van de server iets gaat doen. Sowieso is het interessant om wat tutorials te zoeken over hoe het internet en websites werken (het HTTP protocol) en wat client/server juist betekent.
 
Dan is het misschien interessant om eens naar Javascript te kijken. (Javascript heeft niks te maken met Java. Dat zijn twee totaal verschillende talen.)
Met Javascript kan je aan de client-side code toevoegen die bijvoorbeeld checkt of de antwoorden van een quiz juist zijn en hier feedback over geeft. Het nadeel is dat je dan in de code van de website de antwoorden zal kunnen terugvinden, maar de gemiddelde internetgebruiker weet dat toch niet.
 
Om je website dan écht af te maken zal je aan de server kant ook een en ander moeten doen. Zoals Benm zegt heb je dan enorm veel mogelijkheden. Ik heb zelf de indruk dat PHP aan populariteit aan het verliezen is, maar dat is wellicht een van de eenvoudigere opties. Ik heb er zelf nooit mee gewerkt, maar misschien dat Node.js een interessant alternatief kan bieden. Je hebt ondertussen al Javascript geleerd om de client-side van je website te programmeren en Node.js is een Javascript-gebaseerde omgeving om je server mee te programmeren.
 
Ik ken zelf heel weinig van Javascript, maar op basis van mijn beperkte ervaring ermee en de dingen die ik erover lees lijkt het mij wel een goed startpunt als je voornamelijk in web-technologie geïnteresseerd bent.
 
Over apps: zoals Benm zegt kan je een website er "appy" laten uitzien en dat gebeurt ook heel vaak. Om een "echte" (native) app te maken moet je code schrijven voor je target platform en daar is het niet evident om dezelfde code zowel op Android én iOS én Windows te laten draaien aangezien die allemaal heel erg gebaseerd zijn op hun specifieke taal.

Berichten: 12.262

Re: Welke taal moet ik leren?

Javascript is leuk omdat je er client side dingen mee kan doen, en dus ook zonder webserver mee kunt programmeren. 
 
Nadeel is echter dat het m.i. een ontzettend "quirky" taal is. Als absolute beginner kan dat heel frustreren zijn omdat dingen niet werken en je soms geen idee hebt waarom, tenzij je weet dat er een gekke uitzondering is of iets dergelijks. Bovendien zijn de foutmeldingen vaak op zn best cryptisch, dus dat helpt ook niet aan het leerproces. 
 
Ik heb zelf de indruk dat PHP aan populariteit aan het verliezen is
 
Interessante indruk, maar op basis waarvan? Als je W3techs moet geloven blijkt dat in ieder geval niet echt https://w3techs.com/technologies/overview/programming_language/all
 
Overigens vraag ik me sowieso af wat de alternatieven zijn als het om server-side gaat. ASP is populair op microsoft platforms, maar onder linux kom ik in de praktijk weinig verder dan perl of python. Bovendien draaien veel grote sites op php, denk aan facebook, twitter, wikipedia, en uiteraard dit forum :)
Victory through technology

Gebruikersavatar
Berichten: 2.609

Re: Welke taal moet ik leren?

Ik ben zelf ook geen fan van Javascript en ben net als jij sceptisch over de rare manier van error handling, maar is nu eenmaal de enige taal om client side code te programmeren op dit moment en je kan er enorm veel mee. Je hebt libraries om LaTeX formules weer te geven, grafieken te plotten, je hebt WebGL, jQuery, etc. en het is een vrij eenvoudige taal om mee te starten.
 
Het statement over PHP is gebaseerd op (toegegeven niet-wetenschappelijke) artikels die ik tegenkom (o.a. op quora).
Facebook gebruikt inderdaad PHP, maar Twitter heeft het nooit gebruikt (gestart met ruby on rails en gebruikt nu Java en Scala).
De reden dat PHP zo hoog scoort op w3 is volgens mij omdat veel websites vertrouwen op oude systemen voor Blogs, Fora, etc. waar performantie absoluut niet belangrijk is. ASP omdat veel bedrijven op Microsoft vertrouwen voor hun infrastructuur.
 
Maar eerlijk waarom zou je nog PHP gebruiken terwijl je vandaag de dag zoveel andere opties hebt?
Je hebt JSP pagina's met in de backend Java gebruiken, of ASP.NET met eender welke .NET taal in de backend, of Python in een framework zoals Flask of Django.
 
Nu om eerlijk te zijn heb ik zelf nooit PHP gebruikt dus ik wil er niks slecht over zeggen. Ik heb zelf kleine webprojecten gemaakt in Java/JSP en Python/Django en vind het gewoon super dat dat zo vlot gaat.

Berichten: 12.262

Re: Welke taal moet ik leren?

Clientside kun je inderdaad niet zoveel anders doen, dus de vraag is eigenlijk meer of je per se clientside wilt beginnen. 
 
Als je bijvoorbeeld een quiz wilt maken zou ik de antworden serverside controleren, veel eenvoudiger en bovendien staan de antwoorden niet in de page source. 
 
Qua marktaandeel van php: een belangrijke factor is denk ik ook wel dat veel opensource webapplicaties in php geschreven zijn, denk aan dingen als wordpress, magento, phpbb en  dergelijke. Iemand die met open source "gratis" een weblog, webshop of forum wil opzetten zit dus al snel op php. Voor een deel zijn dit mensen die helemaal niet kunnen of willen programmeren, maar zo wel bijdragen aan het marktaandeel. 
 
Dit neem overigens niet weg dat het een vrij eenvoudige scripttaal is om mee te beginnen, de leercurve is niet zo stijl. Een scriptje om zeg 10 vragen te controleren op juistheid en een totaalscore te berekenen is voor een beginner heel snel te doen. Ik denk zelfs sneller dan in javascript, en het voordeel is dat je vrij gemakkelijk dingen kunt doen die met javascript niet gaan (databases gebruiken en dergelijke). 
Victory through technology

Berichten: 3

Re: Welke taal moet ik leren?

Bedankt voor informatieve reacties! Met client side bedoelen jullie front end neem ik aan en server side meer als back end? Ik heb verder gekeken naar wat de werkgevers zoeken, want stel dat mijn eigen project faalt, dan wil ik natuurlijk wel een back-up. Ik ben nu meer geïnteresseerd in Front end development en 9/10 vacatures vragen naar HTML, CSS en JS.
 
Om een website te kunnen beheren zeggen jullie dat er ook back end kennis vereist is. Hoe essentieel is dat?

Gebruikersavatar
Berichten: 17.663

Re: Welke taal moet ik leren?

Master Yoda schreef: Bedankt voor informatieve reacties! Met client side bedoelen jullie front end neem ik aan en server side meer als back end? Ik heb verder gekeken naar wat de werkgevers zoeken, want stel dat mijn eigen project faalt, dan wil ik natuurlijk wel een back-up. Ik ben nu meer geïnteresseerd in Front end development en 9/10 vacatures vragen naar HTML, CSS en JS.
 
Om een website te kunnen beheren zeggen jullie dat er ook back end kennis vereist is. Hoe essentieel is dat?
Client side is de browser, server side is de server (maar dat had je vast al geraden. ;) )
 
Frontend en backend is een andere onderverdeling. Client/server side wil alleen iets zeggen over waar hetgeen wat je gemaakt hebt, wordt uitgevoerd. Dat kan de server of de client zijn. Frontend/backend is eigenlijk meer een onderscheid tussen hetgeen je wel (front) en niet (back)end ziet. Backend  gaat vaak over interactie met de database, performance en beveiliging. Frontend gaat meer richting user interface en vormgeving. Frontend developers kunnen vaak simpelweg een call doen naar de backend met code als

Code: Selecteer alles

if ($backend->login($username, $password) == FALSE) {
     show_error('Ongeldige gebruikersnaam of wachtwoord');
} else {
    redirect('my_account');
}
De backend kijkt dan of de gebruiker valide is, of er geen misbruik plaatsvindt, etc. en geeft het resultaat daarvan terug.
 
(merk op: dit is een heel grove indeling en zeker niet in beton gegoten)
 
 
Xenion schreef: Maar eerlijk waarom zou je nog PHP gebruiken terwijl je vandaag de dag zoveel andere opties hebt?
Je hebt JSP pagina's met in de backend Java gebruiken, of ASP.NET met eender welke .NET taal in de backend, of Python in een framework zoals Flask of Django.
 
Nu om eerlijk te zijn heb ik zelf nooit PHP gebruikt dus ik wil er niks slecht over zeggen. Ik heb zelf kleine webprojecten gemaakt in Java/JSP en Python/Django en vind het gewoon super dat dat zo vlot gaat.
Beide argumenten gaan natuurlijk ook op voor elke andere willekeurige taal. Waarom zou je vandaag de dag nog JSP gebruiken als je zoveel andere opties hebt?
 
PHP is lang het zwarte schaap in de familie van programmeertalen geweest, maar dat is sinds PHP 5.4+ zeker niet meer het geval. Met de komst van PHP 7 vorig jaar is performance ook enorm toegenomen. Met een modern framework als Laravel of gewoon Symfony of CodeIgniter heb je binnen no-time een goede setup te pakken. Iets wat overigens zeer zeker niet uniek is aan PHP.
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -

Berichten: 12.262

Re: Welke taal moet ik leren?

Vaak is het ook wel zo dat webdevelopers die vooral aan het backend werken ook behoorlijke kennis hebben van het front end, sowieso qua html, css en javascript. Niet dat de gemiddelde backend developer meteen een css expert is, maar een fatsoenlijk stukje html schrijven of een paar regels javascript horen gewoon bij het gangbare werk. 
 
Het gebeurd mij vaak genoeg dat ik vanuit php stukjes javascript genereer, en met technieken als AJAX kom je daar amper onderuit. Niet dat dat javascript verhaal erg moeilijk is, maar het zou onhandig zijn daar telkens een ander voor te moeten raadplegen. 
 
Websites zonder enig back end zie je overigens niet zoveel meer. Uiteraard kan het wel voor heel statische pagina's, maar in de regel werkt men liever met bijvoorbeeld een content management systeem om inhoud aan te passen dan met een verzameling html files die handmatig bijgewerkt moeten worden etc. 
 
Maar ook iets heel simpels als een contactformulier is zonder backend niet of nauwelijks te realiseren. 
 
Werkgevers kunnen wel zoeken naar specifieke frontend developers, maar dat zal vooral het geval zijn als ze al backend developers in dienst hebben. Je krijgt dat een team met frontend developers die vooral verantwoordelijk zijn voor de 'bling' en backend developers die zorgen voor de functionaliteit. 
 
Als je interesse dichter bij programmeren dan bij grafisch vormgeven ligt zou ik me concentreren op het back end. 
Victory through technology

Gebruikersavatar
Berichten: 17.663

Re: Welke taal moet ik leren?

Ik kan een heel eind onderschrijven wat Benm hier schrijft, maar met deze zin doe je n.m.m. een frontender toch echt wel tekort:
Benm schreef: Als je interesse dichter bij programmeren dan bij grafisch vormgeven ligt zou ik me concentreren op het back end. 
 
Bij mijn vorige werkgever werkte ik samen met een collega aan de backend, een derde collega was verantwoordelijk voor de frontend én we hadden nog een art director. Die zorgde ook voor de "papieren" vormgeving en leverde het artwork aan voor de frontender. De taak van de frontender was om de voorkant van de webshops te maken die aansloot op onze interne API en die gebruik maakte van het artwork wat ook naar de drukker ging. Maar daarbij moest e.e.a. ook een zo sterk mogelijke user interface hebben die voor iedereen te begrijpen was en voor zoveel mogelijk sales zorgde. En dat natuurlijk op zoveel mogelijk apparaten (e.g. responsive) en snel. Want je kunt natuurlijk leuk artwork hebben van 10MB per pagina die bij iedere pageload meegestuurd wordt, maar daar worden mensen met beperkte internetbundels ook niet vrolijk van.
 
Kortom: grafische vormgeving is slechts één aspect van het werk van een frontender en afhankelijk van het bedrijf hoeft het niet eens te betekenen dat je zelf weet hoe bijvoorbeeld Photoshop werkt.
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -

Berichten: 12.262

Re: Welke taal moet ik leren?

Dat kan inderdaad per bedrijf nogal verschillen, naarmate teams groter zijn zijn de rollen vaak specialistischer. 
 
Overigens kun je je ook nog afvragen in hoeverre bijvoorbeeld CSS werk voor responsive design eigenlijk wel of geen programmeerwerk is. 
 
Traditioneel wordt het m.i. niet als zodanig geduid, maar voor een responsive styling van een complexe website begint het er soms wel aardig op te lijken: niet zo zeer qua syntax, maar wel qua 'puzzelgehalte'.  
Victory through technology

Berichten: 3

Re: Welke taal moet ik leren?

Bedankt voor alle reacties. Ik heb besloten om met JS aan de slag te gaan, maar nu lees ik dat het verstandig is om eerst met HTML en CSS te beginnen. Na verder onderzoek ben ik er ook achter gekomen dat HTML5 en CSS3 bestaat en redelijk stabiel is nu.
Kan ik in 2016-2017 HTML overslaan en beginnen met HTML5/CSS3? Wat lijkt jullie het verstandigst?

Berichten: 12.262

Re: Welke taal moet ik leren?

Ik zou gewoon beginnen met de huidige stand der techniek, dus html5 voor zover het ondersteund wordt door alle grote browsers. 
 
Het zou kunnen dat daarmee gemaakte pagina's niet correct worden weergegeven op oudere systemen, maar daarover hoef je je denk ik niet druk te maken als je in de leerfase zit. Tegen de tijd dat je er echt goed in bent zijn, hopelijk, wat nu nog legacy systemen zijn, inmiddels wel buiten gebruik genomen ;)
 
Die oudere systemen zijn vaak windows-xp machines waar men alleen internet explorer (8) op mag draaien. Soms zie je die nog wel in bedrijfsomgevingen en bij de overheid etc, maar het marktaandeel is <10% en zakkende. 
Victory through technology

Gebruikersavatar
Berichten: 2.609

Re: Welke taal moet ik leren?

Zoals Benm zegt: leer de moderne technieken (HTML5 en CSS3). Zo geweldig veel verschil gaat er niet zijn, behalve dan dat een hoop dingen ineens veel gemakkelijker worden. Het is ook een goed idee om een doel voor ogen te hebben. Ik wil een website bouwen die de volgende functionaliteit heeft...

Reageer