Linux-Programmierung: Aller Anfang ist schwer
Linux-Programmierung: Aller Anfang ist schwer
Hallo und guten morgen!
Eines der Hauptfächer meiner 3 jährigen Ausbildung (Fachinformatiker SysInt) war die Programmierung in C#/.NET. Ich habe großen Gefallen daran gefunden, die Vermittelten Kenntnisse weiter ausgebaut und auch kleinere private und berufliche Projekte umgesetzt.
Nun ist es allerdings so, dass ich sowohl beruflich als auch privat zum größten Teil mit Debian basierenden Systemen arbeite. Zwar sind .NET-Anwendungen auch mit MONO unter Linux lauffähig, richtig "elegant" ist dies jedoch nicht. Man ist an das Framework eines einzelnen Herstellers gebunden, was sowohl das Installieren von Zusatzsoftware, als auch deren Wartung erfordert. Und richtig "frei" fühlt man sich dabei auch irgendwie nicht...
Deshalb möchte ich eine weitere Sprache, speziell für die Linux-Programmierung lernen.
Nur welche?
Es sollte möglich sein, ohne ein Framework lauffähige Programme zu erstellen und eine syntaktische Ähnlichkeit würde auch den Einstieg ein wenig leichter gestallten.
Naheliegend wäre vermutlich C oder C++, oder? Aber wo fängt man an? Was ist sinnvoll und auch zukunftssicher?
Vielleicht hat jemand ja ein ähnliches Problem bereits gemeistert?
Für konstruktive Tipps und Vorschläge aller Art wäre ich offen.
Auch Vorschläge zu empfehlenswerter Fachliteratur wären klasse!
Vielen Dank & ein schönes Wochenende!
elMurruk
Eines der Hauptfächer meiner 3 jährigen Ausbildung (Fachinformatiker SysInt) war die Programmierung in C#/.NET. Ich habe großen Gefallen daran gefunden, die Vermittelten Kenntnisse weiter ausgebaut und auch kleinere private und berufliche Projekte umgesetzt.
Nun ist es allerdings so, dass ich sowohl beruflich als auch privat zum größten Teil mit Debian basierenden Systemen arbeite. Zwar sind .NET-Anwendungen auch mit MONO unter Linux lauffähig, richtig "elegant" ist dies jedoch nicht. Man ist an das Framework eines einzelnen Herstellers gebunden, was sowohl das Installieren von Zusatzsoftware, als auch deren Wartung erfordert. Und richtig "frei" fühlt man sich dabei auch irgendwie nicht...
Deshalb möchte ich eine weitere Sprache, speziell für die Linux-Programmierung lernen.
Nur welche?
Es sollte möglich sein, ohne ein Framework lauffähige Programme zu erstellen und eine syntaktische Ähnlichkeit würde auch den Einstieg ein wenig leichter gestallten.
Naheliegend wäre vermutlich C oder C++, oder? Aber wo fängt man an? Was ist sinnvoll und auch zukunftssicher?
Vielleicht hat jemand ja ein ähnliches Problem bereits gemeistert?
Für konstruktive Tipps und Vorschläge aller Art wäre ich offen.
Auch Vorschläge zu empfehlenswerter Fachliteratur wären klasse!
Vielen Dank & ein schönes Wochenende!
elMurruk
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: Linux-Programmierung: Aller Anfang ist schwer
Auch wenn es dir erst mal nicht besonders viel weiter hilft: Die Sprache würde ich in jedem Fall in Abhängigkeit davon wählen, was das Projekt sein soll.
Wenn du eine Lowlevel-Programmiersprache (also C++, mit etwas C wenns denn sein muss) für alles wo richtig Datenmengen umgesetzt werden, und eine Highlevel Scriptsprache (Python oder Ruby oder so) um die Algorithmen zusammenzukleben kannst hast du sicher die Tools um das meiste zu erschlagen.
Klar kannst du alles was mit Python geht auch mit C/C++ machen - aber es ist so unglaublich viel umständlicher, dass es sich oft in keiner Hinsicht lohnt. Auch das Endergebnis wird oft nicht besser...
C++ ist halt erst mal schwierig und es dauert sehr lange bis man sich gut genug auskennt um was ordentlich zu machen. Die Lernkurve ist recht krass. Ob es sich lohnt, naja, für manche Sachen braucht man es halt...
MfG Peschmä
Wenn du eine Lowlevel-Programmiersprache (also C++, mit etwas C wenns denn sein muss) für alles wo richtig Datenmengen umgesetzt werden, und eine Highlevel Scriptsprache (Python oder Ruby oder so) um die Algorithmen zusammenzukleben kannst hast du sicher die Tools um das meiste zu erschlagen.
Klar kannst du alles was mit Python geht auch mit C/C++ machen - aber es ist so unglaublich viel umständlicher, dass es sich oft in keiner Hinsicht lohnt. Auch das Endergebnis wird oft nicht besser...
C++ ist halt erst mal schwierig und es dauert sehr lange bis man sich gut genug auskennt um was ordentlich zu machen. Die Lernkurve ist recht krass. Ob es sich lohnt, naja, für manche Sachen braucht man es halt...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Re: Linux-Programmierung: Aller Anfang ist schwer
Ich würde dir raten, nichts speziell für eine Plattform, sei es nun Windows, Linux oder eine andere, zu lernen. Ausnahmen sind natürlich hardwarenahe Dinge, aber wenn du mit .net programmierst, scheint das nicht dein Hauptanliegen zu sein.
Nur eine Sprache zu empfehlen ist natürlich schwierig, aber um dir einen Blick über den Tellerand zu ermöglichen, würde ich dir zu einer Skriptsprache à la Python, oder JavaScript raten. JavaScript läuft auch außerhalb des Browsers, z.B. mit node.js. Beide Sprachen sind weitverbreitet, die Einstiegshürden sind niedrig und zumindest Python ist gut designed (JavaScript hat doch einige kleine Merkwürdigkeiten).
Fachliteratur wären das offizielle Python Tutorial[1] und JavaScript: The Good Parts.
[1] http://docs.python.org/3.3/tutorial/
[2] http://shop.oreilly.com/product/9780596517748.do
Nur eine Sprache zu empfehlen ist natürlich schwierig, aber um dir einen Blick über den Tellerand zu ermöglichen, würde ich dir zu einer Skriptsprache à la Python, oder JavaScript raten. JavaScript läuft auch außerhalb des Browsers, z.B. mit node.js. Beide Sprachen sind weitverbreitet, die Einstiegshürden sind niedrig und zumindest Python ist gut designed (JavaScript hat doch einige kleine Merkwürdigkeiten).
Fachliteratur wären das offizielle Python Tutorial[1] und JavaScript: The Good Parts.
[1] http://docs.python.org/3.3/tutorial/
[2] http://shop.oreilly.com/product/9780596517748.do
Re: Linux-Programmierung: Aller Anfang ist schwer
Wenn du von C# kommst wäre IMHO Java naheliegend. C# hat viel mehr mit Java (und Delphi) gemeinsam als mit C oder C++.elmurruk hat geschrieben:Naheliegend wäre vermutlich C oder C++, oder?
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: Linux-Programmierung: Aller Anfang ist schwer
Java auf Linux? Wieviele Java-Programme gibts denn so, die "man" auf Linux so benutzt?
Bei mir zumindest ist jabref das Einzige, was nicht ein Java/Android-Entwicklungstool ist...
MfG Peschmä
Bei mir zumindest ist jabref das Einzige, was nicht ein Java/Android-Entwicklungstool ist...
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Re: Linux-Programmierung: Aller Anfang ist schwer
Was hat das denn mit der pers. Sprachauswahl für eigene Projekte zu tun? Ich kenne kein einziges Ruby-Programm, was ich benutze, und dennoch ist es für mich sinnvoll, als nächste Sprache Ruby zu lernen...peschmae hat geschrieben:Java auf Linux? Wieviele Java-Programme gibts denn so, die "man" auf Linux so benutzt?
Ich würde mich daher gerne auf die Auswahlkritierien beziehen, die genannt wurden, und "es muß möglichst viele Programme geben, die ich benutze, und die in dieser Sprache geschrieben wurden" wurde nicht als Kriterium genannt.
Wohl aber "eine syntaktische Ähnlichkeit würde auch den Einstieg ein wenig leichter gestallten.", was mich eben zu Java geführt hat. "Es sollte möglich sein, ohne ein Framework lauffähige Programme zu erstellen" allerdings dagegen, wobei allerdings OpenJDK in der Regel sowieso installiert ist, spätestens, wenn OpenOffice oder LibreOffice installiert ist.
Zuletzt geändert von owl102 am 26.10.2013 11:55:32, insgesamt 1-mal geändert.
Re: Linux-Programmierung: Aller Anfang ist schwer
Wow, danke für die schnellen Antworten!
@ peschmae & Liffi
Ja, hardwrenahe Programmierung wär lediglich für den privaten teil interessant, aber nicht zwingend notwendig. Die Ausführungsgeschwindigekeit und Ressourcenbedarf natürlich schon. Dinge, die ich im Augenblick hauptsächlich mache, sind z.B. das aufbereiten, verschlüsseln oder weiterleiten von Teils größeren Datensätzen aus allen möglichen Quellen. Auch simple Client-Server-Anwendungen, bei denen Daten transferiert und ausgewertet werden kommen vor. Oft läuft sowas dann auch über "niedere" Protokolle (TCP-Stream, etc). Reguläre Bash oder Batch-Scripte stoßen da in vielerlei hinsicht an ihre Grenzen. Ich muss ehrlich sagen, dass ich mich mit Python noch gar nicht wirklich beschäftigt habe. Ist sowas damit grundsätzliche möglich? Oder muss man sich das eher wie ein aufgemöbeltes Bash-Script vorstellen? Liefern (vernünftig geschriebene) Programme auch eine gute Performance, oder ist sie durch das interpretieren eher begrenzt?
@ owl102
Ja, mit Java habe ich mich schon etwas beschäftigt. Allerdings steht hier wieder eine Profit-Orientierte Organisation dahinter. Wenn irgendwie möglich, möchte ich meine Software nicht von so einem Hersteller abhängig machen. Das hat weniger technische Gründe, sonder ist viel mehr einfach persönliche Einstellung. Hoffe, das ist irgendwie nachvollziebar (zumindest im Debian-Forum) hehe
edit:
Wenn es viele in der Sprache geschriebene Programme gibt, kann das auch ein Vorteil sein. Quellcode kann angepasst werden und man kann sich vielleicht auch ein wenig "spicken".
Klar, muss man für jedes Projekt entscheiden, welche Sprache am sinnvollsten ist. Aber es gibt doch sicher auch so eine Art "Allrounder", mit dem sehr vieles möglich ist, und auf den man sich dann auch hauptsächlich konzentrieren kann.
@ peschmae & Liffi
Ja, hardwrenahe Programmierung wär lediglich für den privaten teil interessant, aber nicht zwingend notwendig. Die Ausführungsgeschwindigekeit und Ressourcenbedarf natürlich schon. Dinge, die ich im Augenblick hauptsächlich mache, sind z.B. das aufbereiten, verschlüsseln oder weiterleiten von Teils größeren Datensätzen aus allen möglichen Quellen. Auch simple Client-Server-Anwendungen, bei denen Daten transferiert und ausgewertet werden kommen vor. Oft läuft sowas dann auch über "niedere" Protokolle (TCP-Stream, etc). Reguläre Bash oder Batch-Scripte stoßen da in vielerlei hinsicht an ihre Grenzen. Ich muss ehrlich sagen, dass ich mich mit Python noch gar nicht wirklich beschäftigt habe. Ist sowas damit grundsätzliche möglich? Oder muss man sich das eher wie ein aufgemöbeltes Bash-Script vorstellen? Liefern (vernünftig geschriebene) Programme auch eine gute Performance, oder ist sie durch das interpretieren eher begrenzt?
@ owl102
Ja, mit Java habe ich mich schon etwas beschäftigt. Allerdings steht hier wieder eine Profit-Orientierte Organisation dahinter. Wenn irgendwie möglich, möchte ich meine Software nicht von so einem Hersteller abhängig machen. Das hat weniger technische Gründe, sonder ist viel mehr einfach persönliche Einstellung. Hoffe, das ist irgendwie nachvollziebar (zumindest im Debian-Forum) hehe
edit:
Wenn es viele in der Sprache geschriebene Programme gibt, kann das auch ein Vorteil sein. Quellcode kann angepasst werden und man kann sich vielleicht auch ein wenig "spicken".
Klar, muss man für jedes Projekt entscheiden, welche Sprache am sinnvollsten ist. Aber es gibt doch sicher auch so eine Art "Allrounder", mit dem sehr vieles möglich ist, und auf den man sich dann auch hauptsächlich konzentrieren kann.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: Linux-Programmierung: Aller Anfang ist schwer
Sorry, war vielleicht etwas krass formuliert. Aber zur eigentlichen Aussage stehe ich schon. Meiner Meinung nach hat das recht viel damit zu tun. Ich habe das einfach mal frech aus "Deshalb möchte ich eine weitere Sprache, speziell für die Linux-Programmierung lernen." hergeleitet.owl102 hat geschrieben:Was hat das denn mit der pers. Sprachauswahl für eigene Projekte zu tun? Ich kenne kein einziges Ruby-Programm, was ich benutze, und dennoch ist es für mich sinnvoll, als nächste Sprache Ruby zu lernen...peschmae hat geschrieben:Java auf Linux? Wieviele Java-Programme gibts denn so, die "man" auf Linux so benutzt?
Klar kann man alles was man will auch mit Java bauen, und ja, es ist ähnlich wie C#/.NET und damit sicher naheliegend, und das wird auch auf Linux laufen. Aber wenn man etwas für Linux baut, dann passt das erst mal mehr schlecht als Recht ins Desktop-Linux Universum (aufm Server mag das etwas anders aussehen, aber auch da sind mindestens so viele freie Software Projekte in Php (igitt), Python, Ruby oder gar Perl geschrieben wie in Java). Das ist vor allem dann wichtig, wenn auch andere Leute das Zeugs benutzen und mitentwickeln sollen...
Meine Meinung, ohne Anspruch auf absolute Wahrheit
Python (oder auch Ruby, ich kenne halt Python...) ist schon eine "richtige" objektorientierte Programmiersprache mit allem drum und dran - wenn du bisher Shell-Scripts benutzt und da an Grenzen stösst ist das denke ich die logische Fortsetzung.elmurruk hat geschrieben:Ja, hardwrenahe Programmierung wär lediglich für den privaten teil interessant, aber nicht zwingend notwendig. Die Ausführungsgeschwindigekeit und Ressourcenbedarf natürlich schon. Dinge, die ich im Augenblick hauptsächlich mache, sind z.B. das aufbereiten, verschlüsseln oder weiterleiten von Teils größeren Datensätzen aus allen möglichen Quellen. Auch simple Client-Server-Anwendungen, bei denen Daten transferiert und ausgewertet werden kommen vor. Oft läuft sowas dann auch über "niedere" Protokolle (TCP-Stream, etc). Reguläre Bash oder Batch-Scripte stoßen da in vielerlei hinsicht an ihre Grenzen. Ich muss ehrlich sagen, dass ich mich mit Python noch gar nicht wirklich beschäftigt habe. Ist sowas damit grundsätzliche möglich? Oder muss man sich das eher wie ein aufgemöbeltes Bash-Script vorstellen? Liefern (vernünftig geschriebene) Programme auch eine gute Performance, oder ist sie durch das interpretieren eher begrenzt?
Die Performance für Algorithmen ist in C/C++ natürlich schon besser, in Python sind aber auch einige der benutzten performancerelevanten Module in C geschrieben. Reines Python kann da auch mit PyPy und ähnlichen Sachen nicht mithalten. Aber gerade sowas wie Verschlüsselung oder Kompression wirst du ja sowieso nicht selber schreiben sondern nur nutzen, und das kannst du genau so gut von Python aus machen. Und auch wenn du sowas mal selber implementierst in C/C++, so kann man das immer noch sehr gut einbinden.
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Re: Linux-Programmierung: Aller Anfang ist schwer
Natürlich kann das ein Vorteil sein. Wenn mein bester Freund eine bestimmte Sprache sehr gut kann, kann das aber ein wesentlich größerer Vorteil sein. Wenn man die Sprache privat lernen und anwenden möchte, ist IMHO die knappe Zeit ebenfalls ein wichtiges Kriterium, und das spricht IMHO gegen C++; ich sehe ja in der Firma, wozu das führt, wenn man auf die Idee kommt, C#/Java-Entwickler in C++-Projekte zu stecken, das ist mit viel Zeit und Frust verbunden, und ohne Review sind die Sachen für eine lange Übergangszeit nicht für prof. Einsatzzwecke geeignet. Und und und... Die Sprachauswahl hängt nun einmal von vielen Anforderungen und Kriterien ab, und daher benötigt man diese Anforderungen und Kriterien und deren Wichtung, um eine Empfehlung geben zu können.elmurruk hat geschrieben:Wenn es viele in der Sprache geschriebene Programme gibt, kann das auch ein Vorteil sein. Quellcode kann angepasst werden und man kann sich vielleicht auch ein wenig "spicken".
Wir sind ja nun ein paar Beiträge (und konkreteren Angaben, was überhaupt entwickelt werden soll) weiter, und dementsprechend würde ich jetzt auch eher zu Python oder Ruby tendieren, auch wenn das (ebenso) dem Kriterium "ohne ein Framework lauffähige Programme" widerspricht. Sollen auch GUI-Anwendungen entwickelt werden, würde ich wohl zu Python tendieren, da die GTK+ und Qt-Bindungs dort IMHO aktueller und verbreiteter sind als bei Ruby.
@elmurruk: Dein Ausschlußkriterium gegen Java kann ich nachvollziehen.
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: Linux-Programmierung: Aller Anfang ist schwer
Das "ohne ein Framework lauffähige Programme" gibts ja sowieso nicht
Es gibt höchstens ein "ohne ein für den User nerviges Framework lauffähige Programme", was je nach Definition von "User", "nervig" und "Framework" unter anderem ausschliesst: Java, Mono, Python, Perl, PHP, Gtk+, Qt, Boost, und überhaupt alles was es gibt
MfG Peschmä
Es gibt höchstens ein "ohne ein für den User nerviges Framework lauffähige Programme", was je nach Definition von "User", "nervig" und "Framework" unter anderem ausschliesst: Java, Mono, Python, Perl, PHP, Gtk+, Qt, Boost, und überhaupt alles was es gibt
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Re: Linux-Programmierung: Aller Anfang ist schwer
Ja, das ist alles mit Python möglich. Die Performance ist brauchbar, z.B. sind große Teile von youtube in Python programmiert.elmurruk hat geschrieben: Ja, hardwrenahe Programmierung wär lediglich für den privaten teil interessant, aber nicht zwingend notwendig. Die Ausführungsgeschwindigekeit und Ressourcenbedarf natürlich schon. Dinge, die ich im Augenblick hauptsächlich mache, sind z.B. das aufbereiten, verschlüsseln oder weiterleiten von Teils größeren Datensätzen aus allen möglichen Quellen. Auch simple Client-Server-Anwendungen, bei denen Daten transferiert und ausgewertet werden kommen vor. Oft läuft sowas dann auch über "niedere" Protokolle (TCP-Stream, etc). Reguläre Bash oder Batch-Scripte stoßen da in vielerlei hinsicht an ihre Grenzen. Ich muss ehrlich sagen, dass ich mich mit Python noch gar nicht wirklich beschäftigt habe. Ist sowas damit grundsätzliche möglich?
Technisch gesehen ist das OpenJDK Open Source und gehört deshalb erst mal niemandem. Aber natürlich ist auch hier Oracle eifrig aktiv und leistet den größten Teil der Arbeit. Weitere Beiträge kommen aber auch von IBM, Apple und anderen.Ja, mit Java habe ich mich schon etwas beschäftigt. Allerdings steht hier wieder eine Profit-Orientierte Organisation dahinter. Wenn irgendwie möglich, möchte ich meine Software nicht von so einem Hersteller abhängig machen.
Mein Grund gegen Java ist: Du kannst bereits was ähnliches. Da wird es Zeit über den Tellerrand zu schauen. Eine funktionale Programmiersprache z.B. öffnet den Blick für ganz neue Programmierweisen.
Re: Linux-Programmierung: Aller Anfang ist schwer
Das sehe ich nicht so. Akzeptiert man z.B. die Definition aus http://de.wikipedia.org/wiki/Framework, dann ist ein "Hello World!" in C geschrieben und mit einem C-Compiler übersetzt ein Programm, welches ohne Framework lauffähig ist.peschmae hat geschrieben:Das "ohne ein Framework lauffähige Programme" gibts ja sowieso nicht
Ganz unrecht hast du natürlich nicht, es wäre hilfreich, wenn elMurruk weiter ausführen könnte, wo bei ihm die pers. Schmerzgrenze liegt und welche Priorität "ohne ein Framework lauffähige Programme" überhaupt bei der Auswahl der Sprache haben soll, und was er damit überhaupt genau meint. http://de.wikipedia.org/wiki/Framework resigniert partiell auch: "Aufgrund der ungenauen Definition und unterschiedlichen Verwendung des Begriffes "Framework" ist die Aufnahme bzw. der Ausschluss bezüglich folgender Liste in vielen Fällen nicht eindeutig." Man beachte, daß Java selber dort nicht als Framework gilt. Allerdings ist die Liste voller Widersprüche, so ist z.B. MFC in der Liste zu finden, Qt aber nicht.
Re: Linux-Programmierung: Aller Anfang ist schwer
@owl102
Zu der Sache mit dem Framework: Klar hat jede Sprache ihre "Standardbibliotheken". Ist ja auch gut so. Man will ja nicht jedes mal das Rad neu erfinden. Aber um z.B. eine C#-Anwendung auszuführen, muss auf einem Server erst das komplette Mono-Paket installiert werden. Mit Python ist das zwar ähnlich, allerdings ist es häufiger anzutreffen. C-Programme benötigen allerdings nur die verwendeten Libs, welche dann mit dem Programm mitgeliefert werden können. Das meinte ich mit "Framework": Das ich zum ausführen der Anwendungen externe Zusatzsoftware benötige, die nicht per default in einer Squeeze/Wheezy-Installation mit drin sind. Den Nachteil, dass ich das Programm für unterschiedliche Architekturen neu kompilieren muss, ich für mich nicht wirklich gravierend.
Die Schmerzgrenze... Hmmm... schwer zu sagen. Die Interpreter/Frameworks/Libs werden müssen eben auf Produktiv-Systemen installiert werden. Ich weiß nicht so recht. Wie würdet ihr sowas bewerten?
Zu der Sache mit dem Framework: Klar hat jede Sprache ihre "Standardbibliotheken". Ist ja auch gut so. Man will ja nicht jedes mal das Rad neu erfinden. Aber um z.B. eine C#-Anwendung auszuführen, muss auf einem Server erst das komplette Mono-Paket installiert werden. Mit Python ist das zwar ähnlich, allerdings ist es häufiger anzutreffen. C-Programme benötigen allerdings nur die verwendeten Libs, welche dann mit dem Programm mitgeliefert werden können. Das meinte ich mit "Framework": Das ich zum ausführen der Anwendungen externe Zusatzsoftware benötige, die nicht per default in einer Squeeze/Wheezy-Installation mit drin sind. Den Nachteil, dass ich das Programm für unterschiedliche Architekturen neu kompilieren muss, ich für mich nicht wirklich gravierend.
Die Schmerzgrenze... Hmmm... schwer zu sagen. Die Interpreter/Frameworks/Libs werden müssen eben auf Produktiv-Systemen installiert werden. Ich weiß nicht so recht. Wie würdet ihr sowas bewerten?
Re: Linux-Programmierung: Aller Anfang ist schwer
Im professionellen Umfeld wird alles mitgeliefert. Bei Hobbyprojekten ist es meist schöner, wenn alles schon auf dem System vorhanden ist. Das ist bei Java als auch bei Python meistens der Fall (zumindest unter Linux).elmurruk hat geschrieben: Die Schmerzgrenze... Hmmm... schwer zu sagen. Die Interpreter/Frameworks/Libs werden müssen eben auf Produktiv-Systemen installiert werden. Ich weiß nicht so recht. Wie würdet ihr sowas bewerten?
Re: Linux-Programmierung: Aller Anfang ist schwer
Guck‘ dir erst einmal ein paar Programme an und entscheide nach dem Aussehen was dir gefällt. Du willst ja letztendlich auch ein gefällige Oberfläche benutzen.
Danach kannst du dich schlau machen welche Programmiersprachen diese Oberflächen unterstützen. C geht eher mit gtk (und gtk-<irgendwas>), C++ eher mit QT, wxwidget und FOX als Oberfläche. Das um nur Beispiele zu nennen.
Für C oder C++ gibt es Schnittstellen für python, perl und anderes Zeugs. D.h. du kannst Teile deines Programms auch in Interpretersprachen in dein Programm einbinden und eine einheitliche Oberfläche verwenden.
Als Tip: Arbeite dich durch die Dokumentation von QT (Das ist das war ich kenne und mich damals interessiert hat). Ist nett zu lesen und beschäftigt dich über Monate wenn du es ernst nimmst. Wenn du damit durch bist gibt es die nächste Version und die macht alles anders (es wird dir dann als ein Schritt in die Zukunft verkauft ...).
Die Möglichkeiten unter GNU/Linux zu programmieren sind vielfältig und — hier kommt ein abgedroschener Spruch der aber nichts an Aktualität verloren hat — viele Wege führen nach Rom.
PS Linux-Programmierung hat nur etwas mit dem Kernel zu tun. Daher ist der Titel komplett falsch. Du kannst Programme schreiben die unter WIN (OR LOOSE), GNU/LInux und BSD kompilieren & laufen.
Noch‘n PS Java sieht einfach nur Scheiße aus. Lass‘ es programmiert sein wie es will.
Danach kannst du dich schlau machen welche Programmiersprachen diese Oberflächen unterstützen. C geht eher mit gtk (und gtk-<irgendwas>), C++ eher mit QT, wxwidget und FOX als Oberfläche. Das um nur Beispiele zu nennen.
Für C oder C++ gibt es Schnittstellen für python, perl und anderes Zeugs. D.h. du kannst Teile deines Programms auch in Interpretersprachen in dein Programm einbinden und eine einheitliche Oberfläche verwenden.
Als Tip: Arbeite dich durch die Dokumentation von QT (Das ist das war ich kenne und mich damals interessiert hat). Ist nett zu lesen und beschäftigt dich über Monate wenn du es ernst nimmst. Wenn du damit durch bist gibt es die nächste Version und die macht alles anders (es wird dir dann als ein Schritt in die Zukunft verkauft ...).
Die Möglichkeiten unter GNU/Linux zu programmieren sind vielfältig und — hier kommt ein abgedroschener Spruch der aber nichts an Aktualität verloren hat — viele Wege führen nach Rom.
PS Linux-Programmierung hat nur etwas mit dem Kernel zu tun. Daher ist der Titel komplett falsch. Du kannst Programme schreiben die unter WIN (OR LOOSE), GNU/LInux und BSD kompilieren & laufen.
Noch‘n PS Java sieht einfach nur Scheiße aus. Lass‘ es programmiert sein wie es will.
Re: Linux-Programmierung: Aller Anfang ist schwer
Naja, das kann ich so nicht stehen lassen. Vuze[1] und muCommander[2] sehen imho schön aus.jkoerner hat geschrieben: Noch‘n PS Java sieht einfach nur Scheiße aus. Lass‘ es programmiert sein wie es will.
[1] http://www.vuze.com/
[2] http://www.mucommander.com/
- minimike
- Beiträge: 5616
- Registriert: 26.03.2003 02:21:19
- Lizenz eigener Beiträge: neue BSD Lizenz
- Wohnort: Köln
-
Kontaktdaten:
Re: Linux-Programmierung: Aller Anfang ist schwer
Guckt euch mal JBOSS und dessen Universum an. Und schaut mal was Apache nicht in JAVA macht. Kann man mit der Hand abzählen.peschmae hat geschrieben:Java auf Linux? Wieviele Java-Programme gibts denn so, die "man" auf Linux so benutzt?
Apache James
Jboss Gatin
OpenXchange
Raidcontroller Software von LSI
JIRA
Confluence
Xwiki
Jforum
Nuxeo
Agorum
Eclipse
Liferay
Software die ich auf der Arbeit häufig für diverse Projekte benutze. Privat fällt mir noch atunes ein
"Lennart Poettering is one of those typical IT leaders..." "like Linus Torvalds and Theo de Raadt?" "more like Bozo the Clown" After all, now a good employee of Microsoft
Re: Linux-Programmierung: Aller Anfang ist schwer
... und natürlich MediathekView und TVBrowser!
Und noch eine Menge mehr. Hier stehen noch ein paar drin:
http://wiki.ubuntuusers.de/Wiki/Tags?tag=Java
Und noch eine Menge mehr. Hier stehen noch ein paar drin:
http://wiki.ubuntuusers.de/Wiki/Tags?tag=Java
- peschmae
- Beiträge: 4844
- Registriert: 07.01.2003 12:50:33
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: nirgendwo im irgendwo
Re: Linux-Programmierung: Aller Anfang ist schwer
Ich hatte mich jetzt auch primär auf den Desktop bezogen, da der OP seine Zielsetzung noch überhaupt nicht spezifiziert hatte - und da schrumpft deine eindrückliche Liste, von eclipse (igittigitt) mal abgesehen, auf atunes zusammen. Klar gibts da hier und da was, aber andere sind da deutlich präsenter...minimike hat geschrieben:Guckt euch mal JBOSS und dessen Universum an. Und schaut mal was Apache nicht in JAVA macht. Kann man mit der Hand abzählen.peschmae hat geschrieben:Java auf Linux? Wieviele Java-Programme gibts denn so, die "man" auf Linux so benutzt?
MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy
Re: Linux-Programmierung: Aller Anfang ist schwer
So Sachen um Geodaten (OSM-Zeugs, GPX-Editoren, …) sind auch oft in Java geschrieben und nicht schlecht. Weiteres Beispiel wäre TuxGuitar, und wenn ich mal meine Installation durchschauen würde, kämen da sicher noch mehr zusammen.