App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Welche Sprache für Linux/Windows/MacOSX-Programme lernen?
- Ersteller \²³/
- Erstellt am
\²³/
Grand Admiral Special
Ich habe schon einige Erfahrung in Sachen Delphi und PHP/MySQL. Kann XHTML und CSS.
Nun möchte ich eine Sprache lernen, bei der es einfach möglich ist, Programme zu schreiben, die ohne großen Portier-Aufwand sowohl unter Linux als auch Windows und MacOSX laufen.
Hintergrund ist, dass wir unseren Mp3-Player ursprünglich für Windows entwickelt haben, ich nun aber fast ausschließlich Linux nutze. Mit Wine läuft er auch aber die Wiedergabe hängt immer wieder. Außerdem finde ich, dass das ein guter Ansporn ist, mal wieder mehr zu programmieren. Welche Sprache könnte ihr mir also für verschiedene Plattformen empfehlen? Wie groß ist überhaupt der Aufwand ein Programm, dass komplett neu geschrieben wird, auf so vielen Plattformen wie möglich laufen zu lassen? Was muss ich dabei beachten? Gibt es Tutorials die speziell auf die Plattformunabhänigkeit eingehen?
Nun möchte ich eine Sprache lernen, bei der es einfach möglich ist, Programme zu schreiben, die ohne großen Portier-Aufwand sowohl unter Linux als auch Windows und MacOSX laufen.
Hintergrund ist, dass wir unseren Mp3-Player ursprünglich für Windows entwickelt haben, ich nun aber fast ausschließlich Linux nutze. Mit Wine läuft er auch aber die Wiedergabe hängt immer wieder. Außerdem finde ich, dass das ein guter Ansporn ist, mal wieder mehr zu programmieren. Welche Sprache könnte ihr mir also für verschiedene Plattformen empfehlen? Wie groß ist überhaupt der Aufwand ein Programm, dass komplett neu geschrieben wird, auf so vielen Plattformen wie möglich laufen zu lassen? Was muss ich dabei beachten? Gibt es Tutorials die speziell auf die Plattformunabhänigkeit eingehen?
C++ mit Qt ist für alle Plattformen verfügbar und bringt sehr viel mit - auf jeden Fall einen Blick wert. Damit reicht es, es einmal für alle Plattformen zu kompilieren, mehr sollte eigentlich nicht nötig sein.
Anonsten java - jetzt bekomm ich bestimmt wieder Haue, na i_hasser
Anonsten java - jetzt bekomm ich bestimmt wieder Haue, na i_hasser
Phil S.
Vice Admiral Special
- Mitglied seit
- 26.12.2001
- Beiträge
- 802
- Renomée
- 5
- Standort
- Mittelfranken
- Mein Laptop
- Schwarzes Macbook
- Prozessor
- AMD XP-M 2600+
- Mainboard
- ABIT KV7
- Speicher
- 2x512 MB Corsair Pro RAM
- Grafikprozessor
- ATI Radeon 9800 pro
- Display
- 1x 19" Belinea 106080 und 1x17" Iiyama HM704UTc, beide auf 1152x864
- HDD
- WD1600BB
- Optisches Laufwerk
- LG Brenner und AOpen DVD-Rom
- Soundkarte
- Creative Live 1024
- Gehäuse
- LianLi (das mit dem Aquarium Seitenteil)
- Betriebssystem
- Gentoo
- Webbrowser
- Firefox
- Verschiedenes
- ...und dann war da noch der quietische iMac G3. :-)
Hi,
würde hauptsächlich C(++) oder Java sagen.
Es gibt wohl viele Sprachen, die prinzipiell von der Plattform unabhängig sind. Wichtig sind die Libraries/Komponenten/Framworks mit denen du programmierst. Wenn du zum Beispiel ein Windows Programm in C++ mit den MFC Libraries programmiert hast, wird es auch auf Linux nicht laufen, weil die MFC Libraries ja nicht für Linux gedacht waren.
Eine Library, die für so kleinere 2D Spielchen ganz oft genommen wird, ist die SDL (http://www.libsdl.org/), die auch auf den drei gängigen Systemen läuft. Vielleicht wäre die SDL_sound (http://icculus.org/SDL_sound/) etwas für deinen Player?
Ciao
Phil
würde hauptsächlich C(++) oder Java sagen.
Es gibt wohl viele Sprachen, die prinzipiell von der Plattform unabhängig sind. Wichtig sind die Libraries/Komponenten/Framworks mit denen du programmierst. Wenn du zum Beispiel ein Windows Programm in C++ mit den MFC Libraries programmiert hast, wird es auch auf Linux nicht laufen, weil die MFC Libraries ja nicht für Linux gedacht waren.
Eine Library, die für so kleinere 2D Spielchen ganz oft genommen wird, ist die SDL (http://www.libsdl.org/), die auch auf den drei gängigen Systemen läuft. Vielleicht wäre die SDL_sound (http://icculus.org/SDL_sound/) etwas für deinen Player?
Ciao
Phil
mqss
Admiral Special
- Mitglied seit
- 20.11.2001
- Beiträge
- 1.159
- Renomée
- 19
- Mein Laptop
- IBM ThinkPad X31
- Prozessor
- AMD Athlon XP 3000+ (Barton)
- Mainboard
- Asus A7N8X-E Deluxe
- Speicher
- 2x 1GiB DDR RAM Samsung PC400
- Grafikprozessor
- Matrox G550
- Betriebssystem
- Debian, FreeBSD
Für einen MP3-Player ist es weniger passend, aber Du kannst dich ja mal (bzgl Plattformunabhängigkeit) in die Ideen, die hinter MDA (inkl UML) stecken, reinlesen...
Ansonsten Java. Eventuell C#/Mono. Da musst Du aber schon wieder aufpassen, welche Klassenbibliotheken, auf welchem System unterstützt werden.
Ansonsten Java. Eventuell C#/Mono. Da musst Du aber schon wieder aufpassen, welche Klassenbibliotheken, auf welchem System unterstützt werden.
C++/Qt ist meiner Meinung nach das beste in dem Bereich, allerdings wirst du dich bei deinen Vorkenntnissen mit Java wohl leichter tun. Alternativ kannst du dir auch noch Python anschauen, das dürfte von PHP kommend wohl das einfachste sein, als GUI hast du hier die Wahl zwischen PyGTK, PyQt oder wxPython.
\²³/
Grand Admiral Special
Danke für die vielen Antworten. Welche Tutorials habt ihr für C++/Qt in dem Bereich parat?
Wie ist das mit Java? Braucht man da eigentlich immer so eine Laufzeitumgebung oder funktionieren die Programme auch "alleine"?
Wie ist das mit Java? Braucht man da eigentlich immer so eine Laufzeitumgebung oder funktionieren die Programme auch "alleine"?
Zuletzt bearbeitet:
Dalai
Grand Admiral Special
- Mitglied seit
- 14.06.2004
- Beiträge
- 7.420
- Renomée
- 262
- Standort
- Meiningen, Thüringen
- Mein Laptop
- Thinkpad T43 mit 15" UXGA (1600x1200), 2x 1 GiB RAM, 100GB HD, Bluetooth, GBit LAN, ATi X300
- Prozessor
- AMD Ryzen 5 2600 (Pinnacle Ridge)
- Mainboard
- ASUS Prime X370-A
- Kühlung
- Noctua NH-U12S mit 1x NF-F12
- Speicher
- Crucial Ballistix Sport LT weiß (BLS2K8G4D32AESCK): 2x 8 GiB DDR4-3200 (CL16) @ 1,25V
- Grafikprozessor
- Zotac GeForce GTX 1060 6GB AMP Edition
- Display
- Dell U2410, 24 Zoll, IPS, 16:10
- SSD
- Samsung 850 Evo 250 GB
- HDD
- WD40EZRZ (WD Blue) 4000GB SATA3, WD20EZRX (WD Green) 2000GB SATA3
- Optisches Laufwerk
- Pio DVR-212 (DVD-RAM), ASUS E818A6T (DVD-ROM), Pio DVD-106S (Slot-in DVD-ROM)
- Soundkarte
- Creative SoundBlaster Audigy 2 ZS PCI
- Gehäuse
- Lian Li PC-8NB Midi-Tower
- Netzteil
- Enermax EMP400AGT MaxPro 400W
- Betriebssystem
- Windows 7 Professional x64 und immer mal wieder ein neues Linux :-)
- Webbrowser
- Mozilla Firefox mit diversen Erweiterungen
- Verschiedenes
- 2x 120mm Gehäuselüfter (Front und Rückwand), DVBSky T9580, Sharkoon Frontpanel B (2x USB 3.0)
Für Windows braucht man ganz klar immer eine Java Runtime (am häufigsten wohl die von Sun). Von alleine läuft da nix.\²³/ schrieb:Braucht man da eigentlich immer so eine Laufzeitumgebung oder funktionieren die Programme auch "alleine"
Das ist ja einer der Nachteile von Java (neben der "Geschwindigkeit", vor allem bei GUIs).
MfG Dalai
wobei das auch nicht unbedingt immer ein Nachteil für Java und .Net ist. Nur dadurch ist die Plattformunabhängigkeit überhaupt erst möglich. Im Herbst kommt dann wohl auch eine deutlich abgespeckte JRE die sich die notwendigen Klassen erst wenn sie benötigt werden aus dem Netz zieht. Macht auch nicht wirklich einen Unterschied ob du jetzt die JRE oder eine Menge Biblitheken (zum Beispiel bei Qt) mitlieferst.
Langsam sind die GUIs eigentlich auch nicht mehr wirklich da hat sich in den letzten 2-3 Jahren einiges getan und spätestens seit Java6 ist ein Geschwindigkeitsnachteil nicht mehr spürbar (schau dir zum Beispiel Netbeans als reine Java Anwendung an).
Als Buch für Qt kann ich "C++ GUI Programming with Qt4" empfehlen. Das deckt eigentlich alles ab, was man als Anfänger braucht. Genügend Beispielprogramme findet man auch auf der auf der Trolltech Seite und Hilfe bei http://www.qtforum.de
Langsam sind die GUIs eigentlich auch nicht mehr wirklich da hat sich in den letzten 2-3 Jahren einiges getan und spätestens seit Java6 ist ein Geschwindigkeitsnachteil nicht mehr spürbar (schau dir zum Beispiel Netbeans als reine Java Anwendung an).
Als Buch für Qt kann ich "C++ GUI Programming with Qt4" empfehlen. Das deckt eigentlich alles ab, was man als Anfänger braucht. Genügend Beispielprogramme findet man auch auf der auf der Trolltech Seite und Hilfe bei http://www.qtforum.de
Zuletzt bearbeitet:
PuckPoltergeist
Grand Admiral Special
Ich nehme an, du hättest gerne was zum downloaden (kostenlos). Schau dir mal C++ GUI Programming With Qt 3 an. Hab selber bis jetzt nur oberflächlich reingeschaut, deshalb kann ich auch keine Wertung abgeben.Danke für die vielen Antworten. Welche Tutorials habt ihr für C++/Qt in dem Bereich parat?
Wenn du es gedruckt magst, wäre für C++ "The C++ Programming Language" von Bjarne Stroustrup immer einen Blick wert. Ist allerdings insbesondere in der Abhandlung der Standard C++ Lib für Anfänger ziemlich harte Kost, da das Buch quasi die Referenz der C++ Implementierung darstellt, und deshalb auch in die Implementierungsdetails geht.
Ja, eine RTE ist immer notwendig. Allerdings kann das ganze auch zusammen mit dem eigentlichen Programm in einem nativen Binary verpackt werden. Der Java-Compiler von Sun ist ein Beispiel dafür. Frag mich aber nicht, wie das geht. Das weiß ich selber nicht.Wie ist das mit Java? Braucht man da eigentlich immer so eine Laufzeitumgebung oder funktionieren die Programme auch "alleine"?
Cybered
Admiral Special
- Mitglied seit
- 22.09.2002
- Beiträge
- 1.625
- Renomée
- 14
- Standort
- Unimatrix-Zero
- Aktuelle Projekte
- Spin;Seti;QMC
- Lieblingsprojekt
- SETI
- Meine Systeme
- Athlon 64 X2 3800+
- BOINC-Statistiken
Für Windows braucht man ganz klar immer eine Java Runtime (am häufigsten wohl die von Sun). Von alleine läuft da nix.
Das ist ja einer der Nachteile von Java (neben der "Geschwindigkeit", vor allem bei GUIs).
MfG Dalai
Es gibt für Java auch Native Compiler, die den Code unter Windows zum Beispiel in eine EXE compilieren...die benötigten Klassen etc. werden da einfach mit reingepackt, und es ist dan kein JRE mehr nötig...allerdings ist der Sinn von Java...nämlich die Portabilität dann futsch...oder eben für jede Plattform neu compilieren...
Dalai
Grand Admiral Special
- Mitglied seit
- 14.06.2004
- Beiträge
- 7.420
- Renomée
- 262
- Standort
- Meiningen, Thüringen
- Mein Laptop
- Thinkpad T43 mit 15" UXGA (1600x1200), 2x 1 GiB RAM, 100GB HD, Bluetooth, GBit LAN, ATi X300
- Prozessor
- AMD Ryzen 5 2600 (Pinnacle Ridge)
- Mainboard
- ASUS Prime X370-A
- Kühlung
- Noctua NH-U12S mit 1x NF-F12
- Speicher
- Crucial Ballistix Sport LT weiß (BLS2K8G4D32AESCK): 2x 8 GiB DDR4-3200 (CL16) @ 1,25V
- Grafikprozessor
- Zotac GeForce GTX 1060 6GB AMP Edition
- Display
- Dell U2410, 24 Zoll, IPS, 16:10
- SSD
- Samsung 850 Evo 250 GB
- HDD
- WD40EZRZ (WD Blue) 4000GB SATA3, WD20EZRX (WD Green) 2000GB SATA3
- Optisches Laufwerk
- Pio DVR-212 (DVD-RAM), ASUS E818A6T (DVD-ROM), Pio DVD-106S (Slot-in DVD-ROM)
- Soundkarte
- Creative SoundBlaster Audigy 2 ZS PCI
- Gehäuse
- Lian Li PC-8NB Midi-Tower
- Netzteil
- Enermax EMP400AGT MaxPro 400W
- Betriebssystem
- Windows 7 Professional x64 und immer mal wieder ein neues Linux :-)
- Webbrowser
- Mozilla Firefox mit diversen Erweiterungen
- Verschiedenes
- 2x 120mm Gehäuselüfter (Front und Rückwand), DVBSky T9580, Sharkoon Frontpanel B (2x USB 3.0)
Und die EXE wird dadurch sinnlos groß...Cybered schrieb:Es gibt für Java auch Native Compiler, die den Code unter Windows zum Beispiel in eine EXE compilieren...die benötigten Klassen etc. werden da einfach mit reingepackt, und es ist dan kein JRE mehr nötig
Wenn die komplette RT mit reingepackt wird, sind es dann gleich mal mehrere MB (bei mir mit der neusten 1.5er locker mal 32 MB)...
MfG Dalai
wori
Commander
- Mitglied seit
- 06.05.2005
- Beiträge
- 161
- Renomée
- 0
Zum Einstieg und Erlernen "The C++ Programming Language" von Bjarne Stroustrup zu empfehlen, ist unklug. Dieses Werk taugt nichts für Neulinge und ist erst der 3. Schritte um die Sprache zu vertiefen.
Enpfehlenswert ist die Seite c-plusplus.de. Ein sehr gutes Forum, gute und kommentierte Auswahl an Tutorien und ebenso eine kommentierte Übersicht zur Literatur,
Schaus Dir an und lass voerst die Finger von Stroustrup.
Enpfehlenswert ist die Seite c-plusplus.de. Ein sehr gutes Forum, gute und kommentierte Auswahl an Tutorien und ebenso eine kommentierte Übersicht zur Literatur,
Schaus Dir an und lass voerst die Finger von Stroustrup.
\²³/
Grand Admiral Special
Ich bin ja kein Anfänger in Sachen Programmieren. Oder meinst du Anfänger in Bezug auf C++?Zum Einstieg und Erlernen "The C++ Programming Language" von Bjarne Stroustrup zu empfehlen, ist unklug.
wori
Commander
- Mitglied seit
- 06.05.2005
- Beiträge
- 161
- Renomée
- 0
Ich meine das natürlich im Bezug auf C++.
Bin der Meinung, dass der Einstieg in ein neues Thema erstmal leicht gehalten werden sollte. Schwierig wird es dann von alleine.
Stroustrup biete mit seinem Buch eine Bibel und m.E. erschlägt das einen Einsteiger zuerst.
Bin der Meinung, dass der Einstieg in ein neues Thema erstmal leicht gehalten werden sollte. Schwierig wird es dann von alleine.
Stroustrup biete mit seinem Buch eine Bibel und m.E. erschlägt das einen Einsteiger zuerst.
Ich würde Stroustrup nicht zu Beginn empfehlen. Mit lesen ist in dem Buch nicht viel, es ist vergleichbar mit nem Wörterbuch (wennst das deutsche Wort nicht kennst wirst auch die italienische Übersetzung nicht finden). Es ist ganz gut für einen Profi, dem nur kurz die richtige Syntax oder so entfallen ist aber zum lernen in meinen Augen völlig ungeeignet.
Ich hab C/C++ bspw. mit "C++ in 21 Tagen" (M+T) und den Büchern C-Programmierung und C++-Programmierung von Andre Willms (Addison Wesley) bzw. Java mit "Handbuch der Java-Programmierung" von Guido Krüger (Addison Wesley) gelernt.
Ich hab C/C++ bspw. mit "C++ in 21 Tagen" (M+T) und den Büchern C-Programmierung und C++-Programmierung von Andre Willms (Addison Wesley) bzw. Java mit "Handbuch der Java-Programmierung" von Guido Krüger (Addison Wesley) gelernt.
\²³/
Grand Admiral Special
Gehen die auch auf Plattformunabhänigkeit ein?Ich hab C/C++ bspw. mit "C++ in 21 Tagen" (M+T) und den Büchern C-Programmierung und C++-Programmierung von Andre Willms (Addison Wesley) [...] gelernt.
Ich habe nicht allzuviel Erfahrung mit der C/C++-Programmierung, trotzdem ein paar Sätze dazu: nach meinem Kenntnis-Stand ist ein C- oder C++-Programm erst einmal Compiler-abhängig, d.h. welche Standards ein Compiler übersetzen kann und für welche Plattformen dieser Compiler zur Verfügung steht. Ein einfaches Hello-World-C-Programm wirst Du auf nahezu jeder Plattform mit einem fast beliebigen C-Compiler zum Laufen bewegen können. Bei komplexeren Programmen kann es schon sein, dass der eine Compiler mit einer Syntax ein Problem hat und ein anderer nicht.
Die zweite Abhängigkeit bezieht sich auf die Bibliotheken, die Dein Programm einsetzt, z.B. Hilfsbibliotheken für mathematische Berechnungen - die vermutlich ebenfalls für viele Plattformen compilierbar sollten, wenn denn auch der Source-Code zur Verfügung steht und kein Inline-Assembler o.ä. verwendet wird. Schwieriger wird es, wenn Du Programme mit einer text- oder grafikorientierten Oberfläche entwickeln möchtest. Da musst Du Dich dann genau umsehen, mit welchen Du Dich auseinandersetzen kannst.
Für die Entwicklung von grafischer Software, die dann unter mehreren Betriebssystemen compilierbar und lauffähig sein soll, fallen mir spontan folgende Bibliotheken ein (wertungsfrei alphabetisch sortiert):
- GTK
- Qt
- Tk (aus Tcl/Tk)
- WxWidgets
Vermutlich gibt es nicht viel mehr, also wirst Du Dich mit mind. einer davon mal auseinandersetzen und dazu passende Lektüre auswählen müssen. Ein allgemeines C/C++-Buch sollte aber erst einmal die Sprache völlig unabhängig von solchen speziellen Bibliotheken erklären.
Die zweite Abhängigkeit bezieht sich auf die Bibliotheken, die Dein Programm einsetzt, z.B. Hilfsbibliotheken für mathematische Berechnungen - die vermutlich ebenfalls für viele Plattformen compilierbar sollten, wenn denn auch der Source-Code zur Verfügung steht und kein Inline-Assembler o.ä. verwendet wird. Schwieriger wird es, wenn Du Programme mit einer text- oder grafikorientierten Oberfläche entwickeln möchtest. Da musst Du Dich dann genau umsehen, mit welchen Du Dich auseinandersetzen kannst.
Für die Entwicklung von grafischer Software, die dann unter mehreren Betriebssystemen compilierbar und lauffähig sein soll, fallen mir spontan folgende Bibliotheken ein (wertungsfrei alphabetisch sortiert):
- GTK
- Qt
- Tk (aus Tcl/Tk)
- WxWidgets
Vermutlich gibt es nicht viel mehr, also wirst Du Dich mit mind. einer davon mal auseinandersetzen und dazu passende Lektüre auswählen müssen. Ein allgemeines C/C++-Buch sollte aber erst einmal die Sprache völlig unabhängig von solchen speziellen Bibliotheken erklären.
Gehen die auch auf Plattformunabhänigkeit ein?
Nein, aber das wirst vermutlich auch in keinem Buch finden
PuckPoltergeist
Grand Admiral Special
Zum Einstieg und Erlernen "The C++ Programming Language" von Bjarne Stroustrup zu empfehlen, ist unklug. Dieses Werk taugt nichts für Neulinge und ist erst der 3. Schritte um die Sprache zu vertiefen.
Wenn man kein Anfänger beim Programmieren ist, und z.B. schon in einer oder mehreren anderen Sprachen firm ist, halte ich das Buch durchaus für empfehlenswert. Sicherlich macht Stroustrup keine langen Erläuterungen bzgl. Grundkenntnisse der Programmierung. Er erläutert, wie die Konzepte in C++ umgesetzt sind. Und als schon erfahrener Programmierer, erschließt sich das einem doch recht schnell.
\²³/
Grand Admiral Special
OK. Dann schau ich mich demnächst mal in ein paar Bibliotheken (=Büchereien) um, wo es welche Bücher gibt. Das meiste muss man sich ja nicht kaufen...
Wenn die ersten Fragen aufkommen, meld ich mich wieder. Danke an alle.
Wenn die ersten Fragen aufkommen, meld ich mich wieder. Danke an alle.
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 465
- Antworten
- 43
- Aufrufe
- 8K
- Antworten
- 19
- Aufrufe
- 20K
- Antworten
- 16
- Aufrufe
- 33K
- Antworten
- 21
- Aufrufe
- 6K