Programiranje (Pocetnik)

poruka: 89
|
čitano: 27.011
|
moderatori: Lazarus Long, XXX-Man, vincimus
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
1337Code_breaker kaže...
ima li neka dobra knjiga o c, probao sam c++ ali vrlo je kompleksan za poceti, c je barem malo jednostavniji...

  Ne preporučam ti da počinješ s C-om: uz dobar udžbenik, C++ je daleko bolji izbor. Pod dobrim udžbenikom svakako ne mislim na one knjige čiji je cilj predstaviti jezik C++ u njegovoj cijelosti. Jer, tu si u pravu: gledano u globalu, C++-om je bitno teže ovladati nego C-om.

 

17 godina
moderator
online
RE: Programiranje (Pocetnik)
1337Code_breaker kaže...
ima li neka dobra knjiga o c, probao sam c++ ali vrlo je kompleksan za poceti, c je barem malo jednostavniji...

Ne vidim po cemu je C jednostavniji. Mislim da je bitno jednostavnije koristiti objekte i klase iz standardnih biblioteka nego pozivati funkcije sa sto parametara. A i kad sam nesto radis, takodjer ti je jednostavnije da si napravis svoje klase, umjesto da radis hrpe funkcija kojima ces svima slati odvojene parametre ili pak strukture (a onda si isto tamo mogao koristiti OOP u C++-u - sto je jednostavnije, ljepse i preglednije).

