Nauka języka C

Odpowiedz Nowy wątek
2017-07-03 17:13
0

Witam wszystkich. Na wstępie chciałem zaznaczyć że jestem tu nowy. Bardzo chciałbym nauczyć się programować w języku C i tu moje pytanie. Skąd czerpać najlepiej wiedzę? Dodam że kompletnie nic nie umiem i chciałbym zacząć od podstaw. Polecacie jakieś książki może fora internetowe? I drugie pytanie czy język C pomaga w nauce innych języków?

Pozostało 580 znaków

2017-07-03 17:19
0

Jeśli chodzi o język C, to jest to chyba najlepszy kurs w polskiej sieci.
https://pl.wikibooks.org/wiki/C

Tak, znajomość języka C zdecydowania pomaga w nauce innych języków programowania, a także pomaga w pisaniu lepszego i szybszego kodu.

edytowany 2x, ostatnio: jpacanowski, 2017-07-03 17:21
ok, wiec jak C ma sie do jezykow funkcyjnych. Bo IMO C# bedzie lepszy pod jezyki funkcyjne (juz pomijajac ze po prostu zaczac sie jezyka funkcjyjnego) - fasadin 2017-07-04 10:52

Pozostało 580 znaków

2017-07-03 17:24
0

A dlaczego wybrałeś język C? Jest to język przeznaczony do dosyć wąskiej grupy oprogramowania.

Znakomita książka dla początkujących (tak samo jak edycja dotycząca C++):
http://helion.pl/ksiazki/jezy[...]e-vi-stephen-prata,jcszp6.htm


"Learn C, instead of just stringing random characters together until it compiles (with warnings)."
Paulo Coelho
edytowany 1x, ostatnio: perotin, 2017-07-03 17:26
Wybrałem C bo znajomi mi powiedzieli że po dobrym opanowaniu go można uczyć się łatwo innych języków. A jaki inny język byś polecił? - Kacpib18 2017-07-03 17:41
C# albo Python. To są przyjemne języki i materiałów (darmowych) w sieci jest mnóstwo. Pamiętaj, że C nie ma obiektowości, która jest podstawową cechą innych, popularnych języków. - perotin 2017-07-03 18:28
Zapomnij o znajomych, uwierz w nas. - perotin 2017-07-03 18:29

Pozostało 580 znaków

2017-07-03 18:27
0

Mogę polecić, oprócz powyższej:

  1. Język ANSI C. Programowanie. Wydanie II - Brian W. Kernighan, Dennis M. Ritchie
  2. Programowanie w C. Sprytne podejście do trudnych zagadnień, których wolałbyś unikać (takich jak język C) - Zed A. Shaw

Internetowe kursy języka C pokazują zazwyczaj prostą semantykę języka, pomijając większość kluczowych zagadnień, takich jak działanie kompilatora, czy skromną bibliotekę tego języka.

Pozostało 580 znaków

2017-07-03 18:47
0

Tak, C pomaga w nauce innych języków, bo masa innych języków ma bardzo podobną składnię do niego. Choć nauka innego języka niż C też pomoże w nauce innych języków, ale być może w mniejszym stopniu poprzez np. duże różnice w składni.

edytowany 2x, ostatnio: arkadiusz97, 2017-07-03 18:48

Pozostało 580 znaków

2017-07-04 10:15
0

Czemu chcesz zaczynać od języka C? Jest bardzo trudny jak na początek. Przynajmniej w dzisiejszych czasach. Wybierz sobie jakiś prostszy język, np. C#. Jak w nim ogarniesz o co chodzi w programowaniu, to wtedy możesz zejść do C.

C to jeden z prostszych języków. Chodziło Ci o C++? - vpiotr 2017-07-04 10:50
popieram vpiotra. C sam w sobie jest bardzo prosty i przejrzysty. Oprocz wskaznikow i unii w C nie ma nic skomplikowanego (mozna zrobic kod skomplikowany ale nie jako jezyk sam w sobie) - fasadin 2017-07-04 10:53
dokładnie. C jest prosty i przejrzysty - karolinaa 2017-07-04 11:12
Chodzi mi właśnie o te wskaźniki, unie, stringi i inne smaczki, które trzeba oprogramować w głupi sposób. Nie mówię, że nie warto, bo zawsze warto wiedzieć, jak działają takie rzeczy na niższych poziomach. Ale żeby zaczynać od prostszych rzeczy. Oczywiście wszystko jeszcze zależy, co ma być oprogramowywane. Bo jeśli zwykłe aplikacje konsolowe albo okienkowe, no to wielka bida. Ale jeśli sterowniki, czy coś niskiego, no to już inna gadka. - Juhas 2017-07-04 11:39

Pozostało 580 znaków

2017-07-04 11:05
5

C warto znać na tej samej zasadzie co ASM.
W C możesz zrobić dowolny soft - wystarczy dużo silnej woli.
W innych językach, nawet jeśli jesteś biegły, niektórych rzeczy nie dasz rady zrobić.
Można np. się ograniczyć do stacku webdev (typu PHP + JavaScript + CSS + HTML), ale wtedy taki osobnik nie powinien się nazywać programistą (może jakimś inżynierem ds. aplikacji webowych).
Wg mnie książka Prata jest przesadzona. 1024 strony o tym języku brzmi jak okrutny żart ("przeczytaj to a potem już wszystko będzie dla Ciebie banałem"). To sporo za dużo jak na książkę o podstawach.

Od siebie polecam niezmiennie K&R (328 stron) - http://helion.pl/ksiazki/jezy[...]n-dennis-m-ritchie,jansic.htm
chociaż dzisiaj może być już lekko nieaktualna.


Szacuje się, że w Polsce brakuje 50 tys. programistów

Pozostało 580 znaków

2017-07-04 11:49
0

Też polecę jak kolega @vpiotr K&R jak dla mnie nie ma lepszej książki fajnie wprowadzającej w tematykę języka C.

Pozostało 580 znaków

2017-07-04 11:54
1

@vpiotr: Cała prawda. C bardzo dobrze znać. Poza tym dla mnie C ma w sobie tę niskopoziomowość, która kiedyś strasznie mi się podobała. Uwielbiałem bawić się zarządzaniem pamięcią i wskaźnikami. Wiele się dzięki temu nauczyłem. Później idąc w języki wysokopoziomowe widać w jakim kierunku to wszystko wyewoluowało. Nie masz problemu ze zrozumieniem takich rzeczy jak typ referencyjny czy typ wartościowy w takim C#. Znając C można sobie ich działanie odpowiednio skojarzyć. Nauczysz się wykrywać wycieki pamięci za pomocą valgrind, a co za tym idzie dobrze pamięcią zarządzać.

Zobaczysz jak np. dynamiczna alokacja pamięci za pomocą malloc i free w C wyewoluowała do postaci new i delete w C++ aż po gołe new w językach wysokiego poziomu. Przekonasz się na własne oczy czym grozi przesyłanie wielkich obiektów przez wartość zamiast przez wskaźnik. Tego w językach wysokopoziomowych nie widać, bo np. klasa jest tam z definicji typem referencyjnym. Mnóstwo jest zalet takiej nauki.

Dla mnie np. było to fascynujące.

edytowany 3x, ostatnio: grzesiek51114, 2017-07-04 12:06
Taki mały szczegół, w c++ też da się użyć samego new bez delete, bez późniejszego wycieku pamięci używając np. unique_ptr, jeśli miałeś na myśli po prostu brak konieczności zwalniania pamięci. - arkadiusz97 2017-07-04 12:29
Tak, tak wiem ale miałem na myśli takie pure old school memory allocation - grzesiek51114 2017-07-04 12:39

Pozostało 580 znaków

2017-07-04 20:05
0

Napisz na priv.

Ewentualnie pogadamy na irc I polecę Ci to i owo.

Pzdr.

Pozostało 580 znaków

2019-09-11 21:47
0

Podbijam, od jakich książek/ materiałów warto zacząć naukę języka C ? Może wątek już trochę umarł, więc myślę iż warto odświeżyć :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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