SDK - Self Destruction Kit | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
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.
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)
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)