Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Kääntäjää etsimässä

Sivun loppuun

Juhko [26.09.2006 19:34:59]

#

Etsisin ilmaisia kääntäjiä mille tahansa kielille, joilla tehtyjä ohjelmia saisi levittää ihan laillisesti. Löytyykö mitään, pliis kertokaa!

Metabolix [26.09.2006 19:53:53]

#

FreePascal, GCC:n kaikki osat, FreeBasic, ... Tuhat muuta. Sen sijaan niitä maksullisia on vain kourallinen.

Kentti [26.09.2006 20:38:18]

#

Onkos tuo FreeBasic QB:lle? Ja toiminnallisesti lähes vastaava ku ne M$:n maksulliset?

temu92 [26.09.2006 20:56:06]

#

Coolbasic

Kentti [26.09.2006 21:02:51]

#

Mikäs se on? :P

temu92 [26.09.2006 21:09:39]

#

http://www.coolbasic.com tuolta saa

Kentti [26.09.2006 21:18:20]

#

Mmm... Kuullostaa hyvältä :) Täytyypä kokeilla :)

tsuriga [27.09.2006 00:21:17]

#

Saa sitä iteki vähä etsiä ennenko kysyy yksinkertaisimpiakin asioita. FreeBasic on BASICille ja coolbasicinkin kun tyrkkää mihin tahansa hakulootaan niin tulee yksi jos toinenki vastaus. Ite vastauksena vois todeta saman kuin Metabolix, eli noita kieliä ja kääntäjiä löytyy aimo kasa, yleensähän se on omasta osaamisesta kiinni, mitä käyttää. Kaikkien kielien kääntäjä olisikin aika vempele, tunnistaisi ensin käytetyn kielen ja ajaisi sen kääntäjän / tulkin läpi.

Juhko [01.10.2006 11:37:58]

#

Voi kiitti kiitti kiitti! CoolBasicin tiedän ja se on tosi cool. Ja iteki oon ettiny mut tahon lisää, ku ite ei löydy! Ja sellaisia Basiceja mä eniten haluaisin, mieluiten Windows 98:lle.

Antti Laaksonen [01.10.2006 11:51:07]

#

Ilmaisia BASIC-kieliäkin riittää:
http://www.thefreecountry.com/compilers/basic.shtml

Kannattaa silti tutustua myös muihin kieliin. Vaikka kieli on eri, ajattelutapa pysyy samana.

Juhko [01.10.2006 11:57:11]

#

Kiitti! Täytyyki kokeilla. Ja niistä muista kielistä olen opettelemassa C:tä sieltä C-ohjelmolinti -oppaasta. Mutta C on aika vaikea, kun itsekin olen vasta 11. Peliohjelmointi minua eniten kiinnostaa, varsinkin 3D-pelit, joten sellaisiakin haluaisin.

P.S. Parasta olisi, jos tehdyt ohjelmat käännettäisiin puhtaalle konekielelle, ja niitä saisi levittää ja myydä (ei kyllä vielä huvita) aivan vapaasti. Aika harvinaisia sellaiset varmaan, mutta tahtoisin niitä!

Jaska [01.10.2006 14:04:43]

#

Vielä parempi on, jos ohjelman lähdekoodi on vapaasti levitettävissä, muokattavissa ja se on selkeää ja jotakin yleistä ohjelmointikieltä. Long live the open source!

Juhko [02.10.2006 14:16:48]

#

Usein laitankin lähdekoodin, mutta kääntäjäkin olisi hyvä. Ja puhun siis kääntäjästä enkä tulkista. : )

Pekka Karjalainen [02.10.2006 17:18:34]

#

OCaml
http://caml.inria.fr/

Oppaita
http://www.ocaml-tutorial.org/
(älä lue niitä, missä on hirveästi matikkaa - ne on tehty teoreetikoille)

"ja jotakin yleistä ohjelmointikieltä"

No, OCaml ei taida olla kovin yleinen. Pitääkö se heti unohtaa sen takia? Se kuitenkin täyttää Juhkon ehdot, myös puhtaaseen konekieleen kääntämisen.

