Jak zacząć?

0

Poszukuję porad dotyczących tego jak zacząć przygodę z programowaniem. Skłaniam się ku C++, znam podstawy podstaw i szukam czegoś dalej. Czegoś co mogłoby mnie mocno wciągnąć równocześnie rozwijając moje skille. Macie jakieś pomysły? Dodam, że chciałbym więcej działać, niż czytać.

3
ajaskier napisał(a):

Poszukuję porad dotyczących tego jak zacząć przygodę z programowaniem.

http://4programmers.net/Forum/Szukaj

0

Napisz grę roguelike w konsoli, to był mój pierwszy większy projekt w C++ :)

0

Dokładnie chodzi mi o coś takiego o czym mówi ODFh. O przeskok z teorii na praktyke. Nie potrafie sobie wyznaczać zadań, znaleźć motywacji.

1

Proponuję jeszcze do tego zapoznać się z podstawami algorytmów i struktur danych.

0

Jest jakaś pozycja/strona, która wg Was sprzyja ogarnieciu algorytmow? Od zupelnego zera?

0

Możesz poszukać wykładów z różnych uczelni (np. ważniak). Od siebie polecam książkę Cormena "Wprowadzenie do algorytmów", aczkolwiek jest tam sporo więcej niż podstawy i w sumie można się zniechęcić ;)

0
ajaskier napisał(a):

[...] szukam czegoś dalej. Czegoś co mogłoby mnie mocno wciągnąć [...]

ajaskier napisał(a):

Nie potrafie [...] znaleźć motywacji.

Najpierw odpowiedz sobie na pytanie, czego tak naprawdę oczekujesz, czy nie robisz czegoś wbrew sobie? Jeśli tak to dlaczego? Nawet najlepsze pomysły na projekty zdadzą się na nic jeśli wygra zniechęcenie. Nawet w tym tygodniu nie jesteś pierwszym zadającym tego typu pytanie, może jesteś bardziej szczery niż inni, ale zwykle tacy ludzie szybko dają sobie spokój. Jeśli programista nie potrafi sam sobie znaleźć problemów do rozwiązania, nowych dziedzin do poznania itd. to znaczy, że coś jest bardzo nie tak - nie korzystamy przecież z oprogramowania doskonałego, dostosowanego w 100% do naszych potrzeb, mamy inne zainteresowania, które można przekuć na projekty, mamy swoje cele i ambicje...

2

C++ do nauki nie jest zbyt fajne.
Zagrzebiesz się po uszy. Trzeba naprawdę dużo czasu spędzić żeby móc pisać dobrej jakości programy.
Lepiej weź się za środowisko które szybko daje jakieś efekty wizualne, jest darmowe i można znaleźć na ten temat dużo info w sieci.

Przykładowo:

  • Lazarus / Free Pascal - aplikacje okienkowe i konsolowe pod Windows i Linux
  • Python / wxPython / wxFormBuilder / Aptana - aplikacje okienkowe i www, łatwy i przyjemny język
  • C# / MS Visual Studio Express - aplikacje okienkowe i konsolowe dla .NET

Przy pracy z Pythonem będziesz miał okazję przejść na C++ bo aplikacje w Pythonie rozszerza się o moduły w C/C++
Jeśli zaczniesz od C# to jednocześnie będziesz miał perspektywę na znalezienie pracy. Ale na początku nauki lepiej się tym nie kierować.

0

A jak oceniacie poziom trudności rozpoczęcia projektu w oparciu o Qt, gdzie docelowo powstałoby coś w stylu ulepszonego programu Pytacz Master http://pytacz-master.softonic.pl/

0

@PS:
Efekty mojej pracy dają mi dużą motywację, ale czesto zarzucam wszystko bo nie wiem co mam robić dalej. Przykladowo, w celu zwiekszenia skilla rozwiązywałem zadania w serwisie SPOJ, gdzie zadania łatwe nie sprawiały mi większego problemu i miło się je robiło, ale przejście na poziom średni wydawało mi się niemożliwe przez co byłem coraz mniej zmotywowany i rzuciłem to

0
ajaskier napisał(a):

@PS:
Efekty mojej pracy dają mi dużą motywację, ale czesto zarzucam wszystko bo nie wiem co mam robić dalej. Przykladowo, w celu zwiekszenia skilla rozwiązywałem zadania w serwisie SPOJ, gdzie zadania łatwe nie sprawiały mi większego problemu i miło się je robiło, ale przejście na poziom średni wydawało mi się niemożliwe przez co byłem coraz mniej zmotywowany i rzuciłem to

No właśnie. Największą motywację dają programy które coś konkretnego robią.
Liczą coś realnego, symulują coś, wizualizują coś...

