Jaké IDE pro C++ ?

Založil Radek, 24. 06. 2009, 22:36:45

Předchozí téma - Další téma

Radek

Já jsem tady nový, tak nejdřív oficiality. Jmenuju se Radek, jsem matematik, fyzik, trochu programátor, prostě exot. Uvedl jsem se hned tím, že mi nějak nešlo poslat aktivařní email, takže to nakonec řešil Tomáš Jančík. Tímto bych rád poděkoval za asistenci, díky, Tomáši. Ale dál. Jako správný exot, mám na počítači OS/2, ke kterému jsem se rozhodl přidat Debian. Podařilo se, sláva. Tím naznačuju, že s Debianem vlastně začínám a že o něm houby vím :)

Protože bych rád programoval, potřebuju IDE, takže nejdřív editor. Co bych ocenil? Editor, který je vlastně interpreter skriptu, který dodáte sami a kde si stanovíte, co má editor dělat a kdy. V dobách předpotopních takhle fungoval Kedit. Napsali jste si skript, vytvořili vlastní makra a key bindings a pak jste odmítali používat cokoliv jiného :) V Linuxu jsem zatím objevil:

(1) Vim (gVim). Zjevně jde naprogramovat k obrazu uživatele. Navíc jsem objevil docela dobře napsaný návod jak psát skript, tím získal Vim další body.
(2) Emacs. Trochu mě odrazuje, že to je krááááva, která si navíc hraje na to, že to je vlastně všechno, od internet browseru až k prkýnku na záchodě. Nerad bych křivdil, ale tenhle druh obecnosti jde většinou na vrub výkonnosti a srozumitelnosti. Já bych chtěl plain text editor, ne QuarkXpress křížený s piškvorkami a tramvají.
(3) Scintilla. Je součástí Geany, asi jde naprogramovat také. Našel jsem Lua skript, který prostě hooknul celý vstup včetně kontrolních znaků a pak to interpretoval po svém. To ovšem znamená napsat interpreter vlastně sám.
(4) Gedit. Proslýchá se, že ho lze naprogramovat v Pythonu, ale nějaký návod se mi nepodařilo rychle nalézt.
(5) Epsilon. Také krááááva, existuje Debian package. Je otázka, jestli je package dostatečně up to date. O Epsilonu něco vím z widlí, kde ho z nedostatku jiných widle editorů používám. Naprogramovat ho lze, ale protože jde o widle, tak jsem se moc nesnažil.

Předpokládejme, že editor mám, teď IDE. Ono to IDE pod Linuxem už editor obsahuje, takže první problém je, jak vnutit vybraný editor IDE a jestli to vůbec jde. Zatím jsem viděl:
(1) CodeBlocks. Všemi doporučované a prý výborné. Když jsem otevřel konfiguraci, tak jsem zjistil, že CodeBlocks chce psát program za mě a formátovat ho chce za mě také, vyber si jednu ze tří možností. Nevybral jsem si ani jednu.
(2) Geany. Tohle IDE je mi sympatické tím, že prostě nabízí integraci editoru, kompileru, debuggeru a ostatních součástí vývojového prostředí a nesnaží se dělat víc.

Takže co bych vlastně chtěl?

Editor: Možnost navolit nebo napsat
(a) Tzv. "virtual space", to jest, při pohybu kurzoru nahoru a dolů zůstává kurzor stále ve stejném sloupci, i když je řádek kratší. Ve "virtual space" lze psát, řádek se automaticky doblankuje do začátku nového textu.
(b) Tu nejjednodušší indentaci - pod začátek předchozí řádky. Nechci, aby editor dělal víc.
(c) Řádkové a obdélníkové bloky. Já jiné nepoužívám.
(d) Možnost posouvat obsah řádků (bloku) doleva a doprava. Možnost posouvat obsah od určitého sloupce dál.
(e) Key bindings podle mého přání. Jako luxus definovat key bindings za chodu, někdy se to hodí, když je třeba provádět nějakou akci opakovaně.
(f) Highlighting definovat podle mého přání. Nejen definovat barvy, ale také definovat, co se kterou barvou napíše.
(g) Nechci aby editor psal program za mě.

