konto usunięte

Temat: Kurs programowania C++

Witam Was :)

Czy nie wie ktoś przypadkiem o jakichś w miare tanich kursach programowania w C++ lub w Fortranie na terenie Krakowa lub zna książki do nauki tych języków, które są godne polecenia dla mało zaawansowanych programistów ??

Jakie wg Was języki programowania są przydatne do opanowania i od czego zacząć naukę, by móc pisać samodzielnie proste programy inżynierskie ?

konto usunięte

Temat: Kurs programowania C++

Paweł Bochacik:
Witam Was :)

Czy nie wie ktoś przypadkiem o jakichś w miare tanich kursach programowania w C++ lub w Fortranie na terenie Krakowa lub zna książki do nauki tych języków, które są godne polecenia dla mało zaawansowanych programistów ??

Jakie wg Was języki programowania są przydatne do opanowania i od czego zacząć naukę, by móc pisać samodzielnie proste programy inżynierskie ?

Coś na początek:
http://www.cplusplus.com/
http://www.developerfusion.com/tag/cpp/
http://www.cprogramming.com/
http://www.codeproject.com/ (zorientowane na Microsoft)
http://oreilly.com/pub/topic/cprog

Generalnie najłatwiej Ci będzie zacząć od Visual C++ 2008 Express.
Tylko jeśli użyjesz ich biblioteki GUI (MFC czy coś) to program nie będzie przenaszalny do innego systemu. Do GUI polecam biblioteki wxWidgets lub Qt.

Najlżejsze środowisko do ściągnięcia to Borland C++ 5.5 + jakiś edytor tekstowy. W sumie zamknie się w kilku MB.

Możesz też spróbować z Dev-C++, Eclipse CDT lub Netbeans C++, tylko że to duże pakiety.

Do zadań naukowych zwykle stosuje się Fortran, ale go nie znam, więc piszę o C++. Można jeszcze spróbować zabawę z Pythonem. Jest wiele narzędzi do szybkiego i łatwego złożenia rozwiązań naukowych w tym języku, ale nie wiem jak z jego wydajnością. Na pewno mniejsza od C++. W C++ za to będzie problem z wykresami (można się posiłkować biblioteką GD lub pakietem GnuPlot).

Zobacz:
http://www.scipy.org/Piotr Likus edytował(a) ten post dnia 23.05.09 o godzinie 10:05
Piotr T.

Piotr T. programista GIS,
analityk GIS,
(www.cgis.pl)

Temat: Kurs programowania C++

Paweł Bochacik:
Witam Was :)

Czy nie wie ktoś przypadkiem o jakichś w miare tanich kursach programowania w C++ lub w Fortranie na terenie Krakowa lub zna książki do nauki tych języków, które są godne polecenia dla mało zaawansowanych programistów ??

Jeśli chodzi o książkę do C++ to zdecydowanie:
Jerzy Głębosz "Symfonia" (2 tomy)
a potem ten sam autor i 2 tomy "Pasja"
Lepszej książki do nauki nie znajdziesz :)

Co do reszty to się nie znam i nie będę wypowiadał :)

konto usunięte

Temat: Kurs programowania C++

Piotr Tracz:
Co do reszty to się nie znam i nie będę wypowiadał :)
Ja jestem pod wrażeniem Podstawy języka C++ (S. B. Lipman)
Jerzy M.

Jerzy M. C#/JavaScript
Developer

Temat: Kurs programowania C++

Co do Grębosza to jak ktoś lubi lanie wody, to i w sumie Thinking in C++ można Eckela. Dla osób którzy lania wody nie tolerują ponoć dobrym wyborem jest ksiązka Stroustrupa (przynajmniej trochę osób tak uważa, osobiście nie czytałem jeszcze)

A tanich to jest masa kursów na necie, chociaż tylko jeden mogę polecić z czystym sumieniem bo reszta często gęsto jest nierzetelna: megatutorial xiona.
Przemysław Czatrowski

Przemysław Czatrowski Engine Programmer,
CD Projekt RED

Temat: Kurs programowania C++

@up: z Xion'em jestem na roku na studiach ;)

książka Stroustrupa - czyste konkrety, w końcu to gość, który opracował C++

Grębosz "Symfonia" i "Pasja" - polecam, jeżeli chodzi o obrazowe przykłady, miejscami spore lanie wody, ale książka przystępna

megatutorial Xion'a - zdecydowane tak, jeżeli chodzi o część "podstawy programowania" i "zaawansowane C++" (chociaż za dużo w tak krótkiej formie nie da się tego opisać), reszta to wg mnie trochę wodolejstwo ;)

jeżeli chodzi o narzędzia, to pod Windows lepszego niż Visual Studio nie znajdziesz, pod linuksem pisałem tylko w C (gcc) więc nie mogę Ci za bardzo doradzićPrzemysław Czatrowski edytował(a) ten post dnia 23.05.09 o godzinie 14:31

konto usunięte

Temat: Kurs programowania C++

A co sądzicie o środowisku Eclipse IDE ??
Kolega doradza mi żeby w tym środowisku programować w C++,bo jest on podobno bardzo dobrze opracowany (ma wbudowany kompilator, edytory tekstowe itp.) i ciągle się rozwija, czyli nie jest przestarzały tak jak np. Turbo C++, w którym pierwszy raz zetknąłem sie z jezykiem C.

Podsyłam linka : http://www.eclipse.org/

Ewentualnie Dev C++ : http://www.bloodshed.net/devcpp.html

Nie doradzał mi za to specjalnie Visual Studio. Co Wy o tym sądzicie?? Jaka jest różnica pomiędzy środowiskami Dev C++ a Eclipse IDE ?? Czy to prawda że pod Eclipse mozna tez pisać w języku Fortran ?? Czy kod źródłowy pisany w Matlabie jest przenośny rówież na te środowiska ??

Zapraszam do dyskusji :)
Jerzy M.

Jerzy M. C#/JavaScript
Developer

Temat: Kurs programowania C++

z tym Turbo to byś uważał, bo jest 'nowa edycja' ;-)

Eclipse niewątpliwie jest lepsze od devcpp i zdaje się w Fortranie można pisać, ale nie wiem czemu odradzał Visuala który wg. mnie jest lepszy od Eclipse a co do podanych argumentó za Eclipse no to cóż... wszystkie IDE to mają to (w zasadzie to jest definicja IDE).
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Kurs programowania C++

Paweł Bochacik:
Czy nie wie ktoś przypadkiem o jakichś w miare tanich kursach programowania w C++ lub w Fortranie na terenie Krakowa lub zna książki do nauki tych języków, które są godne polecenia dla mało zaawansowanych programistów ??

imho C/C++ jest jak sztuki walki, tego nie da sie od tak nauczyc, tylko trenowac trenowac i dalej trenowac :P

dobrze miec thinking in c++ - przydatna ksiega jezeli chodzi o teorie i zeby sobie czasem przypomniec jak sie cos robilo
a co do samej praktyki to google twym pasterzem nie brak ci niczego no i oczywiscie wszelkiej masci manuale
Jakie wg Was języki programowania są przydatne do opanowania i od czego zacząć naukę, by móc pisać samodzielnie proste programy inżynierskie ?

wszystkie, dopiero gdy masz problem do rozwiazania to wybierasz do niego odpowiednie narzedzie

na devcpp uwazaj bo to mocno przeterminowany produkt, moje srodowisko to:

- linuch/unix
- Eclipse CDT
- GCC
- zimne piwo :)Łukasz Cepowski edytował(a) ten post dnia 24.05.09 o godzinie 10:09
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: Kurs programowania C++

Po pierwsze, zacznij od C.
Kernighan & Ritchie "Język ANSI C" taka książeczka jest w sumie wszystkim czego potrzebujesz.

C jest prosty, logiczny i nie ma pułapek.

Chcąc zastosować w praktyce i zrozumieć Windows - Charles Petzold "Programowanie Windows" np. 98 (jest parę wersji, niestety najnowsze o C#). Przy okazji zaznajomisz się z MSVC.

Jak już będziesz rozumiał C, wtedy można sobie mącić umysł kruczkami ++. O wiele łatwiej się zorientować co Stroustrup miał na myśli wiedząc jak działa to co leży pod spodem. Jak piszą koledzy, Symfonia i Pasja -rozwlekłe to fakt ale bardzo przyjazne.

Ja polecam MSVC (niekoniecznie najnowsze), jest wygodne, szybkie, małe i świetnie zintegrowane z tym do czego służy - Win32.

konto usunięte

Temat: Kurs programowania C++

Paweł Bochacik:



Ewentualnie Dev C++ : http://www.bloodshed.net/devcpp.html

Jak masz używać Dev C++ to już lepiej to http://www.codeblocks.org/
Ostatnio nawet się rozwija choć miało dość duże przestoje. Ściągasz z MinGW jak na Windowsa to masz całkiem wygodne lekkie środowisko. Druga alternatywa jak dla mnie dla Windowsa to MSVC Express. Po pierwsze primo: darmowe , po drugie primo całkiem wygodne i według mnie sensownie zrobione. Express oczywiście ma kilka ograniczeń których nie maja wersje wyższe ale znajdziesz na internecie szybko jak je zastąpić/obejść.
Miłej zabawy z C++.

konto usunięte

Temat: Kurs programowania C++

Dodałbym jeszcze, że dobrze byłoby uczyć się C++ z angielskiej książki. Przyda się to do pracy w zagranicznej firmie w Polsce lub za granicami Polski. Mam "C++ Primer" S.B. Lippmana (polski odpowiednik: "Podstawy języka C++") i podobnie jak Kamil - też ją sobie chwalę.
Jakub L.

Jakub L. Programista

Temat: Kurs programowania C++

Szymon Kubisiak:
Po pierwsze, zacznij od C.
Kernighan & Ritchie "Język ANSI C" taka książeczka jest w sumie wszystkim czego potrzebujesz.

C jest prosty, logiczny i nie ma pułapek.

Chcąc zastosować w praktyce i zrozumieć Windows - Charles Petzold "Programowanie Windows" np. 98 (jest parę wersji, niestety najnowsze o C#). Przy okazji zaznajomisz się z MSVC.

Jak już będziesz rozumiał C, wtedy można sobie mącić umysł kruczkami ++. O wiele łatwiej się zorientować co Stroustrup miał na myśli wiedząc jak działa to co leży pod spodem. Jak

To zależy co się ma piasć.
Jeżeli jakieś rzeczy wykorzystujące STL, Boost i takie tam, to dogłębna znajomość C może być tylko stratą czasu.
Jak się chce zejść bliżej systemu, albo embeded, to C się przydaje.
Ja polecam MSVC (niekoniecznie najnowsze), jest wygodne, szybkie, małe i świetnie zintegrowane z tym do czego służy - Win32.

Tiaa, jak mu na przykład odbije i stwierdzi, że symbole w #ifdef to zdefiniowane nie są, to jest straszliwie wygodne hektary szarego tekstu.
Oczywiście symbole zdefiniowane są, kod się wewnątrz #ifdefów kompiluje i wykonuje, ale nie działa tam intellisense, kupa radości.
Podobnie jak update onego intellisense. 2005 VC.

Eclipse CDT dawało w miarę radę, ale w nim robiłem tylko małe poprawki do kodu który poszedł do kompilacji pod linuxa.

konto usunięte

Temat: Kurs programowania C++

Tomasz Krzal:
Dodałbym jeszcze, że dobrze byłoby uczyć się C++ z angielskiej książki. Przyda się to do pracy w zagranicznej firmie w Polsce lub za granicami Polski. Mam "C++ Primer" S.B. Lippmana (polski odpowiednik: "Podstawy języka C++") i podobnie jak Kamil - też ją sobie chwalę.

Zgadzam się. Książki angielsko-języczne są zwykle bardziej strawne, bo jest to o wiele szerszy rynek i nie wystarczy przedrukować helpa żeby dobrze sprzedać podręcznik - liczy się także elokwencja i jednocześnie prostota przekazu. Darmo tego szukać w doktoranckich podręcznikach dla szkół wyższych.

A przy okazji - w VC 2008 kod już nie szarzeje, ale czasami na chwilę znika nagłówek funkcji (biały fragment ekranu).Piotr Likus edytował(a) ten post dnia 25.05.09 o godzinie 20:41
Artur Kęska

Artur Kęska Senior Software
Developer, XNet
Communications

Temat: Kurs programowania C++

A ja dla początkujących polecam Qt SDK. Ja używam tego do - nazwijmy to - "zastosowań domowych" czyli raczej hobbystycznie (w samym Qt pisałem parę lat temu zawodowo). Wydaje mi się, że dla kogoś kto stawia pierwsze kroki w C++ to jest generalnie rewelacyjne rozwiązanie, i to nie tylko po to, żeby robić GUI (choć oczywiście jest to podstawowe zadanie dla samej biblioteki Qt).
Warto dodać, że z SDK dostaje się komplet, czyli (na win32) kompilator mingw, biblioteki i dosyć prymitywne, ale całkiem funkcjonalne IDE. Widzę, że jest też jakiś support do Eclipse, przypuszczam, że z CDT, ale nie wiem, nie używałem.

Aha, i nie zgodzę się z Szymonem - jak chcesz uczyć się C++ i programowania obiektowego, to nie zaczynaj od C - okropne nawyki ludziom po tym zostają. Przejście w drugą stronę powinno być prostsze.
Łukasz C.

Łukasz C. Senior Technical
Architect

Temat: Kurs programowania C++

Artur Kęska:
nie zaczynaj od C - okropne nawyki ludziom po tym zostają.

np jakie? ja bym powiedzial ze jest odwrotnie, naumie sie taki c++ a pozniej ciezko naklepac prosty szybki program w C, bo tu ani boosta ani nawet stl a o wskaznikach i alokacji pamieci pojecie blade :P
albo kluci sie ze w C nie da sie pisac obiektowo i dziedziczenia sie nie da zrobic :SŁukasz Cepowski edytował(a) ten post dnia 26.05.09 o godzinie 09:52

konto usunięte

Temat: Kurs programowania C++

Łukasz Cepowski:
Artur Kęska:
nie zaczynaj od C - okropne nawyki ludziom po tym zostają.

np jakie? ja bym powiedzial ze jest odwrotnie, naumie sie taki c++ a pozniej ciezko naklepac prosty szybki program w C, bo tu ani boosta ani nawet stl a o wskaznikach i alokacji pamieci pojecie blade :P
albo kluci sie ze w C nie da sie pisac obiektowo i dziedziczenia sie nie da zrobic :SŁukasz Cepowski edytował(a) ten post dnia 26.05.09 o godzinie 09:52

Wszystko sie da, pozostaje pytanie po co? :)
Artur Kęska

Artur Kęska Senior Software
Developer, XNet
Communications

Temat: Kurs programowania C++

Łukasz Cepowski:
Artur Kęska:
nie zaczynaj od C - okropne nawyki ludziom po tym zostają.

np jakie? ja bym powiedzial ze jest odwrotnie, naumie sie taki c++ a pozniej ciezko naklepac prosty szybki program w C, bo tu ani boosta ani nawet stl a o wskaznikach i alokacji pamieci pojecie blade :P
albo kluci sie ze w C nie da sie pisac obiektowo i dziedziczenia sie nie da zrobic :SŁukasz Cepowski edytował(a) ten post dnia 26.05.09 o godzinie 09:52


Mam na myśli trochę wyższy poziom abstrakcji. Jasne, że jak ktoś świetnie posługuje się C to pisze dobry kod. Jednak pisanie w C++ od początku, zmusza do myślenia obiektowego. W C mimo wszystko ludzie myślą przeważnie proceduralnie. Potem to myślenie jest przenoszone na C++ i powstają klasy o kiepsko zdefiniowanych kontraktach, bez określenia co robią a nie jak robią.
Oczywiście, to jest raczej kwestia podejścia do samego programowania, a nie samego języka, ale korzystając od początku z narzędzi obiektowych, człowiek nabiera nawyków, które potem przydają się gdzie indziej.
Ja z resztą, zupełnie zielonym doradzam raczej zaczęcie od Java, potem przejście na C++ (już człowiek wie czego nie używać) a potem dla twardzieli zostaje C.

Mam jednak wniosek, z tej dyskusji, że trzeba by uczyć tego, co później w życiu będzie potrzebne. Problem polega na tym, że świeżo upieczony adept nie ma pojęcia, czy będzie pisał sterowniki czy hurtownie danych.

Aha, w praktyce nie ma małych prostych programów.
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: Kurs programowania C++

Jakub L.:
Szymon Kubisiak:
Ja polecam MSVC

Tiaa, jak mu na przykład odbije i stwierdzi, że symbole w #ifdef to zdefiniowane nie są, to jest straszliwie wygodne hektary szarego tekstu.
Oczywiście symbole zdefiniowane są, kod się wewnątrz #ifdefów kompiluje i wykonuje, ale nie działa tam intellisense, kupa radości.
Podobnie jak update onego intellisense. 2005 VC.

Eclipse CDT dawało w miarę radę, ale w nim robiłem tylko małe poprawki do kodu który poszedł do kompilacji pod linuxa.

ugh. Pracując 6 lat na różnych wersjach MSVC nie widziałem takiego efektu jak mówisz nigdy. Pracując od 3 miesięcy na Carbide (będącym wersją Eclipsa) widywałem ten efekt nieustannie...
(dopóki nie zamieniłem na #ifndef)
Artur Kęska:
Aha, i nie zgodzę się z Szymonem - jak chcesz uczyć się C++ i programowania obiektowego, to nie zaczynaj od C - okropne nawyki ludziom po tym zostają.

Nawyki by nie używać templatów, 10piętrowego dziedziczenia, STLa, boosta dopóki nie są potrzebne?
A może nawyk nie używania MFC do opakowania jednego okienka?
Artur Kęska:
Przejście w drugą stronę powinno być prostsze.

Oczywiście że jest prostsze. Dla kogoś kto przygodę z programowaniem zaczął od stdout << "hello" << " world"; (hmm, skąd się wziął operator string << string ? ) albo od rozwiązania zagadki dlaczego
class CFoo foo = 5;
a
class CFoo foo;
foo = 5;


generują kompletnie inny kod - dla zaprawionego w takich bojach wszystko już jest proste.
Po prostu w C wszystko jest tym na co wygląda, dlatego polecam go do nauki. No, ale ja uważam że naukę pływania lepiej zacząć od styropianowej deski niż stalowej kuli. Nie trzeba się z tym zgadzać :)

> Przemysław O.:
Łukasz Cepowski:
albo kluci sie ze w C nie da sie pisac obiektowo i dziedziczenia sie nie da zrobic :S

Wszystko sie da, pozostaje pytanie po co? :)

Stawiasz sprawę na głowie. Właściwie postawiony problem brzmi : po co zaprzęgać skomplikowane technologie, skoro prostsze dają radę?

KISS, ważniejsze od każdej książki i kursu :)
Szymon Kubisiak

Szymon Kubisiak Developer aplikacji
mobilnych Android

Temat: Kurs programowania C++

Artur Kęska:
Jednak pisanie w C++ od początku, zmusza do myślenia obiektowego. W C mimo wszystko ludzie myślą przeważnie proceduralnie.

Ja widzę rzesze ludzi wpychających procedury i zmienne do klas na siłę. Opakowują je staticami i się cieszą że mają piękny obiektowy kod, bo użyli "class".
Chamski global pozostaje chamskim globalem, obiektowy zapis służy większości tylko do ukrycia problemu. Wobec tego nawet myślenie proceduralne to już krok naprzód.
Potem to myślenie jest przenoszone na C++ i powstają klasy o kiepsko zdefiniowanych kontraktach, bez określenia co robią a nie
jak robią.
Oczywiście, to jest raczej kwestia podejścia do samego programowania, a nie samego języka
Otóż to. Np. całe Win32 api jest ściśle obiektowe, w czystym C :)
Obiektowość to sposób myślenia, język jest bez znaczenia.
, ale korzystając od początku z narzędzi obiektowych, człowiek nabiera nawyków, które potem przydają się gdzie indziej.
Wybacz, ale zabrzmiało marketingowo - co znaczą "narzędzia obiektowe" ?
Ja z resztą, zupełnie zielonym doradzam raczej zaczęcie od Java, potem przejście na C++ (już człowiek wie czego nie używać) a potem dla twardzieli zostaje C.

Ja i zielonym i wszystkim innym odradzam javę w ogóle :) wg mnie programowanie w javie sprowadza się do wiedzy jak się nazywa coś robiące to czego właśnie potrzeba. Słownik.
Cytując Agenta Smitha : "never send a human to do a machine's job" :)
Mam jednak wniosek, z tej dyskusji, że trzeba by uczyć tego, co później w życiu będzie potrzebne. Problem polega na tym, że świeżo upieczony adept nie ma pojęcia, czy będzie pisał sterowniki czy hurtownie danych.

Dlatego polecam C, bo pokazuje jak działa komputer. Na tej wiedzy można dalej bazować.

Aha, w praktyce nie ma małych prostych programów.
Za wyjątkiem tych które programista pisze dla ułatwienia sobie życia : )

Następna dyskusja:

Kurs języka C++




Wyślij zaproszenie do