SDK - Self Destruction Kit

Coś, co programista powinien mieć

Wprawdzie nie mam na koncie wielu programów, ale zawsze jednak coś wiem o ich pisaniu. Wiem, że do pisania wygodny jest Vim (patrz: kącik Vim-a) i Emacs (ja używam tego pierwszego). Ale pisanie to nie wszystko. Jeden z moich kolegów napisał program realizujący dobry algorytm. Program nie działał, choć powinien (później okazało się, że dwie zmienne powinny być lokalne, nie globalne, ale to nieistotne). Do sprawdzania programu trzeba jeszcze czegoś, co potrafi ten program uruchomić. Tu pojawiają się kompilatory. Większość jest (dość słono) płatna, ale na nasze szczęście jest "paru" schizoli, którzy zajmują się dostarczaniem nam, maluczkim programistom, narzędzi w postaci kompilatorów i debuggerów za friko. W dużej części takie darmowe programy wcale nie są bezwartościowe. Świetnym przykładem jest GCC, którego (tak podejrzewam) używa spora część programistów linuksowych, albo windowsowy Bloodshed Dev-C++, który niczym nie ustępuje Visual C++. Ja osobiście używam Borland C++ Builder-a (w Windows) i GCC (w Linuksie). A tak na marginesie, zajrzyj do krótkiego kursu języka C - też mojej konstrukcji. Wszelkie sugestie co do kursu zgłaszaj na podany mail.

Kompilatory komercyjne

Jest wiele odpłatnych kompilatorów. Najpopularniejsze pod Windows to Visual C++ produkcji Microsoftu i C++ Builder Borlanda. Jest jeszcze Borland C++, ale ten raczej już nie jest zbyt często spotykany.
VC++ jest niezły, da się w nim napisać bardzo porządny program działający w trybie graficznym (ładne okienko z przyciskami, polami tekstowymi i edycyjnymi i paskiem narzędzi), choć żeby to zrobić, musisz znać conieco windowsowy API (application programming interface). Na dodatek żeby napisać jakikolwiek porgram okienkowy w VC++ musisz sporo się napisać (wszelkie zdarzenia musisz sam opisać i oprogramować). Na szczęście do konsolowych programów się nadaje nie gorzej od innych. Niestety, w wersji 6.0 (jedynej, jaką widziałem) kolorowanie składni pozostawia wiele do życzenia. VC++ koloruje wszystkie słowa kluczowe na jeden kolor, całą resztę zaś zostawia czarną. Oczywiście to były standardowe ustawienia, możliwe, że to się da zmienić (widziałem go tylko przez kilkanaście minut i nie zdążyłem się wgłębić w opcje i ustawienia). Jak tylko będę wiedział o nim coś więcej, to to dorzucę.
(strona domowa: www.microsoft.com)
Borland C++ Builder jest pozbawiony części wad, które ma Visual C++. Na przykład pisanie programów z okienkiem i kilkoma przyciskami sprowadza się do parukrotnego kliknięcia i napisania parunastu linijek kodu, w zależności od ilości przycisków i skomplikowania funkcji, jakie wykonują. Dlatego często możesz się spotkać ze stwierdzeniem, że BCB jest narzędziem RAD (rapid application development, błyskawiczne tworzenie aplikacji). Do pisania prostych konsolówek też się nadaje, ale to strzelanie z bazooki do muchy. Jeśli chcesz używać go tylko do tego, to lepiej znajdź gdzieś Bloodshed Dev-C++, który jest mniejszy, szybciej się uruchamia, oferuje zbliżone możliwości (w tym wypadku) i jest darmowy.
(strona domowa: www.borland.com)
O ile BCB i VC++ są całymi środowiskami przeznaczonymi dla programistów, o tyle Borland C++ jest w zasadzie samym napędem, rdzeniem, stosowanym obecnie w wersji 5.5 w BCB (choć wersje do 5.0 były dostarczane razem z edytorem i debuggerem). Przez rdzeń rozumiem fakt, że da się kompilować programy, ale pisać je trzeba pod osobnym programem (pod Notatnikiem, Vim-em czy innym), a kompilacja odbywa się przez uruchomienie programu (tu: bcc.exe lub bcc32.exe) z odpowiednimi parametrami, jak nazwa pliku źródła, plik wynikowy itp. Zdaje się, że aktualny Borland C++ jest darmowy (nie jestem pewny, prosiłbym więc o weryfikację tej informacji).
(strona domowa: www.borland.com)

Kompilatory darmowe

GCC (GNU Compilers Collection) to kompilator (a raczej pakiet kompilatorów) najbardziej znany użytkownikom Linuksa, choć (o czym wiedzą nieliczni programiści-amatorzy) jest dostępny w 16/32 bitowej wersji pod DOS-a, pod projektem DJGPP (fajna sprawa, linia poleceń Linuksa dostępna w Windows - używam i polecam lubiącym pingwinka). Kompilatory z tego pakietu to tylko kompilatory, nie mają żadnego wbudowanego edytora (sprawa podobna jak w Borland C++ 5.5). Z drugiej strony, jest ich sporo: Java, Fortran, C, C++, Pascal (choć ten ostatni jest osobnym projektem, mimo że korzysta z GCC). Do tego trzeba doliczyć debuggera gdb, który niczym nie ustępuje narzędziom wbudowanym w BCB czy VC++, choć działa w trybie tekstowym (co może niektórych do niego zniechęcić). Ogólnie, GCC jest porządnym pakietem, którego używam i pod Windows 98 (DJGPP), i pod Linuksem.
(strona GCC: www.gnu.org - szukać w katalogu oprogramowania)
(strona DJGPP: www.delorie.com)
Bloodshed Dev-C++ to darmowy (i windowsowy) odpowiednik VC++. Ma wbudowany edytor z ładnym podświetlaniem składni, sensowne skróty klawiaturowe i możliwość kompilowania programów z graficznym interfejsem (GUI, czyli zwykłe okienko). Jest to trzeci najpopularniejszy kompilator C/C++ pod Windows (pierwsze dwa to Visual C++ i Borland C++ Builder) i jest darmowy. Posiada bliźniaka kompilującego Pascala (Dev-Pascal) - co może niektórych pracujących w tym języku ucieszyć.
Ja testowałem wersję 4.97 (5.0 któraś -beta), opartą na windowsowej wersji GCC 3.x (konkretnie na mingw). Zachowuje się dość przyzwoicie, pomijając fakt, że czasem kaprysi (na przykład na moim starym systemie pierwsza kompilacja w danej sesji windy zawsze kończyła się ręcznym zabiciem kompilatora, ale każda następna przechodziła bezboleśnie). Kumpel z kolei pracuje chyba na wcześniejszej (czyt. stabilnej) wersji i nie narzeka. Słowem: polecam tym, którzy na przykład chcą się uczyć programować w firmie, a boją się (i słusznie) instalować nie do końca legalną kopię któregoś Borlanda.
I jeszcze drobna uwaga: wraz z Bloodshed Dev-C++ przychodzi plik pomocy do biblioteki standardowej C/C++, ale nie umywa się do borlandowego helpa, natomiast do API windy żywcem nic nie ma (ale w ten opis można się freeko zaopatrzyć u producenta - na stronie Microsoftu)
(strona domowa: www.bloodshed.net)
Firma Digital Mars wypuściła kompilator dmc. Jest to nawet nienajgorszy program (przede wszystkim działa), który potrafi (jeśli wierzyć opisowi producenta) kompilować programy pod parę różnych platform: Win32 (konsola), DOS-16, DOS-32 (poszukaj info o OpenDOS i DR-DOS). Potrafi także kompilować język D - pochodną C++ wymyśloną przez Digital Mars. Prawdę mówiąc nieszczególnie przypadł mi do gustu ten język, ale może będziesz miał odmienne zdanie. Jeśli lubisz eksperymentować, to wypróbuj ten kompilator. Opis języka D na stronie producenta.
(strona domowa: www.digitalmars.com)


Powrót do indeksu strony