laat me eerst zeggen dat ik "me wel kan redden" met bv php en bash scripting (en vroeger batch scripting ook)...
maar de tijd dat ik mezelf php aanleerde was in de tijd van php 3... je weet wel, totaal niet gemaakt voor meer dan simpele websites.
en dus heb ik mezelf (i know, shame on me) nooit object-oriented aangeleerd (wel de basis van werken met classes).
ik heb wel al eens wat naar java gekeken (best leuke met die javabridge tussen php en java), maar nog geen tijd in geinvesteerd verder.
gezien php7 binnenkort uitkomt, en dit me wel best veel op een "echte" programmeertaal begint te lijken, is de interesse terug wat aangewakkerd,
maar ik wil het deze keer, als ik er terug tijd insteek, wel GOED doen (probleem: ik zie graag snél resultaten, dus moet eenvoudig praktijkgericht te leren vallen en niet eerst een 300 pagina boek voor lezen), en dus wil ik ook een goede taal kiezen.
vereisten:
- cross-platform (liefst: linux, windows, web)
- object-oriented met een niet té hoge leercurve
- met een goede (free) editor (en dewelke?)
- liefst eentje dat ook een "springplank" biedt naar andere talen (wegens gelijkenissen)
ik zit dus in mijn hoofd met php7 (maar dat is nog steeds voornamelijk webbased), java (maar iets zegt me dat dat niet mijn ding is), python, en perl.
tips zijn welkom voor ik me ergens instort
tia!
beste programmeertaal om te leren?
-
- Elite Poster
- Berichten: 1457
- Lid geworden op: 19 dec 2011, 18:42
- Locatie: Heist-op-den-Berg
- Uitgedeelde bedankjes: 483 keer
- Bedankt: 98 keer
- Contacteer:
Bij ons op de UA wordt er in het eerste jaar gestart met Python en vervolgens overgegaan naar c++.
Python gebeurt aan de hand van dit - gratis te downloaden - boek: http://www.greenteapress.com/thinkpython/ .
Python voldoet aan zowat al je eisen en is simpel genoeg om 'snel resultaten te zien'. Dat is trouwens iets waar het boek ook op inspeelt. Het boek speelt ook in op het leren programmeren zelf, niet specifiek op Python. Eens je dus vertrokken bent met de basisprincipes kan je deze ook redelijk makkelijk porteren naar andere talen.
Python gebeurt aan de hand van dit - gratis te downloaden - boek: http://www.greenteapress.com/thinkpython/ .
Python voldoet aan zowat al je eisen en is simpel genoeg om 'snel resultaten te zien'. Dat is trouwens iets waar het boek ook op inspeelt. Het boek speelt ook in op het leren programmeren zelf, niet specifiek op Python. Eens je dus vertrokken bent met de basisprincipes kan je deze ook redelijk makkelijk porteren naar andere talen.
-
- Elite Poster
- Berichten: 1749
- Lid geworden op: 24 aug 2011, 10:27
- Uitgedeelde bedankjes: 87 keer
- Bedankt: 140 keer
Python lijkt mij inderdaad de beste keuze,
er zijn verschillende editors/IDE's mogelijk maar een persoonlijk zou ik gaan voor de gratis versie van PyCharm(ondersteunt wel niet alles wat de betalende versie van PyCharm ondersteunt).
er zijn verschillende editors/IDE's mogelijk maar een persoonlijk zou ik gaan voor de gratis versie van PyCharm(ondersteunt wel niet alles wat de betalende versie van PyCharm ondersteunt).
-
- Erelid
- Berichten: 3373
- Lid geworden op: 09 sep 2002, 18:19
- Locatie: Belgium, Bever
- Uitgedeelde bedankjes: 87 keer
- Bedankt: 109 keer
- Contacteer:
Als je echt oo wil gaan en je de syntax niet wil laten afhangen van spaties/tabs, dan zou ik voor Ruby kiezen.
Voldoet aan al je eisen en is een super instapper.
[ Post made via mobile device ]
Voldoet aan al je eisen en is een super instapper.
[ Post made via mobile device ]
-
- Elite Poster
- Berichten: 783
- Lid geworden op: 09 apr 2006, 17:48
- Twitter: nathan_gs
- Uitgedeelde bedankjes: 130 keer
- Bedankt: 55 keer
Python lijkt me een goede keuze, al is de afwezigheid van types een groot nadeel. Ruby heeft hetzelfde probleem als Python op dat vlak.
De Python wereld op dit moment is een beetje in split tussen 2 vs 3, ook iets om mee rekening te houden.
Er is de laatste jaren zeer veel te doen om Functioneel Programmeren, als je op zoek bent naar een taal die zowel OO als FP kan doen en tegelijk compatibel is met Java kan je best eens kijken naar Scala.
De Python wereld op dit moment is een beetje in split tussen 2 vs 3, ook iets om mee rekening te houden.
Er is de laatste jaren zeer veel te doen om Functioneel Programmeren, als je op zoek bent naar een taal die zowel OO als FP kan doen en tegelijk compatibel is met Java kan je best eens kijken naar Scala.
-
- Premium Member
- Berichten: 460
- Lid geworden op: 22 dec 2004, 14:17
- Uitgedeelde bedankjes: 5 keer
- Bedankt: 53 keer
Hangt er vanaf wat je wil... de "beste" programmeertaal is niet altijd de meest gebruikte op de arbeidsmarkt. En wat voor de één een leuke taal is, is voor de andere een pain in the ass...
Zie ook: http://www.tiobe.com/index.php/content/ ... index.html
Zie ook: http://www.tiobe.com/index.php/content/ ... index.html
Python heeft natuurlijk wel types! Net zoals Ruby! Anders zou je geen klassen kunnen aanmaken en gebruiken in beide talen. Waar jij het over hebt is dynamische of statische types. Bij Java moeten al je classes op voorhand gekend zijn bij compile time (statisch). Python & Ruby werken niet zo en wordt alles dynamisch ingeladen (op het moment dat je een stuk code gebruikt). Je kan in Python & Ruby op elk moment een nieuw type maken.Liber! schreef:Python lijkt me een goede keuze, al is de afwezigheid van types een groot nadeel. Ruby heeft hetzelfde probleem als Python op dat vlak.
De Python wereld op dit moment is een beetje in split tussen 2 vs 3, ook iets om mee rekening te houden.
Er is de laatste jaren zeer veel te doen om Functioneel Programmeren, als je op zoek bent naar een taal die zowel OO als FP kan doen en tegelijk compatibel is met Java kan je best eens kijken naar Scala.
Beide systemen hebben hun voor & nadelen. Statisch zorgt ervoor dat je type fouten op voorhand al kunt achterhalen, met het nadeel minder flexibel te zijn in wat je kunt doen (of je hebt een pak meer code nodig). Je moet in dynamische talen ook niet denken in functie van 'types'. Je denkt daar in functie van welke interfaces die objecten ondersteunen. Welk specifiek type object het is kan je niet veel schelen.
- Kenw00t
- Elite Poster
- Berichten: 1778
- Lid geworden op: 28 dec 2008, 19:38
- Uitgedeelde bedankjes: 346 keer
- Bedankt: 250 keer
Python kan je ook interactief en gratis leren op bepaalde websites zoals Codecademy: https://www.codecademy.com/
Ik vind dat echt een laagdrempelige manier om eraan te beginnen, en net dat is het belangrijkste.
Er is ook nog Learn Code The Hard Way: http://learncodethehardway.org/
Eigenlijk is dat betalend, maar het boek staat toch gratis online op die website. Ook hier hebben ze Python.
En hier nog een overzichtje van de populairste talen: http://www.wired.com/2015/08/github-dat ... landscape/
Ik vind dat echt een laagdrempelige manier om eraan te beginnen, en net dat is het belangrijkste.
Er is ook nog Learn Code The Hard Way: http://learncodethehardway.org/
Eigenlijk is dat betalend, maar het boek staat toch gratis online op die website. Ook hier hebben ze Python.
En hier nog een overzichtje van de populairste talen: http://www.wired.com/2015/08/github-dat ... landscape/
-
- Elite Poster
- Berichten: 1457
- Lid geworden op: 19 dec 2011, 18:42
- Locatie: Heist-op-den-Berg
- Uitgedeelde bedankjes: 483 keer
- Bedankt: 98 keer
- Contacteer:
Python is inderdaad misschien niet zo gegeerd op de arbeidsmarkt, maar vind ik persoonlijk wel de beste methode om vertrouwd te geraken met de basisprincipes van programmeren. Eens je die onder de knie hebt, is het maar een kwestie van syntax aanpassen en je kan je kennis porteren naar een andere programmeertaal.
Python heeft misschien in het bedrijfsleven niet de naam om veel gebruikt te worden. Maar verschiet niet hoe vaak het effectief wordt gebruikt .
Veel van Google's producten zijn in Python geschreven. Op mijn werk schrijf ik alle interne tools ook in python. Het is nu eenmaal een heel productieve taal. In java zou ik vaak het dubbel aantal lijnen code moeten schrijven om hetzelfde te bereiken.
Wat ook het leuke aan Python is dat je op alle niveaus kunt programmeren. Je kan een eenvoudig script maken zonder functies, daarna de zaken in functies gooien. Wordt het nog ingewikkelder kan je zaken groeperen in classes of over verschillende python files (modules). Dat maakt het ook toegankelijk om te groeien naargelang welke noden je hebt. Maar wat het belangrijkste voor jouw hier is dat je taal meegroeit met je kennis & kunnen. Je kan eenvoudig beginnen en stap voor stap opbouwen.
Veel van Google's producten zijn in Python geschreven. Op mijn werk schrijf ik alle interne tools ook in python. Het is nu eenmaal een heel productieve taal. In java zou ik vaak het dubbel aantal lijnen code moeten schrijven om hetzelfde te bereiken.
Wat ook het leuke aan Python is dat je op alle niveaus kunt programmeren. Je kan een eenvoudig script maken zonder functies, daarna de zaken in functies gooien. Wordt het nog ingewikkelder kan je zaken groeperen in classes of over verschillende python files (modules). Dat maakt het ook toegankelijk om te groeien naargelang welke noden je hebt. Maar wat het belangrijkste voor jouw hier is dat je taal meegroeit met je kennis & kunnen. Je kan eenvoudig beginnen en stap voor stap opbouwen.
-
- Elite Poster
- Berichten: 1218
- Lid geworden op: 01 nov 2005, 10:53
- Locatie: Pelt
- Uitgedeelde bedankjes: 27 keer
- Bedankt: 56 keer
Als het voor de arbeidsmarkt is, zou ik zeggen C++. Maar dan nog is het afhankelijk van in welke sector je werkzaam wil zijn.
Er zijn genoeg .NET ontwikkelaars, maar goede C++ ontwikkelaars zijn echt moeilijk te vinden.
Er zijn genoeg .NET ontwikkelaars, maar goede C++ ontwikkelaars zijn echt moeilijk te vinden.
-
- Elite Poster
- Berichten: 1457
- Lid geworden op: 19 dec 2011, 18:42
- Locatie: Heist-op-den-Berg
- Uitgedeelde bedankjes: 483 keer
- Bedankt: 98 keer
- Contacteer:
+1 voor C++ op termijn, maar Python is veel makkelijker om mee te beginnen. Een je de basisprincipes kent is c++ wel veel leuker om mee te werken.
- Splitter
- Elite Poster
- Berichten: 4578
- Lid geworden op: 10 maa 2010, 12:30
- Uitgedeelde bedankjes: 58 keer
- Bedankt: 446 keer
thx guys!
euromusic: ik zoek een taal die zowel web als applicatie kan, dus javascript en nodejs zijn niet aan mij besteed,
anders zou de keuze zowiezo php7 zijn (en die keuze kan er nog steeds zijn... ik heb in het verleden in oudere php versies ook apps gemaakt voor linux zoals - waar is de tijd - een irc bot)
voor de rest: het is zeker (nog) niet om dat als job te gaan doen, daarvoor moet ik wel wat meer tijd erin steken en écht serieus leren,
wat momenteel niet zo denderend is.
het komt er gewoon eigenlijk op neer dat ik het best ontzettend mis om dingen te maken en het erg begin te vinden dat mijn kennis - die niet optimaal was - ook begint weg te zinken.
ik heb vroeger nog .bat files gemaakt (dat was leuk), af en toe een bash scriptje (dat kan irritant zijn ), en php gescript (en daar probeerde ik dus echt alles mee)
om nu dus terug wat te spelen + kennis op te doen ben ik op zoek naar de "beste" taal om cross-platform te werken, op een manier dat eenvoudig en praktijkgericht is, en waarbij je dus de kennis vergaart om vanalles te doen en eventueel sneller te switchen naar een andere taal.
het zal momenteel dus python worden, het aangehaalde pdf bestandje is erg handig + de site om python te leren is best leuk.
het feit dat je met python zowel in terminal als voor site zaken kan maken, staat me ook erg aan, gezien ik van die combinatie hou (lukt het ene ff niet, switchen naar het andere - en ja, ik ben best snel afgeleid)
wat ik wél merk is dat ik verdomde veel de neiging heb zaken te "kopieren" uit php in de verwachting "python zal dat ook wel kennen"...
dat bijt me nog best vaak in het gat
wel even een vraagje voor de python kenners: wat is de beste manier om een pagina-lijst te kiezen?
oftewel, laat me het ff duidelijker maken met een voorbeeldje:
http://prul.be is de site
http://prul.be/source.txt is de code
NATUURLIJK is dat alles behalve efficient/proper/... maar het is dan ook het eerste dat ik doe, en ik zoek nu even wat hints naar "hoe moet het eigenlijk",
zodat ik weer wat bij kan leren.
(ik leer veel beter van proberen en falen en vragen hoe het beter kan, dan van een boek en instructies te volgen)
edit: overigens is mijn editor momenteel gewoon vim, tot ik grafische dingen ga proberen - maar dat is nog een heel eind weg
euromusic: ik zoek een taal die zowel web als applicatie kan, dus javascript en nodejs zijn niet aan mij besteed,
anders zou de keuze zowiezo php7 zijn (en die keuze kan er nog steeds zijn... ik heb in het verleden in oudere php versies ook apps gemaakt voor linux zoals - waar is de tijd - een irc bot)
voor de rest: het is zeker (nog) niet om dat als job te gaan doen, daarvoor moet ik wel wat meer tijd erin steken en écht serieus leren,
wat momenteel niet zo denderend is.
het komt er gewoon eigenlijk op neer dat ik het best ontzettend mis om dingen te maken en het erg begin te vinden dat mijn kennis - die niet optimaal was - ook begint weg te zinken.
ik heb vroeger nog .bat files gemaakt (dat was leuk), af en toe een bash scriptje (dat kan irritant zijn ), en php gescript (en daar probeerde ik dus echt alles mee)
om nu dus terug wat te spelen + kennis op te doen ben ik op zoek naar de "beste" taal om cross-platform te werken, op een manier dat eenvoudig en praktijkgericht is, en waarbij je dus de kennis vergaart om vanalles te doen en eventueel sneller te switchen naar een andere taal.
het zal momenteel dus python worden, het aangehaalde pdf bestandje is erg handig + de site om python te leren is best leuk.
het feit dat je met python zowel in terminal als voor site zaken kan maken, staat me ook erg aan, gezien ik van die combinatie hou (lukt het ene ff niet, switchen naar het andere - en ja, ik ben best snel afgeleid)
wat ik wél merk is dat ik verdomde veel de neiging heb zaken te "kopieren" uit php in de verwachting "python zal dat ook wel kennen"...
dat bijt me nog best vaak in het gat
wel even een vraagje voor de python kenners: wat is de beste manier om een pagina-lijst te kiezen?
oftewel, laat me het ff duidelijker maken met een voorbeeldje:
http://prul.be is de site
http://prul.be/source.txt is de code
NATUURLIJK is dat alles behalve efficient/proper/... maar het is dan ook het eerste dat ik doe, en ik zoek nu even wat hints naar "hoe moet het eigenlijk",
zodat ik weer wat bij kan leren.
(ik leer veel beter van proberen en falen en vragen hoe het beter kan, dan van een boek en instructies te volgen)
edit: overigens is mijn editor momenteel gewoon vim, tot ik grafische dingen ga proberen - maar dat is nog een heel eind weg
-
- Elite Poster
- Berichten: 1457
- Lid geworden op: 19 dec 2011, 18:42
- Locatie: Heist-op-den-Berg
- Uitgedeelde bedankjes: 483 keer
- Bedankt: 98 keer
- Contacteer:
Vim is love, vim is life <3Splitter schreef:edit: overigens is mijn editor momenteel gewoon vim, tot ik grafische dingen ga proberen - maar dat is nog een heel eind weg
Wel eerst en vooral als je bepaalde functionaliteit nodig hebt, kijk eerst of het niet al in de standard libraries van Python zit! Je kan je niet voorstellen wat daar allemaal in zit .
Als je websites wilt maken kan je aanraden het wiel niet opnieuw uit te vinden. Er zijn toolkits genoeg in Python om een simpele web applicatie te maken.
Enkele libs:
- Flask (http://flask.pocoo.org/)
- of Bottle (http://bottlepy.org/docs/dev/index.html)
- Voor template zou ik Jinja2 aanraden (http://jinja.pocoo.org/docs/dev/)
- Voor databases kan niks tippen aan SQLAlchemy (http://www.sqlalchemy.org/)
- Als je full blown framework wilt gebruiken is in python Django heer en meester (https://www.djangoproject.com/)
Daarmee kan je snel iets maken waar je resultaat van zal zien! Altijd motiverend
Als je websites wilt maken kan je aanraden het wiel niet opnieuw uit te vinden. Er zijn toolkits genoeg in Python om een simpele web applicatie te maken.
Enkele libs:
- Flask (http://flask.pocoo.org/)
- of Bottle (http://bottlepy.org/docs/dev/index.html)
- Voor template zou ik Jinja2 aanraden (http://jinja.pocoo.org/docs/dev/)
- Voor databases kan niks tippen aan SQLAlchemy (http://www.sqlalchemy.org/)
- Als je full blown framework wilt gebruiken is in python Django heer en meester (https://www.djangoproject.com/)
Daarmee kan je snel iets maken waar je resultaat van zal zien! Altijd motiverend
Splitter schreef:thx guys!
euromusic: ik zoek een taal die zowel web als applicatie kan, dus javascript en nodejs zijn niet aan mij besteed,
anders zou de keuze zowiezo php7 zijn (en die keuze kan er nog steeds zijn... ik heb in het verleden in oudere php versies ook apps gemaakt voor linux zoals - waar is de tijd - een irc bot)
voor de rest: het is zeker (nog) niet om dat als job te gaan doen, daarvoor moet ik wel wat meer tijd erin steken en écht serieus leren,
wat momenteel niet zo denderend is.
het komt er gewoon eigenlijk op neer dat ik het best ontzettend mis om dingen te maken en het erg begin te vinden dat mijn kennis - die niet optimaal was - ook begint weg te zinken.
ik heb vroeger nog .bat files gemaakt (dat was leuk), af en toe een bash scriptje (dat kan irritant zijn ), en php gescript (en daar probeerde ik dus echt alles mee)
om nu dus terug wat te spelen + kennis op te doen ben ik op zoek naar de "beste" taal om cross-platform te werken, op een manier dat eenvoudig en praktijkgericht is, en waarbij je dus de kennis vergaart om vanalles te doen en eventueel sneller te switchen naar een andere taal.
het zal momenteel dus python worden, het aangehaalde pdf bestandje is erg handig + de site om python te leren is best leuk.
het feit dat je met python zowel in terminal als voor site zaken kan maken, staat me ook erg aan, gezien ik van die combinatie hou (lukt het ene ff niet, switchen naar het andere - en ja, ik ben best snel afgeleid)
wat ik wél merk is dat ik verdomde veel de neiging heb zaken te "kopieren" uit php in de verwachting "python zal dat ook wel kennen"...
dat bijt me nog best vaak in het gat
wel even een vraagje voor de python kenners: wat is de beste manier om een pagina-lijst te kiezen?
oftewel, laat me het ff duidelijker maken met een voorbeeldje:
http://prul.be is de site
http://prul.be/source.txt is de code
NATUURLIJK is dat alles behalve efficient/proper/... maar het is dan ook het eerste dat ik doe, en ik zoek nu even wat hints naar "hoe moet het eigenlijk",
zodat ik weer wat bij kan leren.
(ik leer veel beter van proberen en falen en vragen hoe het beter kan, dan van een boek en instructies te volgen)
edit: overigens is mijn editor momenteel gewoon vim, tot ik grafische dingen ga proberen - maar dat is nog een heel eind weg
- Splitter
- Elite Poster
- Berichten: 4578
- Lid geworden op: 10 maa 2010, 12:30
- Uitgedeelde bedankjes: 58 keer
- Bedankt: 446 keer
nou, ik ben niet helemaal eens van het wiel niet opnieuw uit te vinden.
ja, frameworks zijn handig en veel logischer om te gebruiken- tuurlijk.
maar gezien ik nog python aan het leren ben, zou een framework gebruiken "the root of all evil zijn":
- je leert véél minder van de taal (het framework doet alles, en jij aanvaard dat het gewoon werkt)
- door van in het begin een framework te gebruiken, krijg je ook sneller een soort "vendor lock-in": dit ken ik, dus dit blijf ik gebruiken
het is verder ook niet de bedoeling (enkel) websites te maken met python, maar het is een handige springplank, gezien ik al html/css ken,
en in php vroeger al sites maakte.
uiteindelijk zal ik natuurlijk wel een framework gaan gebruiken als ik sites maak in python, eens ik de taal genoeg ken,
net zoals ik nu al mako gebruik als template engine (gezien dat sneller en properder werkt, en de code zo gefocust kan blijven op de code)
overigens wel eens even naar Bottle gekeken, en ondanks hun mening dat het simpel en eenvoudig is, heb ik het niet dadelijk aan de praat gekregen...
let ook: ik weiger zaken in mijn system-wide python installatie bij te installeren of andere zaken te doen waardoor het "minder portable" zou worden,
dus alles moet ook gewoon in de app dir zitten.
ja, frameworks zijn handig en veel logischer om te gebruiken- tuurlijk.
maar gezien ik nog python aan het leren ben, zou een framework gebruiken "the root of all evil zijn":
- je leert véél minder van de taal (het framework doet alles, en jij aanvaard dat het gewoon werkt)
- door van in het begin een framework te gebruiken, krijg je ook sneller een soort "vendor lock-in": dit ken ik, dus dit blijf ik gebruiken
het is verder ook niet de bedoeling (enkel) websites te maken met python, maar het is een handige springplank, gezien ik al html/css ken,
en in php vroeger al sites maakte.
uiteindelijk zal ik natuurlijk wel een framework gaan gebruiken als ik sites maak in python, eens ik de taal genoeg ken,
net zoals ik nu al mako gebruik als template engine (gezien dat sneller en properder werkt, en de code zo gefocust kan blijven op de code)
overigens wel eens even naar Bottle gekeken, en ondanks hun mening dat het simpel en eenvoudig is, heb ik het niet dadelijk aan de praat gekregen...
let ook: ik weiger zaken in mijn system-wide python installatie bij te installeren of andere zaken te doen waardoor het "minder portable" zou worden,
dus alles moet ook gewoon in de app dir zitten.
Ik snap wel dat je meer zult bijleren (over hoe je een web applicatie schrijft) als je geen framework gebruikt. Maar door code/libraries van andere te gebruiken leer je ook bij hoe je zaken kan ontwerpen. Of je kan leren hoe ze niet te ontwerpen . Het hangt van je eigen af of je vast blijft hangen een een bepaalde tool. NU als iets goed werkt en je het ermee gedaan krijgt kan het op zich ook niet kwaad.
Je kan 'silos' van python environments maken voor elke applicatie apart zonder het in je algemene python te moeten installeren. Kijk eens naar virtualenv. Dat zal je veel moeite besparen! https://virtualenv.pypa.io/en/latest/userguide.html Meestal heb je het al staan als je Python installeert.
Aanmaken:
'virtualenv ./path/to_env/'
Gebruiken:
./path/to_env/Scripts/activate.bat
of
./path/to_env/bin/activate
Iets installeren kan je dan gewoon met pip:
pip install bottle
pip install mako
Je kan 'silos' van python environments maken voor elke applicatie apart zonder het in je algemene python te moeten installeren. Kijk eens naar virtualenv. Dat zal je veel moeite besparen! https://virtualenv.pypa.io/en/latest/userguide.html Meestal heb je het al staan als je Python installeert.
Aanmaken:
'virtualenv ./path/to_env/'
Gebruiken:
./path/to_env/Scripts/activate.bat
of
./path/to_env/bin/activate
Iets installeren kan je dan gewoon met pip:
pip install bottle
pip install mako