|
|
Integrovaná vývojová prostředí
Obvykle programátor většinu pracovního času věnuje kódování, debugování a testování. Tyto činnosti zefektivňuje použití specializovaných prostředí IDE(integrated development environment). Co by mělo pořádné IDE obsahovat? :
Známá IDE
Anjuta : Toto prostředí se soustředí na jazyky C/C++ a desktop GNOME.
Code::Blocks - multiplatformní IDE zaměřené na C/C++.
Vim a Emacs : Tyto dva “ultimativní” textové editory lze bez nadsázky rozšířit až na plnohodnotná vývojová prostředí.
Glade Interface Designer : Tento populární grafický návrhář asistuje při vytváření užitelského rozhraní pro GTK+ a GNOME. V součinnosti s dalším softwarem (např. Vim) de facto vytvoří základ IDE.
KDevelop : KDevelop podporuje velké množství jazyků a těší se značné popularitě nejen mezi příznivci desktopu KDE.
MonoDevelop : MonoDevelop je hlavním nástrojem pro C# (platforma Mono).
Qt Creator : QtCreator je výrobcem doporučený nástroj pro toolkit Qt.
Prostředí běžící v Java virtual machine :
Eclipse : Eclipse není jen o vývoji pro Javu, ale jde také o framework pro vytváření IDE (nové pohledy, perspektivy) nad společným grafickým/uživatelským základem. Ve výsledku máme spoustu různě zaměřeného softwaru s více méně jednotným ovládáním. Můžeme se tak vyvíjet v běžných programovacích jazycích (Java, C/C++, PHP…), soustředit na gridy (g-Eclipse), vytvářet RIA Aplikace a webdesign (Aptana), zpracovávat statistická data technikami data miningu (Knime)…Další pomůcky pro vyšší efektivitu
Verzovací systém : Verzovací systémy uchovávají různé verze souborů a projektů, čímž usnadňují spolupráci více pracovníků, získání přehledu o postupu vývoje, odstranění úprav, které se neosvědčily… Velké popularitě se těší Git, CVS, Bazaar, Mercurial, SVN… Jednotlivé systémy se mohou výrazně lišit svou filozofií a tak třeba GIT se hodí k jiným projektům než CVS.
Štítkovací systém (např. cTags) : Tento jednoduchý prográmek označuje konkrétní místa v projektu okomentovanými štítky.
Cokoli jiného : Můžete využít analogie neelektronických postupů jako lepící papírky typu post-it (KNotes), skicák (Xournal)… Můžete si také rozvrhnout pořadí jednotlivých úkonů (planner), psát si poznámky (Tomboy/Gnote), vést osobní wiki systém (Zim), kreslit vývojové diagramy (Kivio)…
Běžné utility a předinstalované příslušenství
I běžné distribuce Linuxu se hodí pro začínající programátory, protože instalace obsahuje množství předinstalovaných a nastavených programátorských nástrojů. Ostatně některá z výše jmenovaných IDE jsou pouze grafickými nadstavbami standardních nástrojů. Co například obsahuje většina distribucí? :
GNU/GCC (kompilátory pro mnoho jazyků, debuger gdb…), Binutils (různé utility pro práci s objektovými soubory apod.), Automake (automatizace překladu), DDD (populární debuger)
Perl : další předinstalovaný skriptovací jazykDalší zajímavý software se dá snadno doinstalovat. :
V Linuxu programátor může si ušít podobné utility přímo na míru s pomocí systémového volání ptrace nebo úpravy jádra (např. v případě potřeby zavedení/smazání naprogramovaného jaderného modulu)…
Další počítač
Pokud při vývoji ladíte rozsáhlejší kód, který vyžaduje spouštění s právy superuživatele root (nebo jádro), je záhodno toto provádět ve virtualizovaném systému. Metody virtualizace dále umožňují například rychlé opakování testů ve více operačních systémech…
Starší počítač usnadní odhad minimálních požadavků na hardware. (Při své práci takto nyní používám sestavu uvedenou v článku Test Ubuntu na vyřazeném počítači.)
Další potřebné nástroje
S další případnými navazující úkoly pomůže opět specializovaný software. Například při optimalizaci mnoha parametrů algoritmu může soubory naměřených dat o chování programu zpracovat některý ze statistických systémů (R, Octave, Weka…).
Související článek : Webdesign s open source nástroji
Štítky: Seriál : Za tajemstvím kompilace, Software podle oboru
A nezapomeňte na Intellij Idea:
http://www.jetbrains.com/idea/download/index.html#linux
iPython je velmi sikovna vec - pre ine jazyky mi chyba moznost nieco takto rychlo otestovat …
Inak vacsina spomenutych IDE je multipaltformovych co je ta najspravnejsia cesta ![]()
pouziva linux i nekdo jinej nez servery a lidi co ho programujou? Co tak v okoli vidim tak spousta lidi to zkusi a pak opusti, protoze linux je “jen pro programatory linuxu, je i tak navrzen”
#3 chod flejmovat na pieskovisko kde mas kamaratov svojho IQ
IDE Anjuta je perfektní nástroj, podporuje nejen c a c++, ale i např python(který používám já), javascripty, html, css a mnoho dalšího.
No autor zabudol na Perl a Ruby. Osobne sa moc o Perl nezaujimam mna skor pritahuje Ruby ale pravdou je ze hovorit o programovani v unix systeme a nespomenut perl je hriech.. nie?
#6 na Ruby mas dobre napr. NetBeans, takze nezabudol ;p
re 6 : Perl považuji za zkomírající projekt, ale do článku ho dopíši.
Ruby zvládá přinejmenším Aptana (odvozeni od Eclipse), KDevelop a NetBeans. Nechtěl jsem vyjmenovávat, která IDE podporují jaké jazyky a knihovny.
#6 Perl je pozvolna vytlačován Pythonem a v mnoha projektech je používán ze setrvačnosti nebo lenosti.
Jinak bych možná dopsal ještě utilitku CMake, která podle mě nahradí Autotools a pro céčkaře skvělý Splint.
Ako multiplatformovy editor pre programatorov odporucam jEdit (pouzivam na Linuxe a aj na Win). Skvele funkcie, pluginy a pre mna neobmedzene moznosti
Podporuje snad vsetky existujuce jazyky…
Co se týče KDevelop, tak ve verzi 4 se silně přiklonili k podpoře C/C++ (a trochu PHP) a ostatní jazyky (třeba Python) šly dost do pozadí. Osobně jsem kvůli tomu byl donucen přejít z KDevelop3 na Netbeans (i když třeba rychlost se nedá srovnávat).
Toto ma dostalo: “NetBeans : něco jako Eclipse”
Nie zeby to nebola pravda, tie produkty su si dost podobne, len si myslim, ze NetBeans ako povodne cesky a SUN-om podporovany produkt by si zasluzil sirsi popis.
#8, Perl nie je zomierajuci projekt. To ze perl5 v zasadnej podobe nemeni svoju podobu zopar rokov neznamena ze perl6 sa nevyvija, Nehovoriac o tom ze 5tku pouziva tisice vyvojarov, vratane velkych spolocnosti. Samozrejme hype obolo pythonu a ruby je silne, ale vyhlasit perl za zomierajuci jazyk je prisilne.
co to je “možnost refrektorovat kód”? Nemelo to byt refaktorovat? Pokud ano, pak ale postradam souvislost s IDE…
re 14. : Je to překlep… opravuji
@emigrant: Používám Linux výhradně (numerické simulace) a většina lidí, co znám, ho používá buď výhradně (kolegové) nebo v kombinaci Linuxu na notebooku / windows v práci (kamarádi a kamarádky).
Netbeans je hroznej … taková humpolácka aplikace, pomalá a zasekaná …
A na tvorbu zostav - altenativa ku Crystal reports (teraz vlasni SAP)- Rave Reports, pripadne ake mate skusenosti
Ze zde jmenovaneho jsem zkousel:
Eclipse - tvari se to skvele, ale akorat me stve - v php to neumi short_tag off (takze <?xml … mi oznaci za chybu), navic napovidani je jenom precteni identifikatoru ze vsech souboru. Cekam, ze kdyz budu mit tridu a s metodou b a nejakou jinou tridu, tak ze mi to u ty jiny tridy nenabidne a::b()…. ale ono jo (coz dela stejne treba i Geany)
Code::Blocks - tvari se to jeste lip, ale at jsem delal co jsem chtel, tak jsem nemel moznost kompilovat v C++ (nabizelo mi to vsude jen Ccko). Coz je skoda, vypada to jako pomerne schopny IDE.
Ovsem, co povazuju za skutecne nejlepsi IDE je Visual Studio od Microsoftu. Jestli se MS neco opravdu povedlo, tak je to prave VS.
SUK : Trapný pokus o flame… Údajné komplikace s kompilací C++ v Code::Blocks jste si vymyslel. Nakonec bez jakýchkoli argumentů vyzdvyhujete Visual Studio, které je z hlediska článku nepoužitelné.
Frantisek: trapny pokus o flame? Od Vas? Ja to jako flame nevymyslel.
Mel jsem CB na linuxu (Archlinux, instalace z of. repos) a nepodarilo se mi najit zpusob, jak vytvorit nejakej C++ projekt (coz muze bejt i moje chyba, kamos v tom ale programoval na ubuntu a problem nebyl).
Visual Studio vyzdvihuju, protoze ho pouzivam uz par let, a krom velikosti na disku se mi libi vsim - od IntelliSense, po slusny moznosti debuggingu - ukaze mi vsechny hodnoty v pameti atd. A stovky az tisice dalsich featurek (ktery fungujou teda predevsim diky .NETu a reflexi). A na linuxu nejde, to ja vim, kdyby jelo tak asi nepouzivam nic jinyho….
SUK : Stačí file->new->project a je tam Qt a další c++. Pro tvorbu c++ zdrojových souborů file->new->file vybrat c/c++ source kliknout na tlačítko go a v dialogu vybrat mezi c a c++.
Visual studio : intellisense je běžný autocomplete feature, které má většina IDE. po slusny moznosti debuggingu - ukaze mi vsechny hodnoty v pameti atd. - To je snad u debug nástrojů standard.
Frantisek: tak, a ted budu urcite za totalniho debila, je mi to jasny
Ale zkusil jsem to teda znova nainstalovat, udelat to jak jsem zvykelj - new empty project, add file -> C/C++ header file - a ted uz tam bylo na vyber C/C++ … predtim jsem to odinstalovaval proto, ze tam bylo jenom Ccko. Ted uz pryc nejde.
Co se VS tyce - jasne, hodnoty v pameti jsou standard, mozna dneska uz je to vcelku bezny, ale co jsem kdy delal s ruznejma IDE (pravda, ne jenom linuxovy - Delphi 7, Lazarus, DevCpp) tak casto nedokazaly po najeti na tridu mi zobrazit nejakej strom hodnot abych se moh krasne prohrabat az k tem nejnizsim “podvlastnostem” dany tridy vcetne private a protected prvku z uzavrenyho kodu - ale to je uz asi spis dano tim .NETem a jeho reflexi.
Stejne tak Intellisense neni bezny autocomplete feature, co ma vetsina IDE - treba zrovna v Eclipse (ted jsem to zkousel, protoze Geany je sice celkem fajn tx exitor ale chcel jsem zkusit neco lepsiho) je to opravdu jenom autocomplete - najde to vsechny identifikatory. Takze $a-> a zobrazi se mi vsechno, co se najde v projektu. (Jeste “domakanejsi” to bylo v Delphi, kde int a = [a nyni se zobrazily jenom vse, co byl int nebo slo na int zkonvertovat]).
V prvom rade rozum.
2: ipython jsem si také vyzkoušel, jinak na skripty používám bluefish ..
Eclipse jednoznacne a skoro na vse… Nevyvijim pravda uplne ve vsem ale Eclipse ma pluginy na snad na vsechno (krome nejakych totalne exotickych jazyku). Jak si na to zvyknete uz nebudete menit. Zkousel jsem vse z vyse uvedenych (krome mona pac v C# nedelam). A kdybych mel vybrat jeden soft tak urcite Eclipse. CodeBlocks taky neni zle na C++, pro rychlou editaci (popr. “remote programming”) doporucuju vim ![]()
Linux zblízka využívá WordPress MU a běží na Blog.zive.cz. Vytvořte si svůj vlastní blog
Sledování přes RSS: články
a komentáře
Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN