Entwicklungsumgebung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    bis jetzt habe ich meine (kleinen) c++-Programme mit nano geschrieben. Das ist ja nicht besonders komfortabel.

    Da ich als nächstes mit openCV arbeiten möchte wäre etwas "moderneres" sicherlich angebracht. (Oder nicht???)

    Weil es in einem meiner Bücher erwähnt wird habe ich mir dann mal code::Blocks installiert. Das ist dann schon wieder reichlich kompliziert....

    Welche Entwicklungsumgebungen benutzt Ihr hauptsächlich?

    Ich möchte ja jetzt nicht anfangen mich durch die Bedienung von code::Blocks zu quälen um dann in vier Wochen von Euch zu erfahren, das das keiner benutzt und für meine Zwecke sowieso ungeeignet ist.

    Was ist einfach zu bedienen aber trotzdem halbwegs komfortabel?


    Gruss,

    Achim

  • Hallo hunter_spike,

    jede Programmierumgebung (IDE = integrierte Development Environment) hat seine Vor- und Nachteile.

    Jede hat ihre Stärke und richtet sich an unterschiedliche Zielgruppen. Die einen schwören drauf, die anderen nutzen NetBeans, Eclipse und wie sie alle heißen.
    Diese drei Programme unterstützen - so weit ich weiß - ausschließlich die Entwicklung von C bzw. C++. Wenn Du mal eine andere Programmiersprache lernen möchtest, dann, bitte sehr, darfst Du Dich in eide neue Entwicklungsumgebung einarbeiten.

    Dieses "Problem" haben wohl einige Entwickler erkannt. Und Geany entwickelt. Geany unterstützt die Entwicklung von sehr vielen Programmiersprachen und lässt sich sehr leicht auf neue Programmiersprachen (auch solche, die es noch nicht gibt) erweitern.

    Eine anderes dieser Programme ist TextAdept.

    Das heißt, wenn Du Dich für eines dieser beiden Programm entscheidest, und gut findest, dann kannst Du damit in Jahren auch in ganz anderen Programmiersprachen entwickeln - die Bedienung bleibt identisch.

    Ich nutze Geany seit 2013 ausschließlich. nano nutze ich nur, wenn ich irgendwelche kleinen Dateien anschauen und Anpassungen vornehmen möchte. Die anderen genannten Entwicklungsumgebungen habe ich installiert und ausprobiert - und beim Ausprobieren blieb es dann auch.

    Geany läuft stabil - soweit ich mich entsinne, ist es nur ein einziges Mal abgestürzt, was in 4 Jahren fast täglicher Nutzung vernachlässigbar ist. Die Konfigurationsmöglichkeiten sind beindruckend und erstrecken sich von Code-Vervollständigung (Funktionn, Variablen, Felder), Code-Schnippsel (ermöglichen Dir die Übernahme definierter Blöcke, was die Fehlerwahrscheinlichkeit extrem verringert), Vorlagen für Funktionen, Funktionsköpfe, Blöcke, Konstrukte, ... (Du springst nur noch von einer Stelle zur nächsten und trägst ein, was Du eigentlich machen willst), ...

    Du kannst ohne jeglichen solchen Ballast einsteigen und solchen Schnickschnack nach und nach einbauen.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (20. Juni 2017 um 17:06)


  • Jede hat ihre Stärke und richtet sich an unterschiedliche Zielgruppen. Die einen schwören drauf, die anderen nutzen NetBeans, Eclipse und wie sie alle heißen.
    Diese drei Programme unterstützen - so weit ich weiß - ausschließlich die Entwicklung von C bzw. C++. Wenn Du mal eine andere Programmiersprache lernen möchtest, dann, bitte sehr, darfst Du Dich in eide neue Entwicklungsumgebung einarbeiten.

    Stimmt so nicht.
    Eclipse kann per Erweiterungen/PlugIns mit Java (dafür war es ursprünglich ausgelegt), C++, Python, Perl, PHP, HTML und mehr umgehen... und das in der gleichen Installation... Zusätzlich können SVN, Mercury und Git als Versionsverwaltung eingehängt werden, Ant, Maven und make wird als Build-Environment unterstützt...

    Eclipse ist allerdings ein ziemlicher "Klopper"... und benötigt RAM und CPU-Leistung, ansonsten ist es zäh... Java muss installiert sein... Für einen RasPi ist das Teil nix...

    Netbeans ist fast ebenso mächtig, aber schlanker und weniger Rescourcenfressend, trotzdem ebenfalls nix für den RasPi...


    Dieses "Problem" haben wohl einige Entwickler erkannt. Und Geany entwickelt. Geany unterstützt die Entwicklung von sehr vielen Programmiersprachen und lässt sich sehr leicht auf neue Programmiersprachen (auch solche, die es noch nicht gibt) erweitern.

    Naja:
    Vor ca. 20 Jahren war "Ultraedit" das non+ultra der Editoren...
    Leider wurde es immer teurer und so für den privaten Anwender uninteressant.
    Geany stieß in die Lücke, vor allem auch, weil es für Windows und Linux verfügbar ist, was Ultraedit niemals war.

    Geany ist recht gut, kann recht gut angepasst werden.
    Probleme hat Geany mit sehr großen Files (ca. ab >400MB), da schmiert es ab...
    Auch hat Geany leider keine Hex-Darstellung des Textes, was ich manchmal sehr vermisse...


    Eine anderes dieser Programme ist TextAdept.

    Ist mir noch nicht untergekommen...

    Was den Mehrwert der IDEs (z.B. Eclipse/Netbeans/Python) ausmacht und was auch die besseren Editoren wie z.B. Geany nicht leisten (können) sind das ständige syntaktische Prüfen (und Anzeigen von Fehlern) des Quellcodes in Hintergrund, umfangreichen Support bzgl. der verwendeten Klassenbibliotheken (du rufst eine Klasse auf und nach Eingabe eines Punktes dahinter werden dir alle Interface gezeigt (auch von deinen selbst geschriebenen Klassen und Funktionen)).
    Dieses Feature ist extrem hilfreich, wenn man mit großen oder unbekannten Bibliotheken umgeht.

    Refactoring ist ein ebenfalls nicht zu unterschätzendes Feature, was nur die IDEs bieten.

    Ich will es mal so sagen:
    Wenn die Resourcen knapp sind (RasPi) ist Geany eine gute Wahl.
    Wenn du auf einem richtigen PC entwickelst, ist eine ausgereifte IDE die bessere Wahl...

    Ich verwende beides: Normalerweise entwickle ich meinen Code auf einem richtigen PC, da nehme ich Eclipse für Java, Netbeans für C++ und PyCharm für Python.

    Hat das Geraffel einen gewissen Reifegrad, kommt es auf den RasPi und dort ist "nano" mein Editor (ich habe keine RasPi's mit GUI...) für ggf. notwendige Anpassungen "ad hock".

  • Visual Studio? :)

    Edit:
    Mal ein wenig Kontext:

    Wenn du am Windows Rechner entwickeln solltest, dann empfand ich bisher VS immer am komfortabelsten. Zudem ist die Community Edition kostenlos zu erhalten und schon ziemlich mächtig für den alltäglichen Kram den man macht.

    Ansonsten bietet IntelliJ sehr beliebte IDEs an, wie bspw. IntelliJ (Java), Android Studio (Android) oder Project Raider (C#). Wie gut allerdings der C/C++-Ableger CLion ist, kann ich dir aber leider nicht sagen.

    Zu guter Letzt gibt es auch noch einige mächtige Text-Editoren, die ich bspw. zum Skripten von PHP, PowerShell oder Bash nutze. Gute Beispiele dafür sind Atom, Visual Studio Code oder Sublime Text. Diese verfügen über große Plugin-Resourcen für allerhand Sprachen und Compiler.

    Edit Edit:

    Oh, entschuldige, ich verstehe gerade erst richtig, dass du direkt auf dem Pi coden möchtest. Wie eigentlich alle, würde ich dir davon abraten, gerade, wenn der Code auch immer wieder kompiliert werden muss. Dafür ist der Pi einfach zu nervig-langsam.

    Ansonsten setze ich für Schnelle Bugfixes oder conf-Bearbeitungen auf vim (solange ich eine Tastatur mit ESC-Taste verfügbar habe ;)).

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

    Einmal editiert, zuletzt von Renão (20. Juni 2017 um 20:55)

  • sls: Da kannst du wahrscheinlich mehr zu sagen:

    Ein vim-Arbeitskollege nutzt auch gerne mal zwischendurch gvim. Vielleicht ist das auch eine Alternative, wenn auch nicht gleich eine mächtige IDE?!

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Hallo Renão,


    Oh, entschuldige, ich verstehe gerade erst richtig, dass du direkt auf dem Pi coden möchtest. Wie eigentlich alle, würde ich dir davon abraten, gerade, wenn der Code auch immer wieder kompiliert werden muss. Dafür ist der Pi einfach zu nervig-langsam.


    Ich programmiere immer direkt auf dem Zielgerät - also auch direkt auf dem Raspberry Pi. Es hängt in erster Linie von der Programmiersprache bzw. der Entwicklungsumgebung ab, wie schnell eine Compilierung durchgeführt wird.

    Es gibt Programmiersprachen, da dauert eine Compilierung von mehreren Tausend Zeilen Quellcode sowohl auf dem PC als auch auf dem RPi so lange, dass man eigentlich nur an der CPU-Auslastung erkennt, dass da irgendwas extreme Aufmerksamkeit der CPU genießt. Irgendwann später - man hat längst die Hoffnung aufgegeben, dass da noch was draus werden könnte - startet dann plötzlich die Anwendung.

    In anderen Programmiersprachen startet die programmierte Anwendung auf dem RPi nach ca. einer Sekunde - wie auf dem PC auch.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ja, kann ich durchaus nachvollziehen.
    Wenn aber eine komfortable IDE dazukommen soll, womöglich mit einem Haufen hilfreicher Tools, wie Intellisense, fuzzy search, etc., dann wäre das zu viel für den kleinen Pi meiner Einschätzung nach.

    .NET-, Unity3D-, Web-Dev.
    Mikrocomputer-Hobbyist.

  • Wenn Du C++ programmieren willst und dann vielleicht noch GUI, könntest Du Dir auch den Qt Creator ansehen. Läuft erstens auf dem Pi ganz passabel, kann man zweitens auch unter Windows nutzen, so dass man ein Programm unter Win entwickeln und testen (bis auf die GPIOs halt) und dann auf dem Raspi übertragen und neu kompilieren kann, und natürlich kann man drittens damit auch non-GUI Programme entwickeln.

    Ansonsten: Ja, Geany.
    Automatisch zusammengefügt:
    Achso, Nachteil von Qt ist, dass Du bei GUI-Geschichten mit der Qt-Lizenz aufpassen musst.

    Einmal editiert, zuletzt von Timm Thaler (20. Juni 2017 um 21:36)

  • Wo, bzw. wie, trage ich bei geany denn die Befehle zum Kompilieren ein. Wie z.B. "-lwiringPi"?

    Ich habe da was unter "Erstellen > Kommandos zum Erstellen konfigurieren" und dann den Reiter "erstellen" gefunden. Weiß aber nicht ob ich da richtig bin.

  • Hallo hunter_spike,


    Wo, bzw. wie, trage ich bei geany denn die Befehle zum Kompilieren ein. Wie z.B. "-lwiringPi"?

    Ich habe da was unter "Erstellen > Kommandos zum Erstellen konfigurieren" und dann den Reiter "erstellen" gefunden. Weiß aber nicht ob ich da richtig bin.


    genau dort...

    Aber vorher musst Du auch ein Template der gleichen Programmiersprache geöffnet haben, für die Du die Kommandos anpassen willst. Anderenfalls werden Deine Eingaben keiner Programmiersprache zugeordnet.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (22. Juni 2017 um 17:25)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!