от Валентин Вълчев(6-12-2001)

рейтинг (39)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Съдържание

Въведение

Напоследък Линукс доби голяма популярност, не само като сървър, но и като удобна среда за създаване на приложение. Много програмисти свикнали да работят под Windows правят и своите първи стъпки в Линукс, търсейки удобна, бърза и ЛЕСНА среда за писане. Именно тези програмисти са аудитория, която търся, пишейки тази статия, с идеята им бъда полезен поне донякъде.

Нясно съм, че някои въпроси които ще засегна (особенно за Emacs и VIM) са много спорни, но се старая да предам всичко абсолютно безпристрастно и именно затова се надявам, че няма да отприщя споровете кой е най-добрият редактор.

Накратко за статията - тя е един синтезиран, но бегъл анализ на достъпните среди и редактори, които могат да бъдат в полза на UNIX/Linux и WEB програмистите. Този преглед не изключва и комерсиални продукти, тъй те наистина са добри, а и освен това повечето се предлагат и в безплатен, но донякъде лимитиран вариант. Не съм забравил и традицинните средства, като Emacs и Vim.ри под UNIX - Vim и XEmacs.

Програмни езици за Линукс

Можеби най-популярният и широко разпространен език за Линукс е C, а най-използваният компилатор GCC. Това се дължи на факта, че самата операционна система, включително кернела и много други помощни програми са написани на този език. Именно затова, пишейки тази статия, ще отделя специално място на средите предназначени за писане на чисто C. Естествено, не можем да забравим и по-големият събрат - C++. Разширявайки стандартният синтаксис на C, обектният модел, предотставян от C++, както и мощната система на шаблони предотставят на програмиста възможността да пише добър, структуриран, обекно ориентиран и разбираем код (друг е въпроса, доколко програмистите наистина се възползват от последното).

След като споменахме и малкият и големият брат вече можем да обърнем внимание и на малкото лапе - Perl. Казвам малкото лапе, защото Perl е един сравнително нов език - но не си мислете, че е по-малко мощен. Напротив - Perl си е извоювал едно от челните места и е един от основните програмни езици под UNIX (а и не само под UNIX) благодарение на своите немалки възможности. Странен понякога, неговият синтаксис е и доста гъвкав (можеш да напишеш един for цикъл по няколко начина и толкова да се объркаш със променливи по подразбиране и такива измишльотини, че да не можеш с дни да се оправиш). Да, но пък това си е предимство - ако си писал на някакъв друг език, вероятно можеш да продължиш да си пишеш по почти същият начин, по който си писал, да го пускаш с интерпретатора на perl и то все пак да върви!

Разбира се под Линукс имате достъп до много други езици, сред които Delphi и Java, на които също ще обърна внимание, scheme, python, фортран, модула, ада и много, много други.

Можеби тук е момента да спомена и за основното средство за откриване на бъгове под Линукс - gdb. Това е GNU дебъгера, който заедно с gcc и понякога малко допълнителни програми прави възможно дебъгването дори на самият кернел. Тъй като gdb не е среда за писане реших да го спомена тук, но със сигурност, ще го споменавам и занапред, понеже много среди разчитат точно но gdb за предотставяне на един толкова полезен инструмент за програмиста, какъвто е дебъгер-а на програмен код. Естествено средите за които говоря предотставят и един малко по-удобен, приятен и най-вече лесен за работа интерфейс.

Безплатни програмни среди

Предполагам, че повечето програмисти, които са се насочили към Линукс като платформа за разработване биха предпочели освен безплатна операционна система и безплатна среда за писане. Именно затова ще започна с тях. Длъжен съм да ви предупредя, че този списък не е пълен и че някои среди, които по принцип са платени но имат и безплатен вариант не са включени, така че не бързайте да правите своят избор преди да сте прочели и за комерсиалните такива.

KDevelop

KDevelop е официалната среда за разработка на KDE. Освен многото предимства, които има, средата се вписва безпроблемно в KDE и именно затова е най-подходящият, можеби, инструмент за разработване на KDE и QT приложения. Подобно на комерсиалните продукти тук имате достъп до много Wizzard-и, инструменти за визуално генериране на приложения, вграден дебъгер, парсер на класове, който ви създава дърво на методите и ви позволява да избирате метода от там, вместо да го търсите из целият файл.

Друго неоценимо предимство е огромната документация на KDE и QT API-тата и лесният, бърз и удобен help browser.

Друго, което може да ви хареса е възможноста за пълно локализиране. За съжаление KDevelop все още не е преведен на български, така, че вероятно няма да можете да се възползвате от тази негова възможност.

За да синтезирам горното ето какво е тази среда: добра, пълна, подробно описана и богата на документация среда, подходяща за разработка както на малки, така и на големи проекти. А какво не е: малка, бърза (все пак не е обикновен текстов редактор), лоша ;)

Официалният сайт на KDevelop e http://www.kdevelop.org/ . Там можете да намерите и screenshots, документация, както и да проследите еволюцията на тази наистна добра среда за писане.

wxStudio

wxStudio, който можете да намерите на адрес http://wxstudio.sf.net/ е наследникът на една комерсиална среда, наречена WipeOut - която дълго време беше моят фаворит. За съжаление, когато работих с нейната безплатната версия, тя можеше да отвори само до 50 файла и не поддържаше version control система. Сега фирмата, която я разработваше се отказа от проекта и реши да подпомогне свободният софтуер разработвайки wxStudio. Като наследник на WipeOut вярвам, че това е една добра и бърза среда.

На сайтът, който дадох по-горе можете да прочете за всичките предимства на тази програмна среда, само част от които са възможностите за разширяване на средата със плъгини, генератор на приложения, html базиран help browser, дебъгер и интеграция със CVS и други системи за контрол на кода. Можете да разгледате и няколкото screenshota, които за съжаление са доста малки, но ако сте любопитни - това е още една причина за да посетите сайта и дръпнете изходният код (аз вече го правя).

Според авторите за момента средата не е чак толкова готова, но в момента усилено се работи над нея. Това ме прави оптимист, че за в бъдеще ще има много нови и по-добри версии.

Glimmer

Glimmer, е друг редактор на код, който претърпя едно доста бързо развитие е в момента последната версия, която можете да дръпнете от http://glimmer.sf.net/ е 1.1.12.

Предимствата на този малък редактор са - добрата интеграция с GNOME, бързина, бързина, бързина и накрая, че разбира не само от C, но и от Ada, Bash/Sh, C/C++, DTML, HTML, Java, Latex, GNU Make, Object Caml, Perl, PHP, PO (Language Translation), Python, Lisp (guile, scheme, etc), SGML, SQL, Tcl/Tk, WML, XML, и асемблер за Z80. Ухаааа!! Доста голям списък за един наистина малък редактор който освен това може да запаметява последната сесия, което ви гарантира, че на другият ден ще продължите работа си от там, от където сте я зарязали.

Добре де бърз е, но не е чак толкова добър. Липсва му поддръжката на проекти, която отчасти се компенсира с възможността да разглеждаш из директориите но това не е съвсем същото. Все пак за малки проекти Glimmer перфектен.

jEdit

jEdit е първият Java редактор, който ще ви представя. Можеби доста от вас са песимистично настроени към Java приложения, но jEdit е наистина забележителен! Последната стабилна версия, която е 3.2.2 е едно истинско бижу, а новата, все още бета 4.0 идва с още по-големи обещания.

Едно от най-големите предимства на този редактор е неговата мощна плъгин архитектура, благодарение на която в момента за този редактор има над 40 плъгина. Възможността да се редактират над 60 вида програмни езици и скриптове също не е за пренебрегване. jEdit разпознава безпроблемно форматът на текста - UNIX/DOS/MAC и елиминира гадните проблеми, когато пишете на повече от една платформа. Като казах повече от една платформа се сетих, че именно заради Java-та този редактор е достъпен за всяка операционна система, за която има написана Java виртуална машина - това включва всички Windows верси (да! дори и за Windows 3.1 има версия;), повечето комерсиални UNIX, като HP-UX, AIX, Solaris, както и за някои безплатни - Линукс, FreeBSD (но не и OpenBSD), BeOS .. и други.

Впрочем другото, което забравих да спомена е, че с jEdit можете да търсите из своите файлове използвайки пълните възможности на регулярните изрази, да разглеждате съдържанието на локалната файлова система или на отдалечен FTP сервър, благодарение на вградените файлов менаджер и ftp клиент. Не му липсва и поддръжката на макроси или по-скоро удобен и мощен скрипт, като BeanShell.

Не знам дали успях да ви убедя да го инсталирате, но ви съветвам поне да погледнете screenshot-овете на адрес http://www.jedit.org/ .

NetBeans

И след като започнахме с Java приложенията защо да не продължим? Този път не с най-обикновен текстов редактор, а с едно напълно функционално и мощно IDE, като NetBeans.

Когато едно време SUN купиха NetBeans не се и надявах, че ще го превърнат в успял OpenSource продукт. Не се съмнявайте - това е най-пълното Java IDE създавано някога.

