Linux 15.070 Themen, 107.540 Beiträge

Wer kennt Gambas? 'VisualBasic' unter LInux...

Strohwittwer / 13 Antworten / Baumansicht Nickles

Hallo,

seit einiger Zeit experimentiere ich mit Gambas, einer Art VisualBasic für Linux herum. Unter Ubuntu (7.04) bekomme ich nur Fehlermeldungen beim Programmlauf, diese sind offenbar auch bekannt. Ich habe daraufhin die Sourcen von Gambas-1.0.19 auf meinem Notebook mit 32-Bit SuSE-10.2 erfolgreich kompiliert. Dort läuft Gambas jetzt einwandfrei.

Auf meinem Desktop (AMD 64, 3000+) wurden die Sourcen zwar kompiliert, das Programm lässt sich aber nicht ausführen. Wahrscheinlich liegt es an Inkompatibilitäten bei den Bibliotheken. Kennt jemand einen Port von Gambas für 64-Bit Systeme?

Programmiert sonst noch wer hier im Forum in Gambas?

Vielen Dank für die Antworten,

der Strohwittwer!

Think
bei Antwort benachrichtigen
Zaphod Strohwittwer „Wer kennt Gambas? 'VisualBasic' unter LInux...“
Optionen
bei Antwort benachrichtigen
Strohwittwer Zaphod „http://www.cs.bgu.ac.il/ omri/Humor/write_in_c.html SCNR , Z.“
Optionen

Hi, Z.,

OK, ist angekommen, hilft hier aber nicht wirklich weiter.

C ist in Ordnung, aber darum ging es ja nicht.

Kennst du Gambas?

Das Leben ist zu kurz für schlechtes Werkzeug ...

Auch mit einem schlechten Werkzeug etwas aus dem Leben zu machen, ist eine Kunst...

Think
bei Antwort benachrichtigen
the_mic Strohwittwer „Wer kennt Gambas? 'VisualBasic' unter LInux...“
Optionen

Hallo Strohwittwer

das Programm lässt sich aber nicht ausführen
Welches? Gambas selbst oder das VB-Programm? Was für eine Fehlermeldung gibt es?

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
KarstenW Strohwittwer „Wer kennt Gambas? 'VisualBasic' unter LInux...“
Optionen

http://gambas.sourceforge.net/

"Prospective

In the very far future (do you hear the Star Trek theme ?), many improvements are planned . Some are needed, the others depends on my time and my many occupations !"

.....

64-bits version

Make the Gambas interpreter and the components work on 64-bits CPU.

......

Well... I think I must stop dreaming, and go back coding...

Der Autor träumt momentan noch davon. Ich glaube nicht das es jetzt schon eine 64 bit Version von Gambas gibt .

PS: 64 bit Programme brauchen 64 bit breite Bibliotheken und 32 bit Programme benötigen 32 bit breite (Registerbreite der CDU Register ist damit gemeint) Bibliotheken.
Deshalb gibt es unter Linux auch die großen Probleme ein 32 bit Programm in einer 64 bit Umgebgung zu starten. (kann man mit einer chroot Umgebung sicher lösen, ist aber mit Konfigurationsaufwand verbunden).
Das ist wieder typisch für einen Basicprogrammierer. Ihr wisst nicht einmal was ein CPU Register ist, kennt weder den Akkumulator, noch das Stackpointer-Register und das Befehls-Register :-(.
Ein paar Grundlagen über Informationstechnik sollte man sich schon aneignen ;-).
Ich bin auch kein Assemblerprogrammierer und werde es auch nie werden.





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Strohwittwer KarstenW „http://gambas.sourceforge.net/ Prospective In the very far future do you hear...“
Optionen

Hi KarstenW,

64 bit Programme brauchen 64 bit breite Bibliotheken und 32 bit Programme benötigen 32 bit breite

das ist mir schon klar, deshalb fragte ich ja, ob es einen 64-Bit-Port für Gambas gibt.

Dennoch vielen Dank für deine Antwort.

Gruß, der Strohwittwer.

Think
bei Antwort benachrichtigen
Strohwittwer Nachtrag zu: „Hi KarstenW, das ist mir schon klar, deshalb fragte ich ja, ob es einen...“
Optionen

Nochmal an KarstenW,

Das ist wieder typisch für einen Basicprogrammierer. Ihr wisst nicht einmal was ein CPU Register ist, kennt weder den Akkumulator, noch das Stackpointer-Register und das Befehls-Register :-(.

Was spricht gegen Leute, die in ihrer Freizeit in Basic programmieren? Programmieren ist für mich nur ein Hobby, und man muss nicht unbedingt Informatik studiert haben, um sich mit Stacks, Zeigern, etc. auszukennen. Den Algorithmus, den ich benötige, habe ich testweise mal in C programmiert (Konsole), mit Erfolg! Allerdings hätte ich so etwas auch gerne mit grafischer Oberfläche.

Meine Meinung zu deiner Antwort:

Das ist wieder typisch für einen arroganten Schlaumeier, der hier im Forum mit irgendwelchen Begriffen rumwirft, von denen er selbst keine Ahnung hat.

Nimms mir nicht übel,

der Strohwittwer.

Think
bei Antwort benachrichtigen
Zaphod Strohwittwer „Wer kennt Gambas? 'VisualBasic' unter LInux...“
Optionen

Hört doch auf mit dem 64bit-Gemurkse. Brauchen kann man das derzeit ohnehin nur auf Servern, im Desktopbereich dauert das noch mindestens zwei Jahre, bis es was bringt und hinreichend Software portiert ist ...

HTH, Z.

bei Antwort benachrichtigen
Xdata Zaphod „Hört doch auf mit dem 64bit-Gemurkse. Brauchen kann man das derzeit ohnehin nur...“
Optionen

Genau , zumal es in vielen Fällen langsamer als 32Bit ist . -- Man kann ja schon zufrieden sein , wenn mehrere Cpu Kerne - bei 32Bit
leidlich untersützt werden.

zu c :
Ein Ada Programmierer soll mal geäußert haben c sei nur ein unglücklicher Hybrid zwischen Maschinensprache
und kryptischer System Hochsprache.

Aber wohl eher aus Frust da sich Ada nicht durchgestzt hat!

bei Antwort benachrichtigen
KarstenW Xdata „Genau , zumal es in vielen Fällen langsamer als 32Bit ist . -- Man kann ja...“
Optionen

Ich würde mal sagen der Hauptvorteil von den neuen 64 bit CPUs ist die bessere Speicherverwaltung.
Die AMD Opteron Prozessoren können Speicher einmal als nur ausführbar oder nur schreibbar kennzeichnen.
Hacker haben früher gerne mal ihren Programmcode auf dem Stack installiert. Und wenn dann durch Programmfehler die Rücksprungadresse überschrieben wurde, konnte der Programmcode des Hackers ausgeführt werden.
Der Speicherbereich des Stacks konnte bei den alten 32 bit Prozessoren leider nur schreibbar und gleichzeitig als ausführbar gekennzeichnet werden.
Ich denke auch das man Pufferüberläufe besser erkennen kann, wenn der Speicher getrennt als nur ausführbar oder nur schreibbar gekennzeichnet werden kann.
Bei der Haward Architektur von Microcontrollern gibt es einen getrennten Speicherbereich für Daten (nur lesbar und schreibbar) und nur für Programmcode.
PC werden nach der Von Neumann Architektur gebaut. Da gibt es keinen getrennten Speicher für Daten und Programmcode.

Die Programmiersprache C wurde ursprünglich entwickelt um das Betriebsystem Unix besser programmieren zu können. Unix wurde früher in Assembler programmiert.



Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
Xdata KarstenW „Ich würde mal sagen der Hauptvorteil von den neuen 64 bit CPUs ist die bessere...“
Optionen

C gibt es wohl sogar für Dos , Amiga und Atari.
Ist es nicht möglich kleine Parts von anderen Programmiersprachen
-wie das genannte VisualBasic in c als Aufruf zu integieren.
Aus eigener kraft sind die meisten anderen Sprachen für systemnahe Dinge nicht geeignet.
Es gibt aber auch mathematische Progamme mit c und strukturierte Progammierung --sogar objektorientierte soll möglich sein.

Möglicherweise ist ein spezielles c für verschiedene Bitbreiten nötig.

bei Antwort benachrichtigen
KarstenW Xdata „C gibt es wohl sogar für Dos , Amiga und Atari. Ist es nicht möglich kleine...“
Optionen

Das ist dann Aufgabe der Bibliotheken. Bei jedem C-Kompilier werden entsprechende Bibliotheken mitgeliefert.
Zum Beispiel gibt es eine mathematische Bibliothek. Die heißt unter Linux /usr/lib/libm.so. In Ihr sind mathematische Fuktionen wie sin(), cos() definiert.
Der Programmierer muß nur die Funktion aufrufen und ihr das Argument als double Wert übergeben und bekommt dann den entsprechenden Rückgabewert auch als double Datentyp zurück.

"Möglicherweise ist ein spezielles c für verschiedene Bitbreiten nötig."
Das ist dann maschinenabhängig. Die Programmiersprache C selbst ist erstmal maschinenunabhängig, ich meine die Syntax.
Beispielsweise ist der Datentyp long bei einem 32 bit Prozessor 32 bit breit und bei einem 64 bit Prozessor 64 bit.

PS: Kauf dir doch mal ein kleines Programmierlehrbuch für C:

http://www.amazon.de/Programmieren-ANSI-Mit-C-Reference-Manual/dp/3446154973/ref=pd_bbs_sr_1/028-1218391-9379713?ie=UTF8&s=books&qid=1185783196&sr=8-1

Das ist von den originalen Entwicklern der Programmmiersprache C geschrieben worden (und ins deutsche übersetzt).
Da wird auch gleich noch erklärt was es mit den Systemaufrufen bei Unix auf sich hat.
C ist ja mal entwickelt worden um das Betriebsystem Unix besser programmieren zu können.
Der Compiler gcc ist voll ANSI kompatibel. Du mußt also nicht den Unix C Compilier cc nutzen.
Vielleicht hilft dir dieses Lehrbuch auch noch:

http://wwwuser.gwdg.de/~kboehm/ebook/inhalt.html










Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen
robinx99 Zaphod „Hört doch auf mit dem 64bit-Gemurkse. Brauchen kann man das derzeit ohnehin nur...“
Optionen

Kommt immer auf den Verwendungszweck an, also pack programme und verschlüsselungsprogramme laufen häufig auf 64 bit systemen schneller und der größte vorteil dürfte wohl die verwendung von arbeitsspeicher größer 4gb sein immerhin gibt es ja jetzt schon die ersten 8gb ram bundels (4* 2 gb module) bis jetzt zwar nur high end spielzeug aber es wird wohl nicht mehr lange dauern bis wir die ersten systeme mit 8gb im handel sehen werden (sagen ja auch jetzt schon fast alle man braucht für vista mindestens 2gb zum richtigen arbeiten, dann kommen auch irgendwann die 8gb maschinen in den handel ;)

robin

bei Antwort benachrichtigen
Strohwittwer Nachtrag zu: „Wer kennt Gambas? 'VisualBasic' unter LInux...“
Optionen

An alle:

Vielen Dank für eure Antworten!

Leider gingen viele in die falsche Richtung:

- es ging nicht darum, eine 'vernünftige Programmiersprache' für Linux zu finden (Zaphod)
- es ging auch nicht darum, ob ein 64-Bit System besser ist als 32-Bit System (Zaphod, xdata)

Es ging eigentlich nur darum, ob jemand Erfahrung mit Gambas, und im speziellen mit Gambas auf einem AMD 64 unter Ubuntu 64-Bit hat.

Hat offenbar keiner, also würde ich vorschlagen, diesen Thread zu schliessen.

Viele Grüsse,

der Strohwittwer!


Think
bei Antwort benachrichtigen