Jos Juhkolla on tarpeeksi englannin harrastusta selvitäkseen alkeisoppaista, suosittelen tutustumaan. Suomeksi ei taida vielä saada mitään, enkä tiedä saako pitkään aikaankaan. Jos kielen suosio on ainoa merkitsevä tekijä, ei OCamlilla tietenkään tee mitään. Java ja C++ hallitsevat tällä logiikalla.

Mutta tällä kielellä on omat puolensa, jotka oppii tutustumalla siihen ainakin vähän. En itse vielä osaa sitä paljon, mutta ei tosiaan kaduta yhtään, että olen kokeillut. Se on aika fiksu vekotin.

Niin, ja sillä voi ihan hyvin värkätä OpenGL:n kanssa, jos asentaa sopivat kirjastot. Voisinpa vaikka joku päivä kokeilla ja kertoa lisää, jos ketään kiinnostaa...

Juhko [02.10.2006 21:15:28]

#

Kiitti Koopekka! Täytyy kokeilla. Enkkua osaan jo aika hyvin.

"jos ketään kiinnostaa..."

KYLLÄ KIINNOSTAA!!!

Pekka Karjalainen [03.10.2006 10:42:45]

#

Okei, minä kirjoitan lähiaikoina jotain OCaml- & OpenGL-asiaa. Luultavasti paikka on sitten Muut kielet -otsikon alla oma säie. Laajaa opasta en voi vielä suunnitella minun kokemuksellani tästä yhdistelmästä, mutta tässähän olisi minulle itsellenikin hyvä syy opetella lisää.

Lupasin tehdä yhden toisen harrastusjutun ensin, ja siihen voi mennä pari iltapäivää vielä. Sen jälkeen palaan tähän aiheeseen.

Pekka Karjalainen [06.10.2006 15:40:39]

#

Hei Juhko (miksei muutkin mahd. OCamlista hieman kiinnostuneet), jos sopii kysyä, niin onko Cygwin sinulle tuttu juttu?

Katselin vähän, mitä kaikkea se Objektiivisen Camlin asennus vaatii, että sillä voisi oikeasti ohjelmoida, ja lista kasvoi hieman huolestuttavan isoksi. Siihen on saatavissa IDE (kehitysympäristö ja editori) nimeltä Camelia, joka vaikuttaa hyvältä.

http://camelia.sourceforge.net/

Se taas sanoo vaativansa tuon Cygwinin... Ja silloin varmaankin kannattaisi käyttää OCaml-kääntäjän versiota, joka tukeutuu MinGW-kääntäjään. OCaml vaatii kuitenkin C-kielen ja -kääntäjän tueksi, vaikka sillä voi käytännössä tietenkin tehdä ihan itsekseen toimivia binääriohjelmia, kuten lupasin.

Vaadittavien asennusten määrä siis kasvaa kasvamistaan...
MinGW, Cygwin, OCaml itse, Camelia ja ne OpenGL-kirjastot.

No, kysymykseni on, että haittaako tällainen määrä tavaraa? Minä voin kyllä kirjoittaa ohjeen siitä, miten minulta näiden kaikkien asennus onnistuu ns. puhtaaseen Windows XP -koneeseen, kunhan käsillä on sopiva viaton kokeilukone (heh).

Jos taas käytät Linuxia, niin näiden asennus pakettisysteemillä taitaa olla aika paljon helpompaa. Apt-get käteen ja menoksi. Vertailun vuoksi pitäisi sitäkin kokeilla jossain välissä.

Vai oletko jo kokeillut asentaa OCaml-systeemiä itse? Miten onnistui?

Tämä voi vaikuttaa vähän vaivalloiselta, mutta hyvin harva muu kieli kuin C/C++ tai joku Microsoftin erityisesti suosima toimii Windowsissa ilman kaikenlaisia taustatukijoukkoja. Jotkut korkeamman tason kielet (ks. alla) ovat kuitenkin mielestäni vähän isommankin vaivan arvoisia.

Korkeamman tason kielellä tarkoitan vain sitä, että kieli tukee korkeamman tason käsitteitä paremmin kuin C tai selvemmin kuin C++. Vaikka useat ohjelmoijat päätyvätkin käyttämään C++:aa, voisin väittää kiukkuisesti :-), että ohjelmointi kannattaa aloittaa jollain muulla kielellä, koska C++ ei ole tosiaankaan selvin ja systemaattisin kieli, mitä on tarjolla.

OCaml esimerkiksi on vahvasti tyypitetty kieli ja se varoittaa monista riskitilanteista, mitkä voivat mennä C++-kääntäjästä läpi noin vain ja aiheuttaa sitten aloitteljan kannalta täysin mystisiä bugeja.

Mutta saarnaus sikseen. Kyselin siis, että minkälaista ohjetta kaipaat asennuksesta ja häiritseekö tuollainen (pienehkö vielä) määrä asennettavaa tavaraa. Voit muutenkin kertoa, minkä tasoinen asennus- & aloitusohje olisi sinulle sopivin. Mielelläni kirjoittaisin ihan perusteellisen ohjeen, josta voi olla muillekin hyötyä myöhemmin.

Tässä on muuten yksi peliohjelmointiin soveltuva OCaml-kirjastopaketti, jossa on SDL- ja OpenGL-kytkennät:

http://www.elliottoti.com/index.php?cat=15

Täällä on lisää projekteja, jotka liittyvät 3D-grafiikkaan jollain tavalla:

http://caml.inria.fr/cgi-bin/hump.en.cgi?sort=0&browse=45

Tämä näin osoituksena, että kyllä tätäkin kieltä joku oikeasti käyttää :-)

Juhko [06.10.2006 22:11:42]

#

En ole kokeillut vielä asentaa OCalmia, kun minulla on internet Macissa, eikä se lue tuota Windowsia. Voin vastata kysymyksiin vasta, kun olen päässyt nettiin Windowsilla. Cygwin ei ole minulle ollenkaan tuttu, täytyy tutustua. :-)

Jorgga [07.10.2006 01:28:32]

#

Itse käytin joskus JustBasic:kia mutta siinä oli yksi vika tiedoston avaamisen kanssa eli kun avattiin tiedostoa: jokumuuttuja.txt niin se yritti avata tiedostoa .txt joka antoi erroria koska kyseistä tiedostoa ei ollut. En sitten tiedä onko se jo korjattu mutta muuten hyvä kieli... suosittelen.

Pekka Karjalainen [07.10.2006 09:36:23]

#

Löysin Cygwinistä yhden epätoivotun ominaisuuden. Se on GPL-lisenssin alainen, joten sillä ei käytännössä voi tehdä kaupallista softaa. Selitän.

GPL on Gnu Public License, joka tarkoittaa, että sen alla olevista ohjelmistoista johdetut teokset (eli oma tekemäsi kaikki) ovat myös sen lisenssin alla. Se määrää, että ohjelman lähdekoodi on julkaistava vapaaseen käyttöön. Se ei kiellä myymästä, mutta jos lähdekoodi on kerran vapaasti saatavilla, saattaa bisnes kuivua.

Jos taas OCamlista käyttää muuta versiota kuin täät Cygwiniin pohjautuvaa, ei siinä toimi debuggeri. Se on kehitysvaiheessa ikävä puute.

En nyt kuitenkaan halua sanoa, että koko homma pitäisi hylätä tuon GPL-lisenssin takia. Et varmasti heti ole myymässä mitään softaa ja myöhemmin voi vaihtaa työkaluja. Tietysti se vaihto aiheuttaa lisää (turhaa) työtä.

GPL:n sijasta LGPL ei rajoita niin paljon, jos jossain tulee tuollainen kirjainyhdistelmä vastaan. En ole kyllä itse lisenssiasioista huolehtinut vielä harrastuspuolella yhtään. Itselle saa toki tehdä mitä ohjelmia lystää ja ihan vapaasti.

Lisäksi huomasin, että OCaml vaatii myös MASM-nimisen assemblerin, että sillä voi tehdä konekieleksi asti käännettyjä ohjelmia. Lisää asennettavaa, hurraa. (Minulla se oli ennestään koneessa, joten en huomannut aluksi vaatimusta.)

