Asensin Visual C++ Expressin tarkoituksena opiskella C++ perusteita. VB5:llä olen ohjelmoinut toistakymmentä vuotta. Videoista englanninkielisine löpinöineen ei ole juuri apua. Tekstiä ymmärrän paremmin. Mistä löytyy hyvät tutoriaalit? Vai tekeekö tolla Expressillä yhtään mitään?
Tekee. Mitä tutoriaaleja nyt oikein kaipaat? Expressin tehokkaaseen käyttöön vai C++ vai sekä että? Tässä pari linkkiä:
Visual C++ Tutorials
C++ opas
Juuri noita olen tutkaillutkin mutta olenkohan jo liian vanha oppimaan uusia temppuja kun kaikki muut kielet tuntuvat niin jumalattoman mutkikkailta ja vaikeilta VB:hen verrattuna.
setä kirjoitti:
Juuri noita olen tutkaillutkin mutta olenkohan jo liian vanha oppimaan uusia temppuja kun kaikki muut kielet tuntuvat niin jumalattoman mutkikkailta ja vaikeilta VB:hen verrattuna.
Esimerkiksi millaisissa tapauksissa (esimerkit kelpaavat mainiosti)? Toki on helpompaa käyttää kieltä, mitä on käyttänyt jo pitkään - mutta niiden ongelmien, joita muiden kielien käytössä näkee, rationalisointi tai auki kirjoittaminen voi auttaa näkemään erot eri kielten (tai niiden parissa yleisesti esiintyvien tapojen) lähestymistavoissa.
Jos kyse on "asioiden graafisesta puolesta", niin pahoin pelkään että ainakaan sellaisenaan ei tuolla Express-versiolla (tai Visual Studiolla ylipäänsä!) ns. tee mitään. Vaikeasti lähestyttäviä ja tavattoman kömpelöitä nuo, Microsoftin tekeleet C- ja C++-maailmassa. Helpompiakin vaihtoehtoja toki on (oma lähestymistapani asiaan on jo vuosia ollut yksinkertainen: Qt, ja muita katsellaan vain jos erityisesti se ei käy), mutta kyllä kaikkien käyttämisessä vaaditaan jonkinasteinen perustietämys kielestä (niin syntaksin kuin resurssimallin suhteen).
Tuosta Qt:stä sain vinkkiä muultakin taholta. Kannattaako heittä nuo Visual Studio viritelmät pois ja siirtyä Qt:hen. Mikä kehitysympäristö kannattaa ladata?
Haluaisin ohjelmilta tehokkaampaa laskentaa kuin VB tarjoaa, esim. pitkiä lukuja ja taulukoita sekä kohtuullisella vaivalla toteutettavaa grafiikkaa, animaatioita. Excelliä en käytä (Open Officea joskus harvoin) koska sen käynnistyminen vie aikaa enemmän kuin oman VB-sovelluksen ajo, datan syöttö ja tulosten näyttö. Excell on siis turhan raskas niihin simppeleihin sovelluksiin joita käytän. Joskus kaipaisin pitkiä lukuja, joissa nueroita enemmän kuin se muutama kymmenen.
Ei Visual Studio pakota sinua käyttämään Microsoftin frameworkkeja. Voit aivan hyvin tehdä Qt-sovelluksia Expressilläkin. Itse asiassa siihen voi asentaa qt:n kehitys-pluginit, joilla qt-projektien luonti ja kehitys onnistuu suht vaivatta.
Grafiikkaa ja pitkien lukujen tukea C++ ei kielenä automaattisesti tarjoa. Kohtuullisella vaivalla pääset, jos käytät niihin tarkoituksiin tehtyä valmista kirjastoa. Grafiikan osalta hyviä vaihtoehtoja ovat mm. SDL ja SFML, jotka molemmat integroituvat näppärästi Qt:nkin kanssa. Isojen lukujen osalta netti on täynnä kirjastoja, joista googlettamalla varmasti löytyy sopiva.
Torgo kirjoitti:
Ei Visual Studio pakota sinua käyttämään Microsoftin frameworkkeja. Voit aivan hyvin tehdä Qt-sovelluksia Expressilläkin. Itse asiassa siihen voi asentaa qt:n kehitys-pluginit, joilla qt-projektien luonti ja kehitys onnistuu suht vaivatta.
Qt:n kehitystyökalut Visual Studioon (joita ei siis ilmeisesti ole saatavissa uusimpaan, 2010 versioon, enkä tiedä toimivuudesta Express-version kanssa) sisältävät käsittääkseni mm. interface-builderin, mutta koska en ole niitä koskaan käyttänyt (asentanut), en tiedä laajentavatko ne IntelliSenseä. IntelliSense sinänsä on yksi paremmista automaattisista täydentäjistä C++-puolella, mutta "Qt:n oma" QtCreator tarjoaa parjon paremman tuen Qt-spesifeille kielen laajennoksille, kuten signal & slots -järjestelmälle.
C++ itsessään ei tarjoa tukea erityisen suurille (arbitrary precision) kokonaisluvuille, mutta luonnollisesti siihen soveltuvia kirjastoja on saatavilla monia. Itse olen käyttänyt vain GMP:tä, mutta en osaa auttaa sen asennuksessa Windows-ympäristöön (luultavasti mahdollista, ohjeita saattaa löytyä kotisivuilta).
C++ ei mahdollista helppoa integraatiota Exceliin tai vastaaviin Microsoftin työkaluihin, sillä ainoat tarjolla olevat rajapinnat ovat niitä Microsoftin omia rajapintoja (välttäisin aina mahdollisuuksien mukaan).
Vertailua Visual Basiciin en osaa tehdä millään osa-alueella, sillä ainoa "osaamiseni" sillä puolella on hyvin pienimuotoinen kokeilu vuosien takaa. C++ sinänsä on luultavasti paljon VB:tä "rajoittuneempi" kieli ominaisuuksiensa valossa, mutta jälleen kirjastot, kuten Qt tarjoavat tuen grafiikalle yms. Grafiikan puolesta riippuukin jo paljon siitä, mitä ns. grafiikalla tässä yhteydessä tarkoitetaan, eli kuinka järeät työkalut on syytä kaivaa esiin: kaikki tietänevät tai ainakin osaavat kuvitella, että 3d-grafiikka vaatii tutustumista aihepiiriin, kun taas tasografiikka on lähtökohtaisesti helpompaa. Myös kirjastot, kuten Qt, usein korostavat tätä, sillä OpenGL on, no, hankalampi opetella kuin esim. Qt:n Graphics-työkalut. Toisaalta, nykyään yksinkertaiseen visualisointiin yms. voi käyttää (varsinkin Qt:n kanssa) QML-esityskieltä (lyhyesti, javascriptin kaltainen, property-pohjainen kieli), joka integroituu (C++-)Qt-ohjelman kanssa esim. raakaa laskentaa varten.
Jaahas, jaahas. Kaiken tämän kehumisen välissä lienee tärkeää (pitää pieni hengähdystauko, ja kevennys, eli) huomauttaa ettei minulla henkilökohtaisesti ole mitään sidonnaisuuksia Qt:hen tai Nokiaan ;). C++-puolella enemmän kiertelevät osaavat lähes kautta linjan arvostaa hyvää (kattavaa!) dokumentaatiota, jota jostain syystä usein pihdataan. En tiedä, onko C++ hyvä valinta aloittajan tarpeisiin, mutta (aiempaa viestiäni toistaen) sen kanssa, varustettuna perustietämyksellä C++:sta, sekä englannin kielen taidolla - Qt dokumentaatioineen on toimiva lähtökohta #1 hyvin moneen asiaan.
Kuitenkin, aina pitää muistaa se, että huono ("tuhlaileva") C++-toteutus tuskin on VB-toteutusta nopeampi.
Jos C++ tuntuu hankalalta, älä sitten väkisin yritä sitä. Jo syntaksiltaan hyvin samantapaiset C# ja Java ovat teknisesti monessa suhteessa helpompia, ja C#:n kanssa teholtaan samaan joukkoon sopii VB.Net, joka luultavasti pesee vanhan VB:n mennen tullen ja on kuitenkin siltä pohjalta ehkä noita muita helpompi oppia.
Tuohon VB.Nettiin oli tarkoitus perehtyä VB5:n jälkeen mutta vaikealta sekin vaikutti. Lähinnä kiusaa se, ettei kontrolleja voi indeksoida. Miten koodilla pääsee käsiksi tiettyyn kontrolliin kun se VB5:llä on vaivatonta indeksoinnin ansiosta. Muita ohjelmia olen tähyillyt koska VB5 ei toimi erillisten kontrollien osalta 64 bittisessä Win 7:ssä. Exet toimii mutta design-tilassa ei voi tehdä mitään ohjelmille, joissa on erilliskontrolleja. Vai onko tuohon mitään muuta ratkaisua kuin kaivaa vanha XP-kone, mikä on lähes käyttökelvoton, takaisin käyttöön.
Aihe on jo aika vanha, joten et voi enää vastata siihen.