Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Mitä ohjelmointi ja koodaaminen on?

Sivun loppuun

vesikuusi [29.07.2013 18:18:30]

#

Sivujuonne toisesta keskustelusta.

less_than_perfect kirjoitti:

RE:vesikuusi -En edes tiedä mitä koodaaminen on? Mutta ohjelmointi kyllä kiinnostaa.

Koodaaminen on (ohjelma)koodin tuottamista eli käytännössä sen kirjoittamista. Itse pidän ohjelmointia koodaamista laajempana käsitteenä.

The Alchemist [29.07.2013 18:48:13]

#

"Ohjelmistosuunnittelu" olisi esimerkiksi laajempi käsite. Koodaus on nimenomaan slangimuoto sanalle "ohjelmointi".

vesikuusi [29.07.2013 19:26:14]

#

No tämä on minun käsitykseni ja ajattelutapani. Kuten vaikka MS Word koodaa asiakirjoja, joiden formaattia vastaavat ohjelmat osaavat tulkita ja käsitellä, ja sinä koodaat lähdekooditiedostoja, joiden formaattia tulkit ja kääntäjät osaavat tulkita ja käsitellä. Ohjelmoida voi muutenkin kuin koodaamalla merkkejä tiedostoon.

fergusq [30.07.2013 13:18:00]

#

Minusta "koodaminen" merkitsee tiedon muuntamista toiseen (koodi)muotoon. Ja näin sanakirjaninikin sen ilmaisee:

Nykysuomen käyttötieto kirjoitti:

koodata, koodittaa (ransk. code 'koodi' < lat. codex 'kirja'), muuttaa koodin avulla toiseen muotoon.

Joten, koodaus on korkea käsite kaikelle tiedon muuntamiselle koodiksi, ja ohjelmointi on alakäsite, ohjelman suunnitelman muuntaiminen ohjelmakoodiksi. Ohjelmoijat vain usein käyttävät sanaa koodaus ohjelmoinin synonyyminä.

vesikuusi [31.07.2013 01:22:26]

#

Mitä on mielestäsi esimerkiksi pelien tekeminen GameMaker:lla? Se ei ainakaan ole ohjelman suunnitelman muuntamista ohjelmakoodiksi, mutta ohjelmointia se minun mielestäni on. Vaikka kyseinen ohjelmisto on vastuussa itse koodaamisesta, on käyttäjä silti se, joka määrittelee pelin logiikan (tämän itse käsitän pelin ohjelmoimiseksi).

Lebe80 [31.07.2013 02:21:44]

#

vesikuusi kirjoitti:

Vaikka kyseinen ohjelmisto on vastuussa itse koodaamisesta, on käyttäjä silti se, joka määrittelee pelin logiikan (tämän itse käsitän pelin ohjelmoimiseksi).

En silti sanoisi GameMakerilla tekoa ihan ohjelmoinniksi (jollaisena yleensä esim. peliohjelmointi tunnetaan), jos kerran minkäänlaista ohjelmointia siinä ei tehdä.

Sitä en sen sijaan kiellä, etteikö sillä voisi tehdä kaikennäköisiä pelejä ja jopa hyviä sellaisia. Jos kerran logiikkaa muutetaan esim. raahaamalla erilaisia liipasimia valmiista vaihtoehdoista yms., niin väittäisin että ohjelmoinnista on vastannut enemmänkin GameMakerin tekijät.

edit:
Jos taas termiä halutaan venyttää, niin periaatteessa jonkin sortin "ohjelmointia" GameMakerilla tekeminenkin on, mutta en lähtisi pelintekopiireissä ihan kehuskelemaan ohjelmointitaidoilla, jos sitä "oikeaa" ohjelmointia ei ole harrastanut. Tässä ohjelmointia voisi verrata, vaikkapa erilaisten koneiden liikeratojen "ohjelmointiin".

Grez [31.07.2013 02:54:42]

#

vesikuusi kirjoitti:

Mitä on mielestäsi esimerkiksi pelien tekeminen GameMaker:lla? Se ei ainakaan ole ohjelman suunnitelman muuntamista ohjelmakoodiksi, mutta ohjelmointia se minun mielestäni on. Vaikka kyseinen ohjelmisto on vastuussa itse koodaamisesta, on käyttäjä silti se, joka määrittelee pelin logiikan (tämän itse käsitän pelin ohjelmoimiseksi).

Minusta toimintalogiikan määrittäminen ei automaattisesti ole ohjelmointia vaan ehkä kuvaavampi termi olisi mallintaminen. Toki mallintaminen voidaan tehdä ohjelmoimalla, mutta gamemakeria käyttäen se ei ilmeisesti ole välttämätöntä.

Jopa ohjelmakoodia voi muodostaa muullakin tavalla kuin ohjelmoimalla. Esimerkkinä vaikkapa Excelin makrojen tallennus. (Sehän tekee VBA-koodia)

Myös tietokoneella voisi olla tekoäly, joka muodostaisi ohjelmakoodia. Silloinkaan en kutsuisi ohjelmoinniksi sitä, että käyttää ko. tekoälyä, vaikka lopputuloksena olisikin ohjelma.

fergusq [31.07.2013 10:55:03]

#

Ohjelmointi käsitteenä tarkoittaa "ohjelman syöttämistä" tai "ohjelman lataamista" koneeseen, joten GameMakerin käyttö on tavallaan ohjelmointia, mutta vain eri tavalla kuin kirjoittamalla koodia. Kaksi eri rajapintaa samaan asiaan.

Se, että tietokone ohjelmoi puolestasi on ohjelmoinnin automatisointia. Jos aletaan halkomaan hiuksia, niin C:llä ohjelmointikin on sellaista, kääntäjähän tuottaa assemblyä. Miten makrot tai gamemaker-pelit lopulta eroavat korkean tason ohjelmointikielestä? Kuten sanoin, eri rajapinta.

Kun termi "ohjelmointi" kehitettiin, maailma oli erilainen, ja sama termi on venynyt käsittämään monia eri asioita.

vesikuusi [31.07.2013 17:38:02]

#

fergusq kirjoitti:

Ohjelmointi käsitteenä tarkoittaa "ohjelman syöttämistä" tai "ohjelman lataamista" koneeseen, joten GameMakerin käyttö on tavallaan ohjelmointia, mutta vain eri tavalla kuin kirjoittamalla koodia. Kaksi eri rajapintaa samaan asiaan.

Se, että tietokone ohjelmoi puolestasi on ohjelmoinnin automatisointia. Jos aletaan halkomaan hiuksia, niin C:llä ohjelmointikin on sellaista, kääntäjähän tuottaa assemblyä. Miten makrot tai gamemaker-pelit lopulta eroavat korkean tason ohjelmointikielestä? Kuten sanoin, eri rajapinta.

Kun kysymys nyt oli alunperin ohjelmoinnin ja koodaamisen eroista, niin sanon tähän että C-ohjelmointi on ihan selvästi koodaamista, vaikka kääntäjä tuottaakin assemblyä. Siinä ohjelmoija silti koodaa C-koodia tiedostoon.

Kuten itsekin sanoit, niin gamemakerin käyttö on myös ohjelmointia. Koodaamisesta ei silti voida puhua.

Mielestäni tämä pätee hyvin perustelemaan myös gamemakerin käytön ja korkean tason ohjelmointikielen eroa. Ohjelmointikielellä koodataan, gamemakerilla ei. Molemmissa tapauksissa voidaan puhua ohjelmoinnista.

The Alchemist [31.07.2013 19:25:10]

#

Ja kenen mukaan Game Makerilla naksuttelu ei ole koodausta? Sinä määrittelit auktoriteetinomaisesti koodaamisen tarkoittamaan "ohjelmakoodin" "kirjoittamista" ja samalla oletettavasti määrittelit termin ohjelmakoodi tarkoittamaan plain textiä. Mielestäni tällainen määrittely on alkeellinen ja kyse on itse asiassa kehäpäätelmästä.

Plain text vaatii samalla tavalla kääntämisen koneen ymmärtämään muotoon kuin Game Makerin tai LabView'n rakennuspalikatkin. Aakkoset, numerot ja sulkeet ovat aivan yhtä teennäisiä symboleita kuin Game Makerissa käytetyt käskyt. Oikeastaan ainoa ero on se, että klassisissa ohjelmointikielissä tarvitaan yleensä useampia merkkejä yhden lauseen (funktionimen tms.) tuottamiseksi. Se on kuitenkin vain sopimuskysymys valittaessa ohjelmointikielen merkistöä.

Graafiset symbolit ovat toki paljon ilmaisuvoimaisempia kuin esimerkiksi c++:n standardikirjaston funktiot. Voin kuitenkin halutessani kirjoittaa vaikka funktion suorita_peli() (vertaa: main()), joka voi tehdä vaikka miten miljoonasti asioita. Silläkään ei ole mitään väliä.

Lopputulemani on siis se, että nojaat argumenteissasi itse keksimääsi puolivillaiseen määritelmään siitä, mitä ohjelmakoodi yleensäkin on, ja tästä johdat joukon muita viallisia päätelmiä.

fergusq [31.07.2013 20:39:08]

#

Tottakai graafinen ohjelmointi on koodausta. Pelkkien karttojen tekeminen gamemakerilla tosin mielestäni ei ole. Samalla voisi sanoa, että kuvien piirtäminen paperille on koodausta.

Koodaaminen on muuntamista koodimuotoon. Siis itse, ohjelmien sisäistä toimintaa ei lasketa (asiakirjojen kirjoittaminen ei ole koodausta vaikka se tallennettaisiinkin postscriptiksi). Jos tuo koodimuoto on sama kuin alkuperäinen muoto (kuva päässä -> kuva tietokoneella), ei kyse ole koodaamisesta.

The Alchemist [31.07.2013 20:46:39]

#

En oo Game Makeria koskaan käyttänyt, mutta kyllä siinä nähdäkseni on kyse paljon muustakin kuin pelkästä karttojen piirtelystä. Koodin osuus kaiken muun naksuttelun lomassa on tietysti vähäisempi kuin LabViewissä tai tekstipohjaisia kieliä näpyteltäessä. Kukaan tuskin oli argumentoimassa, että kartan piirtely olisi ohjelmointiakaan?

Game Maker Studio: Basic Platformer

vesikuusi [01.08.2013 00:11:13]

#

The Alchemist kirjoitti:

Lopputulemani on siis se, että nojaat argumenteissasi itse keksimääsi puolivillaiseen määritelmään --

Sanoisin, että kysymys on ennemmin ajattelutavasta kuin keksitystä määritelmästä. Jos ohjelmoinnista puhutaan, pidän koodaamista tekstimuotoisen koodin tuottamisena.

Tässä keskustelussa on kyllä tullut esiin hyviä pointteja, kuten se, että logiikan määritteleminen graafisillakin symboleilla on eräänlaista koodaamista. Joten kai minäkin kallistun siihen, että GameMaker:lla tekeminen on koodaamista.

fergusq kirjoitti:

-- koodaus on korkea käsite kaikelle tiedon muuntamiselle koodiksi, ja ohjelmointi on alakäsite, ohjelman suunnitelman muuntaiminen ohjelmakoodiksi.

Nyt kun uudelleen miettii, niin tuossa alkaa olla minunkin mielestäni järkeä :D Jos asiaa ajattelee niin, että ohjelmakoodiksi luetaan kaikki mahdolliset laitteelle tai ohjelmistolle annettavat ohjeet, olivat ne sitten tekstipohjaisia, graafisia tai konkreettisempia kuten rei'itettyjä kortteja.

ajv [01.08.2013 07:59:55]

#

Pistänpä oman lusikkanikin tähän mielipiteiden keittoon. Mun mielestä koodaus on mitä tahansa tiedon muuntamista toiseen muotoon (esim. Morsen koodi) ja sitä käytetään myös "slangisanana" ohjelmoinnille. Ohjelmoinnin käsitän nimenomaan tietokoneen ohjelmointina, oli se sitten graafista, tekstipohjaista tai vaikka reikien poraamista levyihin.

http://fi.wikipedia.org/wiki/Koodi

Edit: typot

The Alchemist [01.08.2013 09:32:49]

#

Wikipedian Koodi-artikkeli ei käsittele ohjelmakoodia. Ohjelmakoodi on paljon muutakin kuin vain datan esittämistä toisessa muodossa. Se on ohje tietokoneelle täysin uuden datan tuottamiseksi. Pitää nyt muistaa, että sanoilla voi olla useita eri merkityksiä. Myös "koodaus" tarkoittaa sanakirjaterminä jotain ihan muuta kuin mistä täällä kiistellään.

fergusq [01.08.2013 11:12:09]

#

Eiköhän se ole aika selvä, mitä koodaus tarkoittaa. Mielenkiintoista on mielestäni miten sanoille aukeaa aivan uusia merkityksiä, jos on niitä ajatellut ennen vain suppeasti tietyllä alalla, kuten ohjelmoinnissa.

Olisi hauskaa nähdä Venn-diagrammi sanoista ohjelmointi ja koodaus. Lopulta ne merkitsevät aivan eri asioita.


Sivun alkuun

Vastaus

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

Tietoa sivustosta