Sen sijaan, jos kerran käytät Maccia, mikset kokeilisi OCamlin Mac-OS X -versiota? Se löytyy yllä antamani sivun download-osiosta valmiina asennuspakettina.

Koska tämä asennusvaatimusten ketju vain paisuu, niin ajattelin palata ajassa taaksepäin ja kertoa kääntäjistä, joilla pääsee vähällä vaivalla käsiksi OpenGL-ohjelmointeihin. Lista ei ole täydellinen.

C++ on tietenkin mahdollisuus. Ei se *niin* vaikea ole, etteikö sitä ekana kielenä oppisi. Ja jos oikean 3D-pelin haluat tehdä aikanaan, C++ on se, millä kaikki muutkin niitä tekevät (lähes poikkeuksetta).

Javan saa NetBeans IDE:n mukana yhdestä asennuksesta. Seuraava asennus on Jogl, jota en ole kokeillut itse.

https://jogl.dev.java.net/

Tuosta lienee ainakin Mureakuhassa juttua, ellei jopa täällä.

C# on Microsoftin kieli, joka asuu .NET-ympäristössä. Siihen saa sen uuden XNA-pelintekopaketin, joka voi myös olla varteenotettava vaihtoehto. Minulla ei ole tarpeeksi tietoa, jonka pohjalta arvioida rehellisesti sen laatua. C#-ympäristön saa MS:n sivuilta ilmaiseksi kokeilua varten, eikä sitä ole erityisesti rajoitettu harrastustasolla. XNA-pelejä saa myydä, jos maksaa jonkun pienen maksun, mikäli muistan oikein. Siitä on suomipelit.com-sivuilla jossain uutinen.

Jos asennat DrSchemen (Mac, Windows, Linux), pääset suoraan ympäristöön, jossa on OpenGL-tuki. Minulla ainakin toimivat Neon Heliumin alkeisoppaan Scheme-esimerkit suoraan. (Tosin ne loppuvat Scheme-kielellä kesken sieltä oppaasta.)

Lisäksi DrScheme on rakennettu opetukseen (ja siten itseopiskeluun) hyvin sopivaksi. Sitä käytetään ehkä parhaassa ohjelmoinnin alkeisoppaassa, mitä englanniksi saa.

http://www.htdp.org/

How to Design Programs

Huonona puolena DrScheme on tulkki tai tavukoodiksi kääntävä ympäristö, mikä tarkoittaa hitautta 3D-grafiikan kanssa. Sen muuntaminen kääntäjäksi on isompi urakka. Scheme myös poikkeaa paljon mainstream-kielistä, kuten nuo yllä mainitut, mutta onneksi se on helppo oppia itsekseenkin hyvästä kirjasta. (Siitä vain ei siirrytä C++:aan hetkessä.)

Suosittelen vilkaisemaan tuota HtDP-opuksen verkkoversiota. Se on perusteellinen alkeisopas, jossa ei toki 3D-grafiikkaa juuri mainitakaan. Mutta siitä olisi hyvä alkaa ohjelmoinnin opiskelu, tai kokeneemmankin kerrata.

Lisäksi on muita kieliä, mutta niistä en tiedä tarpeeksi, että voisin suositella varauksetta. Anteeksi taas, että jaarittelen näin pitkään, mutta ei ole aikaa kirjoittaa lyhyesti ja selkeästi :-)

Taidan nyt sanoa sen, että vaihtoehtoja on liikaakin...

tkarkkainen [07.10.2006 10:09:17]

#

Kopeekka kirjoitti:

GPL on Gnu Public License, joka tarkoittaa, että sen alla olevista ohjelmistoista johdetut teokset (eli oma tekemäsi kaikki) ovat myös sen lisenssin alla. Se määrää, että ohjelman lähdekoodi on julkaistava vapaaseen käyttöön. Se ei kiellä myymästä, mutta jos lähdekoodi on kerran vapaasti saatavilla, saattaa bisnes kuivua.

Selityksesi on oikea, mutta tulkintasi väärä. Jos käytät Cygwiniä jonkin ohjelman tekemisessä apuna, tuotos ei ole Cygwinistä johdettu, koska siinä ei ole riviäkään Cygwinin lähdekoodia.