IDE:
(a) Aby fungovalo jako integrátor akcí prováděných při tvorbě programu a nesnažilo se o víc.
(b) Aby kooperovalo se zvoleným editorem.

Jaký editor a jaké IDE byste doporučili?

Jakub Lucký

Developers, developers, developers, developers, developers!

Erbureth

Jako IDE používám KDevelop a QT Creator. KDevelop je IDE, co integruje hodně standardních nástrojů od gdb, valgrind... až po různé make systémy.
QT Creator se zaměřuje hlavně na QT aplikace, a podporuje z make systémů akorát qmake-qt4 (jestli i další, to nevím, ale nastavit se mi to nepodařilo)
Debian Squeeze AMD64, 2.6.27, KDE 4.2.2 @ HP Compaq 6830s
Debian Squeeze, 2.6.26, KDE 4.2.2 @ AthlonXP 2000+, 512 MB, Radeon 9000 128 MB

Whatever happened, happened, and could not had happened any other way.

Radek

Nojo, KDevelop, KDevelop je KDE, já tady mám Gnome. Co mi nabídne Eclipse? Zatím každý, s kým jsem mluvil říkal: "strrrašně složitý". Možná pravdu neměl :)

borek

Můžeš zkusit Anjutu. Splňuje asi všechny požadavky a má pluginový systém, kdy se dají nepotřebné pluginy vypnout nebo zase zapnout. Lze použít externí textový editor(určitě vím jenom o Geditu) uvnitř IDE.

Jakub Lucký

Eclipse je opravdu komplexní IDE, které nabízí všechno... Složité možná je, ale mám pocit, že je to dlouhodobá investice, která se vyplatí
Developers, developers, developers, developers, developers!

Radek

Anjuta nepůjde, chce Scite, případně nějaký podobný editor (přesně definovaný). Vim nebere. Takže Eclipse. Jdu stahovat a učit se Lisp. Uee.
Stejně by mě zajímalo, proč IDE v Linuxu dělají to co dělají - snaží se kecat druhým (třeba editoru) do práce. Výsledek je potom ten, že jsou kompatibilní jenom se svým editorem a s ničím jiným. Tento povzdech jsem už na síti viděl několikrát, ale odpověď nenásledovala.
Vezměme třeba Watcom IDE - to mám spuštěné pod OS/2 pořád. Vyloženě triviální integrátor, který spustí editor (určený vámi) když chcete upravovat zdrojový soubor. Spustí překladač a linker, když chcete překládat. Spustí debugger a předá mu "target", když chete odlaďovat. Vlastně jediné co dělá je výroba makefile pro překlad a slinkování. Lze mu dokonce podstrčit i jiné kompilery a linkery - když víte jak, když vysvětlíte IDE, jak ten kompiler nebo linker volat a když se nějak "napojíte" na menu a dialogy, kde zadáváte, jak soubory překládat a jak je linkovat. Vlastně nikomu do práce nekecá a všechno závisí na schopnostech vašich prostředků. Když máte chyby v překladu - vytvoří se .err soubor s přesně definovanou strukturou. Když dovedete vysvětlit editoru, jak soubor používat - bude vás posouvat od chyby k chybě a u každé vám napíše, co je to za chybu. Když to editor neumí nebo lenost je příliš velká - budete se řídít výpisem chyb od kompileru v IDE.

bhy

jako první projekt v eclipse můžete zkusit portovat watcom ide z os/2 na linux:)

Radek

Tak jsem s Eclipse moc neuspěl. Nejdřív se stahovalo 84 pakáží (celkem to muselo být asi 150 MB). Poté jsem spustil Eclipse a čekal. A čekal ... A nakonec jsem dostal toto:

VM terminated. Exit code=127
/usr/lib/jvm/java-gcj/bin/java
-Djava.library.path=/usr/lib/jni
-Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db
-Dgnu.gcj.runtime.VMClassLoader.library_control=never
-Dosgi.locking=none
-jar /usr/lib/eclipse/startup.jar
-os linux
-ws gtk
-arch x86
-launcher /usr/lib/eclipse/eclipse
-name Eclipse
-showsplash 600
-exitdata 16800d
-install /usr/lib/eclipse
-vm /usr/lib/jvm/java-gcj/bin/java
-vmargs
-Djava.library.path=/usr/lib/jni
-Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db
-Dgnu.gcj.runtime.VMClassLoader.library_control=never
-Dosgi.locking=none
-jar /usr/lib/eclipse/startup.jar

Close. A dál už nic ... Eclipse se ani neoffnulo, to jsem musel udělat sám. Pro velký úspěch jsem start Eclipse opakoval. Stejný výsledek. R-r-r-aughhhhh!

Jakub Lucký

špatná Java... musíte použít Sun Javu...

apt-get install sun-java6-jre
update-alternatives --set java /usr/lib/jvm/java-6-sun/jre/bin/java
Developers, developers, developers, developers, developers!

Jakub Lucký

Sice jsem věděl odpověď z hlavy, ale ani není těžké to vygooglit...

+ Btw: o Eclipse CDT se teď diskutuje na ABClinuxu... a obecná konkluze zní, že první týden až 14 dní s Eclipse je těžkých, ale že se to pak vyplatí
Developers, developers, developers, developers, developers!

Radek

sun-java6-jre se nenašla. Dost divné, z pokusů o Ubuntu si pamatuju, že něco takového existuje. Zkusil jsem dodat CD a hledat znovu, ale nenašla se zas. Zkusil jsem Google a našel jsem něco sprostých slov na adresu pakáže a hlášení o chybách. Proto se radší ptám zkušených: co s tím?

Jakub Lucký

co máte v sources.list ?
Developers, developers, developers, developers, developers!

bhy

Citace od: Radek kdy 30. 06. 2009, 00:02:43
sun-java6-jre se nenašla. Dost divné, z pokusů o Ubuntu si pamatuju, že něco takového existuje. Zkusil jsem dodat CD a hledat znovu, ale nenašla se zas. Zkusil jsem Google a našel jsem něco sprostých slov na adresu pakáže a hlášení o chybách. Proto se radší ptám zkušených: co s tím?
v /etc/apt/sources.list přidat na řádcích s URI mirrorů za "main" ještě "contrib" a "non-free" a spustit "apt-get update"

Radek

sun-java6-jre se po odblokování "contrib" a "non-free" našlo. Uff. Stáhlo se a zapláclo dalších 100 MB, to už bude tak 250 MB. Ufffff. To jsou tady widle? Další pokus o Eclipse a další pád:

VM terminated. Exit code=127
/usr/lib/jvm/java-gcj/bin/java
-Djava.library.path=/usr/lib/jni
-Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db
-Dgnu.gcj.runtime.VMClassLoader.library_control=never
-Dosgi.locking=none
-jar /usr/lib/eclipse/startup.jar
-os linux
-ws gtk
-arch x86
-launcher /usr/lib/eclipse/eclipse
-name Eclipse
-showsplash 600
-exitdata b000b
-install /usr/lib/eclipse
-vm /usr/lib/jvm/java-gcj/bin/java
-vmargs
-Djava.library.path=/usr/lib/jni
-Dgnu.gcj.precompiled.db.path=/var/lib/gcj-4.2/classmap.db
-Dgnu.gcj.runtime.VMClassLoader.library_control=never
-Dosgi.locking=none
-jar /usr/lib/eclipse/startup.jar

Od předchozího pádu se liší v řádce "exitdata", jinak se neliší.