Šta je novo?

eBook preporuka za C++

nexilion

Slavan
Učlanjen(a)
14.08.2007
Poruke
403
Poena
319
Potrebna mi je neka knjiga (eBook) za ucenje Microsoft Visual C++ 2005. Imate li neku preporuku? Radio sam u Delphiju i malo Visual Basic ali sa C++ i NET frameworkom nisam upoznat.

P.S. Znam da postoji tema sa kjigama ali su tu svrstane sve knjige (cak i one stampane). Meni je potreban eBook i to samo za C++. Zato molim moderatore da ne zakljucavaju/brisu temu, makar dok ne resim problem 🙂
 
pazi vamo - moja iskrena preporuka je da pre nego shto krenesh da radish tako, sa ebook-ovima, da uzmesh da opeglash C od pochetka (C++ nosi male razlike) a za to bih ti preporuchio skriptu profeosra janichica sa matematichkog fakulteta - programiranje 1 i 2. mozesh ih naci u shtampariji MATF-a.

razlike su veoma male, na primer, ne mozesh implicitno dodeljivati iz void na bilo koji drugi tip promenljive u C++, dok je u C to preporuchljivo da se radi, C++ ima vece biblioteke, C++ ne mora ruchno da vraca "return 0" (i aj da kazemo da sam rekao sve bitne razlike)

zashto sam ti ovo preopruchio - ako te zaista zanima da nauchish programiranje, ovo ce ti vishe nego mnogo znachiti da kasnije programirash, bez obzira da li preko Visual C++, ili bilo kog drugog IDE-a
 
da uzmesh da opeglash C od pochetka (C++ nosi male razlike)

O ovome je bilo jedno 100 puta reči. Prvo između C i C++ jezika postoji velika razlika - prva i najvažnija C++ je objektno orijentisani programski jezik.

Nema svrhe prvo učiti ANSI C - sve to može i da se nauči u C++. Ovako će samo da izgubi vreme učeći specifičnosti okruženja i jezika koji neće koristiti. I što je najvažnije neće naučiti da razmišlja objektno.


Znači uzmi lepo MS Visual C++ i počni da kuckaš polako... tako ćeš najbolje naučiti.
 
uh ... ja se inache ne bavim C-om, ali eto, mogu da kazem da mi je uchenje C-a od pochetka otvorilo ochi shto se tiche bilo kakvog programiranja, chak najopushtenije mogu da kazem da mi je bilo 11 puta lakshe da nauchim web development, kada sam vec znao C, nego shto bi to bio sluchaj da nisam.

a i nisam imao nameru da mu preporuchujem zbirke zadataka, vec da prodje, procheshlja, a skripta koju sam preporuchio je napisana za uchenje od starta, sa dobrim razumevanjem.
 
moj savet je upravo suprotan od prethodnog.

nemoj nista da "peglas" i punis glavu glupostima, nego udji u .net i udri! krenes od neceg prostog, saberes dva broja i ides dalje. ako znas engleski ne treba ti ni knjiga - milion klasa, milion funkcija, sve lepo i logicno nazvano. ako pomislis da ti nesto treba, verovatno vec postoji i na logicnom je mestu.

ja sam mnogo godina propustio slusajuci te bottom-up pristup savete, dok pre jedno mesec dana nisam otkrio .net i za nedelju dana napravio masu korisnih programa sa mikroskopskim programerskim iskustvom. gledam na to kao jedan ogroman svemocan program, koji ti zapravo podesavas skriptom. maltene je sve vec gotovo, samo treba da pozoves sta treba.

malo me bilo sramota u pocetku, racunam nista sto valja ne moze biti ovako lako i to donekle stoji. al sto vise napredujes, pravis svoje klase/komponente, nasledjujes i sl. jasnije ti je sve i lakse ces "sici" na mfc, native ili ispadati u asembli ako treba (mada ne verujem da je poslednje moguce iz .net-a, nisam prob'o 😛).

elem, top down je way to go, bar sto se mene tice. e da, tebi treba knjiga, al za to nemam savet. rekoh, krenuo sam od prostog, malo po netu, malo trial & error i evo privodim kraju audio editor a la sound forge...
 
moj savet je upravo suprotan od prethodnog.

nemoj nista da "peglas" i punis glavu glupostima, nego udji u .net i udri! krenes od neceg prostog, saberes dva broja i ides dalje. ako znas engleski ne treba ti ni knjiga - milion klasa, milion funkcija, sve lepo i logicno nazvano. ako pomislis da ti nesto treba, verovatno vec postoji i na logicnom je mestu.

ja sam mnogo godina propustio slusajuci te bottom-up pristup savete, dok pre jedno mesec dana nisam otkrio .net i za nedelju dana napravio masu korisnih programa sa mikroskopskim programerskim iskustvom. gledam na to kao jedan ogroman svemocan program, koji ti zapravo podesavas skriptom. maltene je sve vec gotovo, samo treba da pozoves sta treba.

malo me bilo sramota u pocetku, racunam nista sto valja ne moze biti ovako lako i to donekle stoji. al sto vise napredujes, pravis svoje klase/komponente, nasledjujes i sl. jasnije ti je sve i lakse ces "sici" na mfc, native ili ispadati u asembli ako treba (mada ne verujem da je poslednje moguce iz .net-a, nisam prob'o 😛).

elem, top down je way to go, bar sto se mene tice. e da, tebi treba knjiga, al za to nemam savet. rekoh, krenuo sam od prostog, malo po netu, malo trial & error i evo privodim kraju audio editor a la sound forge...


Slazem se, meni ovaj pristup odgovara. Radio sam ja ovako: QBasic, Pascal, Visual Basic, Delphi. Tako da mi nije nepoznato ni programiranje onih glupih aplikacija za DOS a ni objektno orijentisano (Delphi i Visual Basic).
Sada bih hteo da naucim Visual C++ NET i zato mi treba neki eBook. Ne mogu da trazim sve u MSDN dokumentaciji, treba mi nesto sto ce me voditi step by step od sabiranja brojeva preko pokazivaca, koriscenja .NET frameworka i svega toga. Ako neko zna neki dobar naslov na engleskom, neka napise.
 
Sada bih hteo da naucim Visual C++ NET i zato mi treba neki eBook. Ne mogu da trazim sve u MSDN dokumentaciji, treba mi nesto sto ce me voditi step by step od sabiranja brojeva preko pokazivaca, koriscenja .NET frameworka i svega toga. Ako neko zna neki dobar naslov na engleskom, neka napise.
Zašto baš C++.NET? Jel imaš neki konkretan razlog (firma traži itd) ili ti se učinio "najboljim"? Svi jezici u Visual Studio .NET paketu nude istu "produktivnost" i sve što možeš napisati u jednom, možeš i u drugom, tako da ako ne gori pod nogama da bude C++.NET, najiskrenije preporučujem C# jer je čitak, pregledan i jasan jezik, baš kao Delphi. C++.NET izgleda užasno.

Od knjiga preporučujem zvaničnu Microsoftovu "Visual C# 2005 Step by Step" jer je odlična i temeljna, ima papirno izdanje da se kupi kod nas, a potraži i na rapidshareu.
 
Poslednja izmena:
Zašto baš C++.NET? Jel imaš neki konkretan razlog (firma traži itd) ili ti se učinio "najboljim"? Svi jezici u Visual Studio .NET paketu nude istu "produktivnost" i sve što možeš napisati u jednom, možeš i u drugom, tako da ako ne gori pod nogama da bude C++.NET, najiskrenije preporučujem C# jer je čitak, pregledan i jasan jezik, baš kao Delphi. C++.NET izgleda užasno.

Od knjiga preporučujem zvaničnu Microsoftovu "Visual C# 2005 Step by Step" jer je odlična i temeljna, ima papirno izdanje da se kupi kod nas, a potraži i na rapidshareu.


Ma znam da je C# zgodniji i da ce naverovatnije da zameni C++ u buducnosti, cim su ga napravili uz NET platformu. I meni se cini da je laksa sintaksa i da je citkiji, malko podseca na Visual Basic. C++ NET je stvarno uzasan, pogotovu sa onim -> pa taj znak je tako ubistven da je to neverovatno. Oni su hteli da pokazu kako jedno iz drugog proizilazi a ono grozno.
Vec sam nasao zanimljivu literaturu za C#. Mozda cu i njega malo da pogledam.
A C++ mi treba za fakultet. Doduse, mislim da tamo ucimo onaj "stari" C++ 6. Upisujem programiranje, mislim da ne mogu da izbegnem C++ 🙁
 
Poslednja izmena:
Ma znam da je C# zgodniji i da ce naverovatnije da zameni C++ u buducnosti, cim su ga napravili uz NET platformu. I meni se cini da je laksa sintaksa i da je citkiji, malko podseca na Visual Basic. C++ NET je stvarno uzasan, pogotovu sa onim -> pa taj znak je tako ubistven da je to neverovatno. Oni su hteli da pokazu kako jedno iz drugog proizilazi a ono grozno.
Vec sam nasao zanimljivu literaturu za C#. Mozda cu i njega malo da pogledam.
A C++ mi treba za fakultet. Doduse, mislim da tamo ucimo onaj "stari" C++ 6. Upisujem programiranje, mislim da ne mogu da izbegnem C++ 🙁
Nema sanse da C# zameni C++ 😉
C# radi samo na Win platformama i to uz instaliranje odgovarajuceg framework-a, ali van Win-a C++ i Java :trust:

btw VS2005 i VS98 se mnogo razlikuju tako da je onda bolje da juris knjigu za VS98/6.0 😉
 
A znam i to al mi je nekako bezveze da ucim nesto sto je zastarelo 10 godina. Umesto da se bacim na Visual Studio 2008, ja treba da ucim '98. ne znam sta da radim, zbunjen sam malo 🙂
 
Skini Visual Studio 2008 Express, u njemu imaš i C# i (stari) C++, tako da u istom okruženju možeš da vežbaš i .NET i programe za faks.
 
Skinuo sam i 2008 i 2005. Ali je tesko sa oba raditi u isto vreme. Znam, ima ona opcija CLR - NET aplikacije i Win32, klasican Windows program.
 
.NET framework je engine koji u sebi sadrzi gomilui klasa za sve i svasta. Te klase su prevedene u native code a imaju exportovan interface pomocu kojeg se objekti tih klasa mogu koristiti iz razlicitih jezika.. VB.NET, C#, C++/CLI (nekada se zvao Maneged C++, MC++), pa cak i Delphi.Net.

.NET aplikacije se prevode u neki bytecode i u trenutku izvrsavanja se kompajliraju u native code, tako da postizu punu brzinu rada. Sve je to lepo zamiljseno ali...
1. Radi samo na Windowsu. (postoji mono projekat na Linuxu)
2. Lepo radi iz C#. Svi ostali jezici su morali da se dodatno zbudze da bi podrzali .NET. C++/CLI je toliko rogobatan i ruzan da nemam reci.
3. Problem nastaje kada treba da se uradi nesto za sta ne postoje gotove klase. Tada treba zavrnuti rukave i odraditi posao u nekom drugom (malo nizem) programskom jeziku.

Cela stvar je primenljiva za limunada programe, baze podataka i web. Medjutim kada treba da se odradi nesto kompleksnije onda .NET se koristi kao UI layer. Ostatak posla uradis u nekom malo nizem jeziku, napravis DLL od toga i exportujes interface.
 
Vrlo strucan odgovor. Slazem se. Svaka cast. Da ja ipak navalim na C#???
 
Da. Uči i C++ za fakultet, ali uči i C#, neće biti uzalud.
 
Fora je sto ako ne planiras programe kod kojih ti je vreme izvrsavanja kriticna stavka onda bez razmisljanja C#. Bolji je od jave sto se gui-a tice, majkrosoft ga fura, jeste da je samo na windows-u ali software koji ces da pravis i prodajes bice samo za windows posto ne znam ko kupuje software za linux. C++ i gui su nekako se posvadjali. Ali imas recimo wxdevc++ koji je jako pristojan za pravljenje gui aplikacija za c++ ali radi samo za windows.. Mada aplikacije verovatno bez problema mogu da se portuju na linux i ostale posto je wxwidgets portovan. Ali da sam na tvom mestu ili java ili c#. Za javu ces verovatno da nadjes pre posao nego c# ali c# + visual studio je extra kombinacija.. Ako ti trebaju performanse napravis nativ dll i povezes ih i to je to.. Nativ dll mozes da pravis u c++ ili c-u.


Druga preporuka je kupi knjugu, meni barem bolje mozak prima informacije kada su na papiru ispisane.
 
Poslednja izmena:
A znam i to al mi je nekako bezveze da ucim nesto sto je zastarelo 10 godina. Umesto da se bacim na Visual Studio 2008, ja treba da ucim '98. ne znam sta da radim, zbunjen sam malo 🙂
Kako to mislis zastarelo? Koji god da naucis/znas nikako nije zastarelo, mozda je nesto lakse ili teze napraviti sa novijom verzijom, ali tesko da tu nesto moze da zastari u skorije vreme, moze samo da bude malo prevazidjeno, ali ako si ti dobar tu tome mozes da napravis skoro sta god hoces bez obzira koji jezik koristis 😉
Masa stvari se i dalje radi u '98 i 2000 iako postoji nekoliko novijih verzija.
 
E za sada C# je za normalne desktop aplikacije extra stvar u poredjen sa bilo cim drugim. U C# gui napravis bez muke, sve je lagano i ne moras da ga ni znas a mozes jako dobre stvari da uradis. Ja da se pitam radio bi u C# pre nego C++ + mfc klase... Do duse wxWidgets nije lose mada lici na mfc ali C# je pun pogodak.. Skines express verziju, i uzivas jer bolje okruzenje ne postoji. Ja bi C kompletno zaboravio i c++, sva ta bakcanja sa pointerima i cudima samo komplikuju stvari posebno kad se radi o slozenim desktop aplikacijama... Na srecu ili zalost poso mi je bas rudarenje, tj. ono najnize sto niko i ne gleda a to je kopanje po os-u i hardware-u pa ako to hoces onda ti ne gine c++... Biraj polje za bitku pa tek onda oruzje posto ti brod na livadi tesko da moze da pomogne
 
Fora je sto ako ne planiras programe kod kojih ti je vreme izvrsavanja kriticna stavka onda bez razmisljanja C#. Bolji je od jave sto se gui-a tice, majkrosoft ga fura, jeste da je samo na windows-u ali software koji ces da pravis i prodajes bice samo za windows posto ne znam ko kupuje software za linux.

Imaš sasvim krivu predođbu o linuxu kao platformi. Sama platforma možda jest OpenSource i uvjetno "free", ali ne i sav aplikativni softver koji radi na tome. Ako programiraš npr. za banke ili slične financ. ustanove koje kao platformu koriste system Z (z/OS), system P (AIX), ili linux, velika je vjerojatnost da ćeš raditi u Javi i sigurno nećeš raditi badava. Nije aplikacija sve što ima fancy GUI i radi na Windowsima.
 
Poslednja izmena:
Pa delimicno si u pravu, ali ja linux uvek gledam kao drugorazredni sistem. Super je on za neke stvari posto ima puno lepih biblioteka i jak shell pa ga zato vole nauCnici i mnogi programeri druge vrste ali, mene je zezao uvek, moje drugove je zezao i svi su se kasnije vratili na windows ( bio sam ja pod linuxom sigurno jedno dve godine i sad sam na visti i uzivam 🙂 ). Za banke nisam siguran toliko da koriste linux posto njima treba nesto sa sertifikatima.. Pre bih reko da koriste windows server + windows xp. Za automate isto mislim da su pod xp-om. Software u javi za banke isto nema smisla posebno na serverskoj strani osim ako se ne zuri ljudima koji cekaju u redu. U svakom slucaju za fensi desktop aplikacije c# ili wxdevc++... za ruzne desktop aplikacije lako prenosive na drugi sistem java....
 
Pa delimicno si u pravu, ali ja linux uvek gledam kao drugorazredni sistem. Super je on za neke stvari posto ima puno lepih biblioteka i jak shell pa ga zato vole nauCnici i mnogi programeri druge vrste ali, mene je zezao uvek, moje drugove je zezao i svi su se kasnije vratili na windows ( bio sam ja pod linuxom sigurno jedno dve godine i sad sam na visti i uzivam 🙂 ). Za banke nisam siguran toliko da koriste linux posto njima treba nesto sa sertifikatima.Pre bih reko da koriste windows server + windows xp.
Baza, midleware i serverski dio aplikacije (u Javi) ... sve na AIXu , kod nas u firmi na razvojnoj okolini na Linuxu.
Za automate isto mislim da su pod xp-om. Software u javi za banke isto nema smisla posebno na serverskoj strani osim ako se ne zuri ljudima koji cekaju u redu.
Pazi ... radi se upravo o kartičnom poslovanju i platforma je SystemZ, oliti mainframe 😉.
 
Pa to je mali podskup programerskog sveta...
 
Pa to je mali podskup programerskog sveta...
Ne bih se bas slozio da je mali s obzirom da sve vise ozbiljnih firmi prelazi na javu 😉
A da je linux drugorazredni gresis 😉
Ali nikako ne shvatam prelazak sa linuxa na ni manje ni vise nego Vistu i jos kazes da na njoj uzivas 😀
nauCnici? ovo je tipican stav .NET zaljubljenika za koje ne postoji nista drugo osim MS/Win/.Net 😉
Slazem se da je za nekog ko tek pocinje upravo taj pravac onaj s kojim ne moze mnogo da se pogresi i kasnije ako je potrebno moze lakse da se predje na nesto drugo, ali mi je cudan stav za nekog ko je bio 2 godine na linuxu i sta znaci to zezao? Svi se vratili? Onda ocigledno niste bili pravi Linux korisnici jer ja ne znam ni jednog koji je toliko ostao na Linuxu i da ga je batalio i vratio se na Win 🙂
Drze neki od njih paralelno i jedno i drugo, ali se i dalje kunu u Linux :d
Da me ne shvatis pogresno, nemam nameru da pokrenem novo prazno prepucavanje Win vs Lin, samo hocu da kazem da svaki ima svoje prednosti i mane, svoje trziste i korisnike i na oba moze podjednako lepo da se zaradi, ali sustina je da svet ne prestaje sa Windows-om, cak i na njemu postoje i alternative za .Net i ne vrti se svet oko Win/.Net 😀
 
U mom slucaju, linux je bilo samo mlacenje prazne slame.. kako jednostavnu stvar uraditi na sto komplikovaniji nacin. Visual studio 2008 je najbolji ide od svih trenutno na trzistu, express je dzabe tako da ga toplo preporucujem.
[Linux + debagovanje = nocna mora, instalacija novih drajvera = ako nije podrzano u startu bolje odustani. Da li radi zvucna? Pa pusta zvuk ali ne snima bas kako treba, nema podrsku za ovo , ono... neko promeni ime stare funkcije u novoj biblioteci i sve prsne i tako u krug... gledanje filmova - kodeci - titlovi to je tek kuku lele]

U svakom slucaju posle puno godina iskustva sa linuxom, znam sta moze , sta je dobro i sta ne valja. Vista mi radi savrseno ( znaci radi sve od hardvera koji imam ) express je savrsen za web razvoj, .net aplikacije i najbolji debager na svetu takodje... tako da je to ono sto je meni bitno.. sve radi + dobro okruzenje + dobar debager
 
Koliko sam ja shvatio Ace Rimmer nije pričao o Linuxu na kućnoj mašini nego na produkcionim serverima koji rade pod nekim Unixom ili u njihovom slučaju z/OS-om.

Razmisli malo koliko u svetu postoji servera sa RISC procesorima - na njima ne možeš da instaliraš Windows (recimo IBM p serija). Koliko postoji mainframe servera (koji takođe ne koriste Windows)? Teško da je to mali podskup programerskog sveta.

Znači praktično na svim high-end serverima ti ne možeš da instaliraš Windows sve i da hoćeš.

Inače ja takođe radim u firmi koja se bavi procesingom kreditnih kartica i svi produkcioni serveri su nam pod Solarisom i RHELom.
 
Pa dobro, ali kakve to ima veze sa programskim jezicima... ja govorim o okruzenju u kome ti je milina da radis i sistemu na kome je takodje milina da radis.... Naravno da postoje stvari za koje nije windows tako isto postoje stvari za koje nije linux
 
Pa dobro, ali kakve to ima veze sa programskim jezicima... ja govorim o okruzenju u kome ti je milina da radis i sistemu na kome je takodje milina da radis.... Naravno da postoje stvari za koje nije windows tako isto postoje stvari za koje nije linux

To sam napisao apropo ovoga:

Pa delimicno si u pravu, ali ja linux uvek gledam kao drugorazredni sistem.

Pa to je mali podskup programerskog sveta...



Inače ja sam se oduševio kada sam prvi put video C# - bez i jedne otkucane linije koda napraviš dijalog koji ti prikazuje neku tabelu iz baze i još možeš da je odštampaš ili snimiš kao PDF ili XLS (ovo poslednje me je pogotovu oduševilo). Priznajem da je to, u poređenju sa OCCI-jem veliko olakšanje - pogotovu ako praviš takve aplikacije: dijalog, korisnik unese neke podatke, program nešto pročita iz baze, obradi i generiše neki izveštaj (što je otprilike 90% aplikacija koje se razvijaju po firmama 😀).

Elem, šta sam hteo da kažem: super je C# za ovo gore navedeno, ali ne može da zameni C++ (niti je zamišljen da to uradi).
 
Pa to je valjda ono sto ljudi hoce da rade.. Sto lakse doci do resenja i baviti se problemima koji vode do njihovih resenja a ne problemima kako napraviti dijalog u mfc klasama ili cemu vec. Mene konkretno nema sanse niko da natera da predjem na managed jezike posto najvise radim u okviru c/c++ + asm tako da nemam potrebe za pravljenjem dijaloga i sl. stvari. Ali ko ne planira da se bavi low level stvarima tipa pravljenje embedded systema , drajverima i sl.. i kome performanse nisu toliko bitne a bitno je da program koji pravi bude intuitivan za koriscenje i da se lako dodje do takvog resenja onda definitivno C#. Moze i java ali C# ima bolje okruzenje tako da...
 
mozda meni nesto promice, ali nije mi jasno zasto ljudi imaju emocije prema programskim jezicima. ok ovako u opustenoj diskusiji, "ne svidja mi se -> znak", ali kad stvarno treba da se sedne i napravi nesto? kakve veze imaju OS i programski jezik sa programiranjem? valjda radis u okruzenju koje zadovoljava odredjene kriterijume - brzina koda, kompatibilnost, brzina programiranja, lakoca debagovanja, sigurnost, stabilnost... tvoje ili tudje. ako su svi zadovoljeni na najbolji moguci nacin razlika izmedju tacke i strelice je toliko sporedna da nemam reci... na kraju krajeva i dal ces da pravis klasu ili kucas nekakav GOTO spageti do iznemoglosti.

zato hocu da probam jasnije da formulisem svoj prvi post: ako nekog zanima programiranje neka krene bilo kako i u bilo kom okruzenju. ako i kada ga preraste neka ga promeni. neka ga ne muci sto nije prvo seo i procitao "tu jako bitnu knjigu" o "tom nevidjeno cool" jeziku. neka ga ne plasi sto nema pointere na raspolaganju, ovakav ili onakav pristup hardveru. imace kad mu bude trebalo. sve je to na kraju masinac, koliko god se neko lozio sa nekim paradigmama, filozofskim pristupima ovome i onome. programerska logika ostaje. saberi ovo, oduzmi ono, radi nesto dok nesto drugo... hocu reci, prebaci iz ovog registra u onaj, izvrsi tu instrukciju nad tim operandima... da ne idem sad u mikrokod, u get the picture. 😉
 
Slabo kapiram sta si hteo da kazes.... Poenta je da covek odma sedne na najbolje moguce okruzenje i da cepa na pravim stvarima da se ne bi zamlacivao sa secernim vodicama.
C++ je namenjen iskljucivo stvarima gde hoces i objektno orijentisano programiranje i performanse. Ako ti ne trebaju performanse toliko tipa office, text procesori i sl.. bolje radi u necemu sto ima vecu podrsku raznih biblioteka kao .net gde imas i xml fajlove, sve strukture podataka, sve je po paternima radjeno i imas okruzenje koje je extra i brzo, i debager je extra.
Najbolje je odma sesti za azdaju i ukrotiti je nego na ponija pa onda magarca pa konja pa tamo u 30-toj biti 10 godina iza onog sto je aktuelno...
Znaci c++ , skini Visual c++ express i to je to.. C# isto.. neces da se pokajes....
Samo je pitanje sta hoces da radis...
 
Nazad
Vrh Dno