En ole lakimies, enkä ota vastuuta tulkintani mahdollisesti aiheuttamista ongelmista. Jos joku voi todistaa minun olevan väärässä, kuuntelen mielelläni.

Pekka Karjalainen [07.10.2006 12:14:03]

#

OCamlin mukana tullut ohje sanoo, että se käyttää Cygwinin jotan DLL-tiedostoa, jonka takia sillä tehdyt binäärit ovat GPL:n alaisia. En ole minäkään lakimies, joten luotan siihen tekstiin tässä vaiheessa. En ole tutkinut asiaa sen enempää.

Tässä on Juhkolle lyhyt OCaml-Windows-asennusohje. Sillä pääsee katsomaan OpenGL-ohjelmia ja lukemaan niiden sorsaa. Tutoriaalin kanssa siitä voi oppia paljonkin.

Aluksi pitää asentaa joko MinGW tai Microsoft Visual C++ Express Edition (se on se ilmainen, muukin Visual C++ tietty käy). Tähän saat ohjeita C/C++-palstalta, jos tarvit. Sitten tarvitset vastaavan OCamlin version. Download-sivulla sanotaan versioiden kohdalla mihin ympäristöön (heidän sanansa on "toolchain") se sopii. Valitse niistä oikea C++-kääntäjäsi mukaan.

Lataa sivulta

http://wwwfun.kurims.kyoto-u.ac.jp/soft/olabl/lablgl.html

Windowsin LablGL-paketti (zip-tiedosto). Sen sisällä on LablGl.txt-niminen tiedosto, jossa on tarkat asennusohjeet. Minimaalinen asennus vaatii OCaml-systeemin ja Glut-kirjaston.

http://www.xmission.com/~nate/glut.html

Tuo osoite on myös tässä tekstiohjeessa. Ohjetta seuraamalla vaihe vaiheelta asioiden pitäisi toimia.

Jos käytät Microsoftin C++-kääntäjää, et saa käännettyä vielä pelkästään sen avulla ohjelmia konekieleen asti. MASM pitää vielä asentaa, mutta voit jättää sen myöhempään. Tässä on nyt neljä downloadia C/C++-ympäristö mukaan luettuna. Viidentenä voit kokeilla sitä Camelia-IDEä, jonka pitäisi toimia jotenkin myös ilman Cygwiniä (mutta ehkä puutteellisesti).

Tällä pääset kokeilemaan käytännössä toimiiko se kieli ja onko oppaasta apua. Tämä on paljon pienempi vaiva kuin sen koko Cygwinin yms. kanssa tappeleminen. Tarvittaessa voit asentaa kääntämiseen vaadittavat systeemit myöhemmin ja ruveta pukkaamaan binaaria bihalle.

OCamlissa on siis sekä tulkki että kääntäjä mukana. Tulkki on parempi kielen opetteluun.

Vakuutus: minulla asennus toimi juuri tuon tekstitiedoston mukaan. Katselin juuri demot läpi. Siellä pallukka kiersi toista jne.

Jos tulee ongelmia, kysy!

Lopuksi ilmoitan, että olen ehkä löytänyt vielä yhden kielen, joka olisi sopiva OpenGL:n opetteluun. Jos se todella käy siihen, kirjoitan siitä oikean aloittelijan pikaoppaan, joka on (toivon mukaan) helpompi tapa aloittaa kuin C++:aa tai OCamlin asennusta vastaan tappelu.

Siitä ensi viikolla. Stay tuned.

tkarkkainen [07.10.2006 12:24:18]

#

Kopeekka kirjoitti:

OCamlin mukana tullut ohje sanoo, että se käyttää Cygwinin jotan DLL-tiedostoa, jonka takia sillä tehdyt binäärit ovat GPL:n alaisia.

Aahaa, tämä muuttaakin asian. Oikeassa olet, noita DLL:iä käyttävän softan pitänee olla GPL-lisensoitua.

Juhko [07.10.2006 13:51:51]

#

En voi asentaa Mac OS X-versiota, kun tämä on äidin kone, eikä siihen saa asentaa mitään. Jos siinä on niitä tyhmiä lisenssejä, käytän varovasti.

Juhko [07.10.2006 16:47:21]

#

Äsken muuten kokeilinkin sitä asennusta. Se asennusohjelma kyllä tuli ja väitti asentaneensa OCamlin, mutta en löydä ohjelmaa mistään.

Juhko [08.10.2006 10:21:23]

#

Jorgga muuten, mistä sen JustBASICin saa?

E.K.Virtanen [08.10.2006 12:19:49]

#

Google antaa nerokkaan urlin justBASIC:lle http://www.justbasic.com/ ;D

Juhko [08.10.2006 16:49:04]

#

Kas kas! :-P

Pekka Karjalainen [10.10.2006 15:13:57]

#

Minulla on ollut vaikeuksia saada se Camelia-IDE toimimaan Windowsissa. En kai yksinkertaisesti osaa käyttää Windowsia tarpeeksi hyvin, kun en tiedä missä on vika enää. Annoin välillä periksi. En voi kyllä enää varauksetta suositella tätä ympäristöä Windowsin käyttäjille, kun en itsekään osaa sitä kokonaan asentaa... Anteeksi siis tämä, enää en suosittele sellaista, mitä en ole itse testannut.

Kuitenkin, ilman IDEä ja debuggeria se toimii aivan hyvin minulla. Oletusasennushakemisto on c:\Program Files\Objective Caml , josta suositan katsomaan. Siellä on bin-hakemistossa useita tiedostoja, esim. ocamlopt on se kääntäjä, joka tekee tehokkaista binääreja. En voi juuri nyt tarkistaa, mikä on se tulkki, mutta muistaakseni sen nimi on vain ocaml.exe . Olisiko siellä joku winocaml.exe, joka avaisi sen tulkin oikeassa ikkunassa? Otan selvää.

Jos kaipaat lisää apua, voit kysellä tässä säikeessä, tai jos unohdan vastata, niin voit katsoa profiilista mailinikin ja muistuttaa, että kysymyksiä olisi. Voin kyllä neuvoa jatkossa sen OCamlin käyttöä, jos se kiinnostaa. Mutta jos se on näin työläs yhä Windowsin alla, ehkä ei kannatakaan. Harkitse itse.

Juhko [10.10.2006 15:32:12]

#

Mutta kun yritin asentaa OCamlin Mac OS X:lle, eikä siinä ole mitään Program Files-kansiota. Tai no katson vielä...

Pekka Karjalainen [10.10.2006 15:34:59]

#

Joo, luulin, että puhuit Windows-koneestasi. Macissa asiat ovat varmasti toisin. enkä valitettavast osaa neuvoa.

Juhko [10.10.2006 15:48:40]

#

No, kokeillaan itse.

feenix [16.10.2006 14:53:57]

#

Kopeekka kirjoitti:

GPL on Gnu Public License, joka tarkoittaa, että sen alla olevista ohjelmistoista johdetut teokset (eli oma tekemäsi kaikki) ovat myös sen lisenssin alla. Se määrää, että ohjelman lähdekoodi on julkaistava vapaaseen käyttöön. Se ei kiellä myymästä, mutta jos lähdekoodi on kerran vapaasti saatavilla, saattaa bisnes kuivua.

General Public License on oikea termi.

Ja sorsat pitää antaa vain niille joille annat binääritkin. Jos siis teet itsellesi, saat tehdä mitä huvittaa kunhan annat itsellesi sorsat. Ja jos myyt jollekin firmalle tuotoksen, heillä on oikeus saada sorsat. Mutta kenellekään muulle niitä ei tarvitse antaa. Joten bisnes ei välttämättä kuivu kasaan, ei kovin moni firma halua varsinkaan vähän isommasta järjestelmästä kilpailijoille antaa versiota. Mutta voivat itsekin sitten muokata sitä miten huvittaa kun sorsat on.

Juhko [16.10.2006 15:53:39]

#

Tuo GPL on kyllä joskus vähän tyhmä. Mutta en minä kyllä aiokaan myydä pelejäni, vaan pistän ne vapaaseen levitykseen, mutta täysoikeudet ovat kyllä aina parhaat!


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta