U temu si usao izmisljajuci da ljudima savjetujem suprotnu praksu od one koju im savjetujem (cega se opet dotices i u ovoj zadnjoj poruci!), izmisljajuci da pocetnike navodim na misljenje da Tracer govori gluposti o stack overflowu (iako eksplicitno kazem da velicina stacka moze biti jedan od faktora), da bi potom izazvao pomutnju time sto pises jedno (kontriras mi na frameworkove VCL i MFC), a govoris o necem drugom (aplikacijama koje koriste VCL ili MFC framework)!
I onda, kad se konacno udostojis reci da si zapravo govorio o VCL aplikaciji, a ne o VCL frameworku (kao da nisi imao priliku u vise poruka prije to reci i postedjeti nas cijele ove rasprave!), onda me optuzujes za cjepidlacenje. I jos na kraju sve to zacinis jednim obicnim ad hominem napadom. Toliko o eticnosti nacina na koji razgovaras.
Mislim (nadam se) da smo medjusobnu raspravu zavrsili. Tebi ostaju MFC, te dinamicno linkane VCL aplikacije koje su zbog toga dependant o BPL datotekama, a meni ostane dependency-free VCL framework i staticno linkane dependency-free VCL aplikacije. I vuk sit i koza cijela.
C++ - brza pitanja iz objektno orij. programiranja
- poruka: 175
- |
- čitano: 45.138
- |
- moderatori:
Lazarus Long, XXX-Man, vincimus
Nemam se namjeru prepirati i napadati tebe, već isključivo ukazati na te stvari. Cijelo vrijeme izbjegavavam potcjenjivanje i provokacije, ali ti se braniš kao da se radi o dokazivanju veličine e-penisa i drsko patroniziraš, a da (po vlastitim riječima) nisi nikad taknuo win cpp dev.
VCL je bogatiji frmwrk, ali MFC ima svojih prednosti. Naravno, danas je suludo ne-koristiti .NET na Win ili Javu na *nixima, ako baš nemaš neki algoritam koji znatno brže radi u C++u.
Mir s tobom.

Jedan od dva admina... moze lock na temu i svadjajte se preko PP
Ruzno vas je vidit. Ko da se Jaca i Šeks posvadjaju :)
O tome vec sve rekao. Nitko na ovoj temi ne zagovara koristenje velikih polja (objekata), a pogotovo ne staticno alociranih.
S jedne strane imas "cistocu", kompliciranu uporabu te kompajliran C++ kod, dok s druge strane imas daleko vise daleko mocnijih i prilagodljivijih komponenti, izvrsno razradjen objektni model koji omogucava vrlo jednostavno prosirivanje postojecih (imas vec pripremljenu tonu virtualnih funkcija koje samo treba overrideati) ili izradu novih komponenti (zbog toga imas i ogromnu kolicinu besplatnih gotovih komponenti za skinuti - mnoge s izvornim kodom) i koji omogucava izrazito jednostavnu izradu aplikacija s tim komponentama.
Ako idem radit program, onda zelim uz minimalno truda dobiti sto je moguce kvalitetnije sucelje kako bi mi sto vise vremena ostalo za programiranje onog sto bi program zapravo trebao raditi. Mozes li mi onda zamjeriti sto MFC smatram smecem u odnosu na VCL? Ocito nam se kriteriji za smece razlikuju. Ja nisam navikao na WinApi pa da MFC vidim kao napredak u odnosu na WinApi, navikao sam na VCL i MFC vidim kao ogromno nazadovanje u odnosu na VCL. Toliko nazadovanje da mi nije jasno zasto je Microsoft godinama mucio korisnike svojih razvojnih alata. Ali dobro - popustio je pa korisnicima nudi i .NET - koji ima daleko vise slicnosti s VCL-om, nego MFC-om.
Jedan od dva admina... moze lock na temu i svadjajte se preko PP
Sto bi ti stalno lockao tu temu? Vidis da smo si dobri. Doslo je do nesporazuma - nismo se dobro razumjeli.
Da, ali onda ne vidim ni razlog da ideš na C++ na Windowsima, uopće. Osim za 3D high-performance aplikacije (a ni to, ali to je još jedna debata) nema potrebe za C++om. C# se kompajlira u nativni kod i čak je u 3D-u, dakle DirectX-u jednako brz, a ponekad i brži od C++a. Ima dobar GC, ima lambda izraze, ima dinamičko programiranje, LINQ, integrira se u .NET, napreduje iznimno brzo kao jezik što ga čini trenutno najmodernijim klasičnim high-level jezikom s C/C++ sintaksom, itd.
U segmentu korisničkih aplikacija, ne vidim primjenu za C++ trenutno. C++ je previše error-prone i bug-prone. Kada bih išao na razvoj neke video igre, tj. renderera i sl. nisam siguran da bih odabrao C++ umjesto C#-a/XNA.
Delphi je mrtav jezik IMHO, a Java ima nesigurnu budućnost, iako mislim da će je prije netko forkati, nego što će propasti zbog pohlepnog Oraclea. U nekom srednjem slučaju, Java će sve manje biti WORA i sve više će se segmentirati na razne Droide i privatne VM-ove.
Jako loš znak i žestok udarac na Javu je izlazak Googlea iz JavaOne konferencije.
Ako govorimo o Windows programiranju, danas je suludo ići uopće na Formse, već se ide na WPF ili još bolje Silverlight OoB, a tada je C# (opet) najbolji izbor.
WinDev => C#.NET + WPF/Silverlight OoB
Može prijedlog nele knjige iz C#-a da prolistam malo =D?
"Programiranje na jeziku C#"
Jesse Liberty
Izdavačka kuća : O'Reilly
Mikro knjiga
Recimo možeš krenuti sa njom ..dalje "debele " na "engleskom" :)
Evo gledam po forumu i vidim svi živi neke igrice sitne napravili kako u pythonu,tako u c++ itd.
E sad bi i ja :D
Zanimame šta trebam da napravim nešto tipa križič kružić kakav je napravio Tracer prije kojih mjesec dana ...Koja znanja,eventualno programe i to.
Evo gledam po forumu i vidim svi živi neke igrice sitne napravili kako u pythonu,tako u c++ itd.
E sad bi i ja :D
Zanimame šta trebam da napravim nešto tipa križič kružić kakav je napravio Tracer prije kojih mjesec dana ...Koja znanja,eventualno programe i to.
Jel pitas za logiku igara ili za graficko sucelje? Za logiku igara - napravi prvo u tekstualnom sucelju, a onda mozes krenuti na graficko. Znaci, napravi si klasu koja ce imati javne metode klikniNaPolje(od 0 do 8), provjeriPobjednika, novaIgra, prikaziMatricu. Poslije tu istu klasu, uz sitne izmjene, mozes iskoristiti i programu s GUI-jem.
Ako pitas za graficko sucelje - uzmes neki alat koji ti omogucava kreiranje grafickog sucelja. Borland C++Builder je definitivno najjednostavniji i najmocniji sto se tice C++ alata, Microsoftov MFC je kompliciran i nema smisla da se kao pocetnik uopce uplices u to, ima jos wxWindows framework (ima posebna verzija Dev-C++-a nazvana wxDev-C++ koja dolazi s tim frameworkom) i Qt cross-platform framework. Mozda da malo pogledas i ovo: http://en.wikipedia.org/wiki/Widget_toolkit
A mozes se jednostavno odmah prebaciti na .NET i C#. Ili da krenes u lov na DirectX.
Uglavnom - sucelje je "samo" sucelje - veza izmedju logike programa i korisnika.
Cini se da je dovoljno polje deklarirati i inicijalizirati na ovaj nacin:
drvo *stab = new drvo[c];
Naravno, kad ti polje vise ne treba (u ovom slucaju na kraju programa), onda ga obrises naredbom:
delete stab;
Moram se nakratko vratiti na ovo - tu sam napravio gresku. Kad se dealocira polje - bilo kakvo polje (ukljucujuci polje objekata), onda treba koristiti delete [], znaci umjesto delete stab; treba ici:
delete [] stab;
Baksa, Naxeem... jedno pitanje, nije bas ontopic skroz al eto... na koji nacin mogu citati temperature iz BIOS-a? Preko API-ja? Ima li u .Net FW kakva klasa za to? Ima li pak nekakav DLL u winsima koji ima metode za to? Hvala.
Baksa, Naxeem... jedno pitanje, nije bas ontopic skroz al eto... na koji nacin mogu citati temperature iz BIOS-a? Preko API-ja? Ima li u .Net FW kakva klasa za to? Ima li pak nekakav DLL u winsima koji ima metode za to? Hvala.
Da, možeš kroz WMI.
Napomena: samo ako imaš WMI podršku ploče. Možeš i sam napisati driver, a za to imaš malu pomoć ovdje.
Evo gledam po forumu i vidim svi živi neke igrice sitne napravili kako u pythonu,tako u c++ itd.
E sad bi i ja :D
Zanimame šta trebam da napravim nešto tipa križič kružić kakav je napravio Tracer prije kojih mjesec dana ...Koja znanja,eventualno programe i to.
Jel pitas za logiku igara ili za graficko sucelje? Za logiku igara - napravi prvo u tekstualnom sucelju, a onda mozes krenuti na graficko. Znaci, napravi si klasu koja ce imati javne metode klikniNaPolje(od 0 do 8), provjeriPobjednika, novaIgra, prikaziMatricu. Poslije tu istu klasu, uz sitne izmjene, mozes iskoristiti i programu s GUI-jem.
Ako pitas za graficko sucelje - uzmes neki alat koji ti omogucava kreiranje grafickog sucelja. Borland C++Builder je definitivno najjednostavniji i najmocniji sto se tice C++ alata, Microsoftov MFC je kompliciran i nema smisla da se kao pocetnik uopce uplices u to, ima jos wxWindows framework (ima posebna verzija Dev-C++-a nazvana wxDev-C++ koja dolazi s tim frameworkom) i Qt cross-platform framework. Mozda da malo pogledas i ovo: http://en.wikipedia.org/wiki/Widget_toolkit
A mozes se jednostavno odmah prebaciti na .NET i C#. Ili da krenes u lov na DirectX.
Uglavnom - sucelje je "samo" sucelje - veza izmedju logike programa i korisnika.
Pa pitam i za jedno i drugo...Neznam npr. kako bi napravio javnu funkciju klikniNaPolje(gdje se od korisnika očekuje klik mišem)..a znao bi ispis matrice,provjeri pobjednika....Sad ću skinut ovaj wxDev-C++ jer je besplatan,a dalje cu vidit :D
Mozes skinuti, ali ti preporucam da igru prvo napravis u tekstualnom modu (mozes to i u wxDev-C++-u), znaci u konzoli. Tek toliko da skuzis logiku. Tic Tac Toe mozes implementirati na jednodimenzionalnom polju s 9 redaka ili na matrici 3x3 celija. Mozda bolje da uzmes jednodimenzionalno polje jer je stvar jednostavnija . Indeksi od 0 do 8 ce ti oznacavati koje je polje u pitanju:
0 1 2
3 4 5
6 7 8
Znaci, trazis od korisnika da upise u koje polje da stavi X (ili O) recimo preko cin >> varijabla i onda pozoves igra.klikniNaPolje(varijabla). klikniNaPolje bi dalje trebala obaviti sve nuzne stvari (u polje s indeksom varijabla upisati vrijednost 1 ili 2, ovisno o tome koji igrac je bio na redu, ispisati igru na ekranu, provjeriti ima li pobjednika). A kad to prebacis u sucelje, onda ces klikom na gumb pozvati igra.klikniNaPolje(nekibroj). Znaci, prakticki ista stvar. Ali dobro - nista te ne prijeci da odmah ides raditi u grafickom korisnickom sucelju.
Baksa, Naxeem... jedno pitanje, nije bas ontopic skroz al eto... na koji nacin mogu citati temperature iz BIOS-a? Preko API-ja? Ima li u .Net FW kakva klasa za to? Ima li pak nekakav DLL u winsima koji ima metode za to? Hvala.
Da, možeš kroz WMI.
Napomena: samo ako imaš WMI podršku ploče. Možeš i sam napisati driver, a za to imaš malu pomoć ovdje.
Da... guglao sam i vidio da WMI i nije najbolje rijesenje?
Ima li neko "sirovije" rijesenje a da radi univerzalno neovisno o driveru? Npr direktan pristup BIOS-u?

Da ali ovde sam limitiran na odredjene chipove.
Šalu na stranu, ali to je najbolje što sam našao u booksima po tom pitanju.

Šalu na stranu, ali to je najbolje što sam našao u booksima po tom pitanju.
Sve pet, testirano na par ploca, ne podrzava sve cipove... trazim dalje... Hvala anyway...
Pitao sam kolegu, pa ćemo vidjeti.
Mozes skinuti, ali ti preporucam da igru prvo napravis u tekstualnom modu (mozes to i u wxDev-C++-u), znaci u konzoli. Tek toliko da skuzis logiku. Tic Tac Toe mozes implementirati na jednodimenzionalnom polju s 9 redaka ili na matrici 3x3 celija. Mozda bolje da uzmes jednodimenzionalno polje jer je stvar jednostavnija . Indeksi od 0 do 8 ce ti oznacavati koje je polje u pitanju:
0 1 2
3 4 5
6 7 8
Znaci, trazis od korisnika da upise u koje polje da stavi X (ili O) recimo preko cin >> varijabla i onda pozoves igra.klikniNaPolje(varijabla). klikniNaPolje bi dalje trebala obaviti sve nuzne stvari (u polje s indeksom varijabla upisati vrijednost 1 ili 2, ovisno o tome koji igrac je bio na redu, ispisati igru na ekranu, provjeriti ima li pobjednika). A kad to prebacis u sucelje, onda ces klikom na gumb pozvati igra.klikniNaPolje(nekibroj). Znaci, prakticki ista stvar. Ali dobro - nista te ne prijeci da odmah ides raditi u grafickom korisnickom sucelju.
Ma napravit ću ja to prvo u konsoli (koliko uspijem)...
Šta bi radila funkcija Nova igra?
Šta bi radila funkcija Nova igra?
Recimo u svaki element polja zapisala nulu (dakle, da je celija prazna), poziva funkciju prikaziMatricu za prikazivanje (prikazala bi tablicu ili sto vec, koja je u ovom trenutku prazna) i eventualno promijenila da je na redu drugi igrac (dakle, ne onaj koji je zadnji igrao i doveo do izjednacenja ili je pobijedio u igri).
Ako pitas za graficko sucelje - uzmes neki alat koji ti omogucava kreiranje grafickog sucelja. Borland C++Builder je definitivno najjednostavniji i najmocniji sto se tice C++ alata, Microsoftov MFC je kompliciran i nema smisla da se kao pocetnik uopce uplices u to, ima jos wxWindows framework (ima posebna verzija Dev-C++-a nazvana wxDev-C++ koja dolazi s tim frameworkom) i Qt cross-platform framework. Mozda da malo pogledas i ovo: http://en.wikipedia.org/wiki/Widget_toolkit
U čemu je tolika prednost VCL-a nad MFC-om? Što konkretno nudi više u praksi?
Napisao sam to u ovoj poruci. Preporucam ti da zapravo da sam probas - dovoljno je da jednom pokrenes C++Builder, malo preletis po komponentama, svojstvima i eventima, probas napisati koji event handler - i trebalo bi ti sve biti jasno. Uglavnom, C++Builder/VCL nude jednostavnost Visual Basica u izradi aplikacija i njihovog grafickog sucelja, a snagu C++-a i OOP-a, posto VCL iskoristava brojne principe OOP-a, ukljucujuci i one nove, poput svojstava (MFC nema svojstva - osim u editoru dijaloga - nego gettere i settere).
Znas koliko je jednostavno napraviti svoju komponentu? Naslijedis neku slicnu, dodas par svojstava, overrideas Paint metodu, eventualno metode za mis i tipkovnicu i - to je to. Za sve ostalo se pobrine VCL framework. Mozes zaboraviti da uopce radis pod Windowsima - samo u iznimnim slucajevima moras loviti poruke od Windowsa (ako nema vec pripremljena metoda za to - a za vecinu stvari ima).
Mogao sam i misliti, briga MS-a za c++, kad on ima svoju .NET platformu i svoj c#
Dovoljno je to da Visual Studio 2010 ne podržava intellisense za c++/cli.
C# i NET su MS-ovi mezimci ....a MFC se ne sjećam kad sam ga ozbiljno koristio.....
Napisao sam to u ovoj poruci. Preporucam ti da zapravo da sam probas - dovoljno je da jednom pokrenes C++Builder, malo preletis po komponentama, svojstvima i eventima, probas napisati koji event handler - i trebalo bi ti sve biti jasno. Uglavnom, C++Builder/VCL nude jednostavnost Visual Basica u izradi aplikacija i njihovog grafickog sucelja, a snagu C++-a i OOP-a, posto VCL iskoristava brojne principe OOP-a, ukljucujuci i one nove, poput svojstava (MFC nema svojstva - osim u editoru dijaloga - nego gettere i settere).
Znas koliko je jednostavno napraviti svoju komponentu? Naslijedis neku slicnu, dodas par svojstava, overrideas Paint metodu, eventualno metode za mis i tipkovnicu i - to je to. Za sve ostalo se pobrine VCL framework. Mozes zaboraviti da uopce radis pod Windowsima - samo u iznimnim slucajevima moras loviti poruke od Windowsa (ako nema vec pripremljena metoda za to - a za vecinu stvari ima).
Sad, cisto tako da dodam malo ulja na vatru: sto nedostaje GTK+u (plus Glade) i/ili wxWidgetsima? Pored svih prednosti sto sam nabrzinu pohvatao o VCL-u, crossplatform su i opensource. ~10 linija cistog koda i imas hello world window.
Nadam se da pitanje nije glupo,a ide u sljedećem stilu;na koji se od nazovimo to tako, "C" jezika fokusirati,ili to ovisi o potrebama?Raditi i učiti C++,i ići na crossplatform riješenja,ili se orijentirati na tehnologije iz Redmonda,iskorištavajući sve blagodati .NET platforme?Pričamo o nekavim "superpočetnicima",to su ovakvi kao ja,otprilike su poznati sa fundamentima OOP programiranja,namirisali su VB.NET,sviđaju im se metode i klase...a i radili bi nekakav GUI.Kakva je statistika glede zastupljenosti programskih jezika u desktop vodama,da li veća popularnost znaći i bolju "platformu",za one koji su upoznali c++ u srednjoj školi,nastaviti C++ pa se prebaciti na C#?Ili krenuti obrnutim redosljedom?
I da ne zaboravim naslućuju sintaksu,i iz iste tijek programa,ne uvijek
Nadam se da pitanje nije glupo,a ide u sljedećem stilu;na koji se od nazovimo to tako, "C" jezika fokusirati,ili to ovisi o potrebama?Raditi i učiti C++,i ići na crossplatform riješenja,ili se orijentirati na tehnologije iz Redmonda,iskorištavajući sve blagodati .NET platforme?Pričamo o nekavim "superpočetnicima",to su ovakvi kao ja,otprilike su poznati sa fundamentima OOP programiranja,namirisali su VB.NET,sviđaju im se metode i klase...a i radili bi nekakav GUI.Kakva je statistika glede zastupljenosti programskih jezika u desktop vodama,da li veća popularnost znaći i bolju "platformu",za one koji su upoznali c++ u srednjoj školi,nastaviti C++ pa se prebaciti na C#?Ili krenuti obrnutim redosljedom?
I da ne zaboravim naslućuju sintaksu,i iz iste tijek programa,ne uvijek
Ako si ga tek namirisao, zaboravi taj smrad i nabrzinu namirisi C#... Sta se tice platformi za desktop... Mislim da su Java i C# daleko iznad drugih. Koji je omjer njih dvojice... neznam.
@Tnakir;S time da mogu C# koristiti neovisno o .NET frameworku?
Odgovori su dosta oprečni,koliko sam uspio uloviti i C#, i VB.NET i JAVA se izvrašavaju u "virtualnom stroju",dok je C++ kompajlira kao just in time,što implicira da je na potonjem "zamiječen" bitan rast performansi,odnosno brzina izvođenja,treba li se sa time u početku zamarati,ili je to bitno kasnije sa programima sa puno objekata?