Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Programowanie C++,początki.

matiz58 24 Mar 2011 16:11 1689 7
  • #1
    matiz58
    Level 9  
    Witam mam pytanie dotyczące programowanie,pisania gier w języku programistycznym C++. Narazie jestem początkujący,ale mam już na swoim koncie 1 grę oraz kilka bardzo prostych programów.A teraz nasuwa się pytanie,jak wykonać grę C++ z grafiką 2D,3D.Czy opłaca mi się w ogóle rozpoczynać już przygodę z pisaniem gier 2,3D?Jeśli mam na celu zostać programistą to wystarczy mi język C++ czy muszę się uczyć pozostałych jak :PHP ,JS,Flash? O Htmlu nie mówię bo opanowałem w przeciągu kilku dni.Proszę o poważne wypowiedzi.
  • #2
    Dżyszla
    Level 42  
    Z pytań zadanych radziłbym jeszcze nie wchodzić w 3D. Co do 2D - możesz na początek z użyciem standardowych możliwości, czyli bez używania bibliotek graficznych. (zakładam Windowsa oczywiście)

    Jeśli umie się programować, to nauka języka każdego innego jest kwestią kilku tygodni.
  • Helpful post
    #3
    Wizer
    Level 11  
    na początku jeśli chodzi o pisanie gier...

    jeśli chcesz się bawić w renderowanie grafiki 2/3D to musisz poznać do tego jakąś bibliotekę - o ile sam fakt poznania nowej biblioteki nie różni się od innych bo to kwestia poznania funkcji i ich użycia... do grafiki 3D dochodzą często skomplikowane operacje matematyczne i tu sam sobie musisz odpowiedzieć na pytanie czy dasz sobie rade z matematyką (operacje na macierzach)

    tylko pytanie czy jest sens się tego uczyć skoro chcesz zostać programistą ? nigdzie tego później nie wykorzystasz...

    co do programisty to nie jest tak jak CI się wydaje... każdy jest specjalistą w danej dziedzinie i pytanie w której Ty chcesz być, wymienione przez Ciebie PHP, JS do przestarzałe technologie internetowe które tak czy siak powoli wychodzą z użycia na rzecz .NET Javy i innych nowoczesnych technologii...

    Pisałeś też o C++ co technologie internetowe mają do C++ ? bardzo niewiele

    A czego się musisz uczyć to zależy co chcesz robić, bo żeby się dobrze nauczyć jednej rzeczy to potrzeba kilkunastu lat praktyki żeby dobrze opanować dany język bo w kilka dni HTML'a to mogłeś się nauczyć ale formatować teks lub inne podstawowe operacje - nie ważne

    Jeśli poważnie myślisz o programowaniu w przyszłości to polecam od nauki C przez C++ do C#...

    Jeśli chcesz się pobawić w pisanie programików to nie ma znaczenia czego się nauczysz bo i tak opanujesz tylko to co Ci potrzebne do napisania programiku...

    Jeśli się nauczysz C++ nie znając C nie będziesz panować nad swoim programem po większość kodu wygeneruje Ci kompilator, a jak odrazu przejdziesz do poziomu abstrakcji jaki jest w C# to już całkowicie nie będziesz wiedział co robi Twój własny program...
  • Helpful post
    #4
    wiesniak
    Level 31  
    Pisanie, że JavaScript to przestarzała technologia jest bzdurą. Obecnie chyba nie ma strony, na której nie znalazłby się jakiś skrypt JS, a ciągle pełno się tego pakuje w strony - czy to czystego JS, czy jQuery, czy wreszcie AJAX.

    Wytłumacz mi, proszę, dlaczego niby bez znajomości C nie miałbym wiedzieć jak działa program w C#, skoro sam go stworzyłem? Nie jest mi potrzebna wiedza, jak dokładnie maszyna wirtualna .NET zarządza pamięcią. Używając Twojego toku rozumowania, nie znając asemblera, nie byłbyś w stanie ogarnąć programu w C...

    matiz58 -> Zapoznaj się z biblioteką SFML. Jest to całkiem przyjazna biblioteka do grafiki 2D, stworzona z myślą o programowaniu obiektowym (w odróżnieniu od np. Allegro, które też jest całkiem spoko).
    Zazwyczaj programiści się specjalizują w jakimś języku czy grupie języków. Wszystko zależy od tego, co chcesz dokładnie robić.
  • #5
    Wizer
    Level 11  
    pisanie kodu a jego debugowanie to dwie różne rzeczy, pisząc kod w C w pełni masz kontrole nad tym co się dzieje, gdzie jest trzymane i co się z tym zrobi, w C# wszystko to jest robione przez platformę, dla przykładu nie działasz na pamięci operacyjnej tylko na wirtualnej i wszystkie wycieki z pamięci są przechwytywane i wyświetlane wyjątki... to jest jeden z miliona powodów dla którego można powiedzieć że nie wie co się dzieje w kodzie bo co to są wycieki z pamięci ?? :) nie znam dobrego programisty w pełni obiektowego języka bez znajomości podstawowych operacji które są wykonywane... a już nie wspominając o zawodowym programiście bo o takim mowa...

    pozdrawiam i dalsza dyskusja na ten temat jest pozbawiona sensu.
  • #6
    wiesniak
    Level 31  
    Niby jak mam w C pełną kontrolę? Chodzi Ci o to, że znam adresy pamięci, pod którymi znajdują się dane? A co mnie tak naprawdę to obchodzi? Ja potrzebuję obszarów pamięci o określonych rozmiarach, a gdzie mi to system przydzieli, to jest dla mnie bez znaczenia (bo i tak nie mam zbytnio wpływu na miejsce, które dostane).
    W aplikacjach pisanych w C# czy w Javie, to środowisko dba za mnie aby zbierać nieużywaną pamięć. Tak, jest to super wygodne, a wprowadzono to właśnie dlatego, że masa aplikacji się wysypywała albo przeciekała przez błędy programistów, którzy nie zwolnili czego trzeba i jak trzeba.
    Podsumowując, gwiżdżę na "pełną kontrolę" (która nie jest zbytnio pełna), jeśli środowisko może mnie w czymś wyręczyć i zrobić to prawdopodobnie lepiej ode mnie czy wielu innych programistów.
  • #7
    Dariusz Bismor
    Level 18  
    Muszę mocno poprzeć kolegę "wiesniaka". W świecie programowania o.o. od dawna mówi się o tym, że nauczanie tego stylu przez język C to duży błąd. Po prostu, niektóre nawyki wyniesione z programowania proceduralnego bardzo trudno wykorzenić. Co więcej, zaleca się osobom uczącym się tego stylu, aby na jakiś czas programowały w języku, który nie daje innych możliwości, niż styl orientowany obiektowo, np. Smalltalk czy Java.

    Dopiero po opanowaniu stylu orientowanego obiektowo, gdy na prawdę wydajność staje się kluczowym zagadnieniem, przechodzi się do zagadnień niższego poziomu, jak wskaźniki czy tablice - co może doprowadzić do poznania "czystego" języka C.

    Niestety, ciągle jeszcze bardzo często spotykam się z poglądem, że nie da się uczyć C++ bez znajomości C. Osobom tym polecam znakomitą książkę "C++ Potęga języka" autorstwa Koenig, Moo.

    HTH,
    Dariusz
  • #8
    matiz58
    Level 9  
    A więc konkretnie moim celem życiowym jest programowanie w C++ ,a pisanie gier jak i programów strasznie mnie cieszy, dodatkowo mogą być świetnym źródłem finansowym.

    Dziękuję wszystkim za odpowiedz.