Благодарение отчасти на SWING и най-вече на SkinLF можете да променяте изгледа му до неузнаваемост, а модулният принцип, на който е изграден го прави един прекрасен редактор за програмен код, web страници - статични html-и, сървлети и JSP-та, UML дизайнер, прекрасен дебъгер и builder за графични приложение. И това са малка част от предимствата на тази среда. Ако посетите http://www.netbeans.org/ ще можете да научите за последните новини около това IDE, както и за още купища плъгини, а за почитателите на C/C++ още сега бих препоръчал да погледнат на http://cpplite.netbeans.org/ .

Признавам, че е удобно да имаш интелегинтен редактор на код, class browser, дебъгер, вградена CVS поддръжка, но понякога това става за сметка на скороста. Абе няма какво да си кривя душата - NetBeans е една доста баааавна среда и дори и да имате достатъчно RAM и бърз процесор, пак няма гаранция, че ще върви много по-бързо.

Въпреки това, NetBeans е едно добро IDE, което е особенно подходящо за Java програмисти.

Eclipse

Ето и още едно Java IDE, но този път от IBM. Не знам за Вас, но един от любимите ми сайтове а http://alphaworks.ibm.com - не че това има отношение към Eclipse, но има към пристрастрието ми към IBM, които за многото години през които съществуват успяха да докажат, че са добри както във хардуера, така и във софтуера който произвеждат и именно това ме прави оптимист за бъдещето на Eclipse.

Макар и да е написано на Java, Eclipse се базира не на AWT или SWING, а на SWT библиотеката. Запознатите с нея много лесно ще разберат за какво говоря - а именно за скорост. Факт е, че почти всеки компонент от тази библиотека вика директно native компонентите за съответната платформа.

Като се има предвид, че Eclipse е OpenSource проект това е условие да придобие една наистина голяма популярност. Аз обаче лично се надявам да не заприлича прекалено много на Visual Age, който е доста по-различен от повечето среди за програмиране и с това донякъде объркващ.

Предимството на тази среда е, че разчита на малко и бързо ядро, върху която да се градят плъгин компоненти, които изграждат самото IDE. Това означава, че ще можете да ползвате Eclipse както за разработка на C/C++, Java, така и WEB базирани проекти.

А ето и откъде да дърпате- http://www.eclipse.org/

Scintilla and Scite

Тук вече свършвам със Javа IDE-та и отново се прехвърлям към малките, удобни и бързи редактори. Scintilla е portable компонент за синтактично оцветяване на код, който може да се разширява с допълнителни синтактични парсери и предотставя удобни API-та за code complete - една доста удобна джаджа, характерна за големите IDE-та и започнала своето начало мисля че от Deplhi.

SciTE е прост редактор, който използва тази компонента и се развива от същите разработчици, които правят и Scintilla. Казвам прост имайки предвид малък, защото в никакъв случай този редактор не е прост. Дори напротив! Направо се шашнах, когато го инсталирах за пръв път и редактирах една малка Java програмка с него. Поиграх си с менютата и реших да видя какво ще направи опцията "Compile" - за моя изненада тя пусна javac. След това при опит да компилирам обикновен .c файл се сети, че за целта трябва да ползва gcc.

Но това не е всичко. Едно от нещата, които ми хареса и не бях виждал до тогава в друго IDE е възможността да скривам кода на определени блокове от програмата - for, while, if, функции , класове... Това прави живота много по-лек и програмирането доста по-приятно, а кода по-четим.

Все пак SciTE не е IDE и му липсва поддръжка за проекти, което наистина е необходимо, но пък за сметка на това е прекрасен редактор и напоследък се е превърнал в любимият ми такъв (когато ползвам X и редактирам код, ползвам до дори и под Windows).

За повече информация, screenshot-ове и за самата програма, посетете http://www.scintilla.org/ . Интересното е, че създателите се мъчат да създадат и .NET порт на този компонент, макар, че аз лично бих предпочел Java такъв.

Moleskine

Moleskine според създателите му, ще стане официалният редактор на програми за GNOME. Moleskine е написан на Python и използва Scintilla за синтактично оцветяване на кода. Това би трябвало, за разлика от SciTE да бъде IDE но лично според мен все още не е. Въпреки това мисля, че е добре да му хвърлите един поглед на адрес http://www.moleskine.f2s.com/ .

Впрочем поддържа следните езици: C , C++, HTML (with embedded PHP, JavaScript and Python), Java, Latex, Makefile, Pascal, Perl, Python, XML.

