Nieuws:

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

Auteur Topic: Programmeertalen verwikkelen in elkaar?  (gelezen 2502 keer)

Programmeertalen verwikkelen in elkaar?
« Gepost op: 2010/03/23, 22:44:21 »
Hallo,

Even een situatieschets: ik gebruik de instant messenger Emesene. Die heeft een heel leuk plugin systeem enzo, en omdat ik wel graag wat zou programmeren, maar ik vast blijf hangen aan de basic talen (Gambas), zou ik willen gewoon willen kijken of het mogelijk is dat ik een main python class maak, en daar gambas scripts daar onder hang.

Zou dit mogelijk zijn? Op emesene raden ze dit volledig af en zijn ze het ook niet echt zeker of het wel degelijk mogelijk is. Omdat hier toch wat mensen zitten met meer ervaring, en een grotere overall programmeerkennis, waag ik hier een kans =)

Alvast bedankt voor uw tijd.
« Laatst bewerkt op: 2010/03/24, 14:00:37 door Carharttguy »

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #1 Gepost op: 2010/03/24, 14:58:50 »
Het zal misschien wel werken met de subprocess module. Hiermee kunt ge scripts/programma's aanroepen en de input/output regelen.
Maar of dit echt handig is, dat denk ik niet. Zeker omdat ge toch nog een stuk Python code zult moeten schrijven die de output van uw script verwerkt.

Het beste lijkt mij om de plugin gewoon in Python te schrijven. Wat wilt ge precies doen met die plugin? Misschien kunnen we u op weg helpen.

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #2 Gepost op: 2010/03/24, 21:35:18 »
Bedankt voor je antwoord Nunslaughter.

Emesene is een heel mooie messenger naar mijn smaak. Maar heeft 1 groot nadeel, de bestandsoverdracht lijkt niet sneller te gaan dan een paar KB/s, wat toch wel wat traag is om bvb muziekbestanden door te sturen.

Nu wou ik een kleine plugin maken, die je toelaat een bestand te selecteren met zo'n opendialog. Die dan kan uploaden naar m'n FTP server. Dan wordt er naar je gesprekspartner iets verzonden als "Ik wil dit bestand met je delen: [Hierdelink]".

In gambas maak ik zoiets in een wip, maar van python heb ik echt geen kaas gegeten :) Ik weet niet of zoiets moeilijk is, met een lay-out enzo?

Maar toch spreekt die subprocess me wel aan, misschien niet voor dit project, maar toch, altijd handig om zoiets te weten, kan je subprocess op elk programma gebruiken? Ik heb bijvoorbeeld nog tal van programma's in VB6 gemaakt, zou dat daarmee ook werken? (puur ter voorbeeld en info=) )

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #3 Gepost op: 2010/03/24, 21:48:12 »
Inderdaad, de bestandsoverdracht in Emesene is verschrikkelijk.

Zo een dialoog maken kan met PyGTK (daar is een standaard dialoog voor zelfs), dat is toch geinstalleerd als ge Emesene hebt, want dat gebruiken ze zelf ook :).

Moet er een extra knop in het gespreksvenster komen, naast de knop voor de gewone bestandsoverdracht bijvoorbeeld? Of hoe wilt ge dit oproepen?

Offline Ronnie

  • Lid
    • ronnie.vd.c
Re: Programmeertalen verwikkelen in elkaar?
« Reactie #4 Gepost op: 2010/03/24, 21:59:32 »
Bedankt voor je antwoord Nunslaughter.

Emesene is een heel mooie messenger naar mijn smaak. Maar heeft 1 groot nadeel, de bestandsoverdracht lijkt niet sneller te gaan dan een paar KB/s, wat toch wel wat traag is om bvb muziekbestanden door te sturen.

Nu wou ik een kleine plugin maken, die je toelaat een bestand te selecteren met zo'n opendialog. Die dan kan uploaden naar m'n FTP server. Dan wordt er naar je gesprekspartner iets verzonden als "Ik wil dit bestand met je delen: [Hierdelink]".

