Forum: PC-Programmierung Textbasierte IDE unter debian


von themason (Gast)


Lesenswert?

Hallo Forum,

Ich suche eine textbasierte IDE unter debian mit der ich c Programme 
schreiben und debuggen kann ähnlich wie mit Turbo C++ von Borland 
damals.
Textbasiert deshalb weil ich Programme sowohl auf dem raspberry per 
putty (also remote) schreiben und debuggen möchte, gleichzeitig aber 
auch auf dem pc im einer VMware damit arbeiten möchte. Eclipse möchte 
und kann ich nicht nutzen da die Himbeere nicht an einem Fernseher 
angeschlossen ist, remote per vnc arbeiten braucht zu viel Ressourcen 
und die virtuelle Maschine ist auch nicht groß.
Gibt es da etwas ausser emacs ? Oder ist emacs das einzig sinnvolle ?
Mit der IDE möchte ich c/h Dateien so erstellen das das makefile 
erstellt wird und ich auch einigermaßen komfortabel debuggen kann. Kann 
ich das mit emacs relativ einfach machen ? Wie ist die Einarbeitung in 
emacs ? Ist die Bedienbarkeit ähnlich wie z.b. von nano ?

von Klaus W. (mfgkw)


Lesenswert?

Ich würde das sicher mit dem EMACS machen, aber vielleicht nur weil ich 
seit jeher fast alles mit dem EMACS mache.

Ein Makefile schreibe ich immer selber (was ja für einen einfachen Fall 
auch kein Drama ist), aber der Rest geht alles mit EMACS:
Editieren (sehr effektiv, wenn man den EMACS kennt, bis dahin aber sehrt 
gewöhnungsbedürftig), Kompilieren direkt aus dem EMACS heraus (M-x 
compile...), Debuggen (M-x gdb...), shell aufrufen in einem 
EMACS-Fenster, Kommandozeilenkommandos in den Text schreiben lassen oder 
Textpassagen durch Kommandos filtern, ...

Man muß sich halt mal in Ruhe damit beschäftigen, weil alles etwas 
anders ist. Aber es lohnt sich - unter anderem deshalb, weil es den 
EMACS praktisch auf jedem System gibt, und man die Kommandos für fast 
alle Zwecke nutzen kann (Mails, alle Arten von Quelltext, LaTeX, ...).
Man arbeitet sich also nicht mühsam in etwas ein, um dann nur C-Dateien 
zu schreiben, und für alles wieder ein anders Tool nehmen zu müssen.

: Bearbeitet durch User
von Robert L. (lrlr)


Lesenswert?

>raspberry per putty (also remote) schreiben und debuggen möchte,

schreiben MÖCHTE? wer möchte denn sowas?
ok, Debuggen versteh ich, gibts dafür keine Remote-debugger???

von Stefan H. (stefan_h16)


Lesenswert?

Es gibt im weiten Netz genügend Anleitungen die Beschreiben wie man 
Eclipse für die Remote-Entwicklung auf dem Pi einsetzten kann. 
Remote-Debugging selbstverständlich inklusive. Emacs in allen Ehren, 
aber ich glaube an den Komfort von Eclipse auf einem halbwegs 
leistungsstarken Rechner kommt man nur mit sehr, sehr viel Übung.

von Thorsten (Gast)


Lesenswert?

Schon mal an einen Cross-Compiler gedacht?
Eclipse bietet mit dem Remote-Developement-Tools-Plugin sehr komfortable 
Möglichkeiten. Die kompilierst auf deinem Rechner und überträgst das 
Programm innerhalb der Eclipse-IDE dann z.B. per SSH auf deinen RPi.
Debuggen ist über den gdbserver auf dem RPi ebenfalls über Eclipse 
möglich.

Stichwörter nach denen du dafür mal googlen solltest:
arm-linux-gnueabihf --> Die toolchain

Plugins für Eclipse:
Remote Developement Tools
File System Explorer
C/C++ Developement Tooling

von Εrnst B. (ernst)


Lesenswert?

Zum Remote-Entwickeln über ssh nehm ich die IDE "bash".
Einfach zu Bedienen, man kann
- Quelltext editieren
(vi source.c, joe source.c, emacs source.c, nano source.c, ... je nach 
Geschmack)
- Makefiles editieren
(sh. oben)
- Kompilieren (make)
- debuggen (gdb)
- Hat tolle (naja) refactoring tools: "sed -e s...", "perl -pi.bak -e"
- Volle Integration verschiedenster VCS (rcs, cvs, svn, git, ...)
- ...
- Ist sogut wie immer vorinstalliert :)

von themason (Gast)


Lesenswert?

Erstmal danke für die brauchbaren antworten.

Wie gesagt möchte ich eclipse nicht unbedingt nutzen weil ich ohne 
grafische Oberfläche auskommen möchte.
Zudem möchte ich das alles mit so wenig Ressourcen wie möglich machen, 
gleichzeitig aber ohne viel Aufwand platformübergreifend arbeiten können 
(daher auch die virtuelle Maschine auf meinem pc).
Die Idee mit dem Crosscompilen ist mir auch gekommen ist. Aber macht für 
mich erstmal nicht soviel Sinn da ich ja zwei komplette Systeme habe mit 
Compiler und debugger für die entsprechende platform.
Also 'sehr gewöhnungsbedürftig' hört sich erstmal suboptimal an, zumal 
ich das schon öfters gelesen hab. Selbst wenn man mit den emacs (wenn 
man erstmal drin ist) alles machen kann.
Ich glaube ich werd wohl mit nano, makefile und gdb so hantieren und 
mich dann mal in emacs einlesen.
Schade, ich hätte gedacht das es ähnlich dem Turbo c++ sowas für Linux 
bzw debian gibt.
Zumal es an textbasierten Werkzeugen unter Linux ja mehr gibt als die 
Anzahl an Disketten die man bräuchte um Windows 7 per Diskette zu 
installieren.

von Karl H. (kbuchegg)


Lesenswert?

> Man muß sich halt mal in Ruhe damit beschäftigen, weil alles etwas
> anders ist. Aber es lohnt sich - unter anderem deshalb, weil es den
> EMACS praktisch auf jedem System gibt, und man die Kommandos für fast
> alle Zwecke nutzen kann (Mails, alle Arten von Quelltext, LaTeX, ...).

Böse Zungen behaupten auch, das eigentlich EMACS das Betriebsystem bzw. 
die Shell wäre und alles andere (wie das BS) nur störender Unterbau 
wäre.

> Zudem möchte ich das alles mit so wenig Ressourcen wie möglich machen

Zu Zeiten, als Grossrechner noch Hauptspeicher im deutlich einstelligen 
Megabytebereich hatten, deutete man den Begriff "EMACS" als Abkürzung 
für
"Eight Megabytes And Constantly Swapping"

von K. S. (incognito)


Lesenswert?

Emacs konnte ich noch nie leiden und Nano verwendet wirre shortcuts. 
Wenn du was vernünftiges haben willst, dann nimm einfach vim.

SSH kann aber auch grafische Anwendungen übertragen, falls du unbedingt 
ne GUI brauchst (für gvim oder vim-qt z.B.).

von Εrnst B. (ernst)


Angehängte Dateien:

Lesenswert?

K. Salomo schrieb:
> Wenn du was vernünftiges haben willst, dann nimm einfach vim.

Wenn es um:

themason schrieb:
> ähnlich wie mit Turbo C++ von Borland
> damals

geht, dann nimm "joe".
Der benutzt ähnliche, CP/M-Wordstar inspirierte, Tastenkürzel wie die 
Borland-IDEs damals.

oder http://www.rhide.com/
Das ist dann wenigstens Bunt :)

von themason (Gast)


Lesenswert?

@Karl Heinz buchegger

Lach :) Schöne akronyme und Gerüchte :)
Na ja, wenn man sich anschaut wie sich das alles entwickelt hat und 
welche 'Lager' sich im laufe der Zeit gebildet haben kann man das schon 
glauben :)

@Ernst b.

Genauso sowas wie im Bild hatte ich gedacht. Das ist rhide wenn ich das 
richtig gesehen hab ?

Danke an die konstruktiven antworten.

von Karl H. (kbuchegg)


Lesenswert?

themason schrieb:
> @Karl Heinz buchegger
>
> Lach :) Schöne akronyme und Gerüchte :)

Ach was. Wieder andere Gerüchte wollen wissen, dass es sich bei EMACS um 
eine Abkürzung für Escape - Meta - Alt - Control und Shift handle. Also 
die Sondertasten, die man benötigt und ohne deren Einsatz und 
Beherrschung man EMACS nicht bedienen könne.

:-)

von Hobbyist (Gast)


Lesenswert?

Karl Heinz schrieb:
> Ach was. Wieder andere Gerüchte wollen wissen, dass es sich bei EMACS um
> eine Abkürzung für Escape - Meta - Alt - Control und Shift handle. Also
> die Sondertasten, die man benötigt und ohne deren Einsatz und
> Beherrschung man EMACS nicht bedienen könne.

Ja wie!? Und wenn ich jetzt einen Tablet PC mit Touch-Display habe? Dann 
muss ich doch wohl hoffentlich nicht zur Bildschirmtastatur greifen?
Im Windows Store habe ich allerdings noch keine EMACS Version für WinRT 
gefunden :-(

von themason (Gast)


Angehängte Dateien:

Lesenswert?

@hobbyist ...

Ja und ? Dann gibts halt nur Bildschirm Tastatur. :)
Und den affengriff bekommt man auch hin :)

von Rolf Magnus (Gast)


Lesenswert?

Karl Heinz schrieb:
> Böse Zungen behaupten auch, das eigentlich EMACS das Betriebsystem bzw.
> die Shell wäre und alles andere (wie das BS) nur störender Unterbau
> wäre.

Noch bösere Zungen behaupten, daß EMACs ein super Betriebssystem sei, 
dem allerdings leider noch ein guter Editor fehle.

Hobbyist schrieb:
> Ja wie!? Und wenn ich jetzt einen Tablet PC mit Touch-Display habe? Dann
> muss ich doch wohl hoffentlich nicht zur Bildschirmtastatur greifen?

Zur Bedienung eines Texteditors?

von Klaus W. (mfgkw)


Angehängte Dateien:

Lesenswert?

Hobbyist schrieb:
> Ja wie!? Und wenn ich jetzt einen Tablet PC mit Touch-Display habe? Dann
> muss ich doch wohl hoffentlich nicht zur Bildschirmtastatur greifen?

Anbei ein Bild von einem Android-Tablet (Notes 10.1) mit ssh-Sitzung 
(ConnectBot) zu meinem Server daheim, dort läuft der EMACS und ist mit 
dem ganzen ALT- und Ctrl-Gedöns einwandfrei bedienbar.
Das geht allerdings nicht mit der Original-Tastatur, sondern mit 
"Hacker's Keyboard".
Das ist jetzt sicher nichts, wo man ein paar Tausend Zeilen Quelltext 
schmiedet. Aber um eben mal schnell was zu machen, reicht es allemal.

Alternativ kann man natürlich auch jederzeit eine Bluetooth- oder 
USB-Tastatur nehmen...

von rakudah (Gast)


Lesenswert?

Mit X-Forwarding kannst du X11 Programme auf dem Pi ausführen und deren 
Ausgabe auf deinen Rechner umleiten. Wäre ressourcenschonender als VNC.

von Εrnst B. (ernst)


Lesenswert?

rakudah schrieb:
> Mit X-Forwarding kannst du X11 Programme auf dem Pi ausführen und deren
> Ausgabe auf deinen Rechner umleiten. Wäre ressourcenschonender als VNC.

War früher so, bzw. ist bei "alten" X11-Programmen noch so.
Also bei Programmen, die wirklich noch die X11-Server-Funktionen zum 
Zeichnen, Text rendern usw. verwenden.

Aktuelle Toolkits rendern ihre ganze Oberfläche Client-Seitig (damit die 
tollen Theme-Engines, Anti-Aliasing bei Fonts usw) funktionieren, und 
tauschen nur Pixeldaten mit dem X11-Server aus.. unkomprimiert (da 
normalerweise über SHM u.Ä.). Da ist VNC dann schneller.

von Klaus W. (mfgkw)


Lesenswert?

Über 100MB Ethernet aufwärts ist editieren aber auch über das Netz sehr 
zügig, ich mache das regelmäßig mit Cubieboard und OLinuxIno.

Nür mit DSL dazwischen ist es zäh, geht aber auch zur Not.

von Rolf Magnus (Gast)


Lesenswert?

Εrnst B✶ schrieb:
> rakudah schrieb:
>> Mit X-Forwarding kannst du X11 Programme auf dem Pi ausführen und deren
>> Ausgabe auf deinen Rechner umleiten. Wäre ressourcenschonender als VNC.
>
> War früher so, bzw. ist bei "alten" X11-Programmen noch so.
> Also bei Programmen, die wirklich noch die X11-Server-Funktionen zum
> Zeichnen, Text rendern usw. verwenden.

Das ist heute immer noch so.

> Aktuelle Toolkits rendern ihre ganze Oberfläche Client-Seitig (damit die
> tollen Theme-Engines, Anti-Aliasing bei Fonts usw) funktionieren, und
> tauschen nur Pixeldaten mit dem X11-Server aus..

Welches denn zum Beispiel? Zumindest Qt tut das nicht. Fontrendering mit 
Antialiasing wird tatsächlich Client-seitig gemacht. Allerdings wird ja 
nicht z.B. beim Scrollen der Text jedesmal komplett neu gerendert, 
sondern steckt in einer Pixmap, die dann bequem serverseitig verschoben 
wird.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.