What's new

-Łatwy Niebia?ska seria c++ - zaczynamy! #1

Status
Not open for further replies.

Skyy

Active User
Joined
Jul 22, 2012
Messages
52
Reaction score
11
Cze??!
Z tej strony Skyy. Nazywam si? Sebastian i od roku ucz? si? j?zyka programowania c++. Z tego co zauwa?y?em to na tibia.net.pl ?adnych dobrych kurs?w nie ma a c++ jako jedna z najwa?niejszych cech open tibii zas?uguje raczej na uwag? tfs'owskiego klienta. Od razu m?wi?, ?e nie robi? tego kursu dla u?ytkownik?w tfs'a bo sam du?o w tym ?rodowisku nie pracowa?em ale optymistycznie zak?adaj?c, po uko?czeniu tego kursu kt?ry b?dzie si? dzieli? na par?(na?cie) lekcji, b?dziecie w stanie napisa? prosty program w tym oto w?a?nie j?zyku. Czytaj?cego postaram te? si? nauczy? techniki 'jak mie? odpowied? na wszystko' i udowodni?, ?e przekaz podprogowy nie jest mitem. Tak jak wy?ej wspomina?em, nie b?d? omawia? wszystkiego w jednym temacie (bo jest to z deka nie mo?liwe) tylko podziel? to wszystko na lekcje kt?re powinny wychodzi? regularnie raz/dwa razy w tygodniu z ciut mniejsz? intensywno?ci? po zako?czeniu wakacji.

Dla kogo jest ten kurs?
Ka?dy kto interesuje si? programowaniem i chcia?by pozna? tajemnice kryj?ce si? za tym s?owem powinien przeczyta? moje poradniki. C++ mo?e si? nauczy? ka?dy kto umie my?le? logicznie i jest w stanie dzieli? problem na ma?e kawa?ki, tak aby jego solucja by?a prostsza. Badania dowodz?, ?e programi?ci sp?dzaj? tylko 20% na pisaniu programu a reszt? czasu po?wi?caj? na rozwi?zywanie b??d?w, poprawianie kodu i jego stylistyki. Je?li Ci? ten paragraf nie przestraszy? i wydaje Ci si?, ?e jeste? w stanie przetrwa? godziny m?ki z samym sob? po nie zrozumieniu jednego zdania - kontynuuj. Daj? Ci gwarancj?, ?e ka?de zdanie b?dzie zrozumia?e. Mo?e i nie za pierwszym razem ale sam czytaj?c ksi??ki, zwa?aj?c na moje problemy z dysleksj?, musia?em czyta? rozdzia?y par? razy aby je dok?adnie zrozumie?. Tak wi?c, przygotuj si? na pogryzione biurko i ksi??ki lataj?ce po pokoju ; ). Nauka sama w sobie nie jest taka prosta, chocia? mo?e wydawa? si? o wiele l?ejsza dla os?b kt?re specjalizuj? si? bardziej w zakresie wiedzy matematycznej, ni? w humanistycznej.

Jak b?d? wygl?da? lekcje?
Wszystkie moje lekcje b?d? dzieli? na dzia?y i poddzia?y. Sam sk?ad g??wny powinien wygl?da? w ten spos?b:
  • Wst?p
  • Nauka
  • -ewentualne poddzia?y
  • Koniec
Oczywi?cie nie b?d? si? do tego stosowa? zawsze ale og?lnie zak?adaj?c, tak to powinno wygl?da?.

Sprawdzanie umiej?tno?ci
W trakcie kursu b?d? te? Wam dawa? woln? r?k? dot. niekt?rych spraw, ?eby?cie mogli w?o?y? troch? indywidualnej roboty i nauczyli si? pracowa? samodzielnie bez czyjej? pomocy. B?d? stawia? przed Wami problemy - bez nerw?w, musicie sobie u?wiadomi? i wbi? to w tej chwili g??boko do g?owy, ?e je?eli ja by?em zdolny przez problem przebrn?? i go rozwi?za? to Wy te? do kurwy n?dzy b?dziecie;).

Dobra, tyle informacji chyba wystarczy. Zako?czmy spraw? teorii i przejd?my do czystej praktyki :).

