[C++] Moj početak

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Avatar
ant1h3r0
Postovi: 8
Pridružen/a: 10 ožu 2012, 08:28

[C++] Moj početak

Post Postao/la ant1h3r0 »

Kao prvo, cilj mi je naučiti raditi aplikacije i što god me pukne za linux platformu. Tek sam se počeo snalaziti na linuxu i smatram se noobom. U programiranju nisam nov, znam OO i hrpu design patterna i ne trebam učiti programirat već samo naučiti novi jezik i pohvatati kako stvari rade.

Duže vrijeme tražim jezik koji bi bio prikladan za razvoj aplikacija na linuxu. Preferiram moć jezika ispred jednostavnosti. Javu sam otpisao jer je JVM prespor. Volim OO ali ne bježim od proceduralnog programiranja. Zato sam se na koncu odlučio za C++. Davno sam prije učio C i malo sam osvježio sjećanje i isprogramirao sample GTK aplikaciju u C-u. Ako sam dobro shvatio, sve je moguće i napraviti i programirati u linuxu i sa C++ samo treba imati odgovarajuće library-e.

Odlučio sam da ću za početak nabaviti knjigu C++ Primer da se ufuram u C++ i uhvatim sintaksu. Zatim mislim pročitati knjigu The C++ Programming Language da pohvatam napredno programiranje. Usputno mislim još pročitati i knjigu The Linux Programming Interface: A Linux and UNIX System Programming Handbook da se educiram o linuxu.

Isprobavao sam neke IDE-e i editore i zadržao se na Code::Blocks-u iako sam otvoren za promjenu.

Zanima me mišljenje iskusnijih programera i naravno bilo kakvi savjeti i prijedlozi, na što da pripazim ili što da izbjegavam na ovom putu. :-)
linux_n00b@Debian
http://www.haxeman.com
Avatar
stefan
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Spol: M
OS: openSUSE Leap KDE

Re: [C++] Moj početak

Post Postao/la stefan »

Prema ovome što si napisao, imaš idealne temelje za C++/Qt.
Ako voliš OO i C++ biti će to ljubav na prvi pogled. Naravno da moraš dobro znati C++ ali i sa osnovnim znanjem možeš napraviti dosta u Qt-u. Nivo C++a koji ti treba je:
  • pointeri
  • klase
  • naslijeđivanje i virtualne funkcije
i naravno sve što ide prije toga (sintaksa, tipovi, petlje, logički uvijeti...) - ali to pretpostavljam da znaš.

Neke (meni) bitne karakteristike Qt-a:
  • Signals & Slots komunikacija [url]
  • Metaprogramming [url]
  • Qt Designer [url]
  • qmake [url]
  • QML [url]
Preporučena literatura:
  • Jasmin Blanchette, Mark Summerfield; C++ GUI Programming with Qt 4; 2008[amazon]
  • Mark Summerfield; Advanced Qt Programming - Creating Great Software with C++ and Qt 4; 2010 [amazon]
  • Alan Ezust, Paul Ezust; Introduction to Design Patterns in C++ with Qt; 2010 [amazon]
  • Qt 4.8 Documentation [url]
  • Qt Centre [url]
  • ICS Network [url]
Za navedene 3 knjige se daju naći PDF-ovi :zvizdi

Preporučeni IDE-i:
  • Qt Creator [url]
  • KDevelop [url]
  • Eclipse CDT [url]
Ako ti treba još nešto, samo pitaj.
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
ant1h3r0
Postovi: 8
Pridružen/a: 10 ožu 2012, 08:28

Re: [C++] Moj početak

Post Postao/la ant1h3r0 »

Ej stefan, puno hvala na odgovoru i linkovima.

Koja je razlika u izradi aplikacija za Gnome odnosno KDE okruženje? Koristim XFCE koji koristi GTK+ widgete. Da li programiranje u Qt-u znači izradu aplikacija za KDE ili postoji mogućnost exportanja za Gnome? U principu ako sam dobro shvatio, KDE aplikacije mogu biti i na Gnome-u? To se pokreće preko nekog wrappera ili? Nisam siguran kako to funkcionira...
linux_n00b@Debian
http://www.haxeman.com
Avatar
stefan
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Spol: M
OS: openSUSE Leap KDE

Re: [C++] Moj početak

Post Postao/la stefan »

U principu te to ništa ne mora brinuti.
Nekad je postojala razlika u izgledu Qt/GTK aplikacija na KDE/Gnome/XFCE-u, ali to već dugo funkcionira kako spada...
Qt aplikacije jednako dobro izgledaju na KDE-u i na Gnome-u. Uopće se, po izgledu, ne može skužiti u čemu je aplikacija pisana.