Anjuta

Anjuta е следващата среда, която се базира на Scintilla. Идеята на авторите е да създадат една добра среда за писане на C/C++, която да се интегрира безпроблемно в GNOME. Както според тях, така и според мен проектът все още не е довършен защото често увисва и затова е напълно неизползваем.

Сигурно вече се чудите защо тогава съм го включил в тази статия. Отговорът е много прост - хареса ми как изглежда. Вие също не бива да пропускате да го видите на адрес http://anjuta.sf.net/ . Ако сте доволни ще чакаме заедно следващите по-стабилни версии.

Quanta

Ето и нещо за сериозните WEB developer-и. Създателите на Quanta са се заели с нелеката задача да направят най-добрата среда за разработка на WEB приложения, която някога е съществувала. Аз лично не съм я пробвал, понеже не работя в тази област но Quanta е спечелила не малко награди и привърженици.

Ето и няколко от основните идеи към които се придържат нейните създатели: максимална гъвкавост и контрол, перфектна производителност, леснота при употреба - дори и от начинаещи, свобода на работа, без налагане на ограничение.

В допълнение на това Quanta, може да редактира не само статични HTML файлове, но и да изгражда PHP сайтове, предотставяйки възможност на програмистите да откриват лесно грешките си благодарение на вграденият дебъгер.

За да синтезирам горното бих казал само едно: Quanta е перфектната среда за един WEB developer!!

Можете да я дръпнете от http://quanta.sf.net/

phpmole-IDE

Това е още една среда за WEB програмисти, която също разполага с вграден HTML и PHP редактор. Ще ви изненада ли ако кажа, че това е още един от редакторите, които се базират на Scintilla? Това според мен е едно доста добро предимство, а и като се има предвид, че авторите са се възползвали от възможността да предотставят code-completition функция phpmole-IDE, става една доста добра алтернатива на Quanta.

Ако не друго, то поне си струва да хвърлите един поглед:

http://www.akbkhome.com/Projects/Phpmole-IDE/ .

RHIDE

А това е средата, която ще хване окото, душата и сърцето на любителите на Turbo серията на Borland. Rhide е едно доста по-добро копие на редакторите на Turbo Pascal и Turbo C. Ако сте се занимавали с гореспоментатите компилатори и среди убеден съм, че вече бързате да ви дам адреса, а той е http://www.rhide.com/ .

Няма да пиша един куп щуротии и да ви убеждавам, че това е най-добрата среда или най-лошата. Това във всеки случай е първата среда от досега представените която върви в текстов режим и не изисква X сървър. Е, това е и основната причина да е толкова бърза, а колкото до другото - Turbo маниаците си знаят ;)

Забравих да спомена - средата я има във версии както за Линукс, така и за DOS, където се разпространява като част от DGJPP пакета, или иначе казано gcc за DOS.

Още нещо интересно - можете да намерите TurboVision за Линукс и DOS (DJGPP) на адрес http://www.geocities.com/setedit2001/tvision.html

motor

Motor е още едно IDE за конзолата, което ще намерите на адрес http://konst.org.ua/eng/software/motor/info.html . Не е rhide но все пак става. Впрочем лично на мен никак не ми харесва, макар и да има вградена CVS поддръжа - нещо, която липсва на RHide. Колкото до интерфейса - той е ужасен. Затова отказвам да пиша повече за това IDE.

JED

Ето и една доста по-добра алтернатива на Motor. JED е малък текстов редактор създаден от John E. Davis. Той е бърз, мощен, безплатен и е достъпен за много и различни платформи, включително и Windows. Първоначално този редактор е бил написан за програмисти, но в крайна сметка той е доста удобен и за останалите, обикновени потребители.

JED може да оцветява кода на няколко програмни езика и има доста мощен C-подобен език за скриптове и макроси.

Пълна информация за редактора, както и линкове към допълнителни скриптове и режими на редактиране можете да намерите в интернет на адрес http://space.mit.edu/~davis/jed .

Комерсиални среди за писане

Един от аргументите на върлите противници на Линукс е, че от него не могат да се правят пари. Дали това е наистина е така? Ето няколко компании които правят пари от това и да ви кажа успяват. И ако се чудите защо успяват, това е защото успешно могат да се конкурират и с безплатните и open source продукти. А как успяват да издържат на такава конкуренция? - Ами това са фирми, които знаят какво правят, знаят как да го направят и предлагат наистина добри среди за програмиране. Някои от тези по-долу наистина си заслужават парите.

Впрочем повечето продукти по-надолу имат и безплатни версии, които са ограничени донякъде или лицензът им те задължава да ги ползваш само за некомерсиални цели. Когато ги използваш за комерсиален продукт вече трябва да си платиш - което между впрочем е съвсем естествено.

C-Forge

Code Forge е едно от най-добрите среди за писани, създавани някога и достъпни за UNIX потребителите. Казвам UNIX, защото освен под Линукс можете да подкарате средата и под AIX, Solaris, HP-UX, Tru64 UNIX, FreeBSD, SCO и дори QNX.

Това е среда за професионалисти. Напълно съм убеден, че вградената поддръжка на CVS, SCCS, PRCS, Perforce и RCS системи за контрол на кода, както и автоматичното генериране на Makefile-ове, или merge/diff допълнението ще се сторят излишни на един добър програмист, работещ в екип. Пълната поддръжка на Drag and Drop между компонентите на средата е още едно удобство, а поддръжката на над 30 програмни езици и различни компилатори правят Code Forge една наистина универсална среда.

Освен всичко това, благодарение на QT designer, можете да генерирате лесно и бързо дори визуалният интерфейс на вашата програма.

Средата се разпространява във 3 варианта - комерсиален, което е най-добрият естествено и струва $62 за судент, $75 за единичен лиценз и професионален лиценз от $300 за екип от програмисти.

Вторият вариант е evaluation пакет, който съдържа горният пакет, само че престава да работи след 30 дни.

И третият вариант - безплатната версия, която е доста орязана, без поддръжка на контрол на кода, комерсиални компилатори и поддържа само C/C++ и Lex.

Лично аз смятам, че за една фирма професионалният вариант не е чак толкова скъп. За повече информация, погледенете официалният сайт - http://www.codeforge.com/

CodeWarrior

CodeWarrior е още едно IDE, което поддържа различни платформи - Windows, Mac, Linux и дори Palm. Има и специална версия за Java с поддръжа на последните стандарти около този език, включително за разработка на wireless приложения.

Ако в работата ви се налага да работите със странни контролери и embedded бордове, CodeWarrior е готов да посрещне нуждите ви. Благодарение на своята плъгин архитектура Metrowerks предотставят едно специализирано IDE което напълно ще отговори на нуждите Ви. Впрочем компанията е един от създателите на Embedded Linux Consortium.

CodeWarrior напоследък придоби доста голяма популярност именно заради поддръжката на странни контролери, процесори , embedded линукс дистрибуции и последните Java технологии.

Въпреки, че е една доста добра среда и предлаганата добра поддръжка, има един факт, който не я прави толкова приемлива, колкото CodeForge - и това е цената. Понеже тя варира в зависимост от лиценза който сте избрали и бройките които желаете да закупите най-добре е да погледнете на сайта на компанията - http://www.metrowerks.com/

JX Development Suite

Това е пакет, който освен интегрирано решение за разработка на софтуер ви предотставя един от най-добрите дебъгери за Линукс плюс пакет от графични компоненти. Пакетът включва редактора Code Crusader, дебъгер Code Medic и библиотеката от графични компоненти JX Framework .

Средата поддържа много и различни езици, както и компилатори, има менажер на проекти, интелигентен редактор на код и диаграми, които можете да запазвате като EPS картинки или директно да разпечатате.

Това е един доста интересен пакет, който успешно се конкурира със другите комерсиални среди. Има демо версия, която не може да отвори повече от 5 прозореца наведнъж, но няма други ограничение. Персоналният лиценз е $84 но ако имате компания и желаето да закупите повече бройки можете спокойно да се договорите за цената.

Ето и сайта - http://www.newplanetsoftware.com/

Moonshine

Moonshine е една доста интересна среда и много подобна на JX Development Suite, която се разпространява както в комерсиална, така и във свободна, opensource версия. На втората обаче и липсва CVS интеграцията, както и някои други неща, присъстващи в комерсиалният вариант. Комерсиалната версия обаче е само $50 и е можеби една от най-евтините платени среди които описах досега. Това също е най-голямото и предимство, иначе не може да се мери нито със CodeForge, нито със CodeWarrior.

Може да се дръпне от http://www.rednecksoft.com/ .

SNiFF+

Една от най-големите компании напоследък в света на UNIX е Wind River. Освен, че притежават не безизвестната embedded операционна система VxWorks наскоро се сдобиха и с BSD/OS. Освен това развиват още един куп продукти, като върху тях работят със своята среда SNiFF+. Според тях това не е среда за разработка, а среда за анализ на код - и то на голямо количество такъв.

Това е програма, която помага най-вече при разбирането на кода. Вероятно може и да се ползва за създаването на софтуер но наистина нейна цел е поддрържането му - а това, както е известно на повечето програмисти понякога е доста по-труден и по-продължителен процес от самото му създаване.

Като част от поддръжката влиза и документирането. Всеки програмист знае, че това е най-неприятната част от писането на една програма, но пък SNiFF+ е много удобна и автоматично ще генерира за вас част от коментарите.

А ако екипът, който поддържа вашият проект работи на различни операционни системи знайте, че SNiFF+ я има във версия, както за Windows, така и за Линукс и други популярни UNIX, но това за момента изключва BSD.

За Java програмистите има и допълнителна програмка с която можете да създавате визуално графичен интерфейс. Така, че в общи линии, SNiFF+ е една наистина сериозна среда, подходяща за големи компании, чиито програмисти работят в екипи и се налага да разбират, модифицират и създават проекти със огромен изходен код.

http://www.windriver.com/products/html/sniff.html - за пълна информация.

Kylix

Borland е компания със традиция в предлагането на средства за разработване. Докато Линукс беше млад никой не му обръщаше внимание и програмистите пишеха под Windows със една прекрасна среда - Deplhi. Delphi, когато се появи направи революция. Сега, когато Borland пуснаха Kylix (вече има и Kylix 2), който позволи на програмистите бързо и лесно да прехвърлят своите програми към Линукс това пак е революция.

Kylix е наистина първата среда, различна от Java, която предотставя една относителна плтформена независимост. Това е продукт със високо качество и издържан в стила на Borland.

Няма да пиша много за това IDE, мисля, че всеки който знае кои са Borland и разбира за какво става въпрос. Незнаещите могат да получат повече информация от http://www.borland.com/kylix

JBuilder

JBuilder е също среда в духа на Delphi но специализирана за Java. Самата среда също е написана на Java и върви на всяка операционна система, за която има и виртуална машина.

Тук суперлативите отново са много, затова няма много много да я хваля. Ще изтъкна едно предимство - въпреки, че е на Java е доста бърза среда, и един недостатък - когато пишеш визуални приложение бълва доста ненужен код - но това е 'feature' на всeки визуален builder.

Безплатната версия е много добра, но и липсва интеграцията с многото поддържани Application Server-и от Enterprise версията. Впрочем и тя е доста добра и си заслужава да се инсталира или поне да се пробва.

Дърпайте от http://www.borland.com/jbuilder/

CodeGuide

Сега ще ви представя още една комерсиална среда за Java. CodeGuide на Omnicore ме привлече със простият си и елегантен интерфейс, както и най-интелигентният code-complete който съм виждал някога. Средата е достъпна за много операционни системи - Linux, Solaris, Windows и Mac OS X, благодарение на това, че е написана също на Java. Разликата е там, че върви доста бързо за SWING приложение и не изисква Java 2!!!

Windows потребителите имат късмет, че могат да пуснат средата със Microsoft-ската виртуална машина, която добре интегрирана с операционната система.

Друго предимство е, че използваният компилатор е Jikes, който е няколко пъти по-бърз от традиционният javac.

Ако работите върху WEB базирани проекти интегрираният Tomcat ще ви е от полза.

Многото Wizzards, с чиято помощ можете да генерирате класове, интерфейси и да инсталирате web приложения са наистна полезни и спестяват време.

Поддържат се системи за контрол над кода и за управление на версиите. Собствениците на мишки с mouse-wheell ще са доволни, че средата няма да "забрави" и игнорира това толкова полезно допълнение към мишката.

Естествено, като всяко добро IDE, дебъгерът е вграден и позволява пълен контрол над кода и процесите.

Информация за продукта можете да намерите в интернет на адрес http://www.omnicore.com/ . Evaluation версията можете да използвате за период от 30 дни след което трябва да заплатите доста солена цена.

Komodo

Komodo е една доста атрактивна среда, която въпреки, че се базира на отвореният проект Mozilla не е безплатен, нито е opensource. Това обаче е първата от представените тук среди създадена специално за скрипт езици, най-вече Perl, Python, TCL.

Можете да са абонирате или да използвате некомерсиалната версия на Komodo (но само за некомерсиални продукти). Повече информация от http://www.activestate.com/Products/Komodo/

Wing IDE

Wing IDE е още едно специалирано IDE този път за разработка на приложения с Python. Тъй като и самата среда е написана на Python програмистите му, които са и добри специалисти, са създали и удобен дебъгер с който да тествате програмите си. Списъкът с предимствата му е доста дълъг и няма да го дублирам в тази статия, но ако се интересувате погледнете на http://archaeopteryx.com/wingide/ .

Тъй като самият аз си нямам и грам представа от Python не мога да кажа своите впечатления от средата. Затова оставям на вас дали да решите дали да я използвате.

Visual SlickEdit

Това е една друга, доста популярна среда. Тъй като аз самият нямам опит ще ви спомена само някои неща, които ми направиха впечатления от информацията предотставена на http://www.slickedit.com .

Освен стандартните features, който ще намерите в повечето среди във SlickEdit имате spellchecker, шестнадесетичен редактор, анализатор на код и дори редактор на Javadoc коментари.

Поддържат се следните езици: C/C++, C#, CFScript, DB2, dBASE, Delphi, Pascal, HTML, JSP, ASP, PHP, Java, JavaScript, Perl, PL/SQL, Python, REXX, Transact SQL, VBScript, x86 Assembly, XML, DTD, CICS, COBOL, JCL, PL/I.

mBedded Builder

Това може да прозвучи като реклама, но мисля, че си заслужава да опиша и средата, която се разработва от фирмата в която работя. mBedded Builder е безплатна среда за Java програмисти, но ако искате да притежавате вграден debuger или profiler трябва да платите за него.

Тя е базирана на мощна плъгин архитектура, която позволява взаимодействие между различните плъгини.

Графичният интерфейс се базира на собствена UI библиотека, която определено е по-бърза от SWING. Именно заради това, mBedded Builder страда по-малко от комплекса на Java средите, а именно, че са доста бавни.

Повече информация от http://dz.prosyst.com/

Методи на типичният UNIX програмист

За един типичен UNIX програмист горните приказки, ще се сторят безмислени. За UNIX гуруто има или EMACS или VIM,а това кой редактор е по-добър се спори от създаването им. Естествено аз не искам да разпалвам спорове и затова ще ви кажа, че и двата редактори са имат предимства но и слаби места.

Докато търсих из интернет материал точно за тези два редактора, попаднах на една статия, която лично според мен е доста интересна и си струва да прочетете, ако разбирате английски. Ще я намерите на адреса по-долу:
http://www-106.ibm.com/developerworks/library/dev-linux.html

Преди да продължа по-нататък искам да ви предупредя, че именно за да избегна споровете, които неизбежно се пораждат от феновете на VIM и EMACS аз реших да не ги описвам. Тъй като намерих някои интересни линкове сметнах за добре да ви ги дам все пак, като съм добавил малък коментар за съдържанието на статиите.

VIM

Основното място от където можете да научите за този популярен текстов редактор е http://www.vim.org/ , както и http://vim.sf.net/ - VIM Online. На тези два сайта е събрана почти цялта информация, която съществува за VIM, както и множество полезни скриптове.

Първият сайт, който ми се струва доста полезен е част от HOWTO колекцията към Линукс и можете да намерите на адрес:
http://www.linuxdoc.org/HOWTO/C-editing-with-VIM-HOWTO

Междувременно намерих, също много добра статия, която можете да прочетете в интернет:
http://www.linuxnewbie.org/nhf/intel/programming/intro_c++.html

И освен това попаднах на интересен и полезен пакет, който можете да дръпнете от следното URL:
http://members.rogers.com/jayglanville/tagsmenu/

Vim е един полезен и бърз редактор, но като среда няма да се хареса на програмистите, които обичат да имат достъп до всеки файл от проекта си само с кликване на мишката.

Emacs

Ако досега не сте чували за Emacs, сега е момента. Това е една доста популярна среда - казвам среда, защото Emacs не се ограничава само до обикновен текстов редактор и за него има написани както mail, news клиент, така и web броузр и мноого други интересни пакети. Едно време, когато нямаше възмост да превключваш между конзолите потребителите на Emacs си отваряха виртуални "буфери" които им позволяваха да чатят по IRC, пишат mail и едновременно с това да дебъгват програмите си. Е и сега е така, само че софтуерът еволюира и сега с Emacs може да се правят доста повече неща. Впрочем интересен е фактът, че GNU Emacs 1 е първият open source проект. Освен това има и други версии на Emacs, като XEmacs 2, MULE 3 ( MULtilingual Enhancement to GNU Emacs) и някои други, по-малко известни версии.

Следните URL-та:
http://linux.umbc.edu/tutorials/adv-emacs.html
http://www.mit.edu/iap/unixdev/emacs.html
съдържат кратки ръководства как да ползвате Emacs като среда за разработка на програми, а тези по долу: http://cedet.sourceforge.net
http://jdee.sunsite.dk/
http://www.xemacs.org/Download/elispPackages.html#P
са някои малки допълнения към Emacs, които го правят доста атрактивен като среда за разработка на приложения.

Колкото до личното ми мнение - мисля, че XEmacs е доста добър и удобен. За съжаление толкова мощ в ръцете на един начинаещ потребител може да се стопи прекалено объркваща и дори стряскаща. Именно затова смятам, че Emacs е за тези потребители, които са натрупали вече достатъчен опит с UNIX.

Други полезни инструменти

Doxygen

Doxygen e много полезна система за документиране на код с каквато Java програмистите отдавна разполагат. Doxygen е един прекрасен помощник, подобен на javadoc, който може да документира освен Java така и C/C++ и IDL. Ако искайте вярвайте, но тази програма безпроблемно може да замести javadoc и при това генерираната документация е много по-красиво оформена.

Освен изход във HTML можете да генерирате RTF, man или LaTeX документ, от който после можете да направите PostScript или PDF такъв. Има много опции с които можете да контролирате изходният вид и дори може да включва графове, показващи зависимостите, наследяванията .. изобщо една цялостна клас диаграма, която се генерира напълно автоматично.

Тази програмка я има както във варианти за Линукс, така и за много други UNIX операционни системи. Windows програмистите също не са пропуснати и дори графичният конфигуратор, написан на QT също е достъпен.

Последната версия на пакета, който се обновява доста често можете да откриета на http://www.stack.nl/~dimitri/doxygen/ .

AStyle и Indent

Всички знаят, че когато се пише в екип и всеки използва различен стил на писане - подравняване, допълнително ограждане в скоби, интервали вместо табулация .. и др., е много трудно да четеш програмите, написан от друг. Тези два инструмента, които са твърде подобни решават този проблем, благодарение на възможностите си да преформатират кода и да го правят четим.

Не се безпокойте, това преформатиране в никакъв случай не значи, че ще загубите част от кода си. И двете програми са тествани от много програмисти и са достатъчно умни, че да не омажат или затрият изцяло вашата работа.

Indent или по-точно GNU indent вероятно вече имате инсталирана на вашата Линукс система. Ако наискате да научите повече за нея напишете просто man indent и прегледате съдържанието на документа. Колкото до astyle (или Artistic Style), него можете да го дръпнете от http://astyle.sf.net/ . Това е и предпочитаният от мен инструмент. Не че indent е лош, но astyle e малко по-добър.

CVS

CVS или Concurrent Versions System е система за контрол на кода и управление на версиите. Такава система не е 'добре да я имаш' ами изискване, когато се отнася за големи проекти. CVS е основен инструмент за разработчиците на свободен софтуер и дори най-голямото хранилище на такъв софтуер - http://sourceforge.net/ използва именно CVS а не някоя друга система.

Сред множеството комерсиални системи CVS не е само една от най-добрите, но тя е със сигурност най-използваната. Предимство е не само, че е безплатна, ами сигурна и много гъвкава. Тя позволява да бъде конфигурирана да използва secure транспорт или благодарение на горните два инструмента да бъде конфигурирана при всяко обновяване на кода той да бъде и прилично форматиран.

Колкото и да пиша за CVS не мога да кажа всичко в една статия. За нея има написана дори книга, или май бяха няколко. Впрочем сами можете да проверите на адрес http://www.cvshome.org/

Бележки

06.12.2001 г. - След като публикувах статията се появиха няколко коментара - естествено за грешки, които вече съм се постарал да оправя, както и желания да включа още некои редактори. Така че вече можете да прочетете и за JDE и за Visual Slick Edit. Успех и благодаря за креативните бележки.

07.12.2001 г. - Реших, че статията може да бъде допълнена освен със среди за разработка и с няколко други малки инструмента. Затова включих и бегло описание на Doxygen, AStyle, indent и CVS.

About this document ...

Програмиране под Линукс
Среди за програмиране

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.57)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -html_version 4.0 -unsegment -no_auto_link -no_navigation -dir temphtml linux-ide

The translation was initiated by Valentin Valchev on 2001-12-07


Footnotes

... Emacs1
GNU Emacs - http://www.gnu.org/software/emacs/emacs.html
... XEmacs2
XEmacs или Lucid Emacs - http://www.xemacs.org/
... MULE3
MULE - http://tsukuba.m17n.org/mule/


Valentin Valchev 2001-12-07


<< Създаване на потребителски графичен интерфейс с Qt | XML >>