Kompilator!
Oczywi?cie program mo?na pisa? w zwyk?ym notatniku winshitowym ale niestety nie b?dziemy wtedy w stanie program skompilowa? (stworzy?) i sprawdzi? czy nie zawiera on przypadkiem jakichkolwiek b??d?w.
Czym jest kompilator? Ot?? to:
Kompilator (ang. compiler) to program s?u??cy do automatycznego t?umaczenia kodu napisanego w jednym j?zyku (j?zyku ?r?d?owym) na r?wnowa?ny kod w innym j?zyku (j?zyku wynikowym) [1]. Proces ten nazywany jest kompilacj?. W informatyce poj?ciem kompilatora okre?la si? najcz??ciej program do t?umaczenia kodu ?r?d?owego w j?zyku programowania na j?zyk maszynowy. Niekt?re z nich t?umacz? najpierw do j?zyka asemblera, a ten na j?zyk maszynowy jest t?umaczony przez asembler.
R??nica pomi?dzy kompilatorem a asemblerem polega na tym, i? ka?de polecenie j?zyka programowania mo?e zosta? rozbite na wiele podpolece? j?zyka maszynowego (przy czym nowoczesne asemblery r?wnie? posiadaj? sk?adni? umo?liwiaj?c? zapis wielu polece? maszynowych jako jednego polecenia kodu ?r?d?owego oraz opcje optymalizacji kodu). Kompilatory mog? posiada? mo?liwo?? automatycznej alokacji pami?ci dla zmiennych, implementowania struktur kontrolnych lub procedur wej?cia-wyj?cia.
Stosowanie kompilator?w u?atwia programowanie (programista nie musi zna? j?zyka maszynowego) i pozwala na wi?ksz? przeno?no?? kodu pomi?dzy platformami.
U?atwiaj?c sobie przy okazji zadanie i cytuj?c wikipedi?, mam nadziej?, ?e wszystko teraz b?dzie jasne.

Sk?d ?ci?gn?? dobry kompilator?
No w?a?nie, zacznijmy od tego, ?e kompilator musi by? dobry w swoim fachu. Kompilatory dziel? si? na starsze/nowsze. Fakt, faktem starszy nie zawsze znaczy gorszy. Nie zawsze. W tym przypadku niestety udziel? swojej osobistej opinii i rozja?ni? spraw?. Kompilator?w jest multum i producenci po to je aktualizuj?, ?eby by?y lepsze. Pomimo wszystko przedstawi? Wam wszystkie kt?re znam oraz ich wady i zalety.

Borland C++
Niestety bardzo zniech?caj?ce oprogramowanie. Po kilku godzinach walki ze znalezieniem dobrej wersji i w ko?cu b??dach kt?re wy?wietla?y mi si? w dobrze napisanym kodzie(?) postawi?em znak zapytania nad kontynuacj? mojej nauki. Nie polecam.

Dev C++
Program jest od lat nie aktualizowany przez producenta. Jest prosty w u?yciu ale zawiera mn?stwo b??d?w. Ci??ko jest za? nastawi? oprogramowanie te, ?eby dzia?a?o tak jak nale?y. Nie mia?em wi?kszej styczno?ci z tym kompilatorem, wi?c nie chc? k?ama? i pozostawi? Wam woln? r?k? je?li chodzi o jego ocen? - recenzje mo?na znale?? prawie wsz?dzie w internecie.

Code::Blocks
Zdecydowanie moje ulubione ?rodowisko. Niezmiernie ?atwy w obs?udze, poza tym darmowy. Jego debbuger (om?wimy ten temat p??niej) jest te? ca?kiem niez?y a mo?liwo?ci samego kompilatora s? ogromne. Na pocz?tku mo?na si? przestraszy? multum opcji w kompilatorze ale w p??niejszym etapie nauki oka?e si?, ?e to tylko zaleta :). Same ?rodowisko jest wielo-platformowe co tak?e zwi?ksza ocen? ale ostatnie problemy kt?re z nim mia?em niestety mnie zniech?ci?y i go ju? nie u?ywam.