In gambas maak ik zoiets in een wip, maar van python heb ik echt geen kaas gegeten :) Ik weet niet of zoiets moeilijk is, met een lay-out enzo?

Maar toch spreekt die subprocess me wel aan, misschien niet voor dit project, maar toch, altijd handig om zoiets te weten, kan je subprocess op elk programma gebruiken? Ik heb bijvoorbeeld nog tal van programma's in VB6 gemaakt, zou dat daarmee ook werken? (puur ter voorbeeld en info=) )

Emesene zal een soort van API hebben om elementen aan de interface toe te voegen. Deze API zul je met python moeten aanspreken, en de API verwacht dan ook pygtk objecten in de interface. Wil je hier gambas aan koppelen, moet je een gambas element 'omzetten' naar een python element. Voor je dat allemaal voor elkaar hebt, heb je die python plugin al 100x geschreven. Dit is niet 123 zomaar gedaan. Ook een subprocess zal weinig uitmaken en helaas VB6 ook niet.

Bovendien, python is redelijk vlot te leren. Zo moeilijk is het niet.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #5 Gepost op: 2010/03/24, 22:23:19 »
Inderdaad, de bestandsoverdracht in Emesene is verschrikkelijk.

Zo een dialoog maken kan met PyGTK (daar is een standaard dialoog voor zelfs), dat is toch geinstalleerd als ge Emesene hebt, want dat gebruiken ze zelf ook :).

Moet er een extra knop in het gespreksvenster komen, naast de knop voor de gewone bestandsoverdracht bijvoorbeeld? Of hoe wilt ge dit oproepen?

Ja ik zou een extra knop maken naast de gewone bestandsoverdracht, ik weet dat het mogelijk is want ik heb het nog plugins zien doen dusja.
Ook bedankt Ronnie, ik zou echt eens python moeten leren.
Het probleem is dat ik me jaren bezig gehouden hebt met VB6, op school VB.net krijg, en ik veel pruts in Gambas, allemaal dezelfde varianten, met de makkelijke interface, knopje tekenen, dubbelklikken, code typen op dat knopje.
Ik weet dat het niet goed is dat ik daar mee begonnen ben, maar ik mis toch een beetje dat gemakkelijke gevoel van zo te programmeren, kan je meer tijd steken in de werkelijke functies schrijven en dingen doen.

Bij bvb pyGTK moet je toch je lay-out programmeren enzo? een knop aanmaken op die x en die y, met die border, die text?

Alvast bedankt!

Offline Ronnie

  • Lid
    • ronnie.vd.c
Re: Programmeertalen verwikkelen in elkaar?
« Reactie #6 Gepost op: 2010/03/24, 22:52:58 »
Voor een python equivalent van gambas, kun je kijken naar glade http://glade.gnome.org/

Het probleem is, dat er (volgens mij) altijd een main window gemaakt wordt bij zo'n design en klik programma. Als je een plugin schrijft is het programma de mainwindow, en wil je er een knop + functie aan toevoegen. Daarvoor kun je moeilijk een interface designer gebruiken.

Ook ben ik van mening dat je effectievere code schrijft, wanneer je alles met de hand doet. De leercurve is alleen wat steiler.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #7 Gepost op: 2010/03/26, 19:49:58 »
Nuja, je hebt inderdaad wel gelijk. =)

Maar ik zou graag wel onmiddellijk resultaat zien, ik vind niet GUI coden echt niet meer van deze tijd. Is het dus raadzaam om onmiddellijk met Python+PyGTK te beginnen?
Of is het wat nadelig, en eerst python leren zonder PyGTK?

Ohja tussen haakjes. Ik vind die pythonscripts wel mooi voor opensource gelegenheden. Maar sommige dingen, stel ze zijn closed source, is dat dan bijvoorbeeld mogelijk om in windows mooi te verpakken in .exe en voor Linux bijvoorbeeld ook een executable achtig iets? =)

Alvast bedankt!

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #8 Gepost op: 2010/03/26, 19:57:14 »
Ik ben ook een programmeur van de jonge generatie en ik kan toch wel zeggen dat het interessant is om eerst te leren programmeren zonder gui. In GUI kruipt ook veel tijd, en die tijd ben je bezig met te knoeien met gui, en niet met echt programmeren. Eerst moet je de logica achter programmeren snappen voor je verder kan met grafische toepassingen.
Ik zou zeker aanraden om eerst gewoon de python syntax te leren kennen alvorens verder te gaan.
Bekijk zeker ook eens python met qt, of misschien nog beter qt met c++. Dit is veel krachtigger en ook niet zo veel lastigger om te leren dan gambas.

Voor op debian gebaseerde linuxversies (als ubuntu) bestaan er .deb files als een soort executables voor linux.
Voor de distributies die op Redhat zijn gebaseerd (fedora, centos, ..) bestaan er .rpm files


Nuja, je hebt inderdaad wel gelijk. =)

Maar ik zou graag wel onmiddellijk resultaat zien, ik vind niet GUI coden echt niet meer van deze tijd. Is het dus raadzaam om onmiddellijk met Python+PyGTK te beginnen?
Of is het wat nadelig, en eerst python leren zonder PyGTK?

Ohja tussen haakjes. Ik vind die pythonscripts wel mooi voor opensource gelegenheden. Maar sommige dingen, stel ze zijn closed source, is dat dan bijvoorbeeld mogelijk om in windows mooi te verpakken in .exe en voor Linux bijvoorbeeld ook een executable achtig iets? =)

Alvast bedankt!
« Laatst bewerkt op: 2010/03/27, 00:06:51 door Ward De Ridder »
http://leerubuntu.org (ubuntu zonder moeilijke woorden)
VoidWarranties (Hackerspace) Antwerpen
Microsoft isn't evil, they just make really crappy operating systems. - Linus Torvalds

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #9 Gepost op: 2010/03/26, 20:28:30 »
Ik ben direct met PyGTK begonnen en moet zeggen dat dat zeker niet optimaal was. Eerst wat met Python gewoon worden had mij veel fouten en tijd bespaard.

PyGTK (Python in het algemeen) programma's kunt ge makkelijk naar een exe omvormen met py2exe en er daarna ook een installer van maken met Inno Setup bijvoorbeeld. Zo doe ik het ook en dat werkt heel goed.

Python code kunt ge omzetten naar bytecode (pyc)  als ge niet wilt dat iemand de code kan lezen. Maar deze zijn niet zo heel moeilijk decompileren.

Offline Ronnie

  • Lid
    • ronnie.vd.c
Re: Programmeertalen verwikkelen in elkaar?
« Reactie #10 Gepost op: 2010/03/26, 22:06:23 »
Als je een plugin wil schrijven komt er vaak niet veel GUI bij kijken. Wat belangrijkers is, dat je weet hoe heet programma te werk gaat, waar je je code in kunt pluggen.

Meestal is een plugin, één extra knopje, ooit nog een extra venstertje. Dus qua GUI valt het meestal wel mee. Wil je voorlopig alleen op de plugin richten, leer dan hoe je het knopje toe kunt voegen. En schrijf dan de achterliggende code. Veel kennis van PyGTK is dan niet nodig.

Wil je een volledig programma gaan schrijven, dan is het nuttig om eerst goed python te leren voordat je PyGTK gaat leren.
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Documentatie Terminal

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #11 Gepost op: 2010/03/27, 19:20:50 »
Goed, ik ga toch maar beginnen met Python alleen, mijn hoofdbedoeling is natuurlijk niet alleen een plugin.
Ik zou ook graag wat andere opensource projecten runnen. =)

Allemaal bedankt voor jullie uitleg!

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #12 Gepost op: 2010/03/28, 01:31:09 »
Python is inderdaad een erg makkelijke taal, zeker als je wat ervaring met programmeren hebt.
Ik ga toch voor pyGTK gaan denk ik, maar op de site praten ze veel over GNOME, Windows enzo, maar over KDE vind ik niet onmiddellijk iets, werkt PyGTK daar in?

Alvast bedankt!

Re: Programmeertalen verwikkelen in elkaar?
« Reactie #13 Gepost op: 2010/03/28, 11:51:55 »
PyGTK programma's werken ook op KDE.