Meine Ubuntu fragen


Pliskin

Member
Joined
Apr 29, 2006
Messages
430
Location
Rüsselsheim
LOCATION
Rüsselsheim
Ich habe jetzt ca. zwei wochen lang Ubuntu laufen und bin ganz zufrieden damit.
Nur habe ich ein paar keine fragen die mal immer wieder kommen werden.
Ich bin zwar in Ubuntuusers forum drin, aber wegen jeden kleinen Frage will ich dort keinen thread aufmachen. :p

Was brauche ich fürs Programmieren unter Ubuntu.
benutze gedit als Editor und g++-4.0 zum Compilieren. Klappt alles ganz gut bis hierhin ,aber
wenn ich das Programm starten will geht nichts auf. Es läuft vieleicht ab, aber ohne Ausgabefenster.
Natürlich muss irgendwo ja ein Ausgabefenster da sein oder muss ich das auch mit reinprogrammieren.
 
Pliskin said:
Ich habe jetzt ca. zwei wochen lang Ubuntu laufen und bin ganz zufrieden damit.
Nur habe ich ein paar keine fragen die mal immer wieder kommen werden.
Ich bin zwar in Ubuntuusers forum drin, aber wegen jeden kleinen Frage will ich dort keinen thread aufmachen. :p

Google wuerde Dir sogar sparen irgendwo threads
aufzumachen...
Pliskin said:
Was brauche ich fürs Programmieren unter Ubuntu.

Etwas sehr allgemein gefragt.
Einerseits brauchst Du mal die entsprechenden
Werkzeuge fuer die Sprache, in der Du schreiben willst.
Ueblicherweise sind das Compiler und Linker,
bei diversen Sprachen sind es VMs, bei Skriptsprachen
Interpreter (python, ruby etc.)

Dann empfiehlt sich ein guter Texteditor, der
auch auf das Programmieren ausgelegt ist
und zumindest ein paar grundlegende Dinge
wie syntax highlighting beherrscht.
Am besten einer, der sich einfach erweitern
laesst und mit den von Dir verwendeten
Sprachen zurecht kommt.

Ich mag kate, aber unter einer Gnome Umgebung
ist das nicht sonderlich sinnvoll.

Bei aufwaendigeren Sachen empfiehlt sich
eine komplette Entwicklungsumgebung,
empfehlen kann ich KDevelop
(fuer C/C++, Python, Ruby, tonnenweise
anderes aber hauptsaechlich fuer
graphische Anwendungen die das Qtoolkit
nutzen) und Eclipse
(hauptsaechlich Java, allerdings erweiterbar,
kommt mit so ziemlich allem an Sprachen klar,
insbes. C/C++ (Eclipse CDT), Java, Ruby,
Python, aber auch Pacal, COBOL und tonnenweise mehr)

Diese bieten einiges mehr an Moeglichkeiten,
Versionsverwaltung, Projektverwaltung,
refactoring, folding, tonnenweise moeglichkeiten
zum debuggen inkl. Suche nach Speicherlecks/Ueberlaeufen etc.

Schlussendlich sind zwei Dinge ausschlaggebend:

1) die Anforderung (inkl. Sprache)
2) persoenlicher Geschmack
Pliskin said:
benutze gedit als Editor und g++-4.0 zum Compilieren. Klappt alles ganz gut bis hierhin ,aber
wenn ich das Programm starten will geht nichts auf. Es läuft vieleicht ab, aber ohne Ausgabefenster.
Natürlich muss irgendwo ja ein Ausgabefenster da sein oder muss ich das auch mit reinprogrammieren.

C++ also, zumindest vermutlich.

Fragen:
Mit welchen Optionen uebersetzt Du das Programm?
Ist es ausfuehrbar? Wie startest Du es?
(ein simples draufklicken bringt naemlich, insofern
es kein graphisches Programm ist oder nicht
seinen eigenen Terminalemulator aufruft,
absolut gar nichts). Ist es ein graphisches
Programm? Wenn ja: welches Toolkit?

--

Edit: an der Stelle freundlichkeitshalber
ein Schuss ins Blaue, der mit einer
Wahrscheinlichkeit von 99% funktioniert
und Dich zumindest gluecklich stimmt:

Gnome Terminal auf, in das Verzeichnis
wechseln wo Dein Programm liegt,

./programmname

--

Wenn Du schon so grundlegende Fragen stellst
(zudem noch solche, die man mit ein wenig
Recherche vermutlich schnell selber loesen koennte)
dann liefer bitte ein paar zusaetzliche Informationen.

Fuchs
 
Also der Editor is schonmal in Ordnung, Gedit highlighed ganz süß und ist zum einsteigen gut geeignet (Welcher Anfänger debuggt?)
Du kannst ja einfach mal dein Codebeispiel zeigen.
 
