Od czego zacząć naukę programowania?

8

Dla wszystkich poczatkujacych polecam zapoznanie sie z artykulem:

http://4programmers.net/Z_pogranicza/FAQ/Jaki_j%C4%99zyk_programowania_wybra%C4%87

0

Dziękuję:) mnie sie artykuł na pewno przyda, idę sobie poczytac

5

W XML-u raczej trudno się programuje.
W XSL / XSLT trochę łatwiej...

Zamiast JScript / VBScript dałbym CoffeScript - byłoby bardziej na czasie.

  1. O co chodzi w tym zdaniu?
    Jeśli chcesz pisać skrypty dla aplikacji, musisz liczyć się z tym, że twoja platforma docelowa nie będzie darmowa.

  2. W kompilatorach i środowiskach C++ brakuje

  1. Z komentarzy do C++ (?) wywaliłbym te:
  • Łatwy do nauki podstaw
  • Łatwy w użyciu
  1. Do środowisk Javy dodałbym:
  • OpenJDK
  1. W zdaniu:
    Java \ Komentarze
    W niektórych wersjach obsługuje platformę .NET
    dodałbym link do:
  1. Link Python \ Najczęstsze zastosowania \ programowanie gui
    jest nieaktualny

  2. Do Python dodałbym środowiska IDE:

  1. W Python w zdaniu:
    *umożliwia łatwą współpracę z modułami napisanymi w C/C++ (m. in. CPython) *
    podałbym raczej nazwy Boost.Python, SWIG

  2. Do PHP \ Środowiska trzeba dodać:

  1. Z komentarzy do Delphi usunąłbym słowo "popularny" (chlip, chlip).
    Niestety określenie nieaktualne (biorąc pod uwagę aktywność na Torry, D-S-P i oferty pracy).

  2. W C++ \ komentarze w zdaniu:
    W niektórych wersjach obsługuje platformę .NET
    dodałbym "(C++/CLI)".

  3. W komentarzach do Javy trzeba dodać "obliczenia numeryczne i naukowe". Nieco to dziwi biorąc pod uwagę brak unsigned, ale tak jest.
    Jest masa książek o zastosowaniach naukowych w Javie i kilka znalezionych niedawno stron:

0

Do kolegi @up dorzuce:

"Kompilatory i środowiska
*Microsoft Visual C++ Toolkit (Windows), Microsoft Visual C++ (Windows) (również jako składnik Visual Studio 2008, darmowe w wersji Express Edition)"
Wyrzucilbym ten rok ;)

0
vpiotr napisał(a):
  1. W C++ \ komentarze w zdaniu:
    W niektórych wersjach obsługuje platformę .NET
    dodałbym "(C++/CLI)".

Oraz "Managed Extensions". To co innego niż C++/CLI, a skoro "niektórych wersjach" jest w liczbie mnogiej, warto byłoby znaleźć mnogi przykład ;-)

0
Azarien napisał(a):
vpiotr napisał(a):
  1. W C++ \ komentarze w zdaniu:
    W niektórych wersjach obsługuje platformę .NET
    dodałbym "(C++/CLI)".

Oraz "Managed Extensions". To co innego niż C++/CLI, a skoro "niektórych wersjach" jest w liczbie mnogiej, warto byłoby znaleźć mnogi przykład ;-)

To stara wersja C++/CLI, do tego ze statusem "deprecated", nie wiem czy jest sens to wspominać.
Nazwa nieużywana od 2005 roku, tak piszą tutaj:

http://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B

0

Nie, ponieważ ten kurs to oferta od frajerów dla frajerów.

0

dlaczego? korzystałeś z niego?

1

@aroCFC - wystarczy przejrzeć spis treści aby to stwierdzić.

0

to co polecacie?

0

Zacznij od tego: http://xion.org.pl/productions/texts/coding/megatutorial/
Wiele osób zachwala ;)

0

A ja mam pytanie z innej beczki - czy warto kupować książki do nauki programowania, czy może jednak dziś już wszystko można znaleźć online? Nie ukrywam, że literatura fachowa jest dość droga, a ja dopiero zaczynam i nie wiem czy "złapię bakcyla" ;-)

0
zosiak1989 napisał(a):

A ja mam pytanie z innej beczki - czy warto kupować książki do nauki programowania, czy może jednak dziś już wszystko można znaleźć online? Nie ukrywam, że literatura fachowa jest dość droga, a ja dopiero zaczynam i nie wiem czy "złapię bakcyla" ;-)

To kwestia stylu nauki jaki preferujesz, może być:

  • kompletnie bez książki, opierając się na darmowych dokumentach referencyjnych i manualach + tutoriale + praktyka
  • częściowo z książką (najciekawsze elementy) + praktyka
  • najpierw książka, potem praktyka

Jest jeszcze kwestia ebook (PDF) vs druk. Ja osobiście wolę druk.

Jeśli masz zrobić program "na wczoraj" na zaliczenie lub do obsługi gaszenia/zapalania świateł na choince to możesz zaoszczędzić i nie kupować książki. Jeśli chcesz mieć głęboką wiedzę, to książka pozwala objąć temat bardziej całościowo niż znalezione przypadkiem gdzieś na sieci tutoriale.

Do niektórych języków jedna książka nie wystarczy. Tak jest na pewno z C++ i Java.
Co do języków skryptowych to do podstaw wystarczy jedna.

0

Wydaje mi się, że książka wymagana jest tyko na wyższe poziomy w rozwoju, gdy wchodzimy w wybrane kwestie języka. Ja akurat Jave próbowałem zacząć z książką ale było to kiepskie połączenie. Ważniejsza jest praktyka programowania i to przebija każdą książkę na początku, książka może służyć jako uzupełnienie wiedzy lub rozwinięcie kwestii. Start proponuje zacząć o własnych siłach i najlepiej z C/C++ lub z dość przestarzałym Pascalem ale tylko dlatego aby zrozumieć rządzące zasady. Według mnie większą uwage warto zwrócić na środowisko programistyczne i na bazowy język jakim chcemy operować, czy np. z C pójdziesz a Asemblera i będziesz jednym z najlepiej płatnym specjalistą czy jednak zdecydujesz się na C# itp.

Internet powie ci wszystko co chcesz wiedzieć na początku.

0

Ja bym zaczął od Pascala (może być Turbo), później C, C++.

Następnie jakieś okienka - BordlandBuilder i później co Ci będzie potrzebne do pracy.

0

To w końcu mili drodzy od czego proponowalibyście zacząć naukę programowania? Jaki wybrać język na początek? Pytam się, bo nie mogę w tej dyskusji znaleźć odpowiedzi.

1
franczyk napisał(a):

To w końcu mili drodzy od czego proponowalibyście zacząć naukę programowania? Jaki wybrać język na początek? Pytam się, bo nie mogę w tej dyskusji znaleźć odpowiedzi.
No to koniecznie musimy (specjalnie dla ciebie) tę dyskusję zacząć od początku. Oczywiście wiesz że większość argumentów jest subiektywna więc nikt nie zmieni zdania?

0
_13th_Dragon napisał(a):
franczyk napisał(a):

To w końcu mili drodzy od czego proponowalibyście zacząć naukę programowania? Jaki wybrać język na początek? Pytam się, bo nie mogę w tej dyskusji znaleźć odpowiedzi.
No to koniecznie musimy (specjalnie dla ciebie) tą dyskusję zacząć od początku. Oczywiście wiesz że większość argumentów jest subiektywna więc nikt nie zmieni zdania?

Rozumiem subiektywność. Ale jako doświadczenie programiści. Macie już swoje przyzwyczajenia. Ja bym chciał zacząć dobrze programować w jednym języku. Również w takim, który jest na czasie i daje większym zaawansowaniu więcej możliwości. Dlatego cały czas zastanawiam się, który język wybrać jako pierwszy? By później nie żałować straconych godzin.

3
franczyk napisał(a):

By później nie żałować straconych godzin.
Z takim podejściem idź w dziennikarstwo.

0

@franczyk to Ty się chcesz nauczyć programować czy nauczyć składni jakiegoś WYBRANEGO języka ? zdecyduj się w końcu.

1

Naprawdę szczególnie polecam Ci na początek język batch (*.bat). Ja od tego uczyłem się programować. Naprawdę bardzo prosty język. A jeżeli już go opanujesz, polecam Ci język C# i środowisko visual studio.

0

Siema.
Uczę się obecnie Javy. Mam pytanie, ale nie jest to pytanie z cyklu jaki jezyk wybrac.
A raczej "Jak samodzielnie się uczyć?"

Wydaje mnie się, że każde źródło do nauki jest dobre, albo też w dużym stopniu zależy to co komu pasuje, rodzaj edukacji. Widze tutaj:

  1. dokumentacje
  2. tutoriale, kursy, videokursy itp.
  3. ksiazki
  4. czytanie kodu
  5. rozwiazywanie zadań np. SPOJ
  6. własna rzeźba
    (nie licze tutaj jakby edukacji szkolnej, bo chodzi o samodzielna nauke)

Jakieś porady odnośnie odpowiedniego podejścia? Czy obranej drogi?
Póki co w jakimś tam stopniu przerobiłem 2 kursy + mam ksiazke, ktorą chce przerobic w jakims stopniu.

Starać się łapać podstawy podstaw i próbować pisać coś swojego? W sensie poprzez cel.
Bo nie specjalnie czuje bym cos wielce umial gdy przerabiam jakis suchy material.

Przepisywanie to coś normalnego i pożądanego czy raczej powinienem starać się dojść do wszystkiego sam?

PS. Trochę nie wiem jak uniknąć powtarzania się materiału, czy może to trochę też dobre? dla utrwalenia? ;)

0

Może to być trudne na początek bez znajomości technologii, ale najważniejsze w programowaniu nie jest samo klepanie kodu, czy przerabianie kursów w stylu "jak osiągnąć upragniony efekt". Najważniejsze jest umiejętne zaprojektowanie swojego kodu. Czyli na sam początek przyswój sobie UML i wzorce projektowe, kiedy stosować dziedziczenie, kiedy nie. Nie polecę tutaj jakichś specjalnych materiałów dedykowanych dla Javy. W książce "C++ dla Programistów Gier" całkiem fajnie opisują kwestie programowania obiektowego, na odpowiednich przykładach.

Jeśli chodzi o znajomość Javy, to na początek bym zwrócił szczególną uwagę na obsługę kontenerów (HashMap, ArrayList), zmienne statyczne, no i najbardziej podstawowa rzecz, operator new.

Najlepszy sposób nauki zależy tylko od Ciebie. Ja uczyłem się programować na własnych przykładach (coś chciałem osiągnąć i szukałem materiałów na ten temat, przerabianie na sucho kursów dla mnie się nie sprawdza). Jak wymyślisz sobie projekt, który chcesz zrealizować, to siłą rzeczy spełnisz przynajmniej kilka podpunktów, które wymieniłeś:
1 - będziesz czytał dokumentacje użytych bibliotek,
2 - będziesz przerabiał tutoriale i kursy na tematy, które obecnie rozpracowujesz,
4 - będziesz czytał kod z tutoriali, innych projektów itp.,
6 - będziesz pisał własny kod.

Jeśli chodzi o przepisywanie kodu, to na początek jest dobre. Tylko myśl co piszesz i ucz się jak działa każda nowa funkcja, czy operator.

2
Spine napisał(a):

najważniejsze w programowaniu nie jest samo klepanie kodu, czy przerabianie kursów w stylu "jak osiągnąć upragniony efekt". Najważniejsze jest umiejętne zaprojektowanie swojego kodu. Czyli na sam początek przyswój sobie UML i wzorce projektowe, kiedy stosować dziedziczenie, kiedy nie

Nie zgadzam się
Najpierw trzeba sobie dużo pokodzić żeby zobaczyć na jakie problemy się natrafia
inaczej czytając o wzorcach ciągle będzie sobie zadawał w głowie pytanie "wtf" i "po co tak komplikować skoro można to zrobić strukturalnie dużo prościej"

Po napisaniu samemu kilku średniej wielkości aplikacji czytając o wzorcach ma się w głowie "genialne", "miałem dokładnie identyczny problem" i "gdzie by to można było jeszcze zastosować"
wiem to po sobie po tym jak po roku czasu przeczytałem od początku tę samą książkę

Zaczynanie nauki programowania od wzorców projektowych to bardzo kiepski pomysł
Natomiast uczenie się UMLa i próba zaprojektowania czegoś gdy nie zna się podstaw zakrawa o absurd

0

Dzięki za wypowiedz. Tak tez myslalem by do tego podejsc, że sobie coś wymyśle i bede sie staral to rozwiazac.
Chociaz ogolna dostepnosc programow roznego rodzaju troche zabija wyobraznie ;)

Ale przyznam, ze na poczatek postaram sie nieco liznąć suchych faktów, by wiedzieć mniej więcej gdzie czego szukać i po prostu się obklikać, by to weszło bardziej w krew. Zwykła 'zabawa' z IDE i jak mi samo to narzędzie może pomóc sporo mi dała. Czyli mimo wszystko chce trochę na początek "poklepać"

dzieki.

0

Wymyśl sobie co chcesz zrobić. Zapytaj ogólnie na forum jakich technologii przy tym warto użyć. Spróbuj zakodować, gdy zacznie działać pokaż na forum kod. Przyjmij z pokorą komentarze, popraw kod według zaleceń i znowu pokaż. Być może znowu przyjmij z pokorą komentarze. Czynności powtórz kilka razy.

0
fdsgdsgd napisał(a):
Spine napisał(a):

najważniejsze w programowaniu nie jest samo klepanie kodu, czy przerabianie kursów w stylu "jak osiągnąć upragniony efekt". Najważniejsze jest umiejętne zaprojektowanie swojego kodu. Czyli na sam początek przyswój sobie UML i wzorce projektowe, kiedy stosować dziedziczenie, kiedy nie

Nie zgadzam się
Najpierw trzeba sobie dużo pokodzić żeby zobaczyć na jakie problemy się natrafia
inaczej czytając o wzorcach ciągle będzie sobie zadawał w głowie pytanie "wtf" i "po co tak komplikować skoro można to zrobić strukturalnie dużo prościej"

Dlatego cytowany przez Ciebie tekst poprzedziłem słowami Może to być trudne na początek bez znajomości technologi. Po prostu nakierowałem gościa na inny tok myślenia, żeby nie zatracał się w samej implementacji ale pomyślał też trochę o architekturze swojego kodu.

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