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.




Komentarze

larden
2010-01-25 @ 00:46:46

Chodzę właśnie do takiego wrocławskiego liceum i dev jest po prostu zainstalowany na komputerach w szkole. W domu każdy używa środowiska jakie mu pasuje. Do implementowania algorytmów i pisania prostych jedno-plikowych programów Dev w zupełności wystarcza. Bo taki MSVC++ to kombajn.
2010-01-25 @ 09:26:31

Nikt nie zmusza do pisania w MSVC++, można użyć czegoś innego. Kombajn? No i co z tego? Lepiej mieć więcej funkcjonalności, które mogą się kiedyś przydać niż zastanawiać się co zrobić jak już będą potrzebne. Jego znajomość przyda się też bardziej w późniejszym życiu zawodowym niż znajomość Dev-C++ ;)

Chodzi tylko o to, żeby nie używać przestarzałych, nie wspieranych przez nikogo, narzędzi. Gdyby Dev-C++ był rozwijany, miał aktualną wersję kompilatora itd. to nie byłoby żadnego problemu.
Kos
2010-01-25 @ 12:52:55

Jest taki rozwijany Dev-C++, nazywa się Code::Blocks i jest raczej bez zarzutu, jeśli komuś BARDZO zależy, by nie ściągać MSVC lub Eclipse.

Uważam, że w szkołach i uczelniach brakuje takich rzeczy, jak podstawowa obsługa prawdziwego IDE. Narzędzia to ważna rzecz, powinno się na to poświęcić 2-4 godziny.
S2L
2010-01-25 @ 13:07:15

Hmmm... przyznam szczerze, że Dev był bardzo łatwy w obsłudze, ale fakt... miał wady i to spore. Poza tym był stary. Visual jest dobry ale troche za dobry jak dla początkującego, wed. mnie najlepszy [bo jest pośredni pomiędzy Dev'em a visualem] jest Code::Blocks. Sam go używam i jest całkiem fajny :).
alan
2010-01-28 @ 09:12:58

niewiarni!! Lapy precz od dewa!! To najlepsze narzendzie do tworzenia gier! Ten mikrosoftski szajs wizualny sie mu nawet do piet nie podmywa!
2010-02-03 @ 18:24:42

@alan: to jakaś prowokacja?

Korzystałem w życiu z różnych IDE i Dev (obok Codewarriora) wspominam najgorzej. Przestarzała technologia - lepiej dla początkujących byłoby gdyby downloady do niego nie były nigdzie dostępne. To trochę tak jakby pisać w MSVC 6.0...
2010-02-13 @ 11:54:57

Przykro mi, ale Autor tego artykułu nie przeszukał dokładnie sieci...
Dev-Cpp jako sam w sobie owszem nie jest już aktualizowany, gdyż powstała jego wersja rozszerzona o wx-widgets (uzywane często z Code::blocks) i jest wydawana jako gotowy pakiet wxDev-Cpp. Jego ostatnia wersja to wersja 7.3.0 wydana w styczniu tego roku...
zapraszam wszystkich czytelników na stronę http://wxdsgn.sourceforge.net/ i proszę autora o stosowną edycję artykułu...
2010-02-13 @ 12:48:06

wxDev-Cpp to nie Dev-Cpp -- tutaj jest mowa o starej wersji, którą używa bardzo dużo osób.

Nie zmienia to faktu, że wxDev-Cpp ma standardowo MinGW oparte o GCC 3.4.5 z listopada 2005 i choćby z tego powodu nie jest godne polecenia.
davidbnpl
2010-02-25 @ 21:47:04

@S2L

A VC++ jest trudny w obsłudze dla początkującego? Ja od niego zaczynałem i jakoś nie widziałem żadnych problemów. Po za tym na forum problemy z obsługą IDE przez początkujących w 90% dotyczą Dev-cpp, a nie VC++, więc nie sądzę, żeby był prostszy niż VC++ dla początkującego. Fakt, że VC++ to "kombajn" i ma mnóstwo opcji nie znaczy, że trzeba je od razu znać. Ale ważne, że te opcje są, bo się kiedyś mogą przydać.
Hashedone
2010-03-01 @ 10:06:00

"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."

Baaaa, w pierwszym semestrze na PWr (informatyka, ppt) używaliśmy tego narzędzia na WDI. Kiedy na labolatoriach u dr. Majchera programy się nie chciały kompilować pomagało dokładnie jedno - restart kompa. Ale i tak nie docierały do prof. dr. hab. Cichonia prośby o pozwolenie na urzywanie C::B na lapkach:P I jak tu studiować bezstresowo?
Xaon
2010-04-04 @ 00:25:46

@davidbnpl

"A VC++ jest trudny w obsłudze dla początkującego? Ja od niego zaczynałem i jakoś nie widziałem żadnych problemów."

Na przykład dla mnie był zbyt trudny. Zresztą jak to kumpel kiedyś powiedział "odpaliłem VC++ i nie wiedziałem gdzie się tam kompiluje". W Dev-Cpp jest niemal brak zarządzania projektem, więc ucząc się podstaw języka, nawet wybiegających trochę poza Hello World, możemy łatwo sprawdzić czy dobrze przepisaliśmy przykład. Oczywiście można się nie zastanawiać nad tym np dla czego plik A jest w folderze B a nie C.

Nie widzę również powodu, aby przejście na bardziej dojrzałe środowisko miało stanowić problem. Zaczyna Ci coś przeszkadzać, czegoś brakować, wymieniasz na bardziej odpowiednie. Sam korzystałem z Dev-Cpp, między czasie VC++ (+ Borland C++ Builder w szkole), a teraz Netbeans-a. Po doświadczeniach z Dev-Cpp łatwiej było mi zrozumieć (i docenić) niektóre funkcje pozostałych IDE.

Muszę przyznać rację pod tym względem, że kurczowe trzymanie się rozwiązań archaicznych na dłuższą metę zatrzyma nas na archaicznych projektach.

Koniec końców najbardziej w kość dał mi właśnie Builder Borlanda. Ale nie wiem czy wypada tutaj w ogóle o tym IDE wspominać.
2010-06-16 @ 20:46:38

My też mamy w szkole Dev'a, ale mimo moich błagań nasza nauczycielka nie chce go zmienić ;p
Komentowanie zostało tymczasowo wyłączone.