piątek, 6 lutego 2009

Szef kuchni poleca ;)

Czołem programiści (także Ci co zaczynali od <br>'ki ;P ).
Nie wiem czy kogokolwiek to zainteresuje (może tylko osoby, które mnie znają i nie zraziły się do mnie, a wręcz przeciwnie), ale chciałem wymienić kilka "technologii"?, "frameworków"?, i tym podobnych (itp.) Które polecam do używania "prawdziwym profesjonalnym programistom" :P.

Może zaczniemy od systemu operacyjnego... no cóż niech będzie Vista jak już musicie to Ubuntu. Oba systemy są właściwie od razu skonfigurowane i nie wymagają wielkiego wysiłku przy konfiguracji i używaniu. Niektóre osoby narzekają na Vistę ale ja jednak mam poczucie, że jest to system bardziej przyjazny niż XP. Wprawdzie do niektórych rzeczy trzeba się przyzwyczaić ale w przypadku Linuxa jest to dużo bardziej wymagane. Z innej strony Windows jest jednak dużo popularniejszym systemem niż Linux a pewnie odbiorcą naszego oprogramowania będą w większości właśnie użytkownicy Windowsa (i pewnie coraz częściej Visty).

Z drugiej strony jest Ubuntu bazujące na Debianie co może niektórych do tego systemu przekonać, a innych zniechęcić. Dlaczego? Po prostu działa. Od początku wszystko jest skonfigurowane itd. Nie żebym się nie interesował tym co jest "pod maską" ale w pracy mam się skupić na produkcie, a nie na nieustannym dostosowywaniu narzędzi...

Pomijając Vistę skupiam się raczej na darmowym oprogramowaniu bo jest to wygodniejsze tak w pracy prywatnej jak i w firmie gdzie łatwiej uzyskać "pozwolenie" na na pracę na darmowym oprogramowaniu.

Podstawowym narzędziem programisty jest edytor tekstu (kodu). Przechodziłem przez różne IDE ostatecznie zatrzymując się na Komodo Edit. Wcześniej podobał mi się Eclipse z tymi wszystkimi dodatkami ale okazał się zbyt wolny i "zbugowany". Komodo doskonale radzi sobie z podpowiadaniem składni bez potrzeby długotrwałego skanowania kodu itp., jest stabilny, szybki i elastyczny.

Drugim najważniejszym narzędziem wg. mnie jest System Kontroli Wersji... tu mam problem z decyzją jest kilka systemów, które podobają mi się bardziej (np. Darcs czy Bazaar) ale ostatecznie Subversion jest dużo bardziej popularny i więcej programów (i programistów) potrafi się integrować. Do rozwiązywania konfliktów itp. polecam kdiff3.

Skoro już wiadomo czego używać do pisania dobrze było by wiedzieć w czym pisać. To oczywiście zależy od tego co piszemy ale jednak dla mnie (piszącego głównie aplikacje webowe ale nie tylko) najwygodniejszym językiem jest Python. Jest on niesamowicie uniwersalny, posiada łatwą i przejrzystą składnię i niesamowicie ułatwione testowani i dokumentowanie kodu.

Jeśli specjalizujemy się w aplikacjach webowych (ale nie tylko) i chcielibyśmy skorzystać z gotowych framworków to polecam Django (python) i jQuery (javascript). Oba są bardzo elastyczne a zarazem proste w użyciu. Pisząc w nich programy możemy się spodziewać efektów w przeciągu minut nie godzin czy dni.

Pora kończyć... nie mam wiele wolnego czasu (co widać po postach :P).

Pozdrawiam wszystkich czytających. Może komuś te informacje się na coś przydadzą.