Wątek przeniesiony 2022-09-30 02:12 z C/C++ przez Riddle.

Skąd uczyć się C?

0

Poleci ktoś jakąś książkę do nauki C, nie C++? Książka ANSI C wydaje mi się być za trudna na początek.

A ten kurs może być : https://videopoint.pl/kurs/jezyk-c-kurs-video-praktyczne-wprowadzenie-do-programowania-adam-bobowski,vprojc.htm#format/w ?

2

Ja chyba czytałem coś podobnego jak ANSI C i było fajne, ale wiele lat temu.
Weź przeczytaj i potem programuj i po jakimś roku odczytaj coś jeszcze i tyle, reszta to w trakcie doczytasz.

Każdy tutaj się uczy w ten sposób, że po małym kawału analizuje wszystko i jak będziesz wytrwały to każdy zakamarek sprawdzisz swojego języka i nie potrzebujesz żadnej książki i żadna książka ci tego nie da co własna ciekawość, tylko musisz testować i zastanawiać się czy da się coś w dany sposób zrobić i tego szukać, lub samemu wykombinować.

3

wrzucałem ostantio do materiałów z sieci, stallman wypuścił darmowy podręcnzik do C
https://4programmers.net/Forum/C_i_C++/140817-Materialy_dostepne_w_sieci?page=4

5

Mało znany fakt: ( :P) Po ANSI C (zwanym też C89/C90) powstały też kolejne wersję C99, C11, C17 i trwają prace nad C2x prawdopodobnie będzie to C23. Szukając czegoś do nauki szukałbym właśnie żeby uwzględnione były nowe wersje czyli C11 i C17

0

Dobra na początek : https://helion.pl/ksiazki/jezyk-c-programowanie-dla-poczatkujacych-wydanie-iii-greg-perry-dean-miller,jcprpo.htm#format/d ?

Chcę sobie na szybko obczaić teorię a potem kodzić

2

Trudna sprawa, nie wiem czy w ogóle istnieje cokolwiek godne polecenia, bo stare uznane ksiażki uczą starego C, nie biorą pod uwagę nowych cech jezyka, ani tego, że kompilatory co raz lepiej optymalizują kod. W sumie trudno oczekiwać innego stanu rzeczy, bo obecnie to już zupełnie niszowy język (nasuwa się pytanie, po co ci to)… Sam też w sumie nie czytałem żadnej książki o C. Po prostu robiąc zadania, na bieżąco szukałem rozwiązań w sieci, potem robiłem rzeczy na własne potrzeby… Może to jest sposób?

0

kurs c dla zaawansowanych

0

A jeszcze jedno umiesz jakiś język programowania czy to twój pierwszy?

C niby mi się wydaje, że się nie rozwija, ale podobno się rozwija.

Ale patrzę z perspektywy innych języków i mam pythona async dobra,
mam javascript async await ok,
mam C++ mam async ok.
Sprawdzam to samo w C i też mam async, ale każdy język reprezentuje zupełnie inny świat.

Mi tam pasuje, najlepsze języki to C i C++, C uczysz się podstaw i potem rozszerzasz się w C++.

W C masz wszystko strukturalnie, w C++ tylko to ładnie opakowujesz i rozwiązują z tobą problemy cały język.
Przykładowo masz obiekt i możesz go przekładać między obiektami zmieniając właściciela i osoba, która go odda ła nic nie dealokuje bo nic nie ma, dość niskopoziomowo to wszystko się odbywa, trzeba o wszystkim myśleć i z mojej perspektywy to jest bardzo interesujące, jak C dobrze opanujesz opanuj też C++, ale jak do pracy pewnie javascirpt i java będą ci bardziej służyły.

1

@Szalony Programista2:

Dalece się nie zgodzę w obowiązek przejścia w C++. O ile C jest lingua franca programowania, należy go znać choćby kontynuować karierę w innych językach, to
a) znajomość C++ na piątkę to chyba tylko Pan Bóg
b) jest niszowy w skali produkcyjnej
c) de facto zabity przez szalony i chaotyczny rozwój - choć niestety jeszcze żyje

Szalony Programista2 napisał(a):

A jeszcze jedno umiesz jakiś język programowania czy to twój pierwszy?

Dopiero tzreci dobrze poznany jezyk odsłania głębokie patrzenie na pierwszy poznany.
Nie warto @doskanoness długo toczyć świętych wojen, jaki pierwszy poznać, bo prawie na pewno nie będziesz z niego zawodowo żył.

4

Książka ANSI C wydaje mi się być za trudna na początek.

Nie zaczynaj od ANSI C. Ten standard to już nawet nie trąci myszką, ale śmierdzi starym trupem. Nawet Linus przyznał, że jakby odpowiednio wcześnie przerzucili się na C99 mieliby mniej błędów bezpieczeństwa.. Nie wliczając jakiejś egzotyki, każdy nowy projekt w tym również mikroprocki, dają możliwość programowania w C99 i od tego polecałbym zacząć. C99 jest bardzo popularny wśród programistów C programujących na PC lub konsole, więc na pewno jest sporo materiałów do znalezienia.

1

Z własnego doświadczenie strony mogę polecić:

  1. Czytanie i uruchamianie istniejących programów - prostych, przykładowych, np. pochodzących z dokumentacji lub dołączonych do środowiska programistycznego.

  2. Czytanie istniejących programów - praktycznych ("produkcyjnych"), ale bez przesady z ich skomplikowaniem. Np. stare wersje kernela Linux się do tego nadają, tylko trzeba podchodzić z rozsądkiem, żeby nie narobić sobie złych nawyków, bo sporo się pozmieniało.

  3. Czytanie dokumentacji. Jeśli chodzi o bibliotekę standardową C, to moim zdaniem nadaje się glibc, tu znajdziesz dokumentację:

  1. Oraz przede wszystkim manuale dostępne w systemie - polecenie man.

  2. Zrozumienie, czym różni się plik nagłówkowy od biblioteki i jaka jest różnica pomiędzy #include a linkowaniem :P

  3. Oprócz języka i biblioteki, poznawanie narzędzi towarzyszących normalnej pracy - zupełna podstawa to make i gdb.

  4. Pracę i pisanie pod różnymi systemami operacyjnymi (Linux, FreeBSD, OpenBSD). Można to robić np. wykupując VPSy z odpowiednimi systemami.

  5. Na każdym z powyższych etapów pisanie własnych programów i wykorzystywanie nowo poznawanych elementów języka i biblioteki na bieżąco.

2

Pewnie lepsze byłyby książki od posixa ale...

Do C to tylko
K&R, reszty raczej nie warto. Nie przejmuj się, że tu niektórzy mówią, że ansi C to stare dziadostwo etc.
To nie jest język który się strasznie zmienił przez tyle lat. Nowinki szybko douczysz.
Polecam obczaić też #C na irc libera ( dawniej freenode ).

Jak coś napisz na priv. C to mój ukochany język i na pewno chętnie coś więcej doradzę ale
musiałbym wiedzieć co do tej pory umiesz i co byś chciał umieć. etc.

A ten kurs to sobie podaruj ( nie rób go ).

1 użytkowników online, w tym zalogowanych: 0, gości: 1