Nieuws:

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

Auteur Topic: Help, keuze programmeertaal en keuze toolkit  (gelezen 2243 keer)

Help, keuze programmeertaal en keuze toolkit
« Gepost op: 2011/07/29, 23:04:27 »
Hoi

Pff, ik zit met een probleem.

Ik wil als hobbyprojectje een beetje prutsen, en beetje mijn eigen code editor maken, met basic-achtig uitgevonden taaltje. Ik zou teminste willen dat mijn code 'compileert' naar Lin, Win en OSX. Nu ga ik echt geen compiler schrijven, want dat kan ik niet. Maar gewoon de boel zogezegd wat 'vertalen' naar een programmeertaal die dergelijke platformen al support.

Dus ik zoek geen taal waarin ik mijn IDE wil maken, maar een taal waarin ik de boel vertaal!

Nu dacht ik eerst, Python! Dit kan ik al een beetje, en draait op de 3 platformen. Echter na wat onderzoek is het installeren voor OSX gebruikers gewoonweg brak. (Vereist wat configuratie soms, en OSX users verwachten alles out of the box). En Python heeft een 2de nadeel, je bent eigenlijk gewoon verplicht om open source apps te maken. Dit is voor mij geen probleem, maar het is wel een limitatie. Daarom, geen Python.

Dan dacht ik aan het veel moeilijkere C++. Maar dat is echt wel moeilijk, en onbekend terrein voor mij.

Zijn er mensen die nog ideeën hebben? Ik zoek eigenlijk gewoon een makkelijke taal (a la python, die toch vrij universeel is, en closed source kan draaien)


Dan een grafische toolkit. Ik heb me er vroeger al over suf gepiekerd. Qt, GTK+, WxWidgets... Qt lijkt mij het profesioneelst (qua documentatie), maar het ziet het er ook het moeilijkst uit.
Ik heb ook geen idee of Qt makkelijk te gebruiken is rond de standaard IDE om. Bij GTK kan ik een schermpje die een gebruiker tekent gewoon makkelijk vertalen naar wat code, en huppa, runnen die zooi. Bij Qt weet ik dat zo niet, omdat daar alleen al een hele IDE is rond gebouwd.

Iemand toevoegingen, opmerkingen, ideeën, ik ben nieuwsgierig.

Alvast bedankt
Mathias

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #1 Gepost op: 2011/07/30, 10:55:37 »
Nu dacht ik eerst, Python! Dit kan ik al een beetje, en draait op de 3 platformen. Echter na wat onderzoek is het installeren voor OSX gebruikers gewoonweg brak. (Vereist wat configuratie soms, en OSX users verwachten alles out of the box). En Python heeft een 2de nadeel, je bent eigenlijk gewoon verplicht om open source apps te maken. Dit is voor mij geen probleem, maar het is wel een limitatie. Daarom, geen Python.

Zijn er mensen die nog ideeën hebben? Ik zoek eigenlijk gewoon een makkelijke taal (a la python, die toch vrij universeel is, en closed source kan draaien)

Python is standaard geinstalleerd op Mac OS X, dus dat zou geen probleem mogen zijn.
Ook kan Python code gecompileerd worden. Iemand die kennis van zaken heeft, zal de code wel kunnen decompileren en uitlezen, maar die is niet zo makkelijk te begrijpen als de gewone code. Kijk eens naar deze module: http://docs.python.org/library/compileall.html#module-compileall
Of bij het importeren van een Python bestand/module zal er ook een gecompileerd .pyc bestand aangemaakt worden.

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #2 Gepost op: 2011/07/30, 11:54:20 »
Python is standaard geinstalleerd op Mac OS X, dus dat zou geen probleem mogen zijn.
Ja, maar het is niet zo gemakkelijk om er een mooie app bundle van te maken zoals de meeste Mac OS-gebruikers gewend zijn (dwz kennis van programmeren in Python is nodig -- niet alle Mac OS X-gebruikers kunnen programmeren in Python). En meestal moeten ze er zelf een bundle van maken, omdat de developer ofwel geen Mac OS heeft, of niemand met Mac OS kent om er eventjes een kant-en-klaar bundle voor te maken. Als je doelpubliek heb op Mac OS X en niet zelf een bundle kunt maken om te distribueren, zou ik geen Python aanraden.

Citaat
Ook kan Python code gecompileerd worden. Iemand die kennis van zaken heeft, zal de code wel kunnen decompileren en uitlezen, maar die is niet zo makkelijk te begrijpen als de gewone code. Kijk eens naar deze module: http://docs.python.org/library/compileall.html#module-compileall
Of bij het importeren van een Python bestand/module zal er ook een gecompileerd .pyc bestand aangemaakt worden.
Ik kan dit bevestigen. Er bestaan Python-decompilers.

