Podstawy C++. Co teraz? 23973 48

O temacie

Autor _Karol_

Zaczęty 21.10.2016 roku

Wyświetleń 23973

Odpowiedzi 48

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
Z kursów nauczyłem się programować w C++  :).
Zrozumiałem obiektowość - to głównie dzięki skryptom Gothica <3.
Ale moje umiejętności nie wykraczają poza aplikacje dla CMD  :ohmy:.
Co dalej? Jak zagłębić się w świat programowania?

Mam kilka pytań:
1. Czego się teraz uczyć?
2. Jak pisać aplikacje okienkowe?
3. Jak zabrać się do pisania gry?
4. Używam Code::Blocks i jak zrobić by polskie znaki były normalnie wyświetlane.


Halicor

Halicor

Użytkownicy
Hauptsturmfuhrer
posty365
Propsy57
ProfesjaNierób
  • Użytkownicy
  • Hauptsturmfuhrer
Może nie jestem programistą ale skoro ogarnąłeś podstawy to klepaj proste rzeczy aż do oporu( pisz jakieś programy itp.), reszta raczej sama przyjdzie.

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
Już to długo klepię.
Nawet grę napisałem no ale tego nie można nazwać grą bo to jest w konsoli :facepalm:

Halicor

Halicor

Użytkownicy
Hauptsturmfuhrer
posty365
Propsy57
ProfesjaNierób
  • Użytkownicy
  • Hauptsturmfuhrer
A widzisz w konsoli, to zrób tak żeby nie była w konsoli :D Poprzeczka wyżej.

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
No właśnie się pytam jak to zrobić. :trollface:
Jak zacząć :P

Adanos

Adanos

Administrator
Szara eminencja
posty5204
Propsy3870
ProfesjaProgramista
  • Administrator
  • Szara eminencja
Jeśli chcesz pisać gry, to musisz albo napisać własny silnik, użyć jakiegoś gotowego, skorzystać z OpenGL lub DirectX.
Aplikacje okienkowe, wybierasz odpowiedni projekt i piszesz. ;) Masz do wyboru m.in. WinApi, Qt, Windows Forms.

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
1. Czego się teraz uczyć?
2. Jak pisać aplikacje okienkowe?
3. Jak zabrać się do pisania gry?
4. Używam Code::Blocks i jak zrobić by polskie znaki były normalnie wyświetlane.
1. A co już dokładnie potrafisz? Dobra nauka C++ to coś naprawdę trudnego. Znasz podstawy działania procesu kompilacji? Wiesz jak dokładnie przebiega zarządzanie pamięcią? Rozumiesz kwestie związane z podziałem aplikacji na biblioteki, statycznym i dynamicznym linkowaniem? Potrafisz skutecznie obsługiwać wyjątki i utrzymywać program odpornym na awarie? Wiesz jakie są luki bezpieczeństwa i przyczyny crashów aplikacji w C++ i jak ich unikać?
A jeśli opanowałeś już wszystko co potrzebne z zakresu samego C++, czy jesteś naprawdę dobry w programowaniu obiektowym? Znasz zasady SOLID i potrafisz stosować je w praktyce? Znasz szkołę Clean Code?
2. To może zaboleć, ale do tworzenia aplikacji okienkowych tej skali w której jest dla ciebie opłacalne tworzenie ich, używanie C++ jest zwyczajnie nieopłacalne. Obecnie istnieją dużo wygodniejsze technologie które na to pozwalają, a nie będziesz tworzył raczej czegoś co wymaga w aplikacji okienkowej wydajności kodu natywnego. C++ używa się raczej do bibliotek wykonujących procesorożerne algorytmy. Jeśli koniecznie chcesz robić coś w C++, zainteresuj się programowalnymi urządzeniami o niskich zasobach. Internet of things i te sprawy. Tam C++ do wielu rzeczy jest jak najbardziej trafiony. Chociaż i one robią się na tyle szybkie że wgranie i wykorzystywanie tam np Javy to żaden problem.
3. Unreal Engine. Jedyny dobry wybór w tej kwestii jeśli zależy ci na C++. Ja bym poradził jednak naukę C# i Unity. C# jest prostszy na pierwszy język i uczy bardziej nowoczesnych technik programowania.
4. Nie używaj Code::Blocks, naprawdę. Jeśli korzystasz z Windowsa, naprawdę bardzo dobrym wyborem jest Visual Studio. To naprawdę bardzo profesjonalnej klasy środowisko którego możesz używać za darmo nawet w celach komercyjnych.




PS.
1. Go, C# albo JavaScriptu.

Kazzmir

Kazzmir

O.D.A.L.
posty1003
Propsy1681
ProfesjaProducent
  • O.D.A.L.

Kazzmir
O.D.A.L.

Podstawy C++. Co teraz?
#7 2016-10-21, 23:56(Ostatnia zmiana: 2016-10-22, 00:31)
Go, C# albo JavaScriptu.

av czasami musisz się postarać opisywać pewne kwestie w sposób który nie odstrasza xD
mnie nie trzeba przekonywać do tego że c++ to dzieło szatana  :lol2:
 
rekrutacja O.D.A.L, po 18:00 gg:10135138

Siemekk

Siemekk

Złote Wrota
posty2143
Propsy1154
ProfesjaProgramista
  • Złote Wrota
Cytuj
c++ to dzieło szatana
To czyje :F
Bawiłem się w C++ ( metodach AST + własny build...) I stwierdzam, że Ikarus już jest prostszy :lol2:
Według mnie C++ jest po prostu baaaaaaaardzo skomplikowany, ale też dzięki niemu istnieje wiele innych języków. Wiele jest też pochodnych kodu (chyba) np. pętla for.
C++ ---> JS tak mi się wydaje.

Tak odchodząc od tematu... w E14 jest C++ czy bardziej stawiają na HTML, CSS, JS oraz PHP ?
 

P.S A Splash w szafie i nie ma psychy by mi dać bana.

Wowoz

Wowoz

Użytkownicy
Wowoźny
posty3698
Propsy4862
NagrodyVV
Profesjabrak
  • Użytkownicy
  • Wowoźny
5. Masz w ogóle godność człowieka?
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Według mnie C++ jest po prostu baaaaaaaardzo skomplikowany, ale też dzięki niemu istnieje wiele innych języków. Wiele jest też pochodnych kodu (chyba) np. pętla for.
Niestety nie masz pojęcia o czym piszesz.

C++ ---> JS tak mi się wydaje.
Niestety nie mam pojęcia o czym piszesz.
Jeśli to zapis relacji matematycznej, to mózg wypluwa mi błąd składni w linii 1 kolumnie 6.

Tak odchodząc od tematu... w E14 jest C++ czy bardziej stawiają na HTML, CSS, JS oraz PHP ?
Ja chyba jeszcze bardziej odejdę... co to jest E14?

5. Masz w ogóle godność człowieka?
Jak ostatnio sprawdzałem to ciągle nigdzie jej nie widać.

Szmyk

Szmyk

Użytkownicy
posty64
Propsy58
Profesjabrak
  • Użytkownicy
E14 to jedna z kwalifikacji zawodowych w zawodzie technika informatyka (ostatnia). Z tego co pamiętam Siemekk, to będziesz miał bazy danych (SQL, Access), HTML, PHP, Java Script i trochę Excela.
 

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
1. Czego się teraz uczyć?
2. Jak pisać aplikacje okienkowe?
3. Jak zabrać się do pisania gry?
4. Używam Code::Blocks i jak zrobić by polskie znaki były normalnie wyświetlane.
1. A co już dokładnie potrafisz? Dobra nauka C++ to coś naprawdę trudnego. Znasz podstawy działania procesu kompilacji? Wiesz jak dokładnie przebiega zarządzanie pamięcią? Rozumiesz kwestie związane z podziałem aplikacji na biblioteki, statycznym i dynamicznym linkowaniem? Potrafisz skutecznie obsługiwać wyjątki i utrzymywać program odpornym na awarie? Wiesz jakie są luki bezpieczeństwa i przyczyny crashów aplikacji w C++ i jak ich unikać?
A jeśli opanowałeś już wszystko co potrzebne z zakresu samego C++, czy jesteś naprawdę dobry w programowaniu obiektowym? Znasz zasady SOLID i potrafisz stosować je w praktyce? Znasz szkołę Clean Code?
2. To może zaboleć, ale do tworzenia aplikacji okienkowych tej skali w której jest dla ciebie opłacalne tworzenie ich, używanie C++ jest zwyczajnie nieopłacalne. Obecnie istnieją dużo wygodniejsze technologie które na to pozwalają, a nie będziesz tworzył raczej czegoś co wymaga w aplikacji okienkowej wydajności kodu natywnego. C++ używa się raczej do bibliotek wykonujących procesorożerne algorytmy. Jeśli koniecznie chcesz robić coś w C++, zainteresuj się programowalnymi urządzeniami o niskich zasobach. Internet of things i te sprawy. Tam C++ do wielu rzeczy jest jak najbardziej trafiony. Chociaż i one robią się na tyle szybkie że wgranie i wykorzystywanie tam np Javy to żaden problem.
3. Unreal Engine. Jedyny dobry wybór w tej kwestii jeśli zależy ci na C++. Ja bym poradził jednak naukę C# i Unity. C# jest prostszy na pierwszy język i uczy bardziej nowoczesnych technik programowania.
4. Nie używaj Code::Blocks, naprawdę. Jeśli korzystasz z Windowsa, naprawdę bardzo dobrym wyborem jest Visual Studio. To naprawdę bardzo profesjonalnej klasy środowisko którego możesz używać za darmo nawet w celach komercyjnych.




PS.
1. Go, C# albo JavaScriptu.
1. Potrafię posługiwać się wskaźnikami. Luki bezpieczeństwa i jak ich unikać to mniej więcej wiem.

No to w końcu jakiego języka się uczyć?
Na początku programowałem w Javie, teraz w C++. Na razie najbardziej spodobał mi się Dedalus :D
No to kontynuować C++ czy przerzucić się na C#?

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Zależy co chcesz robić. C++ używa się do algorytmów które muszą być wysoko wydajne, bo na przykład działają na przemysłowych systemach wbudowanych - ja pracuję właśnie przy czymś takim.
Posługiwanie się wskaźnikami to zaledwie podstawy języka. Poziom elementarny. Jeśli piszesz że Daedalus to język który podoba ci się najbardziej, to naprawdę jeszcze dużo przed tobą... Daedalus to najprymitywniejszy język jaki znam. Tam nawet nie możesz za bardzo definiować struktur.

Innym kodem który musi być wysoko wydajny, jest kod silnika graficznego gry. Obecnie rzadko rozwija się je samemu, ale są i polskie studia które to robią (jak CDPR czy Techland). Jeśli naprawdę chcesz się rozwijać w tą stronę, zapoznaj się z Unreal Enginem. Ma cały kod otwartoźródłowy, a analiza tak profesjonalnie napisanego kodu to bardzo dobry sposób na naukę. Poszukaj też jakiegoś kursu C++ dla zaawansowanych, jeśli będziesz już w stanie do niego podejść. To jest naprawdę niesamowicie złożony język... Zarządzanie pamięcią, wielowątkowość, przebieg kompilacji, metaprogramowanie to tylko niektóre tematy które dobry programista C++ powinien znać.
Jesteś jednak początkujący, nie rzucałbym się na głęboką wodę. W C# czy Javie możesz robić rzeczy dużo prościej, zarazem efektywniej ucząc się technik programowania obiektowego. A ich znajomość jest nawet ważniejsza niż język którym się posługujesz.

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
A jak jest z pisaniem gier? Którym językiem jest najwygodniej?

W Unity pisze się w C#(C++ dla płatnej wersji Unity)
W Unreal Engine pisze się w C++.

Którego języka mam się uczyć?
I jak jest z zarobkami w przyszłości? Za który język najwięcej itp.?

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
W Unity pisze się w C#. Można pisać pluginy w C++ i płatna licencja nie jest do tego wymagana - ona nic nie zmienia.
Mi dużo lepiej pisze się w C#. Teraz zastanawiam się nad zmianą pracy i jednym z powodów jest to że chciałbym właśnie zmienić język.

Jesteś początkujący, więc polecam C# i Unity. W ten sposób możesz naprawdę zacząć już teraz uczyć się praktycznego game devu. Z C++ byłoby ci dużo trudniej - ale jeśli czujesz się na siłach i naprawdę chcesz, próbuj.

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
Na internecie czytałem że opłaca się przejść na Javę.
Proste gierki też można robić a dodatkowo w niej programuje się na Androida.

A co do silnika to chciałbym poczekać. Chcę spróbować sam napisać jakiś prosty silnik. Poznać budowę. Zobaczyć jak to działa.

Avallach a pisałeś coś w Javie?

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Tak, bardzo dużo. Java jest u mnie po środku pod względem długości stażu zawodowego (prowadzi C++), a moimi preferencjami co do języka (prowadzi C#).
W Javie pisałem narzędzia związane ze statyczną analizą kodu i środowiskami programistycznymi. To mój drugi ulubiony język po C#.

Chociaż ostatnio zacząłem interesować się Go - jest czymś pomiędzy C a C#, zarazem celowo odmienny od C++.

Wonski

Wonski

Gry (themodders@telegram)
radio engineer
posty256
Propsy91
ProfesjaProgramista
  • Gry (themodders@telegram)
  • radio engineer

Wonski
Gry (themodders@telegram)

Podstawy C++. Co teraz?
#18 2016-10-22, 18:19(Ostatnia zmiana: 2016-10-22, 18:33)
Jeżeli chcesz się uczyć cpp, a nie masz pomysłu jak klepać "coś bardziej skomplikowanego" od apek w cmd, to poleciłbym załapanie się na jakiś projekt open-source.
Pełno tego na githubie czy sourceforge. Zobaczysz jak się pracuje w zespole, poznasz systemy kontroli wersji, a przede wszystkim zobaczysz jak mało wiesz o cpp. Nauczysz sie jak pisać czytelny zgodny z powszechnie przyjętymi konwencjami kod, zobaczysz dlaczego ważne jest pisanie testów i związany z tym refactoring kodu i dużo innych rzeczy..

Co do samego cpp... im głębiej w to włazisz tym więcej jest do nauki. Bo np można pisać programy w cpp bez znajomości różnicy pomiędzy template type deduction a decltype type deduction, czy znajomości semantyki przenoszenia, lambd, etc...
Tylko, że programy napisane bez takich "trików" wcale nie muszą być szybsze (i lżejsze) od ich odpowiedników napisanych w innych językach, a chyba właśnie po to wykorzystuje się cpp..

Cytuj
Według mnie C++ jest po prostu baaaaaaaardzo skomplikowany, ale też dzięki niemu istnieje wiele innych języków.
Nie dzięki C++. Wiele języków (w tym cpp) było wzorowanych na C, cpp był projektowany jako obiektowe rozszerzenie do C.

Co do okienek, to fakt cpp się do tego nie nadaje. Dla tego poznałem c#, który ma NET'a, który jest ogromny i dzięki niemu pisane w c# jest mega uproszczone.

Cytuj
środowisko którego możesz używać za darmo nawet w celach komercyjnych
A czy przypadkiem aby używać VS komercyjnie nie muszę mieć wykupionej licencji PRO? Bo do niekomercyjnego użytku jest licencja community edition. A to co napisałeś wykluczałoby sens istnienia tej licencji.

i tak BTW
Cytuj
Ale moje umiejętności nie wykraczają poza aplikacje dla CMD
A jak ma się jedno do drugiego?
Okienko czy konsola to tylko sposób feedback. Program może działać w tle jak wszelakiego rodzaju malware czy usługi. To że program WYŚWIETLA wartości w cmd nijak świadczy o umiejętnościach programisty...
 

K4R0L111

K4R0L111

Użytkownicy
posty31
Propsy14
ProfesjaSkrypter
  • Zbanowany
No to po co ja się uczyłem C++ :facepalm:
Co do języków programowania to jestem najbardziej niezdecydowanym człowiekiem na świecie :F



0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry