Kilka pytań odnośnie programowania

0

Witam! Odpowiedzi na moje pytania szukałem już tutaj ale znalazłem jedynie mocne ogólniki tak więc proszę o wyrozumiałość :)
Jestem początkowym programistą. Zaczynałem od języka C++ oraz lektury książki "Symfonia C++ Standard" Jerzego Grębosza. Interesuje mnie kilka rzeczy -
(od razu mówię, że nie chcę programować gier :) pytania odnośnie tego są naprawdę z czystej ciekawości).

  1. Jak w C++ np. za pomocą klas albo innych technik obiektowo orientowych napisać np. ping-ponga konsolowego lub strzelanie literkami O w literki Z. Czy tego dowiem się w dalszych tomach Symfonii/Pasji? Lub czy chociaż zostanę naprowadzony na to?
  2. Co potem? Jak już przerobię te wszystkie książki i materiał z nich będę miał "opanowany"? Nie mówię oczywiście perfekt gdyż programista uczy się całe życie, to wiem i wiem też, że nie sposób tego wszystkiego zapamiętać. Z czego mam potem się dokształcać? Analizując czyjeś programy natknąłem się na wiele rzeczy, których Jerzy Grębosz nie porusza w swoich publikacjach np. bazy danych protokoły sieciowe itp. Przytoczę taki przykład..zawsze zastanawiałem się jak stworzone jest Gadu-Gadu, AQQ i temu podobne?
  3. Mam 16 lat. Tak i nie wstydzę się tego. Zacząłem już teraz programowanie w c++, czy to dobrze? Wcześniej tworzyłem jedynie strony www oraz liznąłem troszkę PHP.

Bardzo proszę o odpowiedzi na moje pytania ;) Pozdrawiam :)

0

Jak już materiał ów będziesz miał opanowany,to zainteresuj się wzorcami projektowymi i poznaniem biblioteki Qt.Hmmm,orientacja w WinAPI też ci nie zawadzi.

0

16 lat to twoim zdaniem dużo jak na naukę programowania? Sorry...
za 4 lata już będziesz śmigał więc...
Do C++ napisane jest już chyba wszystko, kwestia znalezienia książki - nie to co w javie.
Algorytmy - programista bez znajomości algorytmów to jak portfel bez pieniędzy albo jak penis bez jaj albo jak samolot bez skrzydeł - wiem bo sam nie umiem :)

0

Z książek się nie dowiesz jak napisać ping-ponga. Sam musisz wykombinować jak to zrobić. Bez praktyki nie będziesz umiał programować.

0

Doskonale Cię rozumiem :) Ale nie uczę się tego na sucho. Owszem robię ćwiczenia z książki ale też wymyślam swoje programy i staram się je napisać :)

0
  1. Symfonia C++ uczy narzędzia do tworzenia np. gier, czyli języka programowania. Bez tego nie ruszysz. Opanowując język, nie można powiedzieć, że będziesz umiał pisać gry, albo że w Pasji ten temat zostanie poruszony, bo autor nie mówi tam o pisaniu gier. Ale jak pokombinujesz i pomyślisz, to sam zauważysz, że ten i ten element języka można by wykorzystać tak i tak.

  2. Potem? Zależy co chcesz robić. Chcesz pisać gry, to pewnie pasuje nauczyć się biblioteki graficznej (DirectX, OpenGL, lub wyżej poziomowe SDL, Allegro, albo jeszcze wyżej, silnika graficznego typu Ogre, Ilricht czy coś innego). Albo nauczyć się jakieś biblioteki do GUI. Skąd? Albo książki, albo internet. Wiedzy w sieci jest dużo.

  3. Nie wiem.

Może myślisz, że pisanie gier, to coś takiego odległego bardziej, ale nawet napisanie kilku linijek kodu można nazwać grą. Załóżmy, że wyświetlasz napis "podaj liczbe od 0 do 10", użytkownik ją wprowadza, ty sobie losujesz jakąś liczbę z tego przedziału i sprawdzasz jedną instrukcją warunkową czy te dwie liczby są równe. Potem wyświetlasz informacje, czy gracz zgadł. Już można powiedzieć, że napisałeś grę, fakt, że jest trywialna (ulubione słowo używane na uczelniach przez wykładowców), ale jest :P. W ping-pongu jest więcej roboty, ale chodzi mi o to, że jak pomyślisz, to napiszesz grę w konsoli, do tego nie trzeba nic więcej, niż C++ i trochę doświadczenia, kombinowania. A za grafikę robią zbiory znaków, aktualizujesz grę ->rysujesz scenę -> czyścisz konsolę -> aktualizujesz grę -> rysujesz scenę -> czyścisz konsolę -> ...

0

Pytałeś czy to dobrze że uczysz się C++ otóż NIE :)
Dlaczego nie C#?
ten język (c++) to przeżytek C# jest łatwiejszy, nowszy, lepszy, ale niech się wypowie somekind on w tym klepie ;)

0

C# może i jest łatwiejszy, wielu również twierdzi, że nie powinno się zaczynać nauki programowania obiektowego od C++ . Sam zaczynałem od C++, nie wiem jak inni ale dzięki temu łatwiej było mi pisać jakiś kod w javie czy właśnie w C# które są bardzo podobne do niego odwrotna relacja myślę nie przyjdzie łatwo. Dodatkowo jeśli planujesz dalszą edukację w tym kierunku prawie na wszystkich uczelniach w Polsce zaczyna się implementować różne algorytmy, pisać projekty w C++.

0

ten język (c++) to przeżytek C# jest łatwiejszy, nowszy, lepszy, ale niech się wypowie somekind on w tym klepie

Tylko że C++ będzie długo jeszcze po tym, gdy o C# już nikt nie będzie pamiętał.

0

C# nie jest wieloplatformowy. Szkoda, że mało kogo to obchodzi.

0

C# mi się w ogóle nie podoba :) Dlaczego?
Otóż wiem, że wszystko tam jest obiektem. Ale co mnie to obchodzi? Potrzebuję języka, w którym mogę programować o strukturalnie i obiektowo. Takie możliwości daje mi nie przymierzając C++. Przy okazji łatwiej jest się potem nauczyć czystego C.
Oczywiście, nie myślę o programowaniu gier, nie, nie ;) Podałem tylko taki przykład :) Dalej co mi się w C# nie podoba..może to, że ma po troszku składnię wziętą Javy a jakoś (bardzo) nie przepadam za tym językiem. Poza tym SAM Microsoft ma zamiar zrezygnować z platformy .NET na rzecz.. o zgrozo: HTML5. Nie potwierdzają tego ale wiele źródeł tak twierdzi. Oczywiście nie do końca w to wierzę ale jednak jest taka możliwość i wszyscy musimy z tego zdawać sobie sprawę:)
Dziękuję Wam za odpowiedzi!

0

Do Ty palisz? Zdarte ze ścian tapety?

Dr Zielu napisał(a)

C# mi się w ogóle nie podoba :) Dlaczego?
Otóż wiem, że wszystko tam jest obiektem. Ale co mnie to obchodzi? Potrzebuję języka, w którym mogę programować o strukturalnie i obiektowo. Takie możliwości daje mi nie przymierzając C++.

Przecież C# jest w językiem strukturalnym i do tego także obiektowym. Czysto obiektowy też nie jest, rozróżnia value types i reference types.
.

Dr Zielu napisał(a)

Przy okazji łatwiej jest się potem nauczyć czystego C.

Jeżeli już to odwrotnie, najpierw nauka C, potem C++. C++ to g**no, które gwałci mózg.

.

Dr Zielu napisał(a)

Poza tym SAM Microsoft ma zamiar zrezygnować z platformy .NET na rzecz.. o zgrozo: HTML5. Nie potwierdzają tego ale wiele źródeł tak twierdzi. Oczywiście nie do końca w to wierzę ale jednak jest taka możliwość i wszyscy musimy z tego zdawać sobie sprawę:)

Powiedz, że żartujesz? HTML (także 5) to język znaczników, język opisu danych (konkretnie ich struktury), nie ma znaczących cech wspólnych z językami programowania. Microsoft chce porzucić .NET? Wedle "pogłosek" następcą Windows 8, ostatniego systemu z rodziny Windows NT, ma być pochodna Midori. Midori to właśnie system operacyjny zbudowany w całości w oparciu o .NET, po to powstały odpowiednie narzędzia i dialekty "czystego" C#.

4
Dr Zielu napisał(a)

Poza tym SAM Microsoft ma zamiar zrezygnować z platformy .NET na rzecz.. o zgrozo: HTML5. Nie potwierdzają tego ale wiele źródeł tak twierdzi. Oczywiście nie do końca w to wierzę ale jednak jest taka możliwość i wszyscy musimy z tego zdawać sobie sprawę:)
Dziękuję Wam za odpowiedzi!

to mówisz że teraz nie będzie 4programmers.net tylko 4programmers.html5? :o

0
  1. Czy tego dowiem się w dalszych tomach Symfonii/Pasji?

Nie

  1. Z czego mam potem się dokształcać?

Z internetu, książek, czasopism, blogów, konkursów.

  1. Mam 16 lat. Tak i nie wstydzę się tego. Zacząłem już teraz programowanie w c++, czy to dobrze? Wcześniej tworzyłem jedynie strony www oraz liznąłem troszkę PHP.
    Mamy cię poklepać po ramieniu i powiedzieć, nieźle brachu? Kurcze skąd ostatnio moda na takie głupie pytania.
0
Dr Zielu napisał(a)

Poza tym SAM Microsoft ma zamiar zrezygnować z platformy .NET na rzecz.. o zgrozo: HTML5. Nie potwierdzają tego ale wiele źródeł tak twierdzi. Oczywiście nie do końca w to wierzę ale jednak jest taka możliwość i wszyscy musimy z tego zdawać sobie sprawę:)

To nie tak. Na jednej konferencji (D9 - nie jest to konferencja dla programistów nawet!) jeden z pracowników Microsoftu powiedział, że aplikacje dla nowego shella (docelowo - dla tabletów i tym podobnych urządzeń) w Windows 8 będzie można tworzyć w HTML5/JavaScript. W tym momencie podniosły się głosy na forum Microsoftu - "czy to oznacza, że Silverlight jest wyrzucony?". Takie same głosy mówili programiści WPF, istnieją też pogłoski o niesnaskach pomiędzy ludźmi od Visual Studio i od Windows w samym Microsofcie (m.in. to, że obecny szef Windows Division jest wielkim przeciwnikiem .NET).

Microsoft nic nie potwierdza ani niczemu nie zaprzecza, mówiąc tylko "poczekajcie do BUILD" (taki nowy PDC) we wrześniu. We wrześniu będą podane oficjalne informacje. (cała historia nawiasem mówiąc jest jednym z najgorszych zagrań PR-owych wszechczasów w historii Microsoftu).

Ludzie, którzy siedzą przy Windows 8 (amatorsko) dotarli jednak do czegoś, co nazywa się "Jupiter" oraz "Windows Runtime", pojawia się też trochę przebłysków o "WinC++". Z tych znalezisk wynika, że .NET i prawdopodobnie także Silverlight będą sobie żyły spokojnie dalej, uzyskawszy także nowe mechanizmy. A HTML5 i JavaScript dojdą jako kolejna platforma do robienia czegoś (prawdopodobnie takich większych gadżetów - już teraz gadżety Windows tworzy się w HTML i JavaScript).

ćpun napisał(a)

Powiedz, że żartujesz? HTML (także 5) to język znaczników, język opisu danych (konkretnie ich struktury), nie ma znaczących cech wspólnych z językami programowania. Microsoft chce porzucić .NET? Wedle "pogłosek" następcą Windows 8, ostatniego systemu z rodziny Windows NT, ma być pochodna Midori. Midori to właśnie system operacyjny zbudowany w całości w oparciu o .NET, po to powstały odpowiednie narzędzia i dialekty "czystego" C#.

Szczerze wątpię, aby to tego doszło w końcu. Choć może...

0
ćpun napisał(a)

Powiedz, że żartujesz? HTML (także 5) to język znaczników, język opisu danych (konkretnie ich struktury), nie ma znaczących cech wspólnych z językami programowania.

Ugh, ależ ma... tak jakby.

Formalnie rzecz biorąc: masz rację. To jest tylko język znaczników, ściśle mówiąc.

Ale w praktyce nie mówi się "ściśle". Sam nie wiem, czy to dobrze, czy źle. Wiem, że Standardy Sieciowe potrzebowały jakiegoś buzzworda i zainteresowania, czy choćby świadomości po stronie mniej technicznej publiki. Udało się to uzyskać, ale -- niestety -- tym buzzwordem oznaczającym bardzo ogólnie pojęte, otwarte standardy sieciowe, stał się "HTML5".

Apple robi więc "dema możliwości HTML5", na których większość bajerów jest osiągnięta za pomocą... CSS3.

Na innych demach widzimy odtwarzacze video o mocno zmodyfikowanym wyglądzie, co uzyskuje się dzięki jednemu tagowi HTML5 (<video>) i kilkudziesięciu/kilkuset liniach JavaScriptu i CSS.

JavaScript... nawet nie każ mi o tym zaczynać. Istnieje całe mnóstwo "aplikacji HTML5" na smartfony. Czy kluczowym elementem tych aplikacji jest język znaczników? Nie. Jest JavaScript.

Sam HTML5 daje jednak JavaScriptowi pewne rozszerzone możliwości. Bo HTML5 to jednak nie tylko znaczniki (!). To również, a może przede wszystkim -- w kontekście tego, co ostatnio widzimy -- API javascriptowe. Mamy więc Web Workery, geolokację czy różnej maści "Offline Storage". Te technologie wiązane są z HTML-em 5.

Patrząc na to w ten sposób, bogate API z HTML-a 5, wykorzystane przez JavaScript jak najbardziej może w pewnych zastosowaniach konkurować z różnymi platformami. Takimi jak .NET.

Czy .NET przez to "padnie" -- nie mam pojęcia i nawet mnie to nie obchodzi. Faktem jest, że MS w Windowsie 8 chce wykorzystać Standardy Sieciowe ("HTML5" :) ) o wiele bardziej niż do tej pory. W samym systemie.

0

Po przeczytaniu calego tematu opadly mi rece. Wedlug mnie tematy typu "jak zaczac", "jak napisac gre" i inne powinny byc zakazane. 70% odpowiedzi na glupie pytanie goscia ktory i tak nigdy nie zacznie, sa rownie glupie co autor tematu. Odpowiedzi na takie tematy jest <ort>mnÓstwo</ort> w sieci, wiec po co robic syf na forum piszac pseudo madre wypowiedzi?

0

Po twojej wypowiedzi stwierdziłem, iż nie nauczyli Cię czytać ze zrozumieniem i myślę, że nigdy nie oduczysz się tępej głupoty.
Jak byś umiał czytać, to wiedziałbyś, że przynajmniej 3 razy napisałem w tym temacie iż nie zamierzam programować gier -.-.
To był TYLKO przykład. Napisałem, czy w tych książkach zostanę na takie coś naprowadzony... czy też nie. A nie, że zamierzam programować gry i jak zacząć.
Gratuluję i jednocześnie współczuję Ci takiej głupoty.

0

@kopernik
@Dr Zielu
Spokojnie, panowie. Dopiero takie osobiste wycieczki są zbędne, bezcelowe i nie przynoszą nikomu nic dobrego.

@zielu, wyluzuj, bo nawet gdybyś chciał programować gry to nic nikomu do tego. Jeśli brakuje Ci wiedzy, to nic -- piszesz przecież w dziale Newbie. A że co drugi młody programista jest siłą rzeczy zainteresowany grami... To fakt. I faktem jest, że większość z nas ostatecznie nie programuje gier. Ale część -- owszem. Nie przejmuj się, jeśli jakiś kretyn z netu wyśmieje Twoje marzenia. Raczej: bądź zdeterminowany by je osiągnąć. Wszystko jest możliwe. Naprawdę, mając 16 lat możesz jeszcze zostać astronautą ;). I na pewno możesz trafić np. do CD Projektu by pracować nad nową wersją Wiedźmina. Tak, nawet na tym forum, w dziale Praca, dali kiedyś ogłoszenie dla Junior Developerów i chodziło o wykończeniówkę przy Wiedźminie 2.

Oczywiście, samo pieprzenie o tym, że chciałoby się programować świetne gry, nie ma sensu. Natomiast jeśli naprawdę się przyłożysz...

No ale Ty gier nie zamierzasz programować. I też dobrze. Zamierzaj co uważasz za słuszne.

@Koperniku: wyluzuj i nie przejmuj się tym wszystkim. Ten temat naprawdę leży poza strefą rzeczy, jakimi powinieneś się przejmować, choć może jeszcze o tym nie wiesz. Wykorzystaj swój cenny czas na coś innego niż narzekanie w tym miejscu. Jako członek moderacji zdradzę Ci, że NIE planujemy zakazywania tego typu tematów. A Twój głos nie ma tu, że tak powiem, przeważającej mocy ;). Tym bardziej, że forum to nie demokracja i wnioski słabo uzasadnione mogą po prostu nie przejść nawet jeśli poparłoby je 100 użytkowników. Tematów takich jak ten nie ma AŻ TAK dużo. Nie zamulają nam serwera. Nie przeszkadzają nam. Tobie też nie powinny przeszkadzać. Weź pod uwagę, że to dział Newbie. Jeśli męczą Cię pytania zadawane przez początkujących -- bo np. jesteś stałym bywalcem forum i doświadczonym programistą, dla którego odpowiedzi na te pytania są oczywiste -- to zmykaj stąd. Z tego działu. Idź do Algorytmów lub w inne, interesujące Cię miejsce. Tutaj możesz POMÓC innym, podzielić się swoją wiedzą jeśli tylko zechcesz. Ale nie musisz. I tak czy siak: przynajmniej nie przeszkadzaj. Bo to również marnowanie TWOJEGO cennego czasu. Zajmij się czymś, co Cię pasjonuje i nie trać czasu na coś, co Ty uważasz za "pierdoły". Jeśli chcesz lepiej rozumieć motywację innych ludzi, to podpowiem Ci: dla innych osób to nie są pierdoły, tylko ważne rzeczy.

0

Dziękuję za poparcie :)
Jeżeli ktoś nie zrozumiał o co mi chodzi "czy z tych książek się dowiem" to wyjaśnię.
Chodzi mi o to, czy w tych książkach Symfonia C++ / Pasja C++ poznam "metody" dzięki którym będę mógł napisać pin-ponga. Jakby to wyjasnić... nie chodzi mi o to, że autor wprost mówi jak to zrobić ale czy dzięki tym zagadnieniom, które porusza można to osiągnąć.
Tak, to prawda że większość początkujących programistów chce programować gry. Ja przyznam - myślałem o tym w pewnym momencie ale tak naprawdę akurat ta dziedzina mnie niekoniecznie interesuje :) JA TYLKO ZAPYTAŁEM!

0
Dr Zielu napisał(a)

Chodzi mi o to, czy w tych książkach Symfonia C++ / Pasja C++ poznam "metody" dzięki którym będę mógł napisać pin-ponga. Jakby to wyjasnić... nie chodzi mi o to, że autor wprost mówi jak to zrobić ale czy dzięki tym zagadnieniom, które porusza można to osiągnąć.

Po przeczytaniu książki będziesz miał podstawy. Aby iść dalej, trzeba pisać rzeczy trudniejsze - najlepiej, jak sam sobie wyznaczysz drogę i będziesz stopniowo zwiększał poziom swoich programów. Książka, owszem da Ci podstawy, ale tak naprawdę programowania nauczysz się kodując, kodując i jeszcze raz kodując. Poznasz nowe techniki, "sztuczki", rzeczy, które będą Ci pomagać i ułatwiać pisanie itd. Korzystaj z internetu, blogów, forów, dokumentacji, a poznasz o wiele więcej rzeczy niźli jest w książkach. Książki z reguły są ogólne i mają za zadanie wprowadzić Cię w ten "świat".
Jeśli będziesz chciał napisać ping-ponga, czy cokolwiek innego to po prostu zastanowisz się jak to ma działać, czego użyć najlepiej. Reszta to już implementacja tego co będziesz wiedział.

Dr Zielu napisał(a)

Tak, to prawda że większość początkujących programistów chce programować gry. Ja przyznam - myślałem o tym w pewnym momencie ale tak naprawdę akurat ta dziedzina mnie niekoniecznie interesuje :) JA TYLKO ZAPYTAŁEM!

Póki co... :P

0

jeden z pracowników Microsoftu powiedział, że aplikacje dla nowego shella (docelowo - dla tabletów i tym podobnych urządzeń) w Windows 8 będzie można tworzyć w HTML5/JavaScript

Pewnie kolejna wspaniała biblioteka do GUI, bo WinForms i WPF to już „starocie” są. Czy to będzie coś warte – zobaczymy.
Jest mnóstwo języków, w których można pisać aplikacje dla Windows, to że Microsoft ma pomysł na JavaScript nie musi oznaczać żadnej rewolucji.

dotarli jednak do czegoś, co nazywa się "Jupiter" oraz "Windows Runtime"
ile już było szumnych nazw kodowych i zapowiadanych rewolucji, a po chwilowych ach i och okazywało się, że to jednak nic wielkiego, a nawet jeśli — to świata nie obróciło to jakoś do góry nogami…

Pojawia się też trochę przebłysków o "WinC++"
Pewnie zmiana nazwy Visual C++ albo jakaś obciachana wersja Visual Studio. Już raz tak zrobili (Microsoft Internet Explorer -> Windows Internet Explorer). Nie sądzę żeby nagle pisali kompilator od nowa.

plotki, plotki, plotki. ile to już cudów nie zapowiadano.

1

To gadanie o pisaniu apliakcji w JS przypomniało mi o pewnej herezji spotkanej w internecie.
Była to stronka w ASP.NET z paroma tonami JavaScripta, twórca który popełnił ową stronkę miał problem(y) bo jako język server side wybrał... java script... trzymając wszystko w jednym pliku stworzył monstrum gdzie granica pomiędzy server a clietn side wygląda niczym mapa rozbicia dzielnicowego o_O

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.