Je kan ook eens naar Java kijken. Ik persoonlijk vind Java iets meer "echte taal" dan Python (let op, persoonlijke mening), het draait ook sneller, maar is soms wel ietsje moeilijker (met name, expliciete type-vermelding -- maar dat helpt juist in sommige gevallen). Java is ook moeilijker te decompileren dan Python (maar het gaat nog steeds). Java komt met een ingebouwde toolkit, Swing. Swing ziet er wel niet uit op Linux, maar daar is een trucje voor: http://seysayux.wordpress.com/2009/01/11/make-java-use-the-gtk-look-feel-on-linux/

C++ is ietsje lastiger, maar met een goede toolkit zoals Qt of (ahem, reclame) LibSylph valt dat nog wel mee. Enig probleem is cross-platform: je gaat redelijk wat tijd moeten spenderen aan het maken van een bouwsysteem dat op alle platformen werkt, het bestuderen van de verschillen tussen de platformen (als de toolkits dit niet voor jou doen), en je zal met de hand alles op de verschillende besturingssystemen moeten compileren. (Hallo, vriend met een Mac? Zeg, mag ik nog eens even een uurtje van je tijd om dit programma te compileren? Hoezo, "Wat is compileren?"...)

- SeySayux
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #3 Gepost op: 2011/07/30, 12:01:40 »
Wat je wil is wel ontzettend moeilijk trouwens, besef je dat? Wil je echt niet ontmoedigen hoor maar een eigen taal maken dat is nogal wat. Ik raad je iig aan om heel simpel te beginnen dus echt met een mini taaltje en dan langzaam uitbreiden.

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #4 Gepost op: 2011/07/30, 19:04:13 »
Wat je wil is wel ontzettend moeilijk trouwens, besef je dat? Wil je echt niet ontmoedigen hoor maar een eigen taal maken dat is nogal wat. Ik raad je iig aan om heel simpel te beginnen dus echt met een mini taaltje en dan langzaam uitbreiden.

Valt toch ook wel weer mee... daar heb je compiler-compilers voor (met yacc/bison bijv. heb je al aardig wat) en voor geinterpreteerde talen is dat wel te doen. Voor echt gecompileerde talen is dat lastiger, maar de truc is dan om naar C te vertalen, en het door gcc te halen. Je moet alleen wel heel goed snappen hoe grammatica's e.d. werken. Maar verder gewoon onderdeel van informatica opleiding. Er zijn ongetwijfeld genoeg voorbeelden te vinden om wat mee te spelen. En het "Dragon book" aanschaffen uiteraard.
URD - http://www.urdland.com - Usenet Resource Downloader

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #5 Gepost op: 2011/08/02, 02:12:47 »
Hallo iedereen

Sorry voor het iets latere antwoord.

Ik heb toch gekozen om Python te gebruiken. (Sorry voor al jullie denkwerk!) Het was erg nuttig om de voor en nadelen van de andere talen te lezen.
Met C++ wordt cross compilen moeilijk, en Java ben ik ook helemaal niet in thuis.

Het voordeel dat ik merkte aan Python is wel dat het ook heel gemakkelijk als web app kan draaien, en naar vele telefoons. Dus, you never know...
Het veel te makkelijk te decompileren probleem laat ik achterwege. Ik begin toch heel klein, en als ik ooit iets werkbaars zou hebben, zou het het toch gericht zijn op beginnende programmeurs.

Dus ik kies python!

Alleen ben ik er nog niet uit. GTK+ of PySide om QT te gebruiken?
GTK+ lijkt me wel beter gedocumenteerd. Maar Pyside ziet er dan weer 'beter' uit. Heeft iemand ervaring met 1 van de 2 toolkits?

Bij voorbaat dank.

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #6 Gepost op: 2011/08/02, 13:26:36 »
Met PyQt kun je je toepassingen makkelijk porten naar andere platformen, ze zullen er native uitzien. Bij pyGTK is dit in veel mindere mate het geval. Voor pure Ubuntu-ontwikkeling is PyGTK wellicht een betere keus, omdat je dan gebruik kunt maken van typische GNOME-/Ubuntu-API's.

Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #7 Gepost op: 2011/08/03, 13:01:14 »
Je bent nu toch al tot de beslissing gekomen Python te gebruiken, gebruik dan ook maar direct GTK, dan willen Mac-gebruikers helemaal niets meer met je programma te maken hebben... :rolleyes:
I use a Unix-based system, that means I'll get laid as often as I have to reboot.
LibSylph
SeySayux.net

Offline profoX

  • Lid
    • wesley
    • Lionslink
Re: Help, keuze programmeertaal en keuze toolkit
« Reactie #8 Gepost op: 2011/08/09, 23:14:39 »
Neem maar van mij aan dat Qt tig keer beter gedocumenteerd is dan GTK+ ;)
Ik heb genoeg met beide toolkits moeten werken.
Ook vind ik Qt veel makkelijker in gebruik, en de rest van mijn klasgenoten delen eigenlijk unaniem die mening.
Human Knowledge Belongs To The World -- Antitrust (2001)
Nederlandstalige Ubuntu documentatie van Ubuntu-NL (wiki)