# [OT] Programowanie w C i/lub C++ pod Linuksem

## Kurt Steiner

Napewno wielu z Was już nieraz napisało jakiś program dla Linuksa w C/C++.  :Smile:  Jakie strony www i książki polecacie osobie która ma ochotę się pobawić z programowaniem w tych dwóch językach pod Linuksem? Wiem, że mogę to wszystko wygooglać, ale nie chodzi mi tu o gromadę śmieci, tylko o coś co Wy sprawdziliście i uważacie za najbardziej godne uwagi.  :Wink: 

----------

## _troll_

C: Język C - Steven Prata (moze byc literowka w nazwisku)

C++: Symfonia C++ - Jerzy grębosz (3 tomy) [begginers]

Pasja C++ - Jerzy grębosz (2 tomy) [advanced]

Algorytmy: Wstęp do lagorytmów - Cormen (wiecznie mi sie ta pozycja myli, wiec pewnie cos jest zle)

Pozdrawiam,

Przemek

----------

## bacouch

 *_troll_ wrote:*   

> Algorytmy: Wstęp do lagorytmów - Cormen (wiecznie mi sie ta pozycja myli, wiec pewnie cos jest zle)

 Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest - Wprowadzenie do algorytmow - bardzo fajna ksiazeczka, ale po olimpiadzie z infy stwierdzam ze jest no naprawde tylko wprowadzenie, choc bardzo sie tam przydala.

----------

## yacenty

ostatnio mi sie bardzo spodobala Programowania C Herberta Schildt'a jak dla mnie swietna

Grebosza polecam ale to juz C++

no i oczywiscie Stevens do zagadnien sieciowych

takie moje trio.

pozdrawiam

YacentY

----------

## TAXIarz

Ja proponuje tak:

Jezyk C: 

1. "Język ANSI C" Kernighan, Ritchie wyd. WNT Warszawa wiele wydan.

+ "Język ANSI C ćwiczenie i rozwiązania" Tondo, Gimpel wyd. WNT Warszawa.

2. Programowanie w języku C. Ćwicznia praktycznie. - Tłuczek wyd. Helion Gliwice

3. Thinking in C++ Tom 1 i 2 - Eckel wyd. Helion Gliwice

4. C++. Algorytmy i struktury danych - Drozdek wyd. Helion Gliwice

5. C++. Sztuka programowania - Schilt wyd. Helion Gliwice

6. Język C++. Koncepcje i techniki programowania. wyd. Helion Gliwice

7. C++ dla każdego - Liberty wyd. Helion Gliwice

8. C++ Builder 6 dla każdego - Reisdorph wyd. Helion Gliwice

9. Oczywiscie,  "Symfonia C++" - Jurek Grębosz.

10. Algorytmy + Struktury Danych = Programy - Wirth, wyd. WNT Warszawa (alternatywa (wg. mnie dobra)dla Cormen i inni "Wprowadznie do algorytmow" za ponad 100 zl) 

11. Język C++ - Stroustrup Bjarne wyd. WNT Warszawa.

Teraz to co ja moge powiedziec. 

Pozycja [1] Techniczny język - w stylu wskaznik - zmienna, ktora wskazuje na inna zmienna - jak pasuje Ci taka def. to dla Ciebie ksiazka ok. Jesli nie - rozczarujesz sie.

Pozycja [2] niezbedna, skoro nie masz cwiczen do Ritchie ANSI C

Pozycje [3], [7], [8] mozesz spokojnie zastapic [9].

Pozycja [10] badz Cormen i inni "Wprowadzenie..." niezbedna, gdy bedziesz chcial cos posortowac, zainteresowac sie rekurencja, czy problemem osmiu hetmanow, badz najkrotsza droga skoczka itp.

Pozycja [5], [6] to tak po roku czasu fajne pozycje.

Ja polcam zaczac od [1] z cwiczeniami. Sam tak robilem. To znaczy wczesniej zaczalem:

Wprowadznie do programowania - Kolesnik wyd. Helion

Turbo pascal - A. Marciniak wyd. Politechniki Poznanskiej.

TP - Kwasnicka

Delphi 4.0 - Reisdorph

TP - Sadowski wyd. Helion

TP w zad. z komentarzem wyd. MIKOM

----------

## _troll_

Wirth to jest chyba z przykladami w Pascalu? Nie jestem pewien, czy taka pozycja jest dobra dla kogos kto sie dopiero zaczyna uczyc..... ??

Jesli sie mysle - poprawcie mnie.

Pozdrawiam,

Przemek

----------

## Gogiel

 *Quote:*   

> 
> 
> + "Język ANSI C ćwiczenie i rozwiązania" Tondo, Gimpel wyd. WNT Warszawa. 

 

Masz moze ebooka z ta ksiazka, albo cos podobnego?

----------

## galimedes

Witam

Książki które znam i naprawdę szanuje to 

1. Język C. Wskaźniki. Vademecum profesjonalisty -jest to chyba najlepsza książka na rynku odnośnie c 

2. The Shellcoders Handbook. Edycja polska -mimo iż jest to troche nie dokońca to samo ale uczy jak pisać bezpieczne programy (uwaga trzeba mieć dużo samo zaparcia)

3. Thinking in C++ -napewno odradzam książka ma duże braki i aby było w miare sensownie trzeba by kupić drugi tom jest to wydatek nie wart kasy  :Wink: 

4. http://www.cplusplus.com/ref/ -to wystarcza do programowania w c++

 *TAXIarz wrote:*   

> ...
> 
> 1. "Język ANSI C" Kernighan, Ritchie wyd. WNT Warszawa wiele wydan.
> 
> + "Język ANSI C ćwiczenie i rozwiązania" Tondo, Gimpel wyd. WNT Warszawa. 
> ...

 

Jak dla mnie sa troche przereklamowane ale godne uwagi

Pozdro

----------

## TAXIarz

 *_troll_ wrote:*   

> Wirth to jest chyba z przykladami w Pascalu? (...)

 

Tak, zgadza sie z przykladami w TP. 

Problem w tym, ze Cormen i inni uzywa tzw. pseudokodu, ale wiadomo jak ten pseudokod wyglada.

Wg. mnie (to jest dyskusyjne) nie znajac Pascal/Basic - choc podstaw: zmienne, petle, procedure/fun, warunki etc.

to trudno "czytac" nawet pseudokod.  I jeszcze jedno - trudno na poczatek sobie czytac o szeregach, po to, aby obliczac czas wykoniania sortowania. Wydaje mi sie, ze na poczatku to jest zbedne. A ta ksiazka (Cormen) wiele sie na te tematy rozpisuje, jest dzial minimum materialu matematyki (nie pamietam dokladnie jak to brzmialo).

Dlatego cenowo i oszczedzajac nerwów polecam Wirth, choć oczywiście potem Cormen.

Oczywiscie jest jeszcze wiele prawdy w tym co mowisz. Cormen to podstawa z algorytmow na UWr. Informatyka dziennie.

Co do przereklamowania ANSI C, nie spotkalem sie jeszcze z dobrym podrecznikiem na ten temat.

Maja zdroworozsadkowe podejscie, aby nauczyc sie pisac, trzeba pisac. 

Symfonia C++ ma zasadniczy brak, mianowicie chodzi mi o brak cwiczen na koncu tematu/rozdzialu.

 *Gogiel wrote:*   

>  *Quote:*   
> 
> + "Język ANSI C ćwiczenie i rozwiązania" Tondo, Gimpel wyd. WNT Warszawa.  
> 
> Masz moze ebooka z ta ksiazka, albo cos podobnego?

 

Niestety nie mam ebooka. Powiem prawde, ze zakupilem z WNT calkiem nowa wraz z podrecznikiem, poniewaz kupilem jako calosc, wiec mialem taniej, nawet taniej wyszlo mnie niz na aukcjach internetowych. Wiec sie skusilem.

Choc w ksiazce nie zmieniło sie prawie nic od lat 80-tych.

Co to wyboru ksiazki napisze taki cytat moze nie doslowny mojego nauczyciela programowania.

"Biore ksiazke do ręki, otwieram, czytam spis tresci, przegladam kilka rozdzialow, jesli ksiazka przemawia do mnie zrozumialym jezykiem, to zastanwiam sie nad jej kupnem, jesli nie - odkladam na półkę i szukam dalej..."

----------

## _troll_

 *TAXIarz wrote:*   

>  *_troll_ wrote:*   Wirth to jest chyba z przykladami w Pascalu? (...) 
> 
> Tak, zgadza sie z przykladami w TP. 
> 
> Problem w tym, ze Cormen i inni uzywa tzw. pseudokodu, ale wiadomo jak ten pseudokod wyglada.
> ...

 ciezka dyskusja... chyba kazdy musi wyprobowac na wlasnej skorze...

 *TAXIarz wrote:*   

> Co do przereklamowania ANSI C, nie spotkalem sie jeszcze z dobrym podrecznikiem na ten temat.
> 
> Maja zdroworozsadkowe podejscie, aby nauczyc sie pisac, trzeba pisac. 
> 
> Symfonia C++ ma zasadniczy brak, mianowicie chodzi mi o brak cwiczen na koncu tematu/rozdzialu.

 Polecma przejrzec Stevena Prata'e - wlasnie tutaj wygrywa. A co do ANSI C - napisana jest dla ludzi juz programujacych(!). Zupelnie nie nadaje sie dla totalnego laika.

Pozdrawiam,

Przemek

----------

## ai

"Rzecz o istocie informatyki - algorytmika" - David Harel  (fajna ksiazka  :Razz:  )

"Ansi C"  - B.W. Kernighan, D.M. Ritchie (mi sie z tego dobrze uczylo C)

"Programowanie w srodowisku systemu UNIX" - W. Richard Stevens (ROX!)

1 uczy myslenia i jest na pewno przyjemniejsza dla zwyklego smiertelnika niz cormen [; 

2 i 3 to jedne z niewielu ksiazek traktujacych o programowaniu pod *nixami dla poczatkujacych.

poz. ai

----------

## Crenshaw

Bjarne Stroustrup tytul: C++ (czy jakos tak)

----------

## blazeu

Ja ANSI C uczylem sie z Keringhana & Ritchie'go, a C++ z Eckela. Jezeli kiedyś coś pisałeś to te pozycje są świetne i polecam, ale jeżeli chcesz się nauczyć programować od podstaw to bedą za trudne i/lub niezrozumiałe. Grębosz jest fajny i podobno przystępnie napisany, jednak jak chcesz coś szybko przyswoić to zapomnij ( a przynajmniej ja takie mam wrażenie po jedno dniowym posiadaniu ).

PS. IDE NA GWIEZDNE WOJNY!!! ZA 1h45!!!! ;]

----------

## wojtek

 *ai wrote:*   

> "Ansi C"  - B.W. Kernighan, D.M. Ritchie (mi sie z tego dobrze uczylo C)
> 
> uczy myslenia i jest na pewno przyjemniejsza dla zwyklego smiertelnika niz cormen [;

 

Powiem tak: książka jest pisana przez samych twórców języka i zawiera wszystko co przewiduje pierwotny standard ANSI C. Uważam ją za lekturę obowiazkową (tym bardziej, że nie jest zbyt duża - połowa książki to wyciąg ze standardu, którego się nie czyta tylko się z niego korzysta) i w zasadzie może być jedyna jeśli chodzi o C (warto ew. poszerzyć potem swoją wiedzę n.t. C99, bo to przyszłość C). Jeśli dokładnie zrozumiesz i zapamiętasz każdy rozdział to C nie będzie miało dla Ciebie tajemnic (a wierz mi może mieć, jeśli dogłębnie nie zrozumiesz jego filozofii).

Podobnie ma się sprawa z Językiem C++ Strostrupa, tylko że tu warto mieć najnowsze wydanie (trzecie), bo C++ mocno ewoluował swego czasu i wczesniejsze wydania nie maja opisu takich mechanizmów jak np. namespace. Książka Strostrupa jest ewidentnie większa niż Kernigana i Ritchi'ego (bo też sam C++ jest ewidentnie pojemniejszy pojęciowo) i raczej nie da się jej już tak czytać "do poduszki" jak pierwszej, choć warto mimo wszytsko raz ją "przelecieć" i potem wracać w razie jakichś niejasności.

Co do "Thinking in C++", to uważam, że jest również bardzo wartościowa, ale rzeczywiście warto posiadać oba tomy. Ewidentną zaletą jest jednak to, że jest dostępna za darmo w sieci w formacie HTML i PDF (PDF-ów trzeba ręcznie poszukać w googlach, a reszta jest dostępna pod adresem http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html). Zawierają one pewne ciekawostki, których nie ma w książce Strostrupa (książka Strostrupa jest kompletna pojęciowo, ale skupia się bardziej na opisie mechnizmów języka niż na ich zastosowaniach) n.p. metaprogramowanie w template'ach. Dla większości ludzi ta wiedza pozostanie jedynie ciekawostką - warto być jednak świadomym pewnych możliwości C++.

Powyższe pozycje uważam za konieczne do zapoznania się jeśli chcesz dobrze znać C/C++, aczkolwiek możesz na początku zacząć od czegoś prostszego jak Symfonia C++ jeśłi nie czujesz się na siłach.

----------

## TAXIarz

Chcialem jeszcze podac taki interesujacy tytul, wydaje sie dla tych co są przed matura z informatyki. 

To co powinno byc na poczatku nauki myslenia - wprowadzenie do programowania, a czesto w szkolach tak nie jest.

Czyli najpierw projekt (myslenie), potem klepanie (nudne?) w klawiaturke. A nie odwrotnie. 

Algorytmy. Wydanie zmienione

Maciej M. Sysło

Oczywiscie poziom podrecznika to szkola srednia

(teraz zdaje inaczej to sie nazywa).

Czekam na komentarze tego podrecznika!

----------

## bacouch

 *TAXIarz wrote:*   

> Algorytmy. Wydanie zmienione
> 
> Maciej M. Sysło
> 
> Czekam na komentarze tego podrecznika!

 O ile dobrze pamietam po przeczytanie najpierw Cormena malo z tej ksiazki sie dowiedzialem, przeczytal bodajze tylko dwa rozdzily (choc nie jestm pewien bo nie mam teraz tej ksiazki przy sobie).

Ale jezeli chodzi o algorytmy to moj matematyk polecil mi "Matematyka konkretna" i "Matematyka dyskretna". Jeszcze nie moge zbytnio ocenic tych ksiazek bo przeczytalem bodajze po 2 rozdzialy z kazdej i to dobry rok temu i jakos nie mialem czasu zeby do nich wrocic, ale 4 miechy wakacji przede mna wiec pewnie znajde troche czasu  :Very Happy:  .Ale musze powiedziec ze na pierwszy rzut oka jest tam duzo ciekawych rzeczy.

----------

## kontomen

Ja akurat C uczyłem się z Kernighana i Ritchiego (ANSI C) i dobrze mi to szło, chociaż wiele osób jest niezadowolonych z tego podręcznika, który - btw - jest polecaną pozycją do nauki C u mnie na studiach (informatyka, Politechnika Poznańska). Co do algorytmów to u nas podstawą jest Cormen (jak wszędzie chyba) i - od biedy - Wirth. Może się też przydać "Kombinatoryka dla programistów" Witolda Lipskiego. Idąc dalej w stronę C++ to oczywiście Symfonia i - imho również bardzo dobry podręcznik - C++ Eckela.

----------

## totencham

Ja się uczę C++ z "Symfoni C++" Jerzego Grębosza i szczerze polecam tą książkę. Teksty autora są za mocne  :Razz: 

----------

## nelchael

Polecam http://www.merlin.com.pl/frontend/towar/273036 - dosc ciekawa pozycja dla zaawansowanych.

----------

## mati_pl

To dorzucę moje 2 grosze:

Z algorytmiki można zapoznać się z "Niebieskimi książeczkami", do ściągnięcia z www.oi.edu.pl, zawierającymi zadania wraz z opracowaniami z kolejnych olimpiad i pogromców algorytmów.

Chyba fajnym materiałem jest "C++ bez cholesterolu" - http://www.intercon.pl/~sektor/cbx/.

A jak ktoś chce poćwiczyć swoje umiejętności, to oprócz wspomagania open-sourcowych programów zawsze można porozwiązywać jakieś zadanka, czy to z ACMu, czy np. ze SPOJa (zrobiłem tam 32 zadania  :Very Happy:  ).

----------

## larry_

Mi osobiście przypadły do gustu pozycje: JĘZYK C. SZKOŁA PROGRAMOWANIA i JĘZYK C++. SZKOłA PROGRAMOWANIA - Stephen Prata. Szczerze je polecam  :Very Happy: 

Ostanio, bardzo przypadkowo natknąłem się na świetną książkę, w której wszystko opiera się na GCC - Język C. Wprowadzenie do programowania - Stephan G. Kochan. Co o niej myślicie?

----------

## Kodie

 *mati_pl wrote:*   

> To dorzucę moje 2 grosze:
> 
> Z algorytmiki można zapoznać się z "Niebieskimi książeczkami", do ściągnięcia z www.oi.edu.pl, zawierającymi zadania wraz z opracowaniami z kolejnych olimpiad i pogromców algorytmów.
> 
> 

 

Ta.... chociaż czase m wyjaśnienia są bardziej skomplikowane niż rozwiązanie zadania  :Very Happy: 

 *Quote:*   

> A jak ktoś chce poćwiczyć swoje umiejętności, to oprócz wspomagania open-sourcowych programów zawsze można porozwiązywać jakieś zadanka, czy to z ACMu, czy np. ze SPOJa (zrobiłem tam 32 zadania  ).

 

Pewnie:) albo http://opss.safo.biz

Co co c++, to musze stwierdzić, że Symfonia ma jednem poważny minus, jest podstarzała, używa starych nagłówków, itp... Na to trzeba zwracać uwagę  :Smile:  Poza tym ściągnij sobie manual STL na dysk ułatwia sprawę  :Smile: 

----------

## red.13

Powtórzę to co inni już napisali, ale na pewno najlepsze trzy książki dostępne u nas po polsku to (które ja znalazłem):

ANSI C Kerrighana i Ritchiego wraz z rozwiązaniami

oraz

Wskaźniki w C Kenneth A. Reek

i

Czytanie kodu (coś o open source)

Pierwsza książka to absolutnie podstawa. Kiedy już ją przerobisz i dogłębnie zrozumiesz  :Wink:  zajmij się wskaźnikami (tytuł dość mylący ponieważ cała książka jest o wielu aspektach C tzn. o cały języku). Kiedy ta kasiążeczka będzie dla ciebie banałem  :Very Happy:  to przejżyj Czytanie kodu by wiedzieć co robić gdy już podłączysz się do jakiegoś projektu.

Ja nie trawię C++, ale w dzisiejszych czasach wydaje się przymusem znanie tego języka, dlatego po poznaniu C zajmij się C++ (nie dlatego, że C++ jest dużo trudniejszy, ale po to by mieć solidne podstawy oparte na najważniejszym języku).

----------

## Gogiel

Dzisiaj przegladajac helion.pl natknalem sie na ksiazke http://helion.pl/ksiazki/czytko.htm

Czytal to ktos?

----------

## Peter15

A co byście polecali do nauki gui i obsługi systemu Linux przez c++. Może jeszcze coś o opengl znacie  :Question:  Kiedyś czytałem że powstała książka o programowaniu gier pod linuksem. Jest gdzieś jeszcze  :Question: 

----------

## tomcio

Ja zaczalem pisac pod linuksem po lekturze "Zaawansowane programowanie w systemie Linux" wyd. Helion

----------

## Kurt Steiner

Jakiś czas temu wapdła mi ręce książka "Unix. Programowanie systemowe" (autorzy: Keith Haviland, Dina Gray, Ben Salama; wydawnictwo RM; 1999). Muszę przyznać, że książka (moim skromnym zdaniem  :Wink:  ) jest bardzo przystępna - dobre omówienie zagadnień, śladowe ilości błędów, niewiele nieściśłości i brak tekstów z kosmosu. Owszem doskonała może nie jest, ale jest naprawdę dobra. Polecam początkującym programistom systemowym  :Very Happy:   .

A co z zasobami sieci? Znacie cos _sprawdzonego i naprawde wartościowego_?  :Wink: 

----------

## ath4r

 *red.13 wrote:*   

> 
> 
> Ja nie trawię C++, ale w dzisiejszych czasach wydaje się przymusem znanie tego języka, dlatego po poznaniu C zajmij się C++ (nie dlatego, że C++ jest dużo trudniejszy, ale po to by mieć solidne podstawy oparte na najważniejszym języku).

 

Teoretycznie tak.. ale ja gdzies czytałem ze lepiej jest odrazu wziąść się za C++ i programowac w stylu C++ a nie uczyc sie C a pozniej przezucac sie na C++ i mieszać "styl" C z C++.. Ja mam książke "C++ Programowanie" Herberta Schildt'a i puki co jest dobra. Jest tam na początku opis jezyka C, nastepnie drugi rozdział jest o C++ (jako uzupełnienie dopiero co poznanego C).. jezyk nie jest tak przystępny jak w Symfonii C++ ale da sie zrozumiec  :Smile: 

----------