Kompajliraš kod na npr openSUSE-u KDE i taj binary baciš na Mint Gnome. Na suseu će izgledati kao KDE a na Mintu kao Gnome. Naravno, moraš imati instalirane Qt biblioteke, ali ionako vjerojatno koristiš neki Qt program - pa su ti već instalirane.
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
jjj
Postovi: 1451
Pridružen/a: 04 lip 2009, 00:46
OS: Nepu Yvahk
Lokacija: Classyfied

Re: [C++] Moj početak

Post Postao/la jjj »

Nemoj miješati Qt i KDE (ista razlika kao Gnome i GTK). Naravno, moguće je pokretati KDE aplikacije pod Gnomeom, ako imaš odgovarajuće dependencyje. No jedini dependency za Qt aplikacije jest dakako Qt (u najjednostavnijem mogućem slučaju).
Avatar
ant1h3r0
Postovi: 8
Pridružen/a: 10 ožu 2012, 08:28

Re: [C++] Moj početak

Post Postao/la ant1h3r0 »

Ok, odlično, puno hvala! Bacam se onda na Qt.

Još jedno pitanje, da li isto stečeno znanje primjenjivo i na izradu aplikacija za Android? Pretpostavljam da je budući da je linux-based i da samo treba ukomponirati odgovarajuće library-e.
linux_n00b@Debian
http://www.haxeman.com
Avatar
drone
Moderator
Postovi: 3293
Pridružen/a: 01 pro 2010, 23:50
OS: Arch/KDE, Debian/Armbian
Lokacija: Nova Gradiška

Re: [C++] Moj početak

Post Postao/la drone »

Ne baš, osim generalno kao što bi ti znanje stečeno pod windowsima donekle koristilo i za druge platforme. Android je baziran na Javi, ima svoj Android SDK i mislim da je Eclipse najkorišteniji IDE za razvoj Android aplikacija.
1986-1990: Commodore64 / 1990-1994: Amiga 500 / 1995-1996: Amiga 1200 / 1997-2001: N/A@home /
2002-2004: Windows98, XP /
2004-2005: Knoppix, Mandrake / 2005: Mandriva, Ubuntu / 2005-2009: LFS / 2009-2010: Mint /
2010-... Arch
Avatar
retsam
Postovi: 2254
Pridružen/a: 11 svi 2009, 16:26
Spol: M
OS: Arch Linux x86-64 subtle
Lokacija: /dev/pts/0

Re: [C++] Moj početak

Post Postao/la retsam »

ant1h3r0 je napisao/la:Ok, odlično, puno hvala! Bacam se onda na Qt.

Još jedno pitanje, da li isto stečeno znanje primjenjivo i na izradu aplikacija za Android? Pretpostavljam da je budući da je linux-based i da samo treba ukomponirati odgovarajuće library-e.
Može pomoći u generalnom razvijanju preodžbe o konceptu razvoj OOP orjentiranih aplikacja, ali ti generalno neće pomoći, ako su ti aplikacije za android prioritet onda se baci na javu mislim da je bolje zacrtati si neke ciljeve nego utrošiti vrijeme (naravno ono nije utrošeno, ali ako ti je cilj android promašio si jezik )
Ken Thompson je napisao/la:One of my most productive days was throwing away 1000 lines of code.

Pikacode - Arch configs
Pikacode - dwm config
Avatar
stefan
Moderator
Postovi: 4366
Pridružen/a: 28 sij 2009, 18:46
Spol: M
OS: openSUSE Leap KDE

Re: [C++] Moj početak

Post Postao/la stefan »

Mogu reći da znam dobro C++/Qt (ako ne i odlično :zvizdi ) i probao sam prčkati sa Android SDK-om i nisam mogao naći neke poveznice...
Nadam se da bi Qt mogao nekako dobiti podršku za android (http://code.google.com/p/android-lighthouse/, http://labs.qt.nokia.com/2011/02/28/necessitas/), jer Java mi nije legla...
Like some other animals, the gecko can perform a neat trick when threatened by a predator: it can amputate its own tail. The dropped tail serves to distract the predator, and by losing it, the lizard can run faster.
Avatar
ant1h3r0
Postovi: 8
Pridružen/a: 10 ožu 2012, 08:28

Re: [C++] Moj početak

Post Postao/la ant1h3r0 »

Android mi nije prioritet, već dodatak. Nažalost nisam kliknuo s Javom, ne sviđa mi se JVM. Ali dobro, ako bude potrebe, znam od kud počet i gdje tražit. :-)
linux_n00b@Debian
http://www.haxeman.com
Odgovori