Katsokaa tätä:
http://users.adelphia.net/~lilavois/Cosas/System.htm
Juttu herättää ideoita, vaikkei itse tekniikka jostain kumman syystä kiinnostaisikaan.
Onko muuten se sanan "algoritmi" käyttötapa siinä oikea? pikkujuttu, mutta kiinnostaa...
http://users.adelphia.net/~lilavois/Cosas/System.htm
Juttu herättää ideoita, vaikkei itse tekniikka jostain kumman syystä kiinnostaisikaan.
Onko muuten se sanan "algoritmi" käyttötapa siinä oikea? pikkujuttu, mutta kiinnostaa...
Vastaukset 4
Vanhimmat
tuota juttua (niin paljon että kuvittelen ymmärtäväni periaatteen) enkä ainakaan tässä vaiheessa aio heittää vanhat työkalut menemään.
Tuo algoritmi-kysymys on vähän enemmän tulenarka (siitä voidaan kehittää vuosia kestävä akateeminen kysymys).
Algoritmilla tarkoitetaan ääretön joukko ohjeita joilla tietystä lähtötilasta voidaan saavuttaa tietyn lopputilan (synonyymi menetelmä, resepti...). Tietokoneohjelma on ehkä tavallisin tyyppi algoritmista.
Nyt tuossa jutussa puhutaan algoritmittomasta kehitysympäristöstä. Riippumatta siitä että käytetään vähän erilaisia nimikkeitä ja käsitteitä, tiettyjä toimintoja täytyy kuitenkin suorittaa tietyssä järjestyksessä eli algoritmista kuitenkin on kysymys.
(Jotenkin jäi sellainen tunne että saadakseen kehitysrahoitusta on täytynyt keksiä "mullistava" nimi (vaikka ei olisi ihan totuudenmukainen)
No joo, lisää filosofointi menee sinne akateemiselle puolelle ja tämä ei ehkä ole oikea forumi sille. Olin ehkä vähän turhan negatiivinen vastauksessani, voihan tuosta projektista syntyä paljon hyödyllistä, en vaan jaksa innostua ennen kuin näen todellisia tuloksia!
Filosofina otan tähän keskusteluun kantaa, vaikka en ymmärräkään ohjelmoinnista paljoa. Usein ihmiset luodessaan ideoita pyrkivät eroon jostakin rajoittavasta tai monimutkaisesta prosessista. Ideana on tällöin mahdollisimman helppo toiminto saman lopputuloksen saavuttamisesi. Tämähän on tieteestäkin tuttu periaate hyvästä teoriasta: Ei tarvitse todistaa useilla eri asioilla. No, tämän teorian luoja todennäköisesti tarkoittaa algoritmittömyydellä algoritmien minimoimista.
En huomannut tuossa muuta eroa, kuin visuaalisen puolen. Perinteiset ohjelmointikielet pohjautuvat totuttuihin kirjoitusmerkkeihin, kun tuossa käytetään palluroita ym. Mutta toisaalta, kuka on todistanut että perinteiset kirjoitusmerkit olisivat ohjelmoinnissa parhaat mahdolliset?
Keskeisin ero ei ole visuaalisuus. Voisin kuvitella COSA-menetelmää käytettävän ihan tekstuaalisestikin, mutta visuaalisuus on hyvä juttu. Mielestäni pääasia on komponenttien synkroonisuus: hieman sama ajatus kuin VHDL-kielen prosessi, jossa tulosignaalin muutos käynnistää toiminnan. Tämä on oleellinen osa COSA-menetlmän rinnakkaisajattelua. COSA-ohjelman kääntäminen moniprosessoriympäristöön tai vaikka HW:lle (FPGA) olisi selvästi yksinkertaisempaa kuin saman tempun tekeminen esim. tyypilliselle java-koodille.