Official ENIDUST Forum
Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3

Author Topic: C++  (Read 5750 times)

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
C++
« on: January 10, 2016, 09:45:02 »

Witam.
Tak z czystej ciekawości, interesuje się ktoś C++? Jeśli tak, to z jakich poradników korzystacie, ile czasu już się uczycie?
Logged

mrksiedzu

  • User
  • Posts: 254
    • View Profile
Re: C++
« Reply #1 on: January 10, 2016, 11:21:21 »

Ja trochę kodzę w c++, ale nie mam zielonego pojęcia od kiedy :P
Jeśli chodzi o poradniki to zaczynałem od takiej stronki, co się zwała Dark Cult of C++, a później uczyłem się jeszcze trochę cpp0x.pl .
Potem sam pisałem swoje programiki i dochodziłem do momentów, w których zauważałem swoje braki i uzupełniałem je tym co znalazłem w google lub megatutorialem Xion'a.

A ostatnio role się odwróciły i teraz ja uczę kolegę :D
Logged

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
Re: C++
« Reply #2 on: January 10, 2016, 12:15:35 »

Dobrze wiedzieć, że mam się do kogo zwrócić w razie potrzeby :P
Z jakiego kompilatora korzystasz?
Logged

mrksiedzu

  • User
  • Posts: 254
    • View Profile
Re: C++
« Reply #3 on: January 10, 2016, 13:02:35 »

Używam kompilatora MinGW i środowiska Code::Blocks.
Logged

Ajamaharis

  • User
  • Posts: 122
    • View Profile
Re: C++
« Reply #4 on: January 10, 2016, 20:07:53 »

jak mogę polecić to Borland C++ albo visual c++ od microsoftu
dwa dość potężne i rozbudowane kompilatory często polecane na uczelniach
Logged

RhinoRace

  • User
  • Posts: 175
    • View Profile
Re: C++
« Reply #5 on: January 11, 2016, 09:07:13 »

Nauczyć się podstaw języka C++ to kwestia kilku dni. Więcej czasu zajmuje przestawienie się na specyficzny tok myślenia. Dodatkowo co parę lat jest wydawany nowy "standard poprawnego programowania" - takie best opractices ułatwiające pisanie programów, zmniejszanie wycieków pamięci, zapewniające standard ułatwiający analizę programów innych osób etc.

Dodatkowo C++ to olbrzymi zasób bibliotek, które trzeba wiedzieć jak i gdzie używać - to tutaj jest największa potęga C++. Praktycznie jakąkolwiek funkcję byś nie potrzebował prawdopodobnie ktoś inny już ją napisał i udostępnił.

Co do kompilatora - Borland i Visual są używane przez firmy developerskie, przy czym bardziej Visual. Jeżeli chcesz się potem tym zajmować profesjonalnie radzę poznać jeden z nich, a najlepiej oba ;)
Logged

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
Re: C++
« Reply #6 on: January 11, 2016, 16:31:53 »

Ja na ten czas używam Code::Blocks. Co to jest dokładniej ten "standard poprawnego programowania"? Czym się różni to, jakiego kompilatora użyjemy? Jakie aplikacje można przykładowo napisać w C++ (w sensie jaki rodzaj, czy, np. edytory tekstu, różnego typu kalkulatory, gry)?
Logged

mrksiedzu

  • User
  • Posts: 254
    • View Profile
Re: C++
« Reply #7 on: January 11, 2016, 17:05:51 »

Możliwości nie zależą od samego języka, a od używanej biblioteki. Jeżeli dopiero zaczynasz, to pewnie póki co kojarzysz tylko konsolę i ewentualnie winapi, ale w c++ można używać np. Allegro do gier 2d, czy OpenGL do gier zarówno 2d jak i 3d, a także jakichkolwiek innych aplikacji, które mają rysować coś po ekranie. W c++ można nawet pisać gry pod androida, pomimo że android odpala aplikacje na maszynie wirtualnej javy. Takie programy w c++ na andka można pisać z pomocą narzędzia Qt.
« Last Edit: January 11, 2016, 17:08:54 by mrksiedzu »
Logged

RhinoRace

  • User
  • Posts: 175
    • View Profile
Re: C++
« Reply #8 on: January 12, 2016, 08:36:10 »

Pisać można praktycznie wszystko co da się uruchomić na komputerze. Kompilator służy tylko do kompilacji i utworzenia pliku wykonywalnego - w skrócie utworzenie .exe. Spora część gier, programów, a nawet części systemu operacyjnego są pisane w C++, z wyjątkiem części wymagających szybszego działania/większej optymalizacji, które są pisane w asemblerze. Jak kolega wyżej wspomniał - sporo zależy od użytych bibliotek i tego co chcesz osiągnąć.

Standard poprawnego programowania - w dużym skrócie zbiór zasad i zaleceń jak powinno się poprawnie pisać programy, aby działały poprawnie, w miarę możliwości szybko a także inni programiści mogli łatwiej analizować kod. Przy małych programach nie ma to aż tak dużego znaczenia, ale przy większych projektach, gdzie pracuje kilku programistów zaczyna być to ważne. Jak wspomniałem co parę lat się zmienia, a dokładnie to ewoluuje, więc najczęściej się tylko uzupełnia wiedzę.

Tak na marginesie w C możesz programować mikrokontrolery. W skrócie C to prekursor C++ tylko bez obiektowości.
Logged

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
Re: C++
« Reply #9 on: January 12, 2016, 17:34:38 »

Mam tyle pytań :P Wasze odpowiedzi odpowiadają na niektóre, ale jeszcze więcej dodają. Nie będę Was już męczył :P
Logged

RhinoRace

  • User
  • Posts: 175
    • View Profile
Re: C++
« Reply #10 on: January 13, 2016, 08:31:53 »

Pytaj - kto pyta nie błądzi ;) Co prawda więcej wiedzy uzyskasz na jakimś forum programistycznym, ale tam czasem z prostego pytania od początkującego wywiązuje się dyskusja nad bardziej zaawansowanymi rozwiązaniami czy też wyższości jednej biblioteki nad inną, co najczęściej niewiele mówi temu początkującemu.

Jeżeli dopiero zaczynasz to bardziej polecam pisać cokolwiek co działa, a dopiero po paru programikach zacząć myśleć o standardach i optymalizacji. No chyba, że to co napisałeś działa strasznie wolne to wtedy można pomyśleć o optymalizacji.

Dlaczego pisać cokolwiek co działa? Sporo osób w miarę szybko rezygnuje (najczęściej jak dochodzą do obiektowości), więc lepiej najpierw zobaczyć jak wygląda programowanie, a dopiero jak Ci się to spodoba zacząć myśleć nad poważniejszym podejściem do tematu.

W międzyczasie się okaże że zmuszenie komputera do robienia tego co chcesz wcale takie proste nie jest jak się wydaje i wymaga dość specyficznego sposobu myślenia. Ulubiony przykład ze studiów: na matematyce wykładowca tłumaczył jakieś zadanie i w nim był podział na dwie ścieżki: jak wynik wstępnej operacji jest mniejszy niż 50% to idź ścieżka 1, jak większy to ścieżką 2, w tym wypadku większość ludzi przyjmie to do wiadomości i przejdzie dalej, a programista się spyta co jak będzie równe 50%, ponieważ w programie powinieneś przewidzieć jak najwięcej sytuacji i napisać komputerowi co ma robić przy wystąpieniu każdej z nich.
« Last Edit: January 13, 2016, 08:37:04 by RhinoRace »
Logged

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
Re: C++
« Reply #11 on: January 13, 2016, 18:29:50 »

Wystawię na próbę Waszą cierpliwość (i wiedzę!).
Jaka jest różnica, jakiego kompilatora użyję? Kolega mrksiedzu napisał, że używa MinGW.

Logged

RhinoRace

  • User
  • Posts: 175
    • View Profile
Re: C++
« Reply #12 on: January 14, 2016, 08:39:43 »

Dla początkującego żadna. Z tego co wiem niektóre kompilatory mają wbudowane dodatkowe opcje np. optymalizacji, która jeżeli włączona może sprawić że program przestanie działać poprawnie, dlatego nie zawsze się to włącza, ewentualnie włącza i poprawia program.

Bardziej chodzi o środowisko w którym piszesz. Lepiej wybrać jedno i je w miarę dobrze opanować niż znać kilka w sposób pobieżny.
Logged

Lich555

  • User
  • Posts: 1063
    • View Profile
    • Moje zdjęcia
Re: C++
« Reply #13 on: January 14, 2016, 16:22:50 »

Tera pytanie, czy jak w domu będę przez kilka lat pisał w jednym środowisku, a potem pójdę do pracy i dadzą mi inne to czy nie sprawi mi to większych kłopotów?
Logged

Ajamaharis

  • User
  • Posts: 122
    • View Profile
Re: C++
« Reply #14 on: January 14, 2016, 20:20:06 »

zmienia ci się jedynie kompilator. język jest ten sam.
przykładowo: różnica między kompilatorem borland c++ a  visual studio jest taka że visual umożliwia ci podglądanie zawartości danych zmiennych w trakcie działania programu co ułatwia debugowanie, za to borland jest bardziej user friendly i bardzo dobry do nauki ze względu na prostotę.
w porównaniu do dev c++ to borland jest o wiele bardziej rozbudowany (dev ma niekiedy problemy z wskazaniem błędów i ich położenia ^^)

różnic jest o wiele więcej, ale nie chce mi się sprawdzać wszystkiego, więc wymieniłem jedynie przykładowe i bardzo oczywiste. z innych kompilatorów nie korzystałem jeżeli pomijamy kompilator pod fedorą czy debianem
« Last Edit: January 14, 2016, 20:23:24 by Ajamaharis »
Logged
Pages: [1] 2 3