"Szkoła Programowania" Prata. Wyd. V

"Szkoła Programowania" Prata. Wyd. V
Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

Czy w 2021 roku warto uczyć się c++ od zupełnego zera z książki "Szkoła Programowania", ale wydania starszego, 5.

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:dzień
  • Lokalizacja:Szczecin
2

Biorąc pod uwagę, że i 6 jest uznawana za słabą - imho nie.


Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

@kq: Ok. Wiem, że jest tego dużo także na tym forum, ale z jakiej książki więc uczyć się c++? Jak czytałem wątki na ten temat to prawie zawsze była tam wspominana książka Praty.

AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
1

Ode mnie: C++ primer Lippmana, potem Effective modern Meyers’a.

EDIT: Cppcon ma też na YT serię prelekcji „back to basics”, warto się z tym zapoznać.

Ciekawą pozycją może być też nowy Josuttis (C++17 the complete guide), ale nie czytałem jej - strzelam na podstawie bardzo dobrej jakości książek o move semantics i templatkach.

edytowany 1x, ostatnio: alagner
Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

A coś po polsku?

edytowany 1x, ostatnio: Bartishio 8
CE
  • Rejestracja:około 4 lata
  • Ostatnio:około 3 lata
  • Postów:48
3

@Bartishio 8: Po polsku to tylko podręcznik do nauki angielskiego.

UglyMan
To chyba się bardzo czasy zmieniły przez ostatnie 20 lat, bo ja się uczyłem programowania tylko z książek po polsku. W tamtych czasach nawet nie było m nie stać na inne, bo kosztowały po 500 pln.
CE
To prawda - zmieniły się. Podstawowych konceptów oczywiście można się nauczyć z polskich książek, ale spróbuj znaleźć coś mniej podstawowego jak templaty, semantyka przenoszenia itd. Jedyny sposób na zdobycie ponadpodstawowej wiedzy po polsku to pytania na tym forum.
Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

A więc bez znajomości języka angielskiego nie nauczę się c++?

CE
Jeżeli chcesz pracować w C++ to jest to bardzo trudne, żeby osiągnąć taki poziom bez angielskiego. Jeżeli chcesz tylko liznąć podstaw to bierz pierwszą lepszą książkę po polsku.
DR
@Bartishio 8: Książka techniczna w jakimkolwiek języku niż orginalny (nie/stety większość jest po ang) mają sporo błędów, bo ciężko jest tłumaczyć takie koncepty. Więc może być tak, że nauczysz się czegoś co jest kometnie błędne. I akurat w książce Praty w pl jest masa takich błędów.
DR
No i mnie by się nie chciało dwa razy tego samego uczyć. Bo jak nauczysz się po pl, to potem i tak po ang trzeba będzie bo w zespole np. będzie jeden obcokrajowiec. I zamiast dziedziczenie będzie inheritance itd. Teraz też spotkałem się, że w coraz większej ilości firm rekrutacja jest po ang. nawet jeśli pracujesz w polskim zespole
pylaochos
Nie. Dokumentacja i sama semantyka itd. też jest w angielskim. Jak nie chcesz go używać to źle trafiłeś/trafiłaś.
P1
  • Rejestracja:ponad 3 lata
  • Ostatnio:ponad 3 lata
  • Postów:22
2

Warto, ale warto również mieć więcej książek, o ile w ogóle lubisz czytać. C++ jest wymagającym językiem i często będziesz mieć taką sytuację, że pewien temat będzie lepiej rozpisany w jednej książce, a w drugiej np. poruszony tak pobieżnie. W jednej będą fajne przykłady, a w drugiej to pomarzyć można.

Co do angielskiego to bez przesady da radę nauczyć się C++, ponieważ mnóstwo dobrych książek o C++ przetłumaczono na nasz język, jak ktoś już ogarnie większość podstawowych konstrukcji to będąc na anglojęzycznej stronie z próbkami kodu C++ będzie mógł łatwiej okreslić co właściwie znaczą te angielskie słowa. Tak też się da :-)

edytowany 1x, ostatnio: pprog123
AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 3 lata
  • Postów:1493
0

@pprog123: które z nowszych uznanych autorów poza Stroustrupem i Meyersem?

To może zabrzmieć uszczypliwie, ale nie jest wcale moim celem wyzłośliwianie się: bez znajomości angielskiego umożliwiającej efektywne czytanie dokumentacji i słuchanie prelekcji odcinasz się od ogromnej ilości specjalistycznej wiedzy, która praktycznie "leży na ulicy" (i nie mówię tylko o C++, mówię też o C, Pythonie... całej branżuni w sumie); o karierze nawet nie mówię, bo brak "lengłydża" masę drzwi zamyka. W tym zawodzie raczej nie obejdzie nikogo czy masz pięknego "ti-ejdża" czy mówisz "zys iz". Także po polsku polecam na początek to https://a.allegroimg.com/s512/117156/0e1518ea42749197003f5ea822bd/Gramatyka-angielska-dla-poczatkujacych-Siuda

P1
Z C++ już nie mam wielkiej styczności więc nie wiem jak bardzo się zmienił ten język, ale gdybym miał zaproponować coś na start to poleciłbym następujące książki, bo były ciekawe i wciągające: 1) Symfonia 2) Thinking in C++ 3) C++ dla programistów gier. 4) Strategie i taktyki C++. 5) Język C++. Metaprogramowanie za pomocą szablonów. 6) C++. 50 efektywnych sposobów na udoskonalnie Twoich programów 7) Język C++. Standardy kodowania. 101 zasad, wytycznych i zalecanych praktyk.
AL
Nr. 5 to Josuttis i Vanderwoorde?
Miang
  • Rejestracja:prawie 7 lat
  • Ostatnio:3 minuty
  • Postów:1661
4
Bartishio 8 napisał(a):

A coś po polsku?

Grębosz


dzisiaj programiści uwielbiają przepisywać kod z jednego języka do drugiego, tylko po to by z projektem nadal stać w miejscu ale na nowej technologii
PerlMonk
W końcu napisałaś coś w poście i można Ci łapkę dać :D
p_agon
Z multikonta tez :D
AL
@PerlMonk: :D :D :D :D @Miang jak jest z tymi jego nowymi książkami? Bo Symfonię i Pasję znam, obiektywnie poza kodem po polsku tam raczej nie ma czego się przyczepić, ale styl mi totalnie nie pasował. Zgaduję, że tu będzie podobny?
Miang
styl taki sam, też mi nie pasował, dopóki dzięki Symfonii nie dostałam 5 na egzaminie ;) a teraz jestem już zmęczona czytaniem bardzo naukowych książek więc Opus to miła odmiana
CK
@alagner Opus Magnum - to prawie to samo co Symfonia - kosmetyczne zmiany - czytałem tylko Opus - ale przeglądałem też Symfonię - taki sam układ rozdziałow mniej więcej a nawet prawie te same zdania użyte w obu
Waran3
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Lokalizacja:Zielonka
  • Postów:103
1

Ja jadę z "Opus magnum C++11." ;-)
Mam taki system...trochę czytam i na bazie zdobytej wiedzy robię jakis mały projekt.
Wymyślam program i go piszę. Jak mam problemy to pytam tutaj na forum. :-)


edytowany 1x, ostatnio: Waran3
Bartishio 8
Bartishio 8
Czy czasem C++ 11 to nie jest już przestarzała wersja?
Miang
@Bartishio 8: zależy czy chcesz szukać pracy czy pisać artykuły naukowe ;)
several
@Bartishio 8: przecięż książka o którą pytasz w tytule tematu używa jeszcze starszego standardu. C++11 przestarzały a C++03 jest w porządku? Dobre zrozumienie C++11 jest bardzo ważne, w C++14 i C++17 dodawano głównie nowe ficzery do biblioteki a nie do języka, dlatego nie fiksowałbym się ne nie zbytnio.
Bartishio 8
Bartishio 8
Czyli kupno i nauka z tej książki to dobry pomysł? Lepszy od książki Praty?
AL
@Bartishio 8: przeskok z 98 do 11 jest ogromny, 11 do 17 to głównie stdlib/kosmetyka. Kolejnym „dużym” standardem wydaje się być 20, ale on jeszcze nigdzie nie działa chyba w pełni :p
Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

Jeśli chcę się nauczyć podstaw oraz umieć napisać niezbyt skomplikowane programy w C++ to mogę uczyć się z Opus magnum C++11? A Pratę odrzucić? Mój angielski to A2 może B1, więc to za mało na książki po angielsku.

Zobacz pozostałe 2 komentarze
Miang
to kupuj Opus magnum
CK
Skoro znasz jako tako angielski to polecam kupić jednak w dwoch wersjach językowych - i tak będziesz się musiał nauczyć angielskich odpowiednikow - zamiast tablica; musisz znać array, zamiast wskaźnik; pointer itd. A Opus jest dobry ale nie nauczy cię angielskiego - wymaganego słownictwa. Prata i Grębosz to porownywalne książki wprowadzające, z tym że Pratę możesz kupić także po angielsku - więc osobiście wolałbym Pratę. Ale primer Lippmana od praty jest jednak lepszy, więc brałbym Lippmana
CK
Teraz jeszcze nie kupuj nic ze standardu c++20 bo mi żaden kompilator z tym standardem nie działa - ten standard dużo wprowadza. Ale też nie ucz się z książek ktore nie wspierają c++11 - także nie kupuj V wydania Praty - to tylko sugestia
Miang
Praty nie znam, ale w czasie studiów jednak uważałam że Lippman jest za trudny
CK
Uważam, że Pratę i Lippmana po I tomie Grębosza czyta się bez problemów - ale rzeczywiście dla nie mających styczności z programowaniem lepiej przeczytać 1 tom Grębosza najpierw. Nawet dobrze jest znać Grębosza bo Prata lubi udźiwniać: deklarację funkcji lubi nazywać prototypem - co wprowadza trochę zamieszania terminologicznego
UH
  • Rejestracja:ponad 5 lat
  • Ostatnio:12 miesięcy
  • Postów:10
1

Osobiście nie czytałem ale dla początkujących polecana jest też "Programming: Principles and Practice Using C++". Uwzględnia standard C++14. Dostępna jest też polskie tłumaczenie "Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie III".

edytowany 1x, ostatnio: UczonyHumanista
Bartishio 8
Bartishio 8
  • Rejestracja:około 4 lata
  • Ostatnio:ponad rok
  • Postów:15
0

Jeszcze mam jedno pytanie czy cpp0x.pl to dobra strona z kursem c++?

edytowany 1x, ostatnio: Bartishio 8
CE
Zła, przestarzały kurs.
CE
Dodatkowo odpaliłem na szybko i znalazłem dwa błędy w kursie, więc błędny i przestarzały.
RE
  • Rejestracja:ponad 18 lat
  • Ostatnio:29 minut
0

W kwestii literatury temat powtarza się co jakiś czas. Ostatni raz chyba 3-4 miesiące temu. Także świeży. Tam zajrzeć najlpeiej.


We are the 4p. Existence, as you know it, is over. We will add your biological and technological distinctiveness to our own. Resistance is futile
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)