Welche Programiersprache

  • U.U. ja.:

    PyCharm benötigt Java, siehe hier: https://intellij-support.jetbrains.com/hc/en-us/artic…-will-run-under


    Meine letzte Installation eines RP liegt schon einige Monate zurück, ich habe gerad mal nachgesehen:

    Code
    root@raspberrypi:~# java -version
    java version "1.8.0"
    Java(TM) SE Runtime Environment (build 1.8.0-b132)
    Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode)

    Damit läuft bei mir der PyCharm V4 auf dem RP.
    Schau mal nach https://www.jetbrains.com/pycharm-edu/qu…stallation.html, dort ist die Installation für Linux beschrieben.

    Wenn dann beim Start "komische" Meldungen kommen, dass das Java-SDK fehlt oder eine zu niedrige Version, musst du diese dann installieren.

    Aber fang zunächst einmal an, bei Problemen entweder im netz suchen oder hier wieder melden.

    (Ich bin jedoch meist eher in den Abendstunden da, andere User können dir mit Sicherheit ebenso helfen, wenn die Frage klar formuliert ist und du ggf. Indizien (Fehlermeldungen/Screenshots) lieferst).

    Hau rein, das Zen :thumbs1:

  • Man kann auch sehr gut in Vim oder Gedit Python schreiben. Für kleine Projekte muss es nicht unbedingt eine IDE sein. Du wirst nicht dutzende Klassen schreiben.

    Der Vorteil beim Vim ist, dass du direkt über ssh auf dem Pi schreiben kannst. Dann sparst du dir das Kopieren und hast immer gleich die aktuelle Version zur Hand.

  • Ich finde Notepad++ eigentlich ausreichend zum programmieren ... das brauch kein Java oder so :D

    Für direkt auf dem Pi schreiben eignet sich für Anfänger auch "nano", vi mag ich nicht ;)

    Ggf hilft auch das: FAQ => Nützliche Links / Linksammlung => Linux kompatible Editoren


    poker-facemammut222: Bitte nicht Beiträge vollständig quoten / zitieren, vor allem wenn diese genau da drüber stehen. Danke.

  • Hallo zusammen,

    meine Favoriten aus der Welt der Editoren und IDEs sind Geany und TextAdept. Beide haben den Vorteil, dass sie prinzipiell jede Programmiersprache unterstützen und Syntax-Highlighting für Dutzende von Programmiersprachen vorhanden ist. Beide lassen sich leicht an neue Programmiersprachen anpassen. Beide laufen unter Linux und Windows, so dass Anwendungen direkt auf der Zielmaschine entwickelt und getestet werden können.

    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 (10. August 2016 um 18:54)


  • Oder vereinfacht gesagt auf dem Notebook das Programm schreiben und danach auf den Pi Kopieren:). Hat so funktioniert. Finde ich eine top Tipp.
    Dann kanns ja los gehen;)))

    Kann man machen, bei vielen Sachen mach ich auch so.
    Wenn man aber direkt die Interaktion mit den GPIOs testen will oder eben Systemabfragen/Kommandos testen will, ist das direkt auf dem RP schon besser...

    Ich gehe da folgendermassen vor:
    Zentral auf meinen NAS (Synology DS712+) liegen die Sourcen, der RP und auch der PC sind per NFS mit dem NAS verbunden und sehen die Sourcen.

    Die "grobe" Entwicklung mach ich auf dem PC, der "Integrationstest" dann auf dem RP.
    Beides mit PyCharm - die Pfade sind entsprechend eingestellt.

    Vorteil: nur eine Source, kein ständiges hin und herkopieren, das NAS kümmert sich um das Backuphandling (Timebackup, 1h).
    Nachteil: ? (hab noch keine entdecken können)

    BTW: Schön, dass die anderen Poster hier noch mal alle anderen Editoren, die auch in meinen Augen sinnvoll verwenden kann, aufgeführt haben.
    Ich setze auch oft Geany ein (fürs mal eben schnell was anpassen), mit den entsprechenden Plugins ein durchaus mächtiger Editor (gibt es für Windows und Linux).

    Eine IDE hat allerdings den unbestreitbaren Vorteil, dass zum einen Tippen schon die Klassen-Variablen und Methoden eingeblendet werden, so dass man recht schnell vorwärts kommt und nicht ständig in den API-Docs rumsuchen muss, zum anderen z.B. Refactoring und all die anderen feinen Möglichkeiten (z.B. Debugging/Testbetrieb (Step by Step), Programmaufrufe mit verschiedenen Parametersets uvm.) fix eingebaut sind.

    Das alles beschleunigt das Entwickeln und reduziert unnötige Loops in der Entwicklung.
    Das Argument: "Nur wenn du viele Klassen verwendest, macht eine IDE Sinn" ist nicht zielführend: Projekte wachsen oft schnell(er) als man denkt in ihrer Komplexität und dann erst nachträglich umzusteigen, ist in meinen Augen ein Zeitverlust...

    Aber jeden wie er mag (Manchem reicht halt der vi). :lol:

    das Zen


  • Ich gehe da folgendermassen vor:
    Zentral auf meinen NAS (Synology DS712+) liegen die Sourcen, der RP und auch der PC sind per NFS mit dem NAS verbunden und sehen die Sourcen.

    Die "grobe" Entwicklung mach ich auf dem PC, der "Integrationstest" dann auf dem RP.
    Beides mit PyCharm - die Pfade sind entsprechend eingestellt.

    Vorteil: nur eine Source, kein ständiges hin und herkopieren, das NAS kümmert sich um das Backuphandling (Timebackup, 1h).
    Nachteil: ? (hab noch keine entdecken können)

    So ähnlich gehe ich auch vor. Allerdings steht meine Source direkt auf der Raspi und wird per nfs vom Desktop per IDE entwickelt . Somit kann ich dann auch direkt per vi den Code auf der Raspi ändern. Am Ende des Tages wird dann noch der Code ins lokale git auf einem lokalen Server gestellt und gut ist :)

  • Da ich die Sourcen quasi auf allen Geräten (alle RasPi's, Cubitruck, Paptop, Arbeitsrechner, PC) per NFS eingehängt habe, sieht es immer so aus, als ob die Sourcen lokal liegen. Nix mehr mit umkopieren oder doppelter Datenhaltung usw... Damit hatte ich der Vergangenheit so einigen Trouble.

    Auf dem NAS ist ein "permanentes" differentielles Backup eingerichtet...

    Insofern ist es völlig egal, von wo und womit ich die Dateien öffnen und bearbeite... ist sehr bequem...

    Ja,ja... mit dem Git hab ich das auch mal gemacht, aber da ich kein Geld ausgeben wollte, hatte ich nur ein Git auf dem NAS eingerichtet... das hab ich aber kaum genutzt.
    Später dann BitBucket... da kann man private Repositories einrichten (Was bei GitHub offensichtlich nur gegen Geld geht).

    In Gedanken bin ich am fummeln, mir hier auf einem CubiTruck ein GitLab aufzusetzen. Allerdings will ich das zunächst in einer VM testen, ob das was ist...

    Ohne das ich den Thread jetzt kapern will (neeee, echt nich!) :stumm::lol: :
    Hat da wer Erfahrung mit GitLab? :huh:

    Grüße, das Zen


  • Hat da wer Erfahrung mit GitLab? :huh:

    Ich habe eine GitLab-Instanz bei mir daheim seit längerem im Einsatz und vermisse eigentlich nichts. Mir war es wichtig, einen zentralen Server zu haben auf dem ich sämtlichen Source-Code verwalten kann und Überblick habe, wann welche Änderungen gemacht wurden. Zeitgleich möchte ich in der Lage sein, am Desktop oder auf der Couch mit dem Notebook die Repositories zu bearbeiten. Kein Problem. GitHub war mir irgendwann zu blöd, ich wollte meine Codes nicht immer Public machen.

    Als Einsteigersprache würde ich Python empfehlen. Keine haarige Syntax die einen erstmal den letzten Nerv raubt. Das sollte nur die Logik von komplexeren Algorithmen machen, die Programmiersprache sollte ein Werkzeug sein, das umzusetzen, und einen dabei unterstützen, nicht das Leben schwer machen.

    MfG,

    sls

    “Don’t comment bad code - rewrite it.”

    Brian Kernighan

    Einmal editiert, zuletzt von sls (11. August 2016 um 22:14)


  • Da ich die Sourcen quasi auf allen Geräten (alle RasPi's, Cubitruck, Paptop, Arbeitsrechner, PC) per NFS eingehängt habe, sieht es immer so aus, als ob die Sourcen lokal liegen. Nix mehr mit umkopieren oder doppelter Datenhaltung usw... Damit hatte ich der Vergangenheit so einigen Trouble.

    Ist definitiv eine gute Strategie :thumbs1:

    Zitat

    Ja,ja... mit dem Git hab ich das auch mal gemacht, aber da ich kein Geld ausgeben wollte, hatte ich nur ein Git auf dem NAS eingerichtet... das hab ich aber kaum genutzt.
    Später dann BitBucket... da kann man private Repositories einrichten (Was bei GitHub offensichtlich nur gegen Geld geht).

    Ein einfaches Standard git ohne Webfrontend reicht für mich. Was ist der Addon bei einem privaten Project wenn Du Github, Gitlab ond BitBucket benutzt ausser dass Du Code mit anderen sharen kannst und ein fancy Webfrontend incl Wiki & Defectracking hast? Klar, wenn Du mit anderen zusammenarbeitest oder Deinen Code sharen willst braucht man das.

  • GitLab läuft lokal auf einem der Nodes im HomeLan... das ist eigentlich mein primäres Ziel, damit mein (teilweise noch unreifer) Code nicht irgendwo in Netz rumschwirrt... und ich dennoch eine saubere Versionierung habe...
    Ich habe auch gerne 'ne graphische Oberfläche zum gucken... die cmd-line nehme ich dann eher für Automatismen...

    Allerdings hatte ich verschiedentlich auch schon mal zusammen mit Bekannten was kleineres gebastelt, da war GitHub/Bitbucket recht hilfreich..., derzeit brauche ich das allerdings nicht mehr... soll abgebaut werden und dann lokal auf das noch zu installierende GitLab... so der gegenwärtige Plan bei mir..


  • Auf dem NAS ist ein "permanentes" differentielles Backup eingerichtet...

    Kannst Du das kurz erläutern?


    Was ist der Addon bei einem privaten Project wenn Du Github, Gitlab ond BitBucket benutzt ausser dass Du Code mit anderen sharen kannst und ein fancy Webfrontend incl Wiki & Defectracking hast? Klar, wenn Du mit anderen zusammenarbeitest oder Deinen Code sharen willst braucht man das.

    Kostenloses off-site backup und Zugriff von überall. Ich finde das praktisch und benutze deshalb bitbucket, fast ausschließlich auf der Kommandozeile. Ins Webfrontend schaue ich eigentlich nur rein, wenn ich tatsächlich was mit anderen teilen möchte.

    Einmal editiert, zuletzt von Manul (11. August 2016 um 22:35)

  • Zitat

    Kannst Du das kurz erläutern?

    Zitat-Quelle: http://www.pctipp.ch/news/hardware/…e-backup-81240/
    (ich habe die m.M. nach wichtigsten Textpassage mal so übernommen, weil sie recht prägnant das Wesentliche erläutert...)

    <zitat>
    Was ist Time Backup? (Synology NAS)
    Synology Time Backup ist ein kleines Add-On-Paket, das zeitplangesteuerte Backups ermöglicht.
    Zusätzlich sichert die Methode Dateien auf ein externes Laufwerk. Remote-Backup auf einen externen Synology-NAS-Server ist ebenso möglich, jedoch mit eingeschränkter Geschwindigkeit.
    Auf der externen Festplatte oder auf der zweiten Synology legt Time Backup, je nach Ihrem festgelegtem Intervall, z.B. stündlich oder alle vier Stunden sogenannte «Snapshots» (Abbilder) Ihrer wichtigen Dateiordner an und löscht rückblickend irrelevante Zeitpunkte.
    </zitat>

    Das läuft bei mir im Hintergrund, das Speichern schon vorhandener, aber unveränderter Files wird vermieden (im neuen Snapshot stehen da nur Links), ist also sehr platzsparend (vor Jahren hatte ich da einen USB-Stick mit 16GB dran, der hat damals ca. 100MB Code als 3h-Snapshots über mehrere Monate gespeichert...)

    Entscheidend ist, dass das Tool auf einen 2. Plattensatz (Raid1-Volumen) im NAS speichert (oder auf eine angeschlossene USB/eSata Platte(n)): Da mein 1. Plattensatz (auch Raid1) nur ein daily Backup fährt (auf gesonderte Single-Disk) hab ich auf diese Weise zum einen weiteren Backupsatz (da allerdings nur die wichtigen Code-Verzeichnisse).

    Mit der grafischen (Browser) Oberfläche des Tools lässt sich jeder zurückliegende Zeitpunkt (im Stundenabstand) ansteuern und bis auf einzelne Files hinunter wiederherstellen.

    Wer jetzt den Kopf schüttelt wegen des vermeintlichen Aufwandes und Paranoia wg. Datenverlust: :angel:
    Wenn geldwerte Aufträge und Projekte von der Existenz der Sourcen abhängig sind, verändert sich der Blickwinkel bzgl. Backups und Datensicherung enorm. :lol:

    Grüße, das Zen

  • Hi Zentris,

    auch wenn das (zunächst) nach Paranoia klingt...

    Vor Jahren war ich mal bei einer Firma über 6 Jahre als externer Berater tätig. In der Zeit habe ich eine Unmenge an Dokumenten erstellt. Viele Kollegen haben sich meiner Arbeit bedient, um selber bessere Ergebnisse zu erzielen.

    Die Dokumente wurden jeweils aufs Netzwerk gespeichert und von dort in sehr ähnlicher Weise, wie Du es beschrieben hast, gesichert.

    Irgendwann in einem Hochsommer habe ich festgestellt, dass irgendjemand eines meiner Dokumente mit einem ungeeigneten Programm geöffnet, bearbeitet und vor Schreck meine Version überschrieben hat. Das Dokument ließ sich auf meinem Rechner nicht mehr öffnen bzw. war korrupt. Das Dokument brauchte ich aber, weil eine Folgeversion erstellt werden sollte.

    Rekonstruieren aus einem Ausdruck war mir auch aufgrund der Seitenanzahl zu blöd. Den Schuldigen zu würgen, entfiel aufgrund der immer anwesenden Zeugen. Und die alle auch zu erwürgen, na ja, die Presse kriegt ja alles mit.

    Also ging ich zur IT und schilderte das Dilemma. Nachdem wir eine gemeinsame Sichtweise entwickelt hatten, fragte mich der IT-Mitarbeiter, ob mir denn ein Datum zwischen dem letzten Abspeichern aufs Netzwerk und einem Datum, an dem die Datei ganz sicher noch in Ordnung war, einfallen würde. !17. Mai". Dieses Datum ergab sich aus dem Freigabedatum und dem Bearbeitungsdatum des fast erwürgten Kollegen.

    Der IT-Kollege klickte sich durch eine Unzahl an Verzeichnissen und Unterverzeichnissen, die gewünschte Datei war dann tatsächlich in dem fraglichen Zeitraum gesichert worden. Klicker-klacker hier und klicker-klacker dort - und schon befand sich die Sicherung in meiner eMail-Box. Mit dieser Version konnte ich dann die vermurkste Datei ersetzen und auf dieser meine neue Version kreieren.

    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.

Jetzt mitmachen!

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