Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Beginnen met programmeren  (gelezen 8355 keer)

Beginnen met programmeren
« Gepost op: 2008/11/23, 18:17:52 »
Hallo allemaal,

Zoals de titel al zegt: ik wil graag beginnen met programeren. Vanaf 0, eigenlijk. Ik heb wel al wat ervaring met microcontrollers in PROTON+ PICBASIC, en in BASCOM, evenals TI-basic op de TI84+, maar verder kan ik niet programeren. Op misschien enkele woorden HTML na spreek ik geen computertaal.

Wat ik graag zou willen leren is communiceren (via seriele poort) met mijn microcontrollerprojectjes. De microcontrollerkant daarvan weet ik al, ik kan ook tekst en variabelen in hyperterminal ontvangen (windows ja, maar ik draai nu al een aardig tijdje ubuntu, er staat nog windows op een andere PC waarop ik mijn AVR's programmeer, en windows in een virtuele machine op deze PC om PROTON PDS te draaien).
(ik vraag me af of er zoiets is als hyperterminal, maar dan voor Ubuntu? Vast wel, ik moet toegeven dat ik er ook nog niet erg naar gezocht heb.)

Ook gewoon een beetje programmatjes maken die iets "nuttigs" doen lijkt me leuk, te beginnen met een programmatje dat "hello word" in een venster op mijn scherm zet. :)

Verder heb ik wel het een en ander gezocht naar programeertalen, en zit nu met de volgende dingen:
Kdevelop: Heeft pakket build-essentials nodig wat ik niet kan vinden met toevoegen/verwijderen, werkt dus niet
Anjuta: Heeft een hele hoop pakketten nodig gehad die ik via apt-get bijna allemaal te pakken heb gekregen, op glib na. glib heb ik wel kunnen downloaden, maar ik krijg het niet geinstaleerd... Ik probeer deze tut te volgen, maar alles ziet er ook een beetje anders uit, denk dat ik een nieuwere versie heb oid. Desondanks kan ik het meeste wel vinden, al lukt het me niet om te builden omdat ik glib mis, en ik kan in "view" (beeld, bij mij) glade niet vinden, wel bij bestand>nieuw.
DrScheme: nog niet echt uitgeprobeert, maar zou gebruiksvriendelijk zijn
Basic-256: Een kind kan de was doen, maar dit kan niet met de seriële poort communiceren als ik de lijst met commando's zo doorlees.

verder hád ik de volgende dingen:
Gambas: in het verleden eens geprobeert maar lukte ook niet, weet niet meer precies waarom.

Dus kan misschien een van jullie mij helpen met leren programeren?
Alvast bedankt!
« Laatst bewerkt op: 2008/11/23, 18:19:23 door Lucky_Luke »

gangas

  • Gast
Re: Beginnen met programmeren
« Reactie #1 Gepost op: 2008/11/23, 18:59:12 »
Wil je dit via de webbrowser doen? of via een bin bestand?

Via webbrowser, kan je javascript gaan leren, voor een bin bestand zou ik Perl gaan leren!

Eider

  • Gast
Re: Beginnen met programmeren
« Reactie #2 Gepost op: 2008/11/23, 19:07:31 »
Lijkt mij ook interessant.

Ik ben ook wel eens bezig met microprocessors via PicBasic :).
Nu gebruik ik daar nog windows voor.
Ik weet eigenlijk niet of er ook iets voor Ubuntu voor is?

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Beginnen met programmeren
« Reactie #3 Gepost op: 2008/11/24, 01:23:45 »
voor een bin bestand zou ik Perl gaan leren!
Persoonlijk zou ik dat ten strengste afraden. Ik krijg Perl nu op school aangeleerd en ben er een trauma van aan het oplopen. Persoonlijk vind ik Python veel logischer/eenvoudiger/uitgebreider.
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Re: Beginnen met programmeren
« Reactie #4 Gepost op: 2008/11/24, 16:23:53 »
voor een bin bestand zou ik Perl gaan leren!
Persoonlijk zou ik dat ten strengste afraden. Ik krijg Perl nu op school aangeleerd en ben er een trauma van aan het oplopen. Persoonlijk vind ik Python veel logischer/eenvoudiger/uitgebreider.

Hoewel ik zelf constant in Python programmeer zou ik Perl niet zo afschieten. Vergelijk Perl met assembler en Python met C++  >:D
www.sinax.be
Open Source Integrators, consulting and custom development

Re: Beginnen met programmeren
« Reactie #5 Gepost op: 2008/11/24, 21:04:36 »
Ik ken geen C++, wel een beetje asm, maar te weinig om wat mee te kunnen. Dus ik weet niet waar ik perl / phyton mee moet vergelijken.

Het gaat me er ook niet echt om wat een goede programmeertaal is. Ik zie heel erg veel C++ voorbij vliegen, dus dat lijkt me wel redelijk ok, al zie ik er tegen op om al die haakjes te gaan moeten doorgronden...

Ik heb gisteren nog even Kdevelop geprobeerd en tot mijn verbazing bleek het het voorbeeldproje toch te willen builden. Zeker vanwege al die pakketen die ik voor Anjuta heb geinstaleerd. Afijn, ik heb nu een voorbeeldprogje (wat al bij Kdevelop zat) weten te builden, en ik heb het ook al in een terminal weten te runnen. Het zegt "hello word", meer doet het niet. Tijd om er de Kdevelop Tutorial weer bij te halen: http://www.sco.com/skunkware/kde/kdevelop_tutorial/ . Zo gezegd, zo gedaan. Ook hier doen ze iets met glade, wat ik in het menu "Vieuw" zou moeten kunnen vinden. Zou moeten kunnen, want ik zie het niet staan bij "beeld"...

Zitten hier mensen die met Kdevelop werken die me kunnen helpen?

EDIT: ik heb toch maar even het paket build-essential opgezocht met synaptic, en geinstaleerd, voor geval ik nog dingen mis.
« Laatst bewerkt op: 2008/11/24, 21:09:50 door Lucky_Luke »

Re: Beginnen met programmeren
« Reactie #6 Gepost op: 2008/11/24, 21:13:46 »
Lijkt mij ook interessant.

Ik ben ook wel eens bezig met microprocessors via PicBasic :).
Nu gebruik ik daar nog windows voor.
Ik weet eigenlijk niet of er ook iets voor Ubuntu voor is?
[offtopic]
Ken je CircuitsOnline.net? dat is een site voor elektronica-enthousiastelingen. Op het forum daar heet ik hetzelfde als hier. Als je het nog niet kent: neem eens een kijkje, echt een leuk forum daar.

Verder: Ik run picbasic door middel van een virtuele machine in Virtualbox. Dus inderdaad eigenlijk gewoon ook windows...
[/offtoppic]


Offline DivinGGoD

  • Lid
Re: Beginnen met programmeren
« Reactie #7 Gepost op: 2008/11/24, 21:14:43 »
als je net begint is de bascom avr demo ide genoeg,
deze werkt bij mij goed in wine, ik geloof dat ze ook een versie voor linux hebben!

Re: Beginnen met programmeren
« Reactie #8 Gepost op: 2008/11/24, 22:03:53 »
Bascom doet toch geen PIC's? (het gaat wel heel erg offtopic nu).

Ik werk ook met AVR, en wel in bascom, maar op een andere PC (is eigenlijk niet meer nodig sinds ik een fatsoenlijker programmer heb dan enkele weerstanden en een paralle poort). Gewoon om eens wat anders te proberen, ik heb PDS gekocht, dus geen limieten daarop.

Misschien is MikroBasic iets? Dat heeft geen USB dongle en zou dus wel eens kunnen runnen in wine.

Ontopic maar weer, ik heb http://cage.rug.ac.be/~gvernaev/ccursus/ gedownloaded, en de eerste paar pagina's doorgelezen. Leuke humor: nulletjes en eentjessalade :). Ik ben nu bij 2.4.1, heb wel niet al die voorbeeldjes gedaan, alleen doorgelezen. Ik weet niet of ik C wel zo leuk ga vinden: achter alle opdrachten een ; , maar while is dan weer een uitzondering... leuk :(.

Misschien moet ik toch nog maar eens een keer kijken naar GAMBAS? Of is C echt zodanig veel gebruikt dat ik beter dat kan leren, omdat er meer support voor is?

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Beginnen met programmeren
« Reactie #9 Gepost op: 2008/11/25, 09:44:53 »
Ik ken geen C++, wel een beetje asm, maar te weinig om wat mee te kunnen. Dus ik weet niet waar ik perl / phyton mee moet vergelijken
maakt niet uit, want die vergelijking slaat toch nergens op
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Beginnen met programmeren
« Reactie #10 Gepost op: 2008/11/25, 09:48:29 »
Tijd om er de Kdevelop Tutorial weer bij te halen: http://www.sco.com/skunkware/kde/kdevelop_tutorial/ . Zo gezegd, zo gedaan. Ook hier doen ze iets met glade, wat ik in het menu "Vieuw" zou moeten kunnen vinden. Zou moeten kunnen, want ik zie het niet staan bij "beeld"...
Die tutorial is 8 jaar oud. Te oud in de informaticawereld. Zoek een nieuwere tutorial. Om te beginnen zou je kunnen beginnen met basis Python ofzo: http://www.coolpython.nl/tutorials/tut/tut.html
Wanneer je genoeg hebt van terminalprogrammaatjes laat je maar iets weten, dan kun je eventueel overstappen op bv. Python + Qt4 (of Python + GTK indien je dat leuker zou vinden)

En als je eerder een programmeertaal wil leren om een sterker cv ofzo aan te maken, dan zou ik Java aanraden. Java is tegenwoordig om één of andere reden nogal populair geraakt bij kleine en middelgrote Europese ondernemingen.
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)

Offline leendert

  • Lid
    • Dutchgimpers.nl
Re: Beginnen met programmeren
« Reactie #11 Gepost op: 2008/11/25, 10:53:23 »
Wanneer je genoeg hebt van terminalprogrammaatjes laat je maar iets weten, dan kun je eventueel overstappen op bv. Python + Qt4 (of Python + GTK indien je dat leuker zou vinden)

Of Python + Wxwidgets (wxpython).

Een designer voor wxpython (wxglade) zit ook in SPE.

Re: Beginnen met programmeren
« Reactie #12 Gepost op: 2008/11/25, 17:10:35 »
Tijd om er de Kdevelop Tutorial weer bij te halen: http://www.sco.com/skunkware/kde/kdevelop_tutorial/ . Zo gezegd, zo gedaan. Ook hier doen ze iets met glade, wat ik in het menu "Vieuw" zou moeten kunnen vinden. Zou moeten kunnen, want ik zie het niet staan bij "beeld"...
Die tutorial is 8 jaar oud. Te oud in de informaticawereld. Zoek een nieuwere tutorial. Om te beginnen zou je kunnen beginnen met basis Python ofzo: http://www.coolpython.nl/tutorials/tut/tut.html
mooie tutorial maar wéér een andere taal. Niet erg, ik ken toch nog geen enkele taal echt goed, en python heb ik ook wel eens van gehoord (Xwisp was daar toch in geschreven?)

Citaat
Wanneer je genoeg hebt van terminalprogrammaatjes laat je maar iets weten, dan kun je eventueel overstappen op bv. Python + Qt4 (of Python + GTK indien je dat leuker zou vinden)

Terminalprogramma's zijn eigenlijk ook wel goed, als het maar werkt.

Citaat
En als je eerder een programmeertaal wil leren om een sterker cv ofzo aan te maken, dan zou ik Java aanraden. Java is tegenwoordig om één of andere reden nogal populair geraakt bij kleine en middelgrote Europese ondernemingen.
Nee, de reden dat ik wil leren programeren is dat ik wil kunnen programmeren, niet voor mijn CV oid.

Wat ik zo gauw begrepen heb van die python tutorial is dat ik gewoon mijn programma kan schrijven en dat het geinterpreteerd word, en dat ik niks hoef te ocmpilen. Ik heb ook al python in een terminal getyped, en het een beetje als rekenmachine gebruikt. Werkt goed, 8/3=2 en 8/3.0=2.66....65.

Het maakt me eigenlijk totaal niet uit welke taal ik ga leren, zolang 'ie maar niet al te moeilijk te leren is, er mee met de seriele poort gecommuniceert kan worden, en er bestaande commando's mee kunnen worden uitgevoerd. (dan bedoel ik commando's die je normaal gesproken in een terminal zou intypen).

EDIT: dat python is wel heel anders dan PICbasic... En ik zie ook zo snel (hele tutorial even snel doorgeflitst) geen mogelijkheid om iets door de seriele poort naar buiten te duwen... Of info van buiten te ontvangen via de seriele poort. Het kan vast wel, ik weet alleen dus niet hoe.
« Laatst bewerkt op: 2008/11/25, 17:38:37 door Lucky_Luke »

Re: Beginnen met programmeren
« Reactie #13 Gepost op: 2008/11/25, 17:12:19 »
Het maakt me eigenlijk totaal niet uit welke taal ik ga leren, zolang 'ie maar niet al te moeilijk te leren is, er mee met de seriele poort gecommuniceert kan worden, en er bestaande commando's mee kunnen worden uitgevoerd.

dan zit ge goed met Python :).

Eider

  • Gast
Re: Beginnen met programmeren
« Reactie #14 Gepost op: 2008/11/25, 17:19:26 »
CircuitsOnline.net ken ik wel.
Tot nu toe ben ik alleen bezig met de site van Frits www.picbasic.nl
Echt heel veel tijd heb ik er nog niet aan besteed omdat ik het best druk heb met school (en veel met Ubuntu bezig ben :P)

Re: Beginnen met programmeren
« Reactie #15 Gepost op: 2008/11/25, 17:42:15 »
Nunslaugter: kun je me dan een voorbeeldje geven hoe ik iets verzend/ontvang op de seriele poort? Of een linkje naar een tutorial/voorbeeldprogramma/uitlegsite/iets waar ze dat doen?

Wat ik raar vind aan python is dat basic commando's als for..next en while..wend wel bestaan, maar heel anders werken, vooral for. OK, het is ook geen basic...

EDIT: dus ik heb toch maar even Gambas gedownload, want dat zou wel basic zijn. Nu nog een tutorial zoeken. Als jullie nog Gambas tips hebben houd ik me aanbevolen! Ik heb al de getting started doc (nee, ODT! ;)) , die ga ik nu lezen.

EDIT2:
En heb het eerste projectje, wat om je naam vraagt en dan meld dat het je eerste project is, af :) als het goed is is het ding wat bij deze post zit executable, vraagt het hoe je heet, en als je begint met typen vraagt het je, om als je klaar bent met typen op "Hello" te klikken. Dat laatste stond wel niet in het voorbeeld, maarja, 't is wel zo leuk om wat meer te doen dan dom copy-pasten...

EDIT3:
Ik heb wat stukken van de handleiding gelezen, en dit is écht een makkelijke programmeertaal. Met de seriele poort communiceren lijkt ook te kunnen, door /dev/tty0 lezen of schrijven.  Ik heb geen idee hoe, maar ik denk dat ik er wel uitkom ;).

EDIT:
zo dus http://gambasdoc.org/help/lang/open . Daar staan verder ook alle language fundamentals, beschrijvingen van keywords etc.

Ik heb mijn programmeertaal gevonden: Gambas! 8)
« Laatst bewerkt op: 2008/11/25, 19:19:00 door Lucky_Luke »

Re: Beginnen met programmeren
« Reactie #16 Gepost op: 2008/11/25, 19:19:51 »
Met het pakketje python-serial , te vinden via Synaptic kunt ge uw seriele poort uitlezen.

Info is via google te vinden, keyword: pyserial

Offline eendje

  • Lid
Re: Beginnen met programmeren
« Reactie #17 Gepost op: 2008/11/25, 20:56:03 »
Tijd om er de Kdevelop Tutorial weer bij te halen: http://www.sco.com/skunkware/kde/kdevelop_tutorial/ . Zo gezegd, zo gedaan. Ook hier doen ze iets met glade, wat ik in het menu "Vieuw" zou moeten kunnen vinden. Zou moeten kunnen, want ik zie het niet staan bij "beeld"...
Die tutorial is 8 jaar oud. Te oud in de informaticawereld. Zoek een nieuwere tutorial. Om te beginnen zou je kunnen beginnen met basis Python ofzo: http://www.coolpython.nl/tutorials/tut/tut.html
mooie tutorial maar wéér een andere taal. Niet erg, ik ken toch nog geen enkele taal echt goed, en python heb ik ook wel eens van gehoord (Xwisp was daar toch in geschreven?)

Citaat
Wanneer je genoeg hebt van terminalprogrammaatjes laat je maar iets weten, dan kun je eventueel overstappen op bv. Python + Qt4 (of Python + GTK indien je dat leuker zou vinden)

Terminalprogramma's zijn eigenlijk ook wel goed, als het maar werkt.

Citaat
En als je eerder een programmeertaal wil leren om een sterker cv ofzo aan te maken, dan zou ik Java aanraden. Java is tegenwoordig om één of andere reden nogal populair geraakt bij kleine en middelgrote Europese ondernemingen.
Nee, de reden dat ik wil leren programeren is dat ik wil kunnen programmeren, niet voor mijn CV oid.

Wat ik zo gauw begrepen heb van die python tutorial is dat ik gewoon mijn programma kan schrijven en dat het geinterpreteerd word, en dat ik niks hoef te ocmpilen. Ik heb ook al python in een terminal getyped, en het een beetje als rekenmachine gebruikt. Werkt goed, 8/3=2 en 8/3.0=2.66....65.

Het maakt me eigenlijk totaal niet uit welke taal ik ga leren, zolang 'ie maar niet al te moeilijk te leren is, er mee met de seriele poort gecommuniceert kan worden, en er bestaande commando's mee kunnen worden uitgevoerd. (dan bedoel ik commando's die je normaal gesproken in een terminal zou intypen).

EDIT: dat python is wel heel anders dan PICbasic... En ik zie ook zo snel (hele tutorial even snel doorgeflitst) geen mogelijkheid om iets door de seriele poort naar buiten te duwen... Of info van buiten te ontvangen via de seriele poort. Het kan vast wel, ik weet alleen dus niet hoe.

Python en seriële poort gaat prima. Installeer het pakket python-serial met synaptic en kijk daarna eens naar mijn blog: http://dorpsplein.blogspot.com/2007/06/communiceren.html

Als je nog vragen hebt stel dan maar ik heb een tijdje mee gestoeid.

Wat PIC programmeren betreft. Ik ontdekte gisteren dat er een programmaatje ktechlab is waarmee je voor microcontrollers software kunt schrijven, maar het is wel beperkt. Zoek ook eens op Atmel of microchip in Synaptic je vindt dan wel iets waar je mee kunt denk ik.
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Re: Beginnen met programmeren
« Reactie #18 Gepost op: 2008/11/26, 20:02:14 »
Ik ben een beetje met pyserial aan het spelen, maar ik heb eigenlijk nog niets om mee te praten... Wel iets wat tegen de seriele poort praat, dus ik ga maar eens uitvissen hoe read() werkt. DWZ: testen.

BTW hoe schrijf je python programma's? want elke keer alles intikken is niet zo leuk. Gewoon een bestandje maken (naam.py) en daar alles intikken en het dan in een terminal uitvoeren "python naam.py" werkt wel, maar wat is de officiële methode?

EDIT: Ik kan data lezen van de seriele poort met python! Olé  :D.

Zitten hier trouwens ook gambas mensen? Want dat vind ik toch wat makkelijker (tot nu toe, altans. En python is ook niet zo lastig, eigenlijk.)

« Laatst bewerkt op: 2008/11/26, 20:20:24 door Lucky_Luke »

Offline eendje

  • Lid
Re: Beginnen met programmeren
« Reactie #19 Gepost op: 2008/11/26, 21:53:08 »
Wanneer je genoeg hebt van terminalprogrammaatjes laat je maar iets weten, dan kun je eventueel overstappen op bv. Python + Qt4 (of Python + GTK indien je dat leuker zou vinden)



Of Python + Wxwidgets (wxpython).

Een designer voor wxpython (wxglade) zit ook in SPE.

Lucky_Luke

Lezen.... In bovenstaande tekst staat een naar voor een IDE (Integrate Development Envirement). Ik heb het zelf ook gebruikt en het werkt prima. VAntui die ontwikkelomgeving kun je het programma uitvoeren door op run te drukken. Als jet het programma later wilt alten uitvoeren kun je beter en BASH-scriptje maken die je uitvoerbaar maakt, bijv:

Begin -------------------
#!/bin/bash
python jouw_programma.py
Einde bestand ---------------

Sla het bestandje bijv. op als start_app.sh
Voor het commando cmod -x start_app.sh uit
Daarna kun je in Nautilus dubbelklikken op start_app.sh en dan start het programma direct.

Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Offline dvdmeer

  • Lid
    • Python-RandR :: dvdmeer.nl
Re: Beginnen met programmeren
« Reactie #20 Gepost op: 2008/11/27, 20:00:50 »
Eendje heeft een typefout gemaakt,

het is chmod in plaats van cmod ;)

Offline eendje

  • Lid
Re: Beginnen met programmeren
« Reactie #21 Gepost op: 2008/11/27, 21:08:37 »
Eendje heeft een typefout gemaakt,

het is chmod in plaats van cmod ;)

OEPS!!! helemaal gelijk. Ik hoop niet dat er nu iemand de hele avond het niet werkende commando heft zitten proberen :P
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Re: Beginnen met programmeren
« Reactie #22 Gepost op: 2008/11/30, 21:20:58 »
Het gebruik van een .sh bestandje is niet nodig. Door in het pythonbestand als eerste regel te nemen:

#! /usr/bin/env python
-- de python code --

en dit opslaan als naam.py (maar zonder '.py' mag ook gewoon) en dan

chmod +x naam.py

Nu kun je naam.py starten door er op te dubbelklikken in een verkenner, of vanaf de terminal als './naam.py' (als beveiligingsmaatregel worden programma's die je aanroept standaard niet gezocht in de map waar je staat, door './' zeg je expliciet dat je het programma in de map waar je bent wil starten, voeg je dit niet toe dan krijg je waarschijnlijk de foutmelding 'Command not found' of iets dergelijks)

Dit is een speciale regel (die je trouwens ook in dat bash script bestand terug ziet). Het is de linux manier van aangeven met welk programma het (tekst)bestand uitgevoerd moet worden.

Offline eendje

  • Lid
Re: Beginnen met programmeren
« Reactie #23 Gepost op: 2008/11/30, 21:48:14 »
Jasper, je hebt helemaal gelijk en ik heb het ooit eens geweten maar was het door weinig gebruik van Python weer kwijt  :rolleyes:
Een dag niets geleerd is een dag niet geleefd!
Ik blog dus ik besta!
__________________________________________________________
Een vraag? Heb je al eens gekeken op: http://wiki.ubuntu-nl.org/FAQ?

Re: Beginnen met programmeren
« Reactie #24 Gepost op: 2008/11/30, 22:24:04 »
Jasper, dat is een mooie methode! Zoiets zoek ik nu!

eendje: geen zorgen, ik heb geen hele avond lopen prutsen, ik was druk bezig met mijn zweefmagneet en single digit nixie klok.