No, suosittelin toisaalla aluksi OCamlia vaihtoehtona kelpo ympäristöksi ohjelmien kehittelyyn ja etenkin 3d-graafiikkaan, kun Juhko kyseli. Huomasin sitten, että kaikki ei ihan toiminutkaan kuten piti, joten en ole varma mitä kieltä suositella.
Aloittelijan kannalta seuraava toiminta olisi ihanteellista. Esimerkkini on Windows XP Home -järjestelmään käyttävällä koneella juuri kokeiltu.
Asennan ympäristön nimeltä DrScheme. Sen saa osoitteesta:
http://download.plt-scheme.org/drscheme/
Siellä on yksi Windows-installeri haettavana, ja ympäristö on heti sen asennuksen jälkeen valmis käytettäväksi. Pitää vain valita kieli, ja se tapahtuu Language-valikon kohdasta Choose Language:
Language: Graphical (MrEd, includes MzScheme).
Tämän jälkeen menen Neon Heliumin OpenGL-tutoriaalin sivuille ja haen jonkun sopivan esimerkkikoodin Scheme-version tutorial-sivuilta. Perusosoite on:
Linkit ovat siinä heti vasemmalla. Haen zip-tiedoston, jossa on scheme-sorsa ja puran sen, sekä avaan .scm-tiedoston DrSchemessä. Kun language-valinta on sopiva, klikkaan vain run-nappia, ja siinäpä se ohjelma on edessäni. Tuossa kolmio ja neliö pyörivät ikkunassa komeasti.
Tietysti oikea tapa opetella olisi lukea ensin sitä tutoriaalia, että ymmärrän, mitä koodi tekee. Kuitenkin pointtini on, että asiat toimivat helposti ilman mitään konfiguraatioiden kanssa pelleilyä tai useita downloadeja ja puuttuvien pakettien tuskaa. Alkuun pääsee noin vain.
Tämä ympäristö olisi minusta siis ihanteellinen opetteluun. Varsinaiseen tuotankokoodiin varmaankin C++ on paras, etenkin pelejä tehdessä. Eipä niitä 3d-pelejä opi kuitenkaan hetkessä tekemään, joten on siinä aikaa vähän Schemeäkin opiskella...
No, varsinainen kysymykseni on, että mitä mieltä olette sopivasta opetteluympäristöstä? Voisin aikanaan kirjoittaa jotain NeHe-tutoriaalinen tapaista OpenGL-opasta, ja haluaisin valita siihen sopivan kielen, joka olisi tarpeeksi helppo aloittelijankin ottaa haltuun. Mitä muita vaihtoehtoja on kuin tämä Scheme, jota minä niin rakastan, mutta joka joistakin on aivan kummallinen ja vaikea kieli?
C++ on tietenkin *se* kieli, mutta onhan se vähän vaikeaa tuosta vain oppia. Siksi en haluaisi perustaa tulevaa opastani sen varaan.
En toki julkaise mitään erityistä opasta vielä vähään aikaan. En voisikaan tuosta vain kirjoittaa NeHe:n oppaan veroista asiaa, mutta ehkä minulla on jotain lisättävää siihen, tai muuta mielenkiintoista aloittelijan rohkaisuksi vielä joskus.
Sillä välin halukkaat OpenGL:n opiskelijat voivat itse lukea tuota NeHe:n opasta. Siellä on esimerkkejä tosi monella kielellä. Ja tämä Putkahan on sitä varten, että voi kysyä, kun tulee tenkkapoo.
Niin, mielipiteitä saa kertoa. Pyrin olemaan hyödyksikin välillä ja lupaan lukea ne kaikki :-)
Minun nähdäkseni OpenGL:n opettelulla ei lopulta ole mitään tekemistä kielen kanssa. Ymmärrän, että aloittelijan on vaikea pysyä nahoissaan, kun ei saa 3D-grafiikkaa (tai edes 2D-grafiikkaa) eteensä, mutta siitä huolimatta olen sitä mieltä, että jos ei kykene ymmärtämään oppaan asioita niin, että osaisi tehdä vastaavan itse valitsemallaan kielellä, ei ole valmis opettelemaan moisia asioita. En nyt tarkoita, että asioiden pitäisi olla noin vain selviä, kun ne on kerran lukenut, mutta pidän mahdottomana tilannetta, että joku osaa käyttää OpenGL:ää C++:lla merkittävästi eri tavalla kuin vaikkapa Pythonilla. Lopulta kuitenkin OpenGL:n kannalta asiat toimivat täsmälleen samalla tavalla joka kielellä, samat funktiot ottavat samoja parametreja ja tekevät samat asiat.
Kaikkein paras olisi ehkäpä suomenkielisenä pseudokoodina kirjoitettu esimerkkikoodi, koska se on ehdottomasti havainnollisin. Tähän voisi sitten liittää mahdollisuuden muihin esimerkkikieliin joko ladattavien pakettien muodossa tai mahdollisesti jopa Putkan ominaisuutena, jos Antti jaksaisi sellaisen tehdä. Yhteistyönä esimerkkikoodeja voitaisiin kääntää eri kielille ja lisätä tarjonnan mukaan. Antin rekursio-opas onkin toteutettu tähän tapaan, olen itse siihen aikanaan Pascal-esimerkit kirjoittanut. (Esittämäni monikielisyys voisi toimia vaikka jotenkin näin: opas.php?tunnus=opengl&kieli=Pascal)
Monikielisyys vaikuttaa hyvältä idealta. Se kannattaisi varmasti ottaa huomioon ihan alusta asti, olipa sitten oma esitys pseudokoodia tai ei.
Saapa nyt nähdä, mitä keksin aiheesta. Parempi olisi, jos en toistaisi muiden jo tekemää työtä huonommin, vaan tekisin itse jotain erilaista, mutta silti kiinnostavaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.