Visual C++
Firma microsoft ju? raczej przyzwyczai?a nas do swoich 'niepowodze?' i idiotycznych b??dach ale jako autor porz?dnego kursu jestem zobowi?zany przyzna?, ?e jest to zdecydowanie najlepsze w opinii og?lnej ?rodowisko do programowania. Visual C++ express jest darmowy, aczkolwiek lepsze wersje ?rodowiska s? ca?kiem drogie. Poza tym wersja express w jakim? stopniu ogranicza nam komercyjne u?ywanie co jest niewielkim minusem, zwa?aj?c na fakt, ?e ten stopie? jest bardzo ma?y. Mo?liwo?ci debuggera s? naprawd? wielkie. Ten projekt firmy microsoft zas?uguje na uznanie.

A wi?c kt?ry?
Pierwsze dwa odpadaj? wi?c zostaje nam tylko code::blocks i visual c++. Kt?re wybierzemy? Ta decyzja nale?y ju? do Was. Ostrzegam za?, ?e ja w kursach b?d? u?ywa? Visual C++ - w innych kompilatorach poj?cia mog? si? r??ni?!

?ci?gamy, ?ci?gamy...
Code::Blocks mo?na ?ci?gn?? z oficjalnej strony producenta codeblocks.org. Je?eli zdecydowali?my si? na Visuala to proponuj? ?ci?gn?? z mojego uploadu. Dlaczego? Po pierwsze, ?ci?gaj?c z nieoficjalnych ?r?de? w internecie nara?amy si? na wirusy. Po drugie, lepiej by?oby gdyby?cie mieli t? sam? wersj? co ja, w innych niekt?re rzeczy mog? si? r??ni?.
Instalka wa?y tylko 3mb. A oto ona:

Skan:


Je?li wci?? si? boisz ?ci?ga? z mojego uploadu to niestety jeste? skazany na poszukanie tej wersji w google lub ?ci?gni?cie code::blocks. Nikogo nie zmuszam do ?ci?gania moich plik?w, pami?taj, ?e robisz to na w?asn? odpowiedzialno??!

Proces instalacji b?dzie Waszym pierwszym testem ; ). Je?li nie jeste?cie w stanie zainstalowa? programu, co w rzeczy samej jest banalne, to nie wiem czy powinni?cie kontynuowa? nauk?. Ale uda Wam si?, spokojnie.

Koniec
To na tyle z tej lekcji. Wiem, ?e nie obm?wili?my ?adnego pisania kodu ani nic z tych rzeczy ale obiecuj?, ?e ju? druga cz??? kursu pojawi si? jeszcze dzisiaj. Tymczasem chcia?bym Was pozdrowi? i ?yczy? powodzenia w nauce.

Zastrzegam sobie jakiekolwiek prawa do tego poradnika - zosta? on wykonany przez Skyy dla forum tibia.net.pl.


Cze??!
 

Koko

Forum friend
Joined
Apr 4, 2008
Messages
410
Reaction score
146
Age
31
Odp: Niebia?ska seria c++ - zaczynamy! #1

Niestety przysz?o mi skomentowa? tw?j "poradnik". M?wi? niestety, poniewa? pope?niasz w nim radykalne b??dy.

Id?c tropem twojego cytatu z Wikipedii mamy kolejne zdanie

Popularnym zestawem kompilator?w jest GCC.

Co ju? powinno da? Ci do my?lenia. Je?eli dla ciebie kompilatorem jest zestaw Dev-cpp, Visual studio, czy BDB no to musisz uzupe?ni? swoj? wiedz?.

Proponuje cz??ciej wykorzystywa? Wikipedi? oraz stara? si? u?ywa? odpowiedniego s?ownictwa, bo tym wprowadzasz w du?y b??d czytelnik?w oraz o?mieszasz si? w gronie os?b znaj?cych tego typu podstawy.

Microsoft Visual Studio – to zintegrowane ?rodowisko programistyczne firmy Microsoft. Jest u?ywane do tworzenia oprogramowania konsolowego oraz z graficznym interfejsem u?ytkownika, w tym aplikacje Windows Forms, WPF, Web Sites, Web Applications i inne. Aplikacje mog? by? pisane na platformy: Microsoft Windows, Windows Mobile, Windows CE, .NET Framework oraz Microsoft Silverlight.

Wracaj?c do tematu, przyku?e? moj? uwag? w?a?nie pogard? dla Dev-cpp, a to wy??cznie ?rodowisko programistyczne. Oczywi?cie nie oferuje takich technologii jak RAD w Visualu czy Borlandzie, mam tu na my?li zwyk?ego Dev-cpp, a nie wxDev-cpp, lecz ta technologia w tworzeniu aplikacji konsolowych jest nieprzydatna. Je?eli lubisz mie? mocno rozbudowane ?rodowisko programistyczne to ok, ale nie oceniaj przydatno?ci danego ?rodowiska tylko pod wzgl?dem ilo?ci przycisk?w i konsolek do zarz?dzania projektem. Ka?dy powa?niejszy programista nie powinien mie? problem?w z obs?ug? kompilatora bez u?ywania tak zaawansowanych ?rodowisk programistycznych, a Dev w zamian za swoj? prostot? oferuje przeno?ne ?rodowisko, kt?re mo?na wykorzysta? r?wnie? na uczelni czy na zaj?ciach z programowania w wersjach portable. Przecie? nawet najprostszy edytor tekstowy mo?e by? wykorzystany do pisania program?w. Skoro Dev by? w stanie pos?u?y? jako narz?dzie do tworzenia silnik?w wielu ots?w to nie powinien mie? problem?w podstawowymi programami, kt?re jak s?dz? zamierzasz opisywa?.

Cieszy?bym si? r?wnie?, je?eli przedstawi?by? tak?e takie ?rodowiska jak:
  • Netbeans
  • Eclipse
Wed?ug mnie zas?uguj? na przynajmniej wspomnienie o nich.

Nie traktuj tego postu jako pr?b? pokazania mojej wy?szo?ci, b?d? ch?ci wy?miania Twoich b??d?w, lecz skoro chcesz tworzy? seri? poradnik?w o c++ to dobrze, aby by?y one poprawne. Na przysz?o?? proponuje, aby? kolejne cz??ci poradnika uzgadnia? z kim?, kto ma wi?kszy sta? w programowaniu. Zaoszcz?dzi Ci to takich gaf jak ta.
 

Skyy

Active User
Joined
Jul 22, 2012
Messages
52
Reaction score
11
Odp: Niebia?ska seria c++ - zaczynamy! #1

To nie s? b??dy, rzecz jasna wskazanie moich niedoskona?o?ci za kt?re dzi?kuj? bo cz?sto krytyki mi brakuje ; ).

Samo stwierdzenie 'ka?dy powa?niejszy programista' jest b??dne bo czytanie lekcji tej i nast?pnej samo w sobie nie czyni nikogo programist? a zwyk?ym praktykantem niekt?rych niezrozumia?ych wcze?niej poj?? kt?re b?d? co b?d? - mo?e i przedstawi?em b??dnie.

Obi?o mi si? o uszy net beans ale nigdy nie mia?em do czynienia z takim ?rodowiskiem a nie chcia?bym sk?ama? i poda? jaki? fa?szywych informacji. O eclipse za? w og?le nie s?ysza?em :O. Pozdrawiam.
 

Magic

3+3=3!
Joined
Aug 4, 2008
Messages
1,338
Reaction score
180
Odp: Niebia?ska seria c++ - zaczynamy! #1

Osobi?cie korzysta?em z netbeans do pisania w javie i musz? powiedzie?, ?e jest tam wszystko, co potrzebne. Nie wiem jak si? maj? sprawy z c++, bo nie korzystam, ale w javie pisa?o si? komfortowo i naprawde fajnie. Wielkim plusem jest to, ?e netbeans jest w 100% darmowy i bez problemu mo?na go ?ci?gn?? z oficjalnej strony.
 

Cl3an

Active User
Joined
Apr 13, 2011
Messages
131
Reaction score
12
Odp: Niebia?ska seria c++ - zaczynamy! #1

Super zapowiada si? autor ma poj?cie o tym co pisze i umie przekaza? wiedz? czekam na dalsze cz??ci tego kursu ;]
 
Status
Not open for further replies.
Top