Cyberpuer said:
Also der Editor is schonmal in Ordnung, Gedit highlighed ganz süß und ist zum einsteigen gut geeignet (Welcher Anfänger debuggt?)

Vermutlich die wenigsten, das wuerde zumindest
einiges erklaeren.

Ich bin auch absoluter Anfaenger, aber ich kennzeichne
meinen Muell zumindest als eindeutige Frickelei,
die man besser gar nicht oder mit Vorsicht anwendet ;)

Fuchs

(Zu gedit sage ich lieber nichts)
 
Kann man nicht auch einen Debugger benutzen, wenn man mit einem simplen editor Arbeitet? Muss es denn gleich eine Programmierumgebung sein? Ich mag es nicht, wenn ich von anfang an mit tonnenweise extras und Funktionsmglichkeiten und struktorierungsversuchen der IDE vollgemüllt werde, wenn ich nichtmal ein zentel davon verstehe, ich mag es liebe meine eigene entwicklungsumgebung zu schaffen, und die dann immer meinen bedürfnissen entsprechnd zu erweitern. Dann hab ich wenigstens das gefühl, dass ich mich in Meinem Projekordner auskenne, was nicht unbedingt der fall ist, wenn ich KDevelp benutze, und der Editor von KDevelop ist ja wohl auch nicht besser als Kate, und mal ein wort auszuschreiben dauert ansich auch nicht viel länger, als es in einer Liste auszuwählen, wenn man das Zehnfingerschreiben beherrscht.

@Pliskin: Und um deine Frage zu beantworten, einfach in der konsole ausführen, wozu heißen sie sonst Konsolenanwendungen.

PS: ich hatte unter KDevelop auch schon einige Probleme bei der Komipierung von SDL anwendungen, weil die Libraries an der falschen stelle gesucht wurden, und ich dem Programm auch nicht sagen konnte "hey da wo du suchst ist völlig verkehrt guck ma dort drübe da sind die ganzen libs". Das war so der auschlaggebende Moment, der mir gesagt hat, dass ich mal auf Manuelle Programmierung umsteigen sollte, bei Programmen, bei denen ich den Ablauf noch kontrollieren kann, ganz normale Editoren. dazu kam übrigenz noch ein Artikel im Linux Magazin über entwicklungsumgebungen, in dem eigentlich fast alle schlecht abgeschnitten haben, bis auf Eclipse. Die meisten sagten sie bieten nicht viel mehr, als ein Editor mit ein Paar zusatzfunktionen, und Monodevelop stürtzt zu häufig ab.
 
Krux said:
Kann man nicht auch einen Debugger benutzen, wenn man mit einem simplen editor Arbeitet? Muss es denn gleich eine Programmierumgebung sein?

Nein, koennte aber sehr gut sein, dass ich genau deswegen
geschrieben habe was ich fuer einen Editor verwende
und das ich fuer groessere Dinge eine IDE empfehle.
Krux said:
Ich mag es nicht, wenn ich von anfang an mit tonnenweise extras und Funktionsmglichkeiten und struktorierungsversuchen der IDE vollgemüllt werde,

Strukturierung ist sehr zu empfehlen, weil sich
die meisten Programmierer einen Dreck um die
Lesbarkeit ihrer Programme kuemmern.
Deswegen sind Sprachen wie Python gut
fuer Anfaenger geeignet, da kann man absolut
sicher sein, dass man zumindest Beispiele
lesen (achtung: lesen, nicht verstehen) kann.

Krux said:
und der Editor von KDevelop ist ja wohl auch nicht besser als Kate,

Ich denke irgendwie, dass das daran liegen koennte,
dass der Editor von KDevelop standardmaessig kate _ist_
(resp. der kate kpart, aber das spielt nicht wirklich eine Rolle)
Krux said:
und mal ein wort auszuschreiben dauert ansich auch nicht viel länger, als es in einer Liste auszuwählen, wenn man das Zehnfingerschreiben beherrscht.

Eine gute IDE kann hoffentlich ein wenig mehr als
auto-completion, und um die ist man dann
bei groesseren Projekten, wo die Funktionen/Klassen/Methoden
ruhig ueber ein paar Dateien verstreut sind
doch ziemlich froh.

Aber ja, bei einem kleinen Projekt ist man damit
fast genau so schnell, da gebe ich Dir recht.

Nochmals: ich habe nichts gegen Editoren, ich verwende
sie auch. Genausowenig will ich Pliskin zum Anfangen
eine komplette IDE empfehlen. Er hat gefragt
was er zum programmieren braucht, ich habe geantwortet:

einen Editor [...] fuer groessere Dinge empfiehlt sich
eine IDE.

Fuchs
 
^ich hab da übrigens noch ne PS gechrieben...^
 
Soviel ich verstanden habe, soll diese "IDE" für "größere Sachen", aber auch für jene größere Sachen unpraktikabel sein, wenn dieses größere Sache z.B. SDL nutzt...
 
jepp, es sei denn man macht sich nichts draus, mal eben seine libraries zu verschieben, eben dahin, wo KDevelop sie sucht.
 
http://www.geekcomix.com/snh/files/docs/sdl-kdev/sdl-kdev-mini-how2.html
Verlinkt auf der offiziellen KDevelop Seite.
Ich unterlasse weitere Kommentare, wir sind naemlich
so schon OffTopic genug, und ich glaube nicht,
dass eine Diskussion noch etwas bringt.

Vor allem nicht, wenn man in einer IDE nichts weiteres
sieht als "Ein Texteditor mit ein paar Tools"

Fuchs
 
:twisted: net streiten jungs

Google erschlägt mich mit informationen, so das ich den wald vor lauter Bäumen net sehe genauso wie Fuchs (trotzdem danke)

Ich will in c++ proggen. und mir gefällt es mit einem Editor zu programmieren und es dann einfach durch den compiler zu jagen.
Code:
#include <iostream>
using namespace std;

int main ()
{
	int a=0;
	char c;
	cout << "Zeichen ?";
	cin >> c;
	
	if (c=='I') a=1;
	else if (c=='V') a=5;
	else if (c=='X') a=10;
	else if (c=='L') a=50;
	else if (c=='C') a=100;
	else if (c=='D') a=500;
	else if (c=='M') a=1000;

	if (a==0)
		cout<< "keine römische Ziffer! \n";
	else
		cout << a << endl;
}
ist ein beispielprogramm aus einem c++ buch

compilieren läst sich das programm ja und im terminal habe ich es auch schon ausgeführt.
doch ich habe die befürchtung das mir was fehlt und zwar ein Ausgabefenster.

PS: Danke für die infos
 
cout gibt, sehr salopp gesagt, auf der Standardausgabe
(stdout, damit willst Du Dich vielleicht
mal befassen wenn Du Linux naeher
kennenlernen willst) aus,
das ist in Deinem Fall das Terminalfenster
in dem das Programm ausgefuehrt wird.

Ergo fehlt da nichts,
zumindest nicht wenn die Ausgabe auf dem Terminal erfolgt.

Edit: tut sie.

Fuchs

PS: wenn Du ein separates Fensterchen willst,
welches _nicht_ ein Terminalfenster ist,
dann wirst Du wohl oder uebel entweder
was vorgefertigtes (xmessage, <toolkitdialog>),
entsprechende Bibliotheken oder sogar
ein graphisches Toolkit nehmen muessen.
Damit wuerde ich allerdings noch ein
Weilchen warten.

PS:
Kleiner grammatikalischer Hinweis am Rande:
In Deinem obrigen Satz sehe ich den Wald
vor lauter Baeumen nicht mehr, genau wie Du.
Ich denke eher, dass Du ausruecken wolltest,
dass ich Dich mit Informationen erschlage :)
 
@ Fuchs
Ausgabe in Terminal reicht schon mehr brauche ich für meine kleinen Programmierversuche nicht.

:lol: hat jetzt doch geklappt

Muste die datei mit
Code:
./test
starten

habe mir einen starter gebaut und jetzt gehts.

Aber kann man nicht die Datei durch doppelklick alles automatisch öffnen lassen. Muss ich mir da umbedingt einen starter basteln.
 
Pliskin said:
@ Fuchs
Ausgabe in Terminal reicht schon mehr brauche ich für meine kleinen Programmierversuche nicht.

:lol: hat jetzt doch geklappt

Muste die datei mit
Code:
./test
starten
Mir war dannach als haette ich das geschrieben...
ein starten direkt ueber <programmname>
geht nur wenn sie ausfuehrbar ist und
in $PATH liegt, damit willst Du Dich vielleicht
auch mal auseinandersetzen :)
Pliskin said:
habe mir einen starter gebaut und jetzt gehts.

Aber kann man nicht die Datei durch doppelklick alles automatisch öffnen lassen. Muss ich mir da umbedingt einen starter basteln.

Reicht eigentlich, wenn der ein Terminal aufruft, welches
wiederum die Datei startet.

(Die meisten Terminals kennen die -e Option dafuer,
mehr dazu liest Du in der Hilfe zu Deinem Terminal)

Ein "Doppelklicken" in Nautilus
(ich gehe mal davon aus, dass Du den verwendet. *shudder*)
duerfte wirklich nichts bringen, da das Programm zwar
ausgefuehrt wird Du aber die Ausgabe nicht siehst.
Bei Shellskripts bietet Nautilus die Option an diese
in einem Terminal auszufuehren, bei allgemein
ausfuehrbaren Dateien kann man das afair nicht einrichten.

Fuchs


PS: um Dir Arbeit zu ersparen:


#!/bin/sh
gnome-terminal -e ./<programmname>
exit 0


schreib das in eine Datei, mach sie
ausfuehrbar. Muesste als "Starter" reichen.

Zur Erklaerung: die erste Zeile, die sogenannte
shebang oder hashbang, sagt welcher Interpreter
die weiteren Kommandos ausfuehren soll.
In dem Fall nehmen wir, um portabel zu sein,
/bin/sh.
Die zweite Zeile ruft gnome-terminal auf,
mit der Option -e (ausfuehren) und Deinem
Programm. die <> musst Du natuerlich weglassen
und Programmname ist der Name des kompilierten
Programms (achtung, Linux ist case sensitive).
Die letzte Zeile sorgt an sich nur fuer ein ordentliches
Beenden mit Rueckgabewert 0.


Edit 2:

Gna, Ueberlegungsfehler...
Terminal -e schliesst das Terminal sobald
betreffende Anwendung beendet wird,
ergo wirst Du entweder Deine Anwendung
anpassen oder Dir was anderes ueberlegen muessen

Fuchs
 
Du kannst auch in Kate den Terminalemulator anzeigen, und da dann dein ./name reinschreiben um zu starten, ist zum kompilieren übrigens auch ganz praktisch (Übrigens auch einer der Gründe warum ich noch keine IDE brauche). Ich hab Kate übrigens auch unter Gnome benutzt, da ich es einfach zum Programmieren angenehmer fand.
 
Kate ist, wie schon einmal erwaehnt, auch eine
Empfehlung von mir. Da er allerdings
unter einem Ubuntusystem arbeitet
darf er sich da vermutlich noch mindestens
die kdelibs nachinstallieren. Ob es ein einzelnes
Kate Paket gibt weiss ich auch nicht, wenn nicht
ist das ganze kdebase dran...

Da gedit aber nach meiner Ansicht zum
Programmieren wirklich graesslich ist
wuerde ich so so ein Editorwechsel,
zu welchem auch immer, empfehlen.

(Uebriens besteht eine IDE auch nicht nur
aus Editor und Compiler)

Fuchs
 
Irgendwie akzeptiert er den befehl getch() nicht.
Ich habe schon conio und stdio versucht aber der kennt die garnicht.

wo sind den die Headerdatein drin das ich die gegebenfals ergänzen kann.

Diese sch... suchfunktion findet aber auch garnichts. kann mir einer erklären warum :twisted:

achja, habe ich ganz vergessen. Das sagt mir die Konsole
Code:
test.cpp:2:17: Fehler: stdio: No such file or directory
test.cpp: In function »int main()«:
test.cpp:15: Fehler: »getch« wurde in diesem Gültigkeitsbereich nicht definiert
test.cpp:16: Fehler: expected `;' before »}« token
 
Pliskin said:
Irgendwie akzeptiert er den befehl getch() nicht.

Ich habe schon conio und stdio versucht aber der kennt die garnicht.

Erstens: ich will die include Zeilen sehen.
Zweitens: Hast Du ueberhaupt die noetigen
Bibliotheken installiert? Kann zwar fast
nicht glauben, dass die unter Ubuntu
nicht eine Abhaengikeit von g++ sind,
aber Du koenntest mal glibc resp.
gleich das build-essential Metapaket installieren.
Pliskin said:
Diese sch... suchfunktion findet aber auch garnichts. kann mir einer erklären warum :twisted:

_welche_ Suchfunktion? _Die_ Suchfunktion gibt
es nicht....
Pliskin said:
achja, habe ich ganz vergessen. Das sagt mir die Konsole
Code:
test.cpp:2:17: Fehler: stdio: No such file or directory
test.cpp: In function »int main()«:
test.cpp:15: Fehler: »getch« wurde in diesem Gültigkeitsbereich nicht definiert
test.cpp:16: Fehler: expected `;' before »}« token

Du hast so oder so ein ; vergessen.
Lies doch einfach mal die Fehlermeldungen.
 
@Fuchs

hier hat du das ganze proggi
Code:
#include <iostream>
#include <stdio>

using namespace std;
char d;

int main ()
{
cin >> d;
cout << d << endl;
getch()
}

Du koenntest mal glibc resp.
gleich das build-essential Metapaket installieren.

Find ich in synaptic nicht. Wo krieg ich das.
_welche_ Suchfunktion? _Die_ Suchfunktion gibt
es nicht....

Na im browser in der symbolleiste gibts ein suchen button. Wenn ich aber eine Datei suche findet der die nicht.
Wenn ich aber manuell suche finde ich die datei.
Du hast so oder so ein ; vergessen.
ich dachte nach getch() kommt kein ;
 
Back
Top