Welche Prog-Sprache ?

Post Reply
Message
Author
edm

Welche Prog-Sprache ?

#1 Post by edm »

Hallo,

ich möchte endlich mal ne Programmiersprache lernen. Nur welche? Da ich auch Windows benutzte, bzw. auch Win-Progs schreiben will, sollte sie unter Win und Linux funktionieren. Ich will nicht für Win und Linux die gleichen apps schreiben, nur will ich das unter linux gerlernte, auch unter Windows nutzen koennen. Am naheliegensten ist da sicherlich java, aber wie sieht das z.B. mit C aus ? Vor allem mit den grafischen Oberflächen bzw. Toolkits.

MfG
edm

ratte

Re: Welche Prog-Sprache ?

#2 Post by ratte »

ohne anspruch auf vollstaendigkeit und rangfolge sowie der vermanschung von scriptsprachen mit programmiersprachen:

c
c++
java
java-script
php
perl
html
bash (mit cygwin)

sind alle fuer windozen und unices verfuegbar, grafische oberflaechen sind mir nicht bekannt und im uebgrigen glaube ich auch nicht daran :) das gleiche gilt fuer tookits (was ist n das?), mir reicht vi und die bash.

ratte

Descartes

Re: Welche Prog-Sprache ?

#3 Post by Descartes »

Mal abgesehen von grafischen Applikationen kannst du jede der von ratte genannten Programmiersprachen verwenden.

Ein in C, C++, Perl, Tcl, ... geschriebenes Programm sieht unter Linux genauso aus wie unter Windows wie auf einer Cray T3E. Was erwartest du auch wenn es die selbe Programmiersprache ist. Natürlich gibt es Unterschiede in der Programmierung bedingt durch die unterschiedlichen Betriebssysteme und Plattformen, aber die Programmiersprache selbst und die Art und Weise wie du diese anwendest bleibt gleich. Es ändert sich ja nicht die Syntax und Semantik nur weil du auf einer anderen Plattform entwickelst.

Genug hierzu und zurück zum eigentlichen Punkt.

Wenn es dir darum geht eine Programmiersprache zu finden in der du Applikationen mit grafischer Oberfläche zu erstellen kannst und selbst bei Wechsel zwischen verschiedenen Betriebssystemen nicht die Bibliotheken wechseln möchtest dann haben wir:

<li> C und WinAPI
Microsoft Windows only
Du programmierst C wie unter jedem anderen Betriebssystem; allerdings verseucht Microsoft mit der WinAPI den C Quellcode mit eigenen "Goodies" sodass der ganze Quellcode am Ende nicht mehr gross nach ANSI C ausschaut. Für jeden Sch*** werden eigene Datentypen definiert (HRESULT, LRESULT, HWND, WPARAM, LPARAM, LPSTR, WORD, HINSTANCE, ...) die einem den Einstieg in die Windows Programmierung nicht gerade einfacher machen.

<li> C++ und MFC
Microsoft Windows only
Nur der Vollständigkeit halber: Microsoft hat in der MSDN eine Webseite zum Thema "Programming UNIX with MFC"
Du programmierst C++ wie unter jedem anderen Betriebssystem; für den Rest gilt das gleiche wie für die WinAPI bis auf den Punkt, dass MFC grossteils ein Wrapper um die WinAPI darstellt (leider schimmert hier und da trotzdem immer wieder die WinAPI durch) weil selbst Microsoft gemerkt hat wie aufwändig es sein kann alles zu Fuss in der WinAPI zu erledigen...
Als Lektüre für die alltäglichen problemchen die einem so auffallen wenn man unter Windows sowohl mit Qt als auch mit MFC programmiert sei folgender Artikel von Philippe Fremy empfohlen: <a href="http://phil.freehackers.org/kde/qt-vs-mfc.html" target="_blank"><!--auto-->http://phil.freehackers.org/kde/qt-vs-m ... <!--auto--> Der Artikel erhebt nicht den Anspruch vollkommen Neutral geschrieben zu sein (im Grundton ist er sogar eher Pro-Qt eingestellt) allerdings schreibt der Autor selbst, dass der Text aus selbst gemachten Erfahrungen (und Problemen) beruht. Ich finde ihn trotzdem lesenswert.

<li> Tcl/Tk
Programmiersprache Tcl mit Tk als Bibliothek für die ganzen grafischen "Spielereien"
unter Linux in jeder (?) Linux Distribution dabei; Für Windows ist es in Activestates' ActiveTcl enthalten

<li> Perl/Tk
unter Linux in jeder (?) Linux Distribution dabei; Für Windows ist es in Activestates' ActivePerl enthalten
Analog zur Bindung mit den Tk Bibliotheken gibt es auch ein GTK Binding (Perl/GTK) und ein Qt Binding (Perl/Qt) mit dem von Perl heraus grafische Oberflächen mit Hilfe von GTK bzw. Qt erstellt werden können; Allerdings (noch ?) nicht auf Windows (jedenfalls nicht in ActiveStates' ActivePerl) erhältlich

<li> C++ und Qt
wer unter Linux mit KDE arbeitet hat auch immer gleich Qt drauf; Für Windows ist die Qt v2.x.y für Non-Commercial Nutzung kostenfrei erhältlich inklusive nahtloser Einbindung in Visual Studio

<li> C und GTK+ (oder C++ mit GTKmm)
du favorisiert GTK ? auch kein Problem denn GTK ist neben Linux/UNIX auch auf Windows portiert; Frag' mich jetzt bitte nicht, ob und wie du unter Windows dein Visual Studio so einrichtest dass du damit GTK Programme kompilieren kannst...

<li> Java
Mit Hilfe der mit Java mitgelieferten AWT- und Swing-Klassen/Bibliotheken kannst du auch mit Java grafische Applikationen programmieren. Ab einer gewissen Komplexität der Anwendung ist allerdings ein merklich feststellbar dass Javas Hauptaugenmerk die Plattformunabhängigkeit und nicht die Performanz ist.

sputnik1969
Posts: 92
Joined: 26. Jul 2002 15:58
Location: Berlin

Re: Welche Prog-Sprache ?

#4 Post by sputnik1969 »

Ratte und Descartes haben sich ja schon recht ausführlich zu Deinem Problem geäussert, deshalb nur ein kleiner Zusatz:
Falls Du auch solche Dinge wie Spiele oder 3D-Apps schreiben möchtest (mit Sicherheit nicht gleich am Anfang <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">) solltest Du dich bei der Auswahl auf C oder C++ beschränken und Java außen vor lassen. Außerdem verzichte auf DirctX und setze lieber auf OpenGL, falls du die Programme später auf andere Plattformen portieren möchtest...

hugenay

Re: Welche Prog-Sprache ?

#5 Post by hugenay »

Java hat auch Vorteile: für webapplikationen (tomcat: jsps, servlets) z.Z. wenigstens wo ich arbeite immer mehr eingesetzt, 'normale' cgi's gibts da kaum noch.

edm

Re: Welche Prog-Sprache ?

#6 Post by edm »

Erst mal danke für die Antworten.
Ich denke mal es läuft auf C oder Java hinaus. Java hatte ich schon ein wenig an der Uni. Leider findet man irgendwie nicht so viele Java-Anwendungen. Deshalb bin ich da ein wenig skeptisch. Web-Applikationen will ich im Moment eigendlich auch nicht programmieren. Ist C nicht ein wenig veraltet ? Ich meine was die Programmiertechnik angeht. Ist halt nich objekt-orientiert. Ich kann mich irgendwie nicht entscheiden. Vielleicht hat ihr ja noch ein paar pro/contras für die jeweiligen sprachen.

Danke im voraus
edm

P.S. Für C gibt doch auch "gratis" compiler, oder ? Laufen die auch unter Win2000 ?

Descartes

Re: Welche Prog-Sprache ?

#7 Post by Descartes »

> P.S. Für C gibt doch auch "gratis" compiler, oder ? Laufen die auch unter Win2000 ?
Klar gibt es das, den LCC zum Beispiel:
<a href="http://www.cs.virginia.edu/~lcc-win32/" target="_blank"><!--auto-->http://www.cs.virginia.edu/~lcc-win32/</a><!--auto-->
<a href="http://www.q-software-solutions.com/lccwin32/" target="_blank"><!--auto-->http://www.q-software-solutions.com/lcc ... <!--auto-->

Freeware-Compiler für DOS/Win - (fast) kostenlose Compiler für Win
<a href="http://www.c-plusplus.de/body_compiler.htm#WinCompiler" target="_blank"><!--auto-->http://www.c-plusplus.de/body_compiler. ... <!--auto-->
<a href="http://www.c-plusplus.de/body_compiler.htm#Buecher" target="_blank"><!--auto-->http://www.c-plusplus.de/body_compiler. ... <!--auto-->

Für ein paar OO Beispiele schau mal hier:

OO Example (not only) in C and C++
<a href="http://w3.one.net/~jweirich/oostuff/" target="_blank"><!--auto-->http://w3.one.net/~jweirich/oostuff/</a><!--auto-->

Dort wird ein einfaches Beispiel (Vaterklasse "Shape" und zwei davon abgeleitete Kind-Klassen "Rectangle" und "Circle") in verschiedenen Programmiersprachen realisiert.

Ansonsten:

======================================================================
Perl
------------------------------
Object Oriented Programming in Perl
<a href="http://perl.about.com/cs/oop/" target="_blank"><!--auto-->http://perl.about.com/cs/oop/</a><!--auto-->


======================================================================
JavaScript
------------------------------
Ryan Frishberg: JavaScript Object-Oriented Programming Part 1+2
<a href="http://www.webmasterbase.com/article/470" target="_blank"><!--auto-->http://www.webmasterbase.com/article/470</a><!--auto-->
<a href="http://www.webmasterbase.com/article/473/91" target="_blank"><!--auto-->http://www.webmasterbase.com/article/47 ... <!--auto-->


======================================================================
ANSI/ISO C
------------------------------
Object-Oriented Programming With ANSI-C
<a href="http://www.cs.rit.edu/~ats/books/ooc.pdf" target="_blank"><!--auto-->http://www.cs.rit.edu/~ats/books/ooc.pdf</a><!--auto-->

Object Oriented Programming in C
<a href="http://ldeniau.home.cern.ch/ldeniau/html/oopc/oopc.html" target="_blank"><!--auto-->http://ldeniau.home.cern.ch/ldeniau/htm ... <!--auto-->

Object Oriented Programming in C
<a href="http://www.eventhelix.com/RealtimeMantr ... g_in_c.htm" target="_blank"><!--auto-->http://www.eventhelix.com/RealtimeMantr ... <!--auto-->

ratte

Re: Welche Prog-Sprache ?

#8 Post by ratte »

@hugenay

und apache/tomcat laufen 24*7 ohne probleme?

den trick musste mir mal verraten, am besten also fuer alle gestressten roots posten...

ratte

hugenay

Re: Welche Prog-Sprache ?

#9 Post by hugenay »

Laeuft tomcat so schlecht? Hab tomcat noch nicht lange laufen, wolltes aber jetzt einsetzen.

Aber NewAtlantas ServletExec hab ich mal 2 Monate ohne Ausfall gefahren (da kann man also auch java verwenden).

gruss hug.

rübezahl

Re: Welche Prog-Sprache ?

#10 Post by rübezahl »

...Python.
OO und Keine lib nötig für Grafischeoberfäche.
Schöne Syntax.

chaos

Re: Welche Prog-Sprache ?

#11 Post by chaos »

> Ist C nicht ein wenig veraltet ? Ich meine was die Programmiertechnik angeht. Ist halt nich objekt-orientiert. <

Falsch, falsch, falsch. C ist zwar ursprünglich nciht auf objektorientierung ausgelegt, aber man kann sehr wohl objektorientier programmieren (siehe z.B. gnome). Eine Programmiersprache kann einen Programmierer immer nur in gewisser weiße dazu ermutigen die eine oder die andere Programmiertechnik zu verwenden.

vost

Re: Welche Prog-Sprache ?

#12 Post by vost »

Hallo edm

Seit ca. 2 Jahren programmiere ich unter LabVIEW von "National Instruments" http://www.ni.com, das ist eine grafische Programmiersprache, die ursprünglich für Mess- und Regeltechnik am Apple Macintosh entwickelt worden ist. Inzwischen ist diese Progrmmiersprache auf alle gängigen Betriebssystemen portiert worden und hat auch alle Features wie beispielsweise C und C++ (letzteres wird von http://www.lvot.de entwickelt). Der Quellcode von LabVIEW lässt sich ohne weitere Convertierung auf ein anderes OS portieren, dh. Du kannst unter Linux programmieren und den Code sofort unter Windows laufen lassen, die Copilierung erfolgt in Echtzeit, dh. sobald du den Quellcode in den Editor ladest ist er schon compiliert.
Nebenbei ist es ein Kinderspiel Libraris (libxxx.so) bzw. DLLs (Windows), Objectfiles und C(C++)-Quellcode einzubinden.
Diese Programmiersprache ist kinderleicht zu erlernen, allerdings vom Programmierstiel her sehr gewöhnungsbedürftig.

Falls Du Interesse an etwas Neuen und noch sehr Unbekannten hast dann melde Dich bei mir, ich werde Dir dann eine Demo-Version zukommen lassen, oder Du tritts direkt mit National Instruments in Kontakt und lässt Dir von dort leihweise eine Version zuschicken. (die machen das, ehrlich)

mfG vost

Post Reply