15 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
koja je prakticna razlika između objektnog i proceduralnog? mislim u samome kodu?
I)0/\/7 I_3412/\/ 70 I-I4(I(, I-I4(I( 70 I_3412/\/
16 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
1337Code_breaker kaže...
koja je prakticna razlika između objektnog i proceduralnog? mislim u samome kodu?

 

Proceduralno programiranje se bazira na funkcijama. dakle da imaš program za simulaciju zarulje imao bi funkciju za paljenje zarulje (kojoj predajes ime zarulje koju palis), za gasenje zarulje, varijablu koja recimo pokazuje dali zarulja gori bla bla.

 

Kod objektnog programiranja imao bi objekt zarulju sa metodama upali/gasi i varijablom statusa. Svaka instanca zarulje bi imala vlastite metode, i kasnije ako ti padne na pamet poboljsati zarulju i naraviti crvenu zarulju ne trebas se pisati ponovo nego mozes samo nasljediti staru klasu zarulje i dodati nove stvari koje ti trebaju, kao u ovom primjeru varijablu boja.

 

 

14 godina
neaktivan
offline
RE: Programiranje (Pocetnik)

 

Mislim da se s takvim pitanjima trenutno ne bi trebao zamarati. Jer nekom poput tebe, tko ima vrlo malo ili nimalo iskustva u programiranju gotovo je nemoguće u okvirima uobičajenim za poruke na jednom forumu rastumačiti na jasan način razliku između objektno-orijentiranog i proceduralnog programiranja, a napose još kako se ta razlika ogleda u samom kodu programa.

 

U suštini, paradigme programiranja tipa proceduralno, objektno-orijentirano ili funkcijsko su discipline razmišljanja i formiraju sam način na koji osoba pristupa rješavanju nekog problema. Bez barem jedne godine intenzivnog iskustva u programiranju u nekoj od ovih paradigmi ne vidim kako bi itko mogao cijeniti njihove temeljne postavke i međusobne različitosti.

 

Za sve koje zamina što objektno-orijentirano programiranje zapravo jest, a imaju solidnu zaleđinu u programiranju, evo izvrsnog, ali i podužeg objašnjenja od samog tvorca programskog jezika C++:

http://www2.research.att.com/~bs/whatis.pdf

Poruka je uređivana zadnji put sri 1.12.2010 14:49 (Max Demian).
17 godina
offline
RE: Programiranje (Pocetnik)
Dr. Zoidberg kaže...
1337Code_breaker kaže...
koja je prakticna razlika između objektnog i proceduralnog? mislim u samome kodu?

 

Proceduralno programiranje se bazira na funkcijama. dakle da imaš program za simulaciju zarulje imao bi funkciju za paljenje zarulje (kojoj predajes ime zarulje koju palis), za gasenje zarulje, varijablu koja recimo pokazuje dali zarulja gori bla bla.

 

Kod objektnog programiranja imao bi objekt zarulju sa metodama upali/gasi i varijablom statusa. Svaka instanca zarulje bi imala vlastite metode, i kasnije ako ti padne na pamet poboljsati zarulju i naraviti crvenu zarulju ne trebas se pisati ponovo nego mozes samo nasljediti staru klasu zarulje i dodati nove stvari koje ti trebaju, kao u ovom primjeru varijablu boja.

 

 

Odlicna ilustracija.

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
15 godina
odjavljen
offline
Programiranje (Pocetnik)

Da ne citiram cijeli post, lijepo je to Dr.Zoidberg ilustrirao, meni su još uvijek ti pojmovi poamlo apstraktni.Ono što razumijem da u ovom slučaju žarulja svjetli / ne svijetli, odnosno o vrijednosti pridružene varijable,a li ne razumijem znači ovisno o pridruženoj varijabli stvara se nova instanca objekta(žarulje)?I što se onda događa sa prvom instancom?Ona je i dalje u memoriji?

Može malo pojašnjenje metode?Da li tu mislimo na ponašanje objekta odnosno "pridruživanje funkcije"?I dali onda objekt na koji primjenjujemo metodu postaje klasa?

 
0 0 hvala 0
17 godina
moderator
online
RE: Programiranje (Pocetnik)
Max Demian kaže...

 

Mislim da se s takvim pitanjima trenutno ne bi trebao zamarati. Jer nekom poput tebe, tko ima vrlo malo ili nimalo iskustva u programiranju gotovo je nemoguće u okvirima uobičajenim za poruke na jednom forumu rastumačiti na jasan način razliku između objektno-orijentiranog i proceduralnog programiranja, a napose još kako se ta razlika ogleda u samom kodu programa.

 

U suštini, paradigme programiranja tipa proceduralno, objektno-orijentirano ili funkcijsko su discipline razmišljanja i formiraju sam način na koji osoba pristupa rješavanju nekog problema. Bez barem jedne godine intenzivnog iskustva u programiranju u nekoj od ovih paradigmi ne vidim kako bi itko mogao cijeniti njihove temeljne postavke i međusobne različitosti.

 

Cudan, antiedukacijski post. Zasto se ne bi trebao "zamarati"? Mislim da je jako bitno da bar u okvirnim crtama zna o cemu se radi. Jasno je da inicijalno mozda nece puno toga razumjeti, no ako zna neke teorijske osnove, koje mu sad mozda zvuce isprazno, kroz rad, ucenje, vjezbanje polako ce mu se te teorijske osnove demonstrirati u praksi i omoguciti mu potpuno razumijevanje onoga sto radi. Pa i osobu koju ucis osnove programiranja, reci ces mu da je Integer 32-bitni broj (shodno tome ima raspon od toliko do toliko) - inicijalno osoba ne mora znati sto to znaci da je broj 32-bitni ni zbog cega ima raspon koji ima, ali bi trebao znati te stvari i poslije ce shvatiti zasto je sve to tako kako jest.

 

Zoidberg je lijepo, laicki objasnio razliku. Sad Code_breaker eventualno moze biti zadovoljan tim ili moze postaviti par pitanja da mu se detaljnije obrazlozi i vec ce imati neku sasvim solidnu percepciju OOP-a.

 

Ono, ko da je neka velika mudrost shvatiti bar neke crte OOP-a. Evo, pronasao sam ovaj video na YouTubeu koji lijepo objasnjava neke bitna stvari, poput nacina koristenja "podataka", do toga sto je skrivanje podataka (nesto sto nazalost ne razumiju, ili barem prije nisu razumjeli, ni mnogi samozvani forumski programeri {#}):

17 godina
moderator
online
RE: Programiranje (Pocetnik)
alankish kaže...

Da ne citiram cijeli post, lijepo je to Dr.Zoidberg ilustrirao, meni su još uvijek ti pojmovi poamlo apstraktni.Ono što razumijem da u ovom slučaju žarulja svjetli / ne svijetli, odnosno o vrijednosti pridružene varijable,a li ne razumijem znači ovisno o pridruženoj varijabli stvara se nova instanca objekta(žarulje)?I što se onda događa sa prvom instancom?Ona je i dalje u memoriji?

Tebi evo ovaj video - on objasnjava sto su klase, a sto objekti. Klase i objekti su zapravo pogresna terminologija i upravo zbog toga ljudi cesto ne shvacaju o cemu se radi. Klase i objekti zapravo ne postoje kao takvi - to je ustaljeno nazivlje, ali pogresno opisuje o cemu se radi.

 

Klasa je zapravo "klasa objekta", razred objekta, vrsta objekta, nacrt objekta, a objekt je instanca klase, memorijska realizacija klase.

 

Kad stvari pogledas na taj nacin, trebala bi ti biti jasna razlika izmedju "klase" i "objekta".

16 godina
odjavljen
offline
Programiranje (Pocetnik)

Jedno pitanje.. Zašto se početnicima prvo baca c/c++?

 

Objektivno, skoro pa i ne postoje "lakši" i "teži" jezici jer obično ljudi gledaju sintaksu. Ali za jednog početnika (mene npr.) c/c++ kod je prilično nerazumljiv za razliku od C# (ili bilo kojeg .net jezika) koji ima prilično čistu sintaksu i daleko više vuče na engleski jezik nego c i njegovi derivati.

 

Po mom mišljenu, početniku bi trebalo dati c#. qbasic MOŽDA ako osoba nema apsolutno nikakvog pojma o programiranju (isključivo radi sintakse).

A rifle is like a human. The stock is the skeleton, the scope is the eyes, the action is the brain, and the barrel is the heart. But you, the man behind the rifle, you are the soul.
Moj PC  
0 0 hvala 0
17 godina
moderator
online
RE: Programiranje (Pocetnik)

Po mom misljenju, Basic bi trebalo zakonom zabraniti u skolama (eventualno kao izborni predmet ili eventualno ostaviti u nizim razredima osnovne skole). Glede nekih normalnih jezika, slazem se da ne bi trebalo poceti ni s C-om ni s C++-om, nego s Javom ili C# - oboje su OOP jezici s referencama umjesto pokazivacima, laksi za nauciti od C/C++-a. A onda ako se netko hoce muciti s pokazivacima, moze kasnije prijeci na C++, a ako se hoce maknuti s OOP-a, onda i na C - iako mislim da je danas besmisleno raditi u C-u (osim tamo gdje se zbog tehnickih ili kakvih drugih razloga mora raditi upravo u njemu).

16 godina
odjavljen
offline
RE: Programiranje (Pocetnik)

Istina, c/c++ su korisni samo ako nam trebaju visoke performanse i "bliži" pristup hardveru.

 

Mada je ova priča oko brzine prilično upitna - .net dozvoljava unsafe kod i ti ključni dijelovi koda (oni koji moraju brzo računati) mogu se napisati ili u internom assembleru (MSIL, jel tako?) ili se ubaci c/c++ kod.

 

Doduše, onaj tko namjerava radit u c/c++ vjerojatno će to od početka znati dok oni koji se prvi put susreću sa programiranjem bi trebali dobiti ipak nešto "čitljiviji" jezik. .net ima dosta gotovih rješenja tipa LINQ. garbage collector i slično dok se u c+c++ mora ponekad izmišljati topla voda jer c++ nije u potpunosti OO jezik a c nikako.

 

A niti Java nije loša ideja. Multiplatformsko rješenje (ima i .net -> mono ali...) pa je dosta zgodno ako netko ne namjerava raditi isključivo na windowsima.

A rifle is like a human. The stock is the skeleton, the scope is the eyes, the action is the brain, and the barrel is the heart. But you, the man behind the rifle, you are the soul.
17 godina
moderator
online
RE: Programiranje (Pocetnik)
Sum_of_all_fears kaže...

A niti Java nije loša ideja. Multiplatformsko rješenje (ima i .net -> mono ali...) pa je dosta zgodno ako netko ne namjerava raditi isključivo na windowsima.

Ako govorimo o ucenju programiranja, o ucenju osnova objektno orijentiranog programiranja, onda je tu platforma prakticki nebitna (dal je to .NET ili Java). Koncepti su isti. A kad covjek nauci, shvati, razumije koncepte, i dalje ce mu osnovni kod biti manje-vise jednak, jedino ce se razlikovati nazivi klasa i funkcija, jer oni ovise o platformi i frameworku.

16 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
alankish kaže...

Da ne citiram cijeli post, lijepo je to Dr.Zoidberg ilustrirao, meni su još uvijek ti pojmovi poamlo apstraktni.Ono što razumijem da u ovom slučaju žarulja svjetli / ne svijetli, odnosno o vrijednosti pridružene varijable,a li ne razumijem znači ovisno o pridruženoj varijabli stvara se nova instanca objekta(žarulje)?I što se onda događa sa prvom instancom?Ona je i dalje u memoriji?

Može malo pojašnjenje metode?Da li tu mislimo na ponašanje objekta odnosno "pridruživanje funkcije"?I dali onda objekt na koji primjenjujemo metodu postaje klasa?

 

Malo sam se izgubio u tvom pitanju <.<

 

Ovako bi izgledala klasa zarulja:

 

class zarulja

{

  private int stanje; 

  void upali()

  {

      stanje=1;

  }

  void ugasi()

  {

      stanje=0;

  } 

 

dakle to je nacrt našeg objekta. Stvaranja nove instance objekta zarulje po nacrtu automatski stvara i pridruženu varijablu stanje.

 

Ako uništimo objekt kasnije, automatski se uništava i pridružena varijabla stanje.

 

Metoda je funkcija unutar klase objekta koja djeluje samo (najčešće, moze biti i drukčije) na instancirani objekt koji poziva tu funkciju. Čini mi se da ću samo zakomplicirati :) Laički, metoda je funkcija sadržana unutar nacrta klase, i svaka instancirana klasa dobije svoju kopiju te funkcije za sebe.

 

 

 

17 godina
moderator
online
Programiranje (Pocetnik)

Mislim da je najbolje da pridjev "pridruzena" izbrisemo, jer tu nije rijec o nikakvoj "pridruzenoj" varijabli (stogod da bi to znacilo). Nemojmo izmisljati nepostojece termine u ustaljenoj terminologiji. Varijabla stanje je podatkovni clan klase zarulja. Ona nije "pridruzena" klasi zarulja, ona je sastavni dio klase zarulja.

 
0 0 hvala 0
16 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
mbaksa kaže...

Mislim da je najbolje da pridjev "pridruzena" izbrisemo, jer tu nije rijec o nikakvoj "pridruzenoj" varijabli (stogod da bi to znacilo). Nemojmo izmisljati nepostojece termine u ustaljenoj terminologiji. Varijabla stanje je podatkovni clan klase zarulja. Ona nije "pridruzena" klasi zarulja, ona je sastavni dio klase zarulja.

 

:) istina

16 godina
protjeran
offline
Programiranje (Pocetnik)

Jel mi može netko reći koji je jezik najbolji za korištenje u Unity-u ili UDK i tome slično. Želim sa svojim znanjem napraviti nekakvu igru pa me zanima što je za to najprikladnije...

 

EDIT: I je li dovoljno znati samo jedan jezik...

trailerlog.blogspot.com
Poruka je uređivana zadnji put sri 1.12.2010 16:31 (APazinjan).
Moj PC  
0 0 hvala 0
17 godina
neaktivan
offline
RE: Programiranje (Pocetnik)

u svakom jeziku možeš napraviti igru

joj kad se sjetim super simpatičnih igara napisanih u Basic i Basica

heh to su bila vremena

 

najbolje ako naučiš asembler (onda si car)

Ali za neko dobro programiranje igara preporuka c (bilo koja verzija) i java

 

14 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
Sum_of_all_fears kaže...

Jedno pitanje.. Zašto se početnicima prvo baca c/c++?

  Ovo je jedan od razloga: http://langpop.com/

 

Mislim da je suvišno komentirati kako učenici/studenti žele naučiti programirati u nekom od trenutno popularnih jezika i da tržište udžbenika na to proporcionalno odgovara. S druge strane, sveučilišni profesori, iako pod stanovitim pritiskom javnosti, uživaju dovoljnu slobodu da u odluci kojim programskim jezikom podučavati početnike u razmatranje uzmu i druge barem jednako bitne kriterije.

 

Sad, jedan od razloga zašto se oni ipak većim dijelom odlučuju za ove popularne programske jezike jest taj što za njih redovno postoje odlične razvojne okoline i to za relativno širok raspon OS-ova.

 

Naravno, uvijek postoje iznimke: MIT za uvodni kolegij iz računarstva koristi Python; Berkeley za taj isti kolegij koristi Scheme (nekoć vrlo popularan programski jezik na američkim sveučilištima); neka pak druga sveučilišta koriste Haskell, itd ...

 

Kod nas u Hrvatskoj, nažalost, nema ni govora o ovakvoj raznolikosti.

14 godina
neaktivan
offline
Programiranje (Pocetnik)
C#, ima ti knjiga i video tutoriala kao sto je testout(meni najbolji) nabavi si video programiranje slusaj pazljivo da neke stvari mozes zakljiciti
 
0 0 hvala 0
17 godina
offline
Programiranje (Pocetnik)

Da, C# ima jako "ugodnu" sintaksu. Kako da kazem... "lijepo" ga je pisati. C++ malo manje lijepo :)

Objektni paskal je takodjer "ugodno" pisati :)

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
 
0 0 hvala 0
15 godina
neaktivan
offline
Programiranje (Pocetnik)

Naljepšu sintaksu ima Pascal, a najčišći kod C. 

Sve ostalo su manje više dobri izvozi postojećih jezika zbog potreba, mada je C++ u biti jezik nastao sam za sebe, a ne kako to mnogi misle iz C-a. 

 

E da i ako možete zaobilazite razvoj na i za MS platforme ( ovo za ne i nužno ) , jer ostavljaju brain damage. 

 

Pozdav

 

 

http://www.basketballhoopjam.com
 
1 0 hvala 0
14 godina
protjeran
offline
RE: Programiranje (Pocetnik)
mbaksa kaže...

Tebi evo ovaj video - on objasnjava sto su klase, a sto objekti. Klase i objekti su zapravo pogresna terminologija i upravo zbog toga ljudi cesto ne shvacaju o cemu se radi. Klase i objekti zapravo ne postoje kao takvi - to je ustaljeno nazivlje, ali pogresno opisuje o cemu se radi.

 

Klasa je zapravo "klasa objekta", razred objekta, vrsta objekta, nacrt objekta, a objekt je instanca klase, memorijska realizacija klase.

 

Kad stvari pogledas na taj nacin, trebala bi ti biti jasna razlika izmedju "klase" i "objekta".

Vrlo dobro objašnjeno.

Prepolovit ću pučanstvo jer ne volim kretene
15 godina
odjavljen
offline
RE: Programiranje (Pocetnik)
woodgamesfx kaže...

 

E da i ako možete zaobilazite razvoj na i za MS platforme ( ovo za ne i nužno ) , jer ostavljaju brain damage. 

 

 

 

 

Možeš malo argumentirati?

15 godina
neaktivan
offline
Programiranje (Pocetnik)

Mogu ali vrlo kratko i brzo : učiti programiranje ili prve početke kretat u masi drag&drop kontroli i ubacivanje par linijica koda pod evente nije programiranje, tj. način da se naući nešto, znam jer sam par godina predavao ljudima programiranje i znam da oni koji nisu savladali Pascal i C nisu znali ništa napraviti u VS-u osim drag&drop kontrole. 

 

 

http://www.basketballhoopjam.com
 
1 0 hvala 0
15 godina
odjavljen
offline
RE: Programiranje (Pocetnik)
woodgamesfx kaže...

Mogu ali vrlo kratko i brzo : učiti programiranje ili prve početke kretat u masi drag&drop kontroli i ubacivanje par linijica koda pod evente nije programiranje, tj. način da se naući nešto, znam jer sam par godina predavao ljudima programiranje i znam da oni koji nisu savladali Pascal i C nisu znali ništa napraviti u VS-u osim drag&drop kontrole. 

 

 

Točan odgovor{#}, tako sam i ja počeo(sa VB i eventhandlerima), no trenutno sam se okanio programiranja(i ne baš), radim u PHP-u(učim još) i web design. no u mene je usađena ljubav prema programiranju.Nakon "igranja" u VB sam došao da zaključka da jako malo znam i da ću jako malo na taj način naučiti.Koji jezik ti najbolje leži?Znam glupo pitanje.

15 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
woodgamesfx kaže...

Mogu ali vrlo kratko i brzo : učiti programiranje ili prve početke kretat u masi drag&drop kontroli i ubacivanje par linijica koda pod evente nije programiranje, tj. način da se naući nešto, znam jer sam par godina predavao ljudima programiranje i znam da oni koji nisu savladali Pascal i C nisu znali ništa napraviti u VS-u osim drag&drop kontrole. 

Slazem se, ALI, valjda ti je jasno da to nije jedini nacin programiranja za Windows platformu. Mozes ti i rucno pozivati API funkcije, i napraviti OpenGL aplikaciju bez i jedne uporabe drag'n'drop kontrola.

 

Kako bi englezi rekli - whatever floats your boat.

How much wood would a woodchuck chuck if a woodchuck could chuck wood?
17 godina
offline
Programiranje (Pocetnik)

Plus sto se sve kontrole mogu dinamicki kreirati. Tako da ono...

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
 
1 0 hvala 0
15 godina
neaktivan
offline
RE: Programiranje (Pocetnik)
rustweaver kaže...
woodgamesfx kaže...

Mogu ali vrlo kratko i brzo : učiti programiranje ili prve početke kretat u masi drag&drop kontroli i ubacivanje par linijica koda pod evente nije programiranje, tj. način da se naući nešto, znam jer sam par godina predavao ljudima programiranje i znam da oni koji nisu savladali Pascal i C nisu znali ništa napraviti u VS-u osim drag&drop kontrole. 

Slazem se, ALI, valjda ti je jasno da to nije jedini nacin programiranja za Windows platformu. Mozes ti i rucno pozivati API funkcije, i napraviti OpenGL aplikaciju bez i jedne uporabe drag'n'drop kontrola.

 

Kako bi englezi rekli - whatever floats your boat.

 

U pravu si, ali u domeni početnika mislim da se ipak treba primit motike ( čitaj neki proceduralni jezik niske razine pa zatim na OOP ), znam iz iskustva.

 

 

 

http://www.basketballhoopjam.com
17 godina
offline
RE: Programiranje (Pocetnik)
woodgamesfx kaže...
rustweaver kaže...
woodgamesfx kaže...

Mogu ali vrlo kratko i brzo : učiti programiranje ili prve početke kretat u masi drag&drop kontroli i ubacivanje par linijica koda pod evente nije programiranje, tj. način da se naući nešto, znam jer sam par godina predavao ljudima programiranje i znam da oni koji nisu savladali Pascal i C nisu znali ništa napraviti u VS-u osim drag&drop kontrole. 

Slazem se, ALI, valjda ti je jasno da to nije jedini nacin programiranja za Windows platformu. Mozes ti i rucno pozivati API funkcije, i napraviti OpenGL aplikaciju bez i jedne uporabe drag'n'drop kontrola.

 

Kako bi englezi rekli - whatever floats your boat.

 

U pravu si, ali u domeni početnika mislim da se ipak treba primit motike ( čitaj neki proceduralni jezik niske razine pa zatim na OOP ), znam iz iskustva.

 

 

 

Naravno... sa stajalista jednog pocetnika definitivo se slazem sa tobom, ali kad ljudi vide da im se rezultati ispisuju u konzoli onda se malo razocaraju jer misle da ce sa tim jezikom "zapeti" na toj istoj konzoli. Ne kuze da je to jedan isti jezik i za konzolu i za nekakav GUI :)

Mi smo na putu da budemo na putu prema izlazu iz krize [GOOGLE TRANSLATOR]: Na putu prema dolje
Nova poruka
E-mail:
Lozinka:
 
vrh stranice