Dlaczego nie warto używać Dev-C++

24.01.2010 @ 19:27:52 by Rafał Kozik | C++ programowanie narzędzia

Często wracającym tematem na warsztacie są mniejsze lub większe problemy z działaniem / używaniem Dev-C++. Rozpoczyna się wtedy święta wojna zwolenników i przeciwników tego narzędzia. Jest to sytuacja o tyle dziwna, że o ile typowy flame w stylu Windows vs Linux lub DirectX vs OpenGL ma jeszcze jakiś sens i można podać sensowne argumenty dla każdej ze stron, o tyle bronienie Dev-C++ jest poważnym błędem i powinno być karalne.

Tak, Dev-C++ jest zły. Nie mówię, że taki był zawsze -- sam kiedyś z niego korzystałem, tak samo jak wiele innych osób, które są teraz jego przeciwnikami. Co sprawia, że to narzędzie wywołuje aż takie skrajne emocje?

  • Ostatnia wersja Dev-C++ to 4.9.9.2 -- jest to wersja, której sam używałem lata temu. Została ona udostępniona 22 lutego 2005 roku! Już za miesiąc będzie mogła świętować swoje piąte urodziny!
  • W pakiecie zawarty jest MinGW oparty o GCC 3.4.2 -- wersję z września 2004 roku. Dlaczego to ma znaczenie? Dużo się w tym czasie zmieniło i dlaczego miałby ktoś korzystać z tak starych wersji?
  • W porównaniu do dostępnych teraz narzędzi jest bardzo ubogi
  • Ma sporo wad, choćby potrzeba ręcznego uruchomienia kompilacji przed uruchomieniem. Jest to w sprzeczności z jedną z podstawowych zasad, które warto stosować w pracy -- jeżeli da się coś łatwo zautomatyzować, zrób to.
  • Nie ma sensownego debuggera -- przed tym kto nie wie jak duże ma to znaczenie jeszcze długa droga ;)
  • Twórcy różnych bibliotek go nie wspierają i nie ma gwarancji, że kod się pod nim skompiluje.

Problem jest o tyle duży, że dużo początkujących programistów trafia na Dev-C++ jako polecane środowisko w tutorialu bądź książce. Ostatnio spotkałem się też z sytuacją, gdzie w jednym z Wrocławskich liceów używają tego archaicznego narzędzia.

Jeżeli dla kogoś jedynym powodem zostania przy Dev-C++ jest to, że go już poznał, to czas, żeby poznać coś nowego. To będzie musiało i tak prędzej czy później nastąpić, skoro nie jest od lat rozwijany. Zawsze można spróbować Visual C++ Express, Eclipse, Code::Blocks (na stronie jest stara wersja, aktualną można znaleźć tutaj) albo NetBeans.


Zmiana systemu kontroli wersji

11.12.2009 @ 12:07:55 by Rafał Kozik | narzędzia

Dotychczas (o ile w ogóle ;)) używałem SVN jako systemu kontroli wersji. Repozytorium trzymałem na swoim komputerze i nawet spełniało to swoje zadanie.

Przyszedł taki czas, że nad projektem potrzebuję pracować sprawnie z kilku komputerów jednocześnie, a komputer na którym miałem repozytorium SVN z pewnych przyczyn nie zawsze może być włączony. Na początku myślałem o wykupieniu jakiegoś taniego VPSa i trzymania tam repozytorium, jednak ostatecznie wybór padł na użycie Gita i hosting na GitHub.

Git jest dość młodym SCM, jednak sprawdził się już przy pracy nad jądrem linuksa (dla tego zadania został stworzony) i wieloma innymi projektami (w tym Ruby on Rails). Dlaczego na niego padł wybór?

  • dość tani hosting repozytoriów -- najtańszy plan z prywatnymi repozytoriami to 7$ miesięcznie (600 MB powierzchni)
  • pliki zajmują mniej miejsca niż np. w SVN (kompresja)
  • nie śmieci -- jeden katalog .git w katalogu głównym projektu
  • działa szybko i sprawnie
  • wszystkie informacie na GitHub podane w przystępnej formie
  • szyfrowanie połączenia z serwerem

Jedną z głównych cech Gita jest to, że jest zdecentralizowany i każdy komputer może być serwerem. Wygląda to w ten sposób, że cały czas pracujemy na repozytorium, które mamy na naszym komputerze, a gdy jakiś feature jest gotowy to dopiero wgrywamy nasze zmiany na serwer.

To dopiero początek mojej przygody z Gitem, ale już teraz wygląda na to, że się zaprzyjaźnimy :)


Windows 7, Notepad++ i polskie znaki

20.05.2009 @ 14:04:03 by Rafał Kozik | narzędzia

Od jakiegoś czasu używam Windows 7 RC zamiast Windows Vista na laptopie, jako podstawowego systemu. Powodów ku temu jest kilka -- główne to większa wydajność, lepsze zarządzanie energią i zmiany w UI. Niestety pojawiają się mniejsze lub większe problemy, ale moim zdaniem warto się przemęczyć ;)

Jednym z problemów było to, że Notepad++ nie pozwalał na wprowadzanie polskich znaków, niezależnie od wybranej czcionki. Jako, że jest to jeden z podstawowych edytorów, których używam (właściwie do wszystkiego związanego z webdevem), to był to spory problem. Chwilę poszukałem rozwiązania dla tego problemu i okazało się to bardzo proste -- wystarczy ustawić kompatybilność ze starszą wersją systemu we właściwościach programu. Dokładniejsze informacje w dalszej części.


Skróty w Visual C# 2008

04.05.2009 @ 20:54:49 by Rafał Kozik | C# narzędzia

Potrzebowałem przed chwilą znaleźć kilka skrótów w Visual C# 2008 i okazało się, że nie jest to wcale takie proste. Większość elementów menu nie ma pokazanych skrótów, mimo, że takie istnieją, a obsługa listy w opcjach jest uciążliwa.

Okazuje się jednak, że przyswojenie skrótów może być prostsze niż się wydaje. Wystarczy pobrać i wydrukować... plakat ze strony Microsoftu. Dostępne są też dla innych wersji i narzędzi.

Skróty znacznie przyspieszają pracę, dlatego warto poznać kolejną ich garść. Plakat wiszący obok monitora wydaje się być idealnym rozwiązaniem :)


SVN

27.03.2009 @ 10:47:04 by Rafał Kozik | programowanie narzędzia

Ludzie mają wiele powodów, dla których nie używają systemów kontroli wersji. Najpopularniejsze z nich to chyba 'bo pracuję sam' i 'nie potrzeba mi tego' -- nie mam zamiaru tłumaczyć dlaczego te osoby są w błędzie ;) Ja osobiście miałem trochę inny powód -- nie chciało mi się z tym bawić.

Jestem jedną z tych osób, które nie do końca ufają serwisom zapewniającym hosting repozytoriów svn, ponieważ nie są one w żaden sposób szyfrowane. Dlatego jedynym rozwiązaniem, które mnie satysfakcjonuje, jest trzymanie repozytorium na prywatnym komputerze.