Programy z cyklu łamigłówek algorytmicznych są fajne na krótką metę, bo są trudne, efekty abstrakcyjne, i w zasadzie mało ludzi będzie rozumiało, że dokonałeś właśnie czegoś genialnego. Czyli słaby feedback.

0

Otóż to. A nie wierzę, że nie ma jakiejś drogi do w miarę ogarniętego programowania, która jest całkiem przyjemna. Bo samej teorii nie da sie nawet ogarnąć, nie mogąc sprawdzić jak działa w praktyce. Czy Wy wszyscy żeby dojść do swojego poziomu tylko czytaliście, czytaliście, czytaliście?

1

Wykorzystywaliśmy zdobytą wiedzę w praktyce. Teoria jest bezwartościowa jeśli nie widzisz dla niej zastosowania.

0

Nawet najprostsze programiki implementowane w trakcie nauki robiły coś ciekawego - np. liczyły pierwiastki równania kwadratowego, rysowały Madelbrota, symulowały grę Life itd...

0

No i właśnie szukam porad odnośnie nieskomplikowanych projektów, które można tworzyć. Ja nie jestem w stanie nic wymyślić, bo nie potrafię do końca ocenić poziomu trudności.

0
ajaskier napisał(a):

No i właśnie szukam porad odnośnie nieskomplikowanych projektów, które można tworzyć. Ja nie jestem w stanie nic wymyślić, bo nie potrafię do końca ocenić poziomu trudności.

No to ucz się na błędach, dalej na tym zajedziesz niż pytając ciągle a to jak zrobić???.

Generalnie to pytanie Jak zacząć? już mówi o tym że nie nadajesz się na programistę, bo programista walczy z bugami a nie pyta na forum 'czemu to nie działa' (chociaż niektórzy tak robią). Naucz się samodzielności, licz na siebie, a nie oglądaj się na innych i nie pytaj 'a jak to zrobiłeś' bo nauczysz się szablonowego myślenia i klepania kodu a nie rozwiązywania problemów.

Dodam, że chciałbym więcej działać, niż czytać.

No to działaj. Poszukaj czegoś czego nie wiesz i co cie interesuje i spróbuj swoich sił, jak się nie uda to trudno, jak się uda to super. Z czasem nauczysz się oceniać swoje siły i dobierać ciekawe zajęcia.

0

@-123oho

Ale mi nie chodzi o pouczenie, że "programista walczy z bugami a nie pyta na forum 'czemu to nie działa' ", które zapewne zmieni moją mentalność. Pytam o to, czy może ktoś zna jakieś ciekawe projekty które rozwijają skill początkujących, albo co oni robili, gdy dopiero zaczynali przygodę z tym wszystkim.

0
ajaskier napisał(a):

Pytam o to, czy może ktoś zna jakieś ciekawe projekty które rozwijają skill początkujących, albo co oni robili, gdy dopiero zaczynali przygodę z tym wszystkim.

No i patrzysz na innych zamiast robić to co chcesz. Sam powinieneś wiedzieć co chcesz robić, czyż nie?
Mówiłem: Rób to co cię interesuje. A nie to co ci ktoś mówi żebyś robił. Głupotą jest pytanie, bo niestety ani nie wiemy co umiesz, ani nie wiemy co cie interesuje.

0
ajaskier napisał(a):

@-123oho

Ale mi nie chodzi o pouczenie, że "programista walczy z bugami a nie pyta na forum 'czemu to nie działa' ", które zapewne zmieni moją mentalność. Pytam o to, czy może ktoś zna jakieś ciekawe projekty które rozwijają skill początkujących, albo co oni robili, gdy dopiero zaczynali przygodę z tym wszystkim.

To samodzielne podejście jest sprzed epoki Internetu, gdy nie było debugerów a programy źle napisane trzeba było jeszcze raz dziergać na karcie perforowanej.
Obecnie masz debugery, callstacki, Wujka Googla, fora, PDFy, i czasami pomocnych ludzi na forum. Jak zabrniesz w ślepy zaułek to nie bój się pytać, ale bądź przygotowany na opryskliwe odpowiedzi - programiści nie grzeszą empatią :)

0

Gierki, zabawa z nauką: Ping Pong, Kółko i Krzyżyk, Snake, proste sidescrollery.
Potem te projekty możesz rozwijać, nowe ficzery, tryb online et cetera, et cetera.

Ja tak zaczynałem, a jako dodatek robiłem (robie) zadania ze spoja.

0

O to chodzi. Pojawia się coraz więcej konstruktywnych postów, z których mogę czegoś zaczerpnąć. Wielkie dzięki :)

1

Ja zaczynając przygodę z programowaniem (jeszcze w TI) pisałem setki głupkowatych i nikomu niepotrzebnych programów; Robiły różne rzeczy, często bezsensowne; Dawało mi to wiele radości, bo potrafiłem "zawładnąć" komputerem, potrafiłem go zaprogramować; Jarało mnie strasznie pisanie gierek konsolowych, takich jak statki, kółko i krzyżyk, wieża Hanoi (w którą gram do dziś, choć rzadko); Tyle ich pisałem, że zaśmieciłem nimi sporą część dysku;

Warto stawiać sobie nowe cele, nowe projekty (mniejsze czy większe) i stosować w ich porogramowaniu nowo wyuczone elementy; Pisać, pisać i jeszcze raz pisać; Cokolwiek by to nie było, przydatne czy jednorazowe - warto; Dzięki temu uczyć się będziesz szybko, a samo pisanie programów będzie dawać coraz więcej radości;

Zastanów się co umiesz i napisz programik wykorzystując zdobytą wiedzę; Ucz się nowych rzeczy i pisz następne programy;

Jeśli chodzi o spoja - polecam stronkę Project Euler - sporo zadań od łatwych do coraz trudniejszych aż to niemalże niewykonalnych; Do tego masz poziomy zaawansowania użytkownika, nagrody za wykonanie zadań, statystyki itd. itd.; Świetna zabawa, przy której nauczysz się algorytmicznego myślenia i szybkiego rozwiązywania problemów; Sam niedawno się na niej zarejestrowałem, ale mało czasu mam na rozwiązywanie zadań (dopiero 11 ukończonych)... W każdym razie polecam każdemu, kto ma trochę wolnego czasu i chciałby sprawdzić swoje umiejętności;

2

Ja jakoś zawsze miałem więcej pomysłów niż czasu na ich zrobienie. Czasem były to pierdółki czasem projekty z rozmachem, które wiedziałem, że i tak nie dokończę, ale później wracałem do nich jeśli się dało to dokańczałem jeśli nie to pisałem od nowa - większości nigdy nie ukończyłem.
Lista projektów, które pisałem po rozpoczęciu 1 w życiu kursu internetowego Delphi:

  • Generator kodów ascii
  • Kółko i krzyżyk
  • Quake VI (lata sobie chłopek po planszy random x i y w timerze i musisz na niego klikać - kursor to strzałka, na dole kusza :P jeśli zmieścisz się w czasie hipek umiera)
  • SzopMediaPlayer z kursu Adama Boducha - dużo swoich ficzerów dodawałem w miarę czasu
  • Koder prosty program do kodowania szyframi przestawieniowymi itp.
  • Program do liczenia rezystancji rezystorów z kodu paskowego
  • Program do wybierania koloru "HTML"
  • Zegarki
  • Nakładka mająca zastąpić explorer.exe czyli ikonki, okienka itp. w win98
  • Uninstalator
  • Mortal Neo Gra mająca być kopią "Tower of the Sorcerer" - 4 razy pisałem od nowa w Delphi ostatnia implementacja w 90% ukończona w JS (jako pierwszy kontakt z tym językiem)
  • Edytor poziomów do Mortal Neo
  • Snake
  • MP3 Copy aplikacja do kopiowania utworów do 1 katalogu z listy Winampa
  • Szop Paint - nazwa mówi sama za siebie
  • Edytor fontów do pasacala
  • Bot do gry przeglądarkowej nie pamiętam teraz nazwy na kontrolce TWebBrowser
  • KAC http://sourceforge.net/projects/kac/
  • Proxy jako sniffer pakietów KalOnline
  • Kalkulator dużych liczb - podstawowe działania pisemnie na stringach :P
  • Dowloader app do pobierania masowo cipek porno
  • Kilkanaście programów ułatwiających ataki na strony/łamaczy/wyciągaczy haseł/KeyLoggerów/rozsyłania spamu etc. (przez pewien czas bardzo interesowałem się hackingiem)
  • Przeglądarka płyty (taki app do autorun moich płyt CD)
  • Bot do Ogame inteligentny z założeń w praktyce przerósł mnie (i nadal tak jest :P)
  • Edytory różnego rodzaju począwszy od prostych notatników przez edytory hex do specyficznych rodzajów plików
  • Zamiana liczby na "słownie" po polsku
  • Przyborniki
  • Rozpoznawanie captcha - proste metody

i jeszcze kilkanaście o których zapomniałem napisać.

Inspiracja banalna nie mam takiego programu pod ręką - a napisze sobie... tym bardziej, że jak ja zaczynałem z internetu mogłem skorzystać tylko w szkole podobnie z szukaniem informacji

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