Nauka C++ a język C

Odpowiedz Nowy wątek
2011-08-14 14:14
1

Od października zaczynam studia informatyczne na uniwerku. Jako że mam obecnie wolny czas chciałbym go jakoś spędzić w bardziej wartościowy sposób, oraz odciążyć się z podstaw programowania na studiach. Z tego co widziałem pierwszy semestr zacznie się od języka C. Jest wiele zwolenników nauki C->C++ jak i samego C++. Ostatnio czytałem wiele opinii że warto poznać najpierw język C lecz googlując znalazłem inny ciekawy poradnik (http://www.intercon.pl/~sektor/cbx/cbx.html) który zachęca do pominięcia tego języka. Teraz już sam nie wiem jak się za to zabrać. Chciałbym poznać Waszą opinię-ludzi którzy w tym siedzą. Czy dobrym pomysłem jest nauka C++ (wiedząc że na studiach zaczniemy C), czy jednak lepiej zacząć od samego C ? Trochę zawile to napisałem, mam nadzieje że każdy zrozumiał. Pozdrawiam

Pozostało 580 znaków

2011-08-14 14:53
LazzaR
1

To, co zaczniesz się uczyć przez wakacje powtórzy Ci się na pierwszych zajęciach w programowaniu. Możesz zacząć od czego chcesz, i tak za dużo w tak krótkim czasie nie zaczarujesz ;-) argumentem nad nauką C zamiast C++ może być to, że przy znajomości pierwszego nauka drugiego będzie o wiele łatwiejsza (dużo rzeczy będzie oczywistych).

Pozostało 580 znaków

2011-08-14 14:57
1

Ucz się C. Tzn printfy/ scanfy/ fready itp ogólnie stdio i takie tam sprawy. Na studiach powinieneś mieć zajęcia z algorytmiki, a tam ważne jest wyciśnięcie maksymalnej wydajności. Dlatego strumienie (np iostream) odpadają przy zadankach z algorytmów. Z drugiej strony C++ ma STLa - bardzo pomocna biblioteka, ma np bardzo wydajny algorytm do sortowania tablic (o ile nie są to tablice referencji, wtedy możnaby wymyślić jakiś własny, być może szybszy).

Sam język C jest bardzo prosty, a z drugiej strony C++ to rozszerzenie C. Nie ma więc powodów, abyś nie uczył się obu naraz (oczywiście zakładając, że nauka C++ to nie nauka C).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-08-14 15:00
1

Ja osobiście odradzałbym Ci zaczynanie od języków C, czy C++, bo prawda jest taka, że wykonanie ciekawego programu w tych językach wymaga nie lada umiejętności i oczytania. Dość dużo kruczków tu występuje dlatego te języki wg mnie nie są idealnym rozpoczęciem programowania. Sugerowałbym, abyś nie uczył się programowania na wzgląd uczelni, a własnych potrzeb bądź ciekawości. Zacznij od pythona.

Pozostało 580 znaków

2011-08-14 15:50
1
absent napisał(a)

Zacznij od pythona.

Uważasz że rozpoczęcie nauki od języka dynamicznie typowanego jest dobrym pomysłem? Wg mnie powinno się zacząć od języka z silną kontrolą typów. Osobiście nie polecałbym rozpoczynanie nauki od C++, ale od C jak najbardziej.

Jasne, że tak uważam. Inaczej krzyczałbym głośno C++ i tylko C++. Heh. - absent 2011-08-14 17:33
Ja też uważam ze Python ze względu na wymóg stosowania wcięć. Dobry nawyk. - Razi91 2011-08-14 19:08

Pozostało 580 znaków

2011-08-14 16:01
1

Na studiach i tak jest wałkowany C/ C++ i do tego C# lub Java (u mnie na UJ najwięcej jest chyba Javy, oprócz C/ C++). Nauka Pythona mu niewiele da. Nauka C wręcz przeciwnie.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-08-14 17:38
0

Jeśli celem jest pobawienie się pamięcią, czy wykonanie kilku prostych algorytmów. Jasne, lepiej w takim razie zacząć od C. Jednak dla mnie tego typu ruch jest po prostu głupi, bo gdy adept będzie chciał wykonać coś bardziej kreatywniejszego to wtedy będzie miał kajdany na łapach. Wykonanie programu gui, aplikacji sieciowej czy cokolwiek innego będzie w C czy C++ znacznie większą trudnością niż w Pythonie. Jeśli was bawią zapasy z językiem niech sobie ten gość i w Asm programuje. Ja mówię za siebie, że nauka pływania nie powinna zaczynać się od skakania na główkę.

Pozostało 580 znaków

2011-08-14 17:48
1

Po pierwsze trochę dziwne, że ktoś idzie na studia informatyczne, a nie zna C. Po drugie, skoro na uczelni nie używa się Pythona, to po co się go teraz uczyć zamiast C? Chyba lepiej na luzie pouczyć się C/ C++, po których łatwo się nauczyć Javy czy C#, a gdy się nabierze ochoty na robienie GUI czy innych pierdół, to się pouczyć Pythona? Zwłaszcza, że na 90%+ na studiach będzie robił GUI, ale w Javie lub C#, a nie w C++ czy Pythonie.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2011-08-14 18:10
0

Po pierwsze trochę dziwne, że ktoś idzie na studia informatyczne, a nie zna C
Nie jest to dziwne, ale naturalne. Większość osób jaka zaczyna studia informatyczne to typowi turyści, którzy idą na studią bo mają w domu PC. Nie ma się co dziwić, ale też nie ma sensu robić z tego powodu jakiegoś wielkiego HALO, bo może autor okaże się bystrym programistą. Kto to wie?

Po drugie, skoro na uczelni nie używa się Pythona, to po co się go teraz uczyć zamiast C?
Bo python jest łatwiejszy i doświadczenie wynikające z programowania na pewno przyda się w ogarnięciu C.

Chyba lepiej na luzie pouczyć się C/ C++, po których łatwo się nauczyć Javy czy C#, a gdy się nabierze ochoty na robienie GUI czy innych pierdół, to się pouczyć Pythona?
Nie wiem co Ci się nie podoba w pythonie. Uważasz, że po nim trudniej ogarnąć kolejny język?

edytowany 2x, ostatnio: absent, 2011-08-14 18:11

Pozostało 580 znaków

2011-08-14 18:26
1
absent napisał(a)

Po drugie, skoro na uczelni nie używa się Pythona, to po co się go teraz uczyć zamiast C?
Bo python jest łatwiejszy i doświadczenie wynikające z programowania na pewno przyda się w ogarnięciu C.

Nie przyda się. Python ma bardzo rozbudowaną bibliotekę standardową i dynamiczne typowanie co oznacza dwie zupełne inne podejścia do pisania programu.

absent napisał(a)

Chyba lepiej na luzie pouczyć się C/ C++, po których łatwo się nauczyć Javy czy C#, a gdy się nabierze ochoty na robienie GUI czy innych pierdół, to się pouczyć Pythona?
Nie wiem co Ci się nie podoba w pythonie. Uważasz, że po nim trudniej ogarnąć kolejny język?

To nie jest tak że się nam coś w pythonie nie podoba, python to bardzo dobre narzędzie dla programistów które ma skrócić ich pracę i ułatwić proces wytwarzania aplikacji. Tylko że autor, jeśli dobrze zrozumiałem, programistą jeszcze nie jest. Po pythonie łatwiej ogarnąć kolejny język skryptowy, ale jeśli chodzi o naukę języków obecnie mainstreamowych w niczym nie pomaga. Gdyby autor nie zawęził wyboru do dwóch języków poleciłbym mu scalę, ale że do wyboru jest C albo C++ to ja doradzam C. Tobie też radzę nie mieszać autorowi w głowie i wciskać mu technologię o której pewnie wcześniej nie słyszał.

(edit literówki)

edytowany 1x, ostatnio: several, 2011-08-14 23:48

Pozostało 580 znaków

2011-08-14 18:32
1

absent:
Chodzi mi po prostu o kolejność nauki. Jeśli autor ma te półtora miesiąca do końca wakacji i chce na ludzie ogarnąć C, to po co go męczyć przez te półtora miesiąca jeszcze Pythonem? W tak krótkim czasie cudów nie zdziała, a nauka dwóch języków naraz na pewno jest bardziej czasochłonna i pracochłonna.

Można zrobić analogię do twojej porady. Np autor ma sobie zrobić prawo jazd kat B w ciągu dwóch miesięcy, a ty mu proponujesz, żeby na początku pojeździł sobie motorem, bo jest szybszy, zwinniejszy, mniej pali i łatwiej się jeździ. To jest bez sensu, bo i tak musi nauczyć się jeździć samochodem i będzie praktycznie tylko nim jeździł, a nauka jazdy motorem + samochodem na pewno jest dłuższa niż nauka jazdy samym samochodem.

Jak pójdzie na studia to pozna wiele języków i wybierze sobie jaki tam chce, będzie też pewnie miał kolegów, którzy znają się dobrze na innych językach niż C/ C++. Nie ma co odwracać kota ogonem.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 1x, ostatnio: Wibowit, 2011-08-14 18:32

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