Hledat
Přihlásit se
  • Věda a technika
  • Herní doupě
  • Tipy pro PC
  • IT Byznys
  • Mobily
  • Počítače
  • Počítače
  • Témata
  • Poradna
  • Diskuzní fórum
  • Video
  • Bazar
  • Blogy
  • MĚŘENÍ RYCHLOSTI
  • RSS
  • Facebook Twitter Google+ YouTube
  • Hardware
  • Software
  • Počítače
  • Notebooky
  • Služby na webu
  • Apple
  • Google
  • Microsoft
  • Seznam
  • Tiskové zprávy
Další témata
  • Týden Živě
  • Zprávy Živě
  • Testy
  • Pitvy
Všechna videa
X

Doporučit článek

Vaše jméno:

Váš e-mail:

E-mail adresáta:

Komentář:

kontrolní kód

Odeslat

Blogy Živě » Linux zblízka

Linux zblízka

 

Co potřebuji pro vývoj v Linuxu?

15. 5. 2010, uzivatel2

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? :

  • podporu pro zvolený programovací jazyk :-)
  • automatickou kontrolu syntaktických chyb, inteligentní našeptávač kódu
  • nástroje pro kompilaci, spouštění, debugování a profilování
  • dokumentaci a nápovědu
  • návrháře grafického uživatelského rozhraní
  • možnost refaktorovat kód
  • podporu používání verzovacích systémů
  • nástroje pro práci s komentářem a vytváření dokumentace
  • a spoustu dalších věcí

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)…
  • NetBeans : něco jako Eclipse

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í? :

  • Manuálové stránky : Pozor, manuálové stránky jsou roztříděné do několika sekcí. Třeba heslo open zpracovává více sekcí (stránky man 1 open, man 2 open, man 3 open a man 4 open pojednávají o různých tématech). Některé sekce často v základní instalaci chybí nebo jsou neúplné.
  • 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)
  • připravené základní hlavičkové soubory
  • rozsáhlé možnosti snadného získávání podrobných informací o procesech, vytížení zdrojů, stavu systému…
  • Bash : Jednoduché shellové skripty dokáží automaticky provádět celé baterie benchmarků za různých velmi specifických podmínek. Můžete například přes noc otestovat vyvíjený server za pomoci skriptem generovaného realistického síťového provozu, můžete simulovat různé výpadky (např. nečekané odpojení zařízení)…
  • Perl : další předinstalovaný skriptovací jazyk
  • velmi flexibilní jazyk Python, který se často vyučuje v úvodních kurzech programování.

Další zajímavý software se dá snadno doinstalovat. :

  • další sekce manuálových stránek a další dokumentace (např. DevHelp),
  • další systémové utility (např. cpulimit), Valgrind, Electric fence, strace…,
  • různé vývojářské “dev balíčky”

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


Publikováno v rubrice Nezařazené. Reakce v diskuzi lze sledovat prostřednictvím RSS 2.0. Odkazování není povoleno.

« Škodí Česká pirátská strana svobodnému softwaru?
Nesmysly o Linuxu »
 

Komentáře v diskuzi

1.  Aminux(213.226.245.xxx)   15. 5. 2010, 12:05

A nezapomeňte na Intellij Idea:
http://www.jetbrains.com/idea/download/index.html#linux

2.  Forty-(95.105.129.xxx)   15. 5. 2010, 12:46

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 :)

3.  emigrant(203.206.8.xxx)   15. 5. 2010, 13:54

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”

4.  Forty-(95.105.129.xxx)   15. 5. 2010, 14:07

#3 chod flejmovat na pieskovisko kde mas kamaratov svojho IQ

5.  e.xitu.s(217.112.175.xxx)   15. 5. 2010, 14:21

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.

6.  luckyboy(85.159.104.xxx)   15. 5. 2010, 16:03

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?

7.  Forty-(95.105.129.xxx)   15. 5. 2010, 16:44

#6 na Ruby mas dobre napr. NetBeans, takze nezabudol ;p

8.  uzivatel2(ověřeno)   15. 5. 2010, 17:22

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.

9.  sputnikone(94.112.92.xxx)   15. 5. 2010, 19:34

#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.

10.  Cosmo(92.245.199.xxx)   17. 5. 2010, 11:31

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…

http://www.jedit.org/

11.  Pavel Francírek(193.108.106.xxx)   17. 5. 2010, 13:13

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).

12.  xherbert(194.213.43.xxx)   17. 5. 2010, 13:15

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.

13.  _xxx(212.63.206.xxx)   17. 5. 2010, 16:21

#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.

14.  hloupy vyvojar(82.208.52.xxx)   17. 5. 2010, 17:43

co to je “možnost refrektorovat kód”? Nemelo to byt refaktorovat? Pokud ano, pak ale postradam souvislost s IDE…

15.  uzivatel2(ověřeno)   17. 5. 2010, 18:24

re 14. : Je to překlep… opravuji

16.  tom(90.177.96.xxx)   17. 5. 2010, 20:18

@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).

17.  danaketh(217.117.221.xxx)   17. 5. 2010, 20:46

No, Síťové Fazole jsou asi nejlepší IDE so far.

18.  enjay(85.207.152.xxx)   18. 5. 2010, 10:54

Netbeans je hroznej … taková humpolácka aplikace, pomalá a zasekaná …

19.  Jano(212.197.3.xxx)   18. 5. 2010, 13:12

A na tvorbu zostav - altenativa ku Crystal reports (teraz vlasni SAP)- Rave Reports, pripadne ake mate skusenosti

20.  SUK(62.77.84.xxx)   18. 5. 2010, 22:10

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.

21.  František(88.83.179.xxx)   19. 5. 2010, 07:18

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é.

22.  SUK(62.77.84.xxx)   19. 5. 2010, 14:12

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….

23.  František(88.83.179.xxx)   19. 5. 2010, 14:40

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.

24.  SUK(62.77.84.xxx)   19. 5. 2010, 16:15

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]).

25.  nic(217.75.85.xxx)   20. 5. 2010, 12:10

V prvom rade rozum.

26.  Boromir(77.48.103.xxx)   22. 5. 2010, 18:52

2: ipython jsem si také vyzkoušel, jinak na skripty používám bluefish ..

27.  kosta(89.102.31.xxx)   24. 5. 2010, 15:24

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 :)

Přidat komentář

*
Opište prosím text z obrázku.
Anti-Spam Image


Aktuální články a bleskovky

Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Lenovo uvádí nové ThinkPady s čipy Ivy Bridge
Brýle Google Glass jsou patentované
Brýle Google Glass jsou patentované
Ifttt.com: Propojte a automatizujte svůj internet
Ifttt.com: Propojte a automatizujte svůj internet
Nejlepší programy pro práci s Wi-Fi
Nejlepší programy pro práci s Wi-Fi



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


  • Seznam odkazů

    • Kontakt na autora blogu
    • Moje články pro LE
    • Různé přílohy k blogu
    • Stránky autora blogu
  • Poslední příspěvky

    • Chystá se revoluce v hraní her?
    • Kontroverze okolo Křišťálové lupy
    • Deset největších open source inovací
    • Nová “daň” za software
    • Má smysl kupovat TV tuner?
    • Zvýšila se v Linuxu spotřeba?
    • Porušování GPL licence ve světě Androidu
    • Je bezplatnost Linuxu výhodou?
    • Potřebujeme nová uživatelská rozhraní?
    • Podvod s hlasováním v přímém přenosu
    • Facebook není zadarmo
    • Nápad na startup
    • Co hrají linuxáci?
    • Nová cloudová platforma OpenShift
    • Kvalitní linuxové antiviry pro desktop ve skutečnosti neexistují
  • Administrace

    • Přihlásit se

1210_Computer.png

Časopis Computer

  • Nakupujte v zahraničí
  • Test 7 čteček elektronických knih
  • Technologie: nové standardy digitálního vysílání
  • Přehled cloudových uložišť
  • Poradíme s výběrem kamery na dovolenou

Partnerská sekce pro IT profesionály:
Microsoft TechNet/MSDN


Video Živě

Bluetooth stojánky pro Android: Philips AS111, AS141 a AS351
Ifttt.com -- založení úkolu
Zprávy Živě - 12. května 2012
iPad docky Logitech AV Stand a Logitech Speaker Stand

další videa »






Mladá Fronta a.s. Mladá Fronta a.s.
Tiráž | Autoři | Připomínky | Odběr novinek | RSS | Textová verze
Copyright 2000–2012 Mladá fronta a.s. | Inzerce: onlinesales@mf.cz | Kontakt na redakci | Návštěvnost měří NetMonitor