Mietin tuota funktionaalista koodausta, voiko tuommoisella tavalla koodailla mitään isompaa hyödyllistä softaa, onko esimerkkejä? Mietin esim. ihan vaikka Linuxissa toimiva Nano-editori, eikö tuommoisenkin tekeminen olisi ihan pirun haasteellinen homma koodailla funktionaalisella tavalla?
D-kielellä toteutettu esimerkki, eikös tämä ole funktionaalisen tavan mukaisesti koodattu?
....pisteet siksi kun tämä kadottaa sisennykset.
module main;
import std.stdio;
import std.string;
immutable struct Person {
....string name;
....int age;
}
void sayHello (Person aPerson) {
....writefln ("Terve %s, sun ikä on %d", aPerson.name, aPerson.age);
}
pure Person modifyAge (Person aPerson, const int aAge) {
....if (aAge < 18) {
........throw new Exception (format ("Ikä %d on alle 18", aAge));
....}
....else if (aAge > 130) {
........throw new Exception (format ("Ikä %d on liian vanha", aAge));
....}
.... return Person (aPerson.name, aAge);
}
pure Person modifyName (Person aPerson, const string aName) {
....return Person (aName, aPerson.age);
}
void main (string[] args) {
.... try {
........auto p1 = Person("Timo", 44);
........p1.sayHello;
........auto p2 = p1.modifyAge = 50;
........p2.sayHello;
........auto p3 = p2.modifyName = "Kari";
........p3.sayHello;
........auto p4 = p3.modifyAge = 12;
........p4.sayHello;
....}
....catch (Exception e) {
........ writeln (e.msg);
....}
}
Funktionaalista?
45
619
Vastaukset
Kyllä funktionaalisesti voi tehdä hyvin laajoja ohjelmia. Itseasiassa sillä tavalla saa pidettyä isompia juttuja hallittavina.
Tuossa koodissa nyt vähän semmoinen kummallisuus kun luot henkilön ja sitten muutat sen tilaa. Pitäisi olla se, että luot henkilön ja luonnin yhteydessä se saa nimen ja iän.
Ne sijoitusoperaattorit eivät oikein kuulu funktionaaliseen ohjelmointiin.- UusiaTuulia
En muuta tuossa tilaa. Kyse on immutable struct -rakenteesta, jonka sisältö ei voi muuttua luonnin jälkeen, tuossa luodaan aina kopio henkilöstä p1 p2 p3 jne.. jotka saa uudet arvot. Itse asiassa ainut tilallinen 'muuttuja' on main-funktion args -parametri tuossa.
Tässä käydään ihan samoja asioita läpi.
https://medium.com/@cscalfani/so-you-want-to-be-a-functional-programmer-part-1-1f15e387e536
Tämä funktionaalinen koodaus on vähän samaa kuin XSL-tiedoston tekeminen, etenkin 2007-11 tuli väännettyä aika paljon ja kirosin silloin tätä samaa kun siinä ei ole oikeita muuttujia vaan "vakioita" ja kaikki aisat pitää tehdä rekursiivisesti.
Mutta tässä yritän vain hahmottaa tätä asiaa mistä tässä on kyse. - UusiaTuulia
Tokihan tuon voisi tehdä
auto p2 = modifyAge(p1, 50);
No on siinä siltikin yksi sijoitusoperaattori, mutta tuossa ap. koodissa mielestäni on luettavampaa tuo koodin esittäminen noin. UusiaTuulia kirjoitti:
Tokihan tuon voisi tehdä
auto p2 = modifyAge(p1, 50);
No on siinä siltikin yksi sijoitusoperaattori, mutta tuossa ap. koodissa mielestäni on luettavampaa tuo koodin esittäminen noin.Tuo pitäisi mennä niin, että Person instanssi saa syntymäajan ja nimen constructorissa.
Sitten siltä kysytään se ikä koska kello tiedetään.
Poistaa sitten kaiken turhanpäiväisen ehtohässäkän, poikkeukset yms. pois.- UusiaTuulia
auto p1 = Person("Timo", 44);
Kello tiedetään? Menee kyllä aika vaikeeksi koodaus tässä funktionaalisuudessa, yksinkertaisista asioista tehdään monimutkaisia. Toisaalta ymmärrän tässä sen pointin että monisäikeistetyssä koodissa on varmasti etua kun ei ole muuttuvia tiloja, mutta jokaista asiaa ei tarvi säikeistää. UusiaTuulia kirjoitti:
auto p1 = Person("Timo", 44);
Kello tiedetään? Menee kyllä aika vaikeeksi koodaus tässä funktionaalisuudessa, yksinkertaisista asioista tehdään monimutkaisia. Toisaalta ymmärrän tässä sen pointin että monisäikeistetyssä koodissa on varmasti etua kun ei ole muuttuvia tiloja, mutta jokaista asiaa ei tarvi säikeistää.Tuo ei edes ole funktionaalisuutta vaan perus olio-ohjelmointia.
Tietokoneessa on kello, se voidaan lukea niin palvelimessa kuin käyttöliittymässä. Person kun luodaan, sille annetaan syntymäaika ja ikä voidaan laskea siitä.
Yrität nyt väkisin jotenkin rakentaa viritelmiä millä muuttaisit tilaa kloonaamalla luotua instanssia vaikka tarkoitus on, että tilaa ei muuteta.- UusiaTuulia
Miten sinä toteuttaisit tämän ei-oliomaisesti?
Mutta vaikka annetaan kellonaika, sekin voi olla väärin inhimillisen virheen johdosta kun tiedot on syötetty. Tai sitten vaikka nimi on muuttunut, jos Kari onkin tehnyt sukupuolen vaihdoksen ja on nyt nimeltään Kaarina.
Totta kait asioita pitää voida muuttaa!? Se on suurin ihmetyksen aiheeni tässä koko funktionaalisessa jutussa vai olenko ymmärtänyt väärin? Miten tässä funktionaalisuudessa sitten muutetaan asioita? UusiaTuulia kirjoitti:
Miten sinä toteuttaisit tämän ei-oliomaisesti?
Mutta vaikka annetaan kellonaika, sekin voi olla väärin inhimillisen virheen johdosta kun tiedot on syötetty. Tai sitten vaikka nimi on muuttunut, jos Kari onkin tehnyt sukupuolen vaihdoksen ja on nyt nimeltään Kaarina.
Totta kait asioita pitää voida muuttaa!? Se on suurin ihmetyksen aiheeni tässä koko funktionaalisessa jutussa vai olenko ymmärtänyt väärin? Miten tässä funktionaalisuudessa sitten muutetaan asioita?Siis tuo nyt on ei-oliomainen. Funktionaalisuutta tuossa ei edes oikein tarvitse.
Minä tekisin constructorin joka ottaa vastaan syntymäajan ja nimen. Sitten metodit age() ja name() mitkä palauttaa nimen ja iän.
"Mutta vaikka annetaan kellonaika, sekin voi olla väärin inhimillisen virheen johdosta kun tiedot on syötetty. Tai sitten vaikka nimi on muuttunut, jos Kari onkin tehnyt sukupuolen vaihdoksen ja on nyt nimeltään Kaarina."
Sitä voi esim. tehdä funktion mikä ottaa syötteeksi vanhan tilan ja palauttaa uuden korvaamaan vanhaa.
Mutta esimerkki on kovin huono, kun tuollainen on datan persistointiasia ja liittyisi ennemminkin API suunnitteluun. Siihen voisi ottaa esimerkiksi tämän lähtökohdaksi: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete
"Totta kait asioita pitää voida muuttaa!? Se on suurin ihmetyksen aiheeni tässä koko funktionaalisessa jutussa vai olenko ymmärtänyt väärin? Miten tässä funktionaalisuudessa sitten muutetaan asioita?"
tila <- muutaTila(tila)
Käytännössä ohjelmissa se paikka missä on tila, on se joku tietokanta josta asioita muutellaan kyselyillä ja käyttöliittymissä voi olla säiliöitä joiden sisältö vastaa kannassa olevaa tietoa ja sisältää käyttöliittymäpuolella keskitetyn tilan tallennuksen.
Sitten kaikki muutokset ja tiedon lukemiset funktioina. Olennaista on se että niitä erilaisia tiloja ei kylvetä ympäri koodia bugeja aiheuttamaan vaan pidetään mahdollisimman pitkälle tilattomana.- UusiaTuulia
En vaan ymmärrä tätä?
"tila <- muutaTila(tila)"
"Käytännössä ohjelmissa se paikka missä on tila"
"Olennaista on se että niitä erilaisia tiloja ei kylvetä ympäri koodia bugeja aiheuttamaan"
Pitäähän tilalla olla jokin viite mitä se koskee, ettei se ole vain joku "tila", kuten tässä esimerkissä vaikka henkilön X nimi ja siten osaa sen nimen kantaankin päivittää oikealle henkilölle.
Sovellus.uusiNimi <- muutaNimi(vanhaNimi) // Kenen nimi?
Ja miksi sovelluksessa pitäisi olla jokin tietty paikka henkilön nimelle, paitsi juu, eli jos jossakin lomakkeella on henkilön tiedot ja siinä on tämä henkilön nimi, sitäkö tuossa ajetaan takaa?
Ei jokolista, on tämä niin nurinkurista touhua =D UusiaTuulia kirjoitti:
En vaan ymmärrä tätä?
"tila <- muutaTila(tila)"
"Käytännössä ohjelmissa se paikka missä on tila"
"Olennaista on se että niitä erilaisia tiloja ei kylvetä ympäri koodia bugeja aiheuttamaan"
Pitäähän tilalla olla jokin viite mitä se koskee, ettei se ole vain joku "tila", kuten tässä esimerkissä vaikka henkilön X nimi ja siten osaa sen nimen kantaankin päivittää oikealle henkilölle.
Sovellus.uusiNimi <- muutaNimi(vanhaNimi) // Kenen nimi?
Ja miksi sovelluksessa pitäisi olla jokin tietty paikka henkilön nimelle, paitsi juu, eli jos jossakin lomakkeella on henkilön tiedot ja siinä on tämä henkilön nimi, sitäkö tuossa ajetaan takaa?
Ei jokolista, on tämä niin nurinkurista touhua =D"En vaan ymmärrä tätä?"
Tilattomuudesta kouluesimerkki olisi vaikka HTTP protokolla.
Siellä on ne GET, HEAD, POST, PUT, DELETE jne. mutta itse protokollalla ei ole mitään tilaa. Sieltä tulee palvelimelta joku vastaus kyselyyn tai voidaan pyytää poistamaan jotain mutta toiminta ei edellytä mitään tilojen laittamista yhtään mihinkään.
"Pitäähän tilalla olla jokin viite mitä se koskee, ettei se ole vain joku "tila", kuten tässä esimerkissä vaikka henkilön X nimi ja siten osaa sen nimen kantaankin päivittää oikealle henkilölle."
Se tila voi olla vaikka tietokannan taulu, tai jos tekee käyttöliittymää niin voi olla vaikka serialisoitu objekti mikä sisältää kaiken ja sen voi antaa funktiolle syötteeksi ja funktio palauttaa uuden tilan.
Se koodi menee väistämättä siistiksi kun ainoan paikan mihin laitat sen sijoituslauseen on se konstruktori sillä luokalla missä alustetaan olion kun se luodaan, ja kun se on luotu niin ei niitä tarvitse muutella.
Olisi varmaan helpompaa opetella käyttämällä kieltä joka ohjaa siistiin käytäntöön. Esim. Scheme tai Haskell.- Hevonvitun-sönkötystä
M-Kar kirjoitti:
"En vaan ymmärrä tätä?"
Tilattomuudesta kouluesimerkki olisi vaikka HTTP protokolla.
Siellä on ne GET, HEAD, POST, PUT, DELETE jne. mutta itse protokollalla ei ole mitään tilaa. Sieltä tulee palvelimelta joku vastaus kyselyyn tai voidaan pyytää poistamaan jotain mutta toiminta ei edellytä mitään tilojen laittamista yhtään mihinkään.
"Pitäähän tilalla olla jokin viite mitä se koskee, ettei se ole vain joku "tila", kuten tässä esimerkissä vaikka henkilön X nimi ja siten osaa sen nimen kantaankin päivittää oikealle henkilölle."
Se tila voi olla vaikka tietokannan taulu, tai jos tekee käyttöliittymää niin voi olla vaikka serialisoitu objekti mikä sisältää kaiken ja sen voi antaa funktiolle syötteeksi ja funktio palauttaa uuden tilan.
Se koodi menee väistämättä siistiksi kun ainoan paikan mihin laitat sen sijoituslauseen on se konstruktori sillä luokalla missä alustetaan olion kun se luodaan, ja kun se on luotu niin ei niitä tarvitse muutella.
Olisi varmaan helpompaa opetella käyttämällä kieltä joka ohjaa siistiin käytäntöön. Esim. Scheme tai Haskell.Tässä on monta viestiä M-Karilta, jotka olisi saanut jäädä kirjoittamatta, ihan sen takia että sisältö on sekavaa hourimista asiasta josta ei ymmärrä mitään.
Hevonvitun-sönkötystä kirjoitti:
Tässä on monta viestiä M-Karilta, jotka olisi saanut jäädä kirjoittamatta, ihan sen takia että sisältö on sekavaa hourimista asiasta josta ei ymmärrä mitään.
No opiskele sitten.
- Hevonvitun-sönkötystä
M-Kar kirjoitti:
No opiskele sitten.
Taas sinä todistit kykysi ymmärtää kirjoitettua tekstiä, järjen köyhyyttä, ei tuota käsittämätöntä sönkötystä muuten ei voida selittää.
Hevonvitun-sönkötystä kirjoitti:
Taas sinä todistit kykysi ymmärtää kirjoitettua tekstiä, järjen köyhyyttä, ei tuota käsittämätöntä sönkötystä muuten ei voida selittää.
Siis sinä et ymmärtänyt.
Et ymmärtänyt mitä kirjoitin. On täysi syy olettaa että et tunne ohjelmointia.- Hevonvitun-sönkötystä
M-Kar kirjoitti:
Siis sinä et ymmärtänyt.
Et ymmärtänyt mitä kirjoitin. On täysi syy olettaa että et tunne ohjelmointia.Sinä saat olettaa ihan mitä haluat, mutta noilla kirjoituksissasi ei ole mitään tekemistä ohjelmoinnin kanssa, ne on puhtaasti kylähullun hourimista asiasta josta ei ymmärrä yhtään mitään, täyttä paskaa.
Hevonvitun-sönkötystä kirjoitti:
Sinä saat olettaa ihan mitä haluat, mutta noilla kirjoituksissasi ei ole mitään tekemistä ohjelmoinnin kanssa, ne on puhtaasti kylähullun hourimista asiasta josta ei ymmärrä yhtään mitään, täyttä paskaa.
"Sinä saat olettaa ihan mitä haluat, mutta noilla kirjoituksissasi ei ole mitään tekemistä ohjelmoinnin kanssa, ne on puhtaasti kylähullun hourimista asiasta josta ei ymmärrä yhtään mitään, täyttä paskaa."
Puhuin ohjelmoinnista jonka minä osaan hyvin.
Se että sinä et ymmärrä ohjelmointia, on sinun ongelmasi. Opiskele niin ehkä joskus opit.- Turbo-Urpo1
M-Kar kirjoitti:
"Sinä saat olettaa ihan mitä haluat, mutta noilla kirjoituksissasi ei ole mitään tekemistä ohjelmoinnin kanssa, ne on puhtaasti kylähullun hourimista asiasta josta ei ymmärrä yhtään mitään, täyttä paskaa."
Puhuin ohjelmoinnista jonka minä osaan hyvin.
Se että sinä et ymmärrä ohjelmointia, on sinun ongelmasi. Opiskele niin ehkä joskus opit.On sellainen sanonta että:
— Kolme kertaa kun valehtelee niin uskoo itsekin.
ja ihan valehtelematta yhtään:
— Hulluja on joka paikassa - mielisairaalassakin. - Hevonvitun-sönkötystä
M-Kar kirjoitti:
"Sinä saat olettaa ihan mitä haluat, mutta noilla kirjoituksissasi ei ole mitään tekemistä ohjelmoinnin kanssa, ne on puhtaasti kylähullun hourimista asiasta josta ei ymmärrä yhtään mitään, täyttä paskaa."
Puhuin ohjelmoinnista jonka minä osaan hyvin.
Se että sinä et ymmärrä ohjelmointia, on sinun ongelmasi. Opiskele niin ehkä joskus opit."Puhuin ohjelmoinnista jonka minä osaan hyvin."
Et ole ikinään osannut, etkä tule ikinään oppimaan, olet sinä sen verra tyhmä. Hevonvitun-sönkötystä kirjoitti:
"Puhuin ohjelmoinnista jonka minä osaan hyvin."
Et ole ikinään osannut, etkä tule ikinään oppimaan, olet sinä sen verra tyhmä.Tietysti osaan ja osannut pitkään.
Mutta sinähän et edes ymmärtänyt kirjoittamaani viestiä että kyse on siitä, että sinä et osaa.
Kyllä minä sen huomaan että olet tyhmä.- top.rolli
M-Kar kirjoitti:
Tietysti osaan ja osannut pitkään.
Mutta sinähän et edes ymmärtänyt kirjoittamaani viestiä että kyse on siitä, että sinä et osaa.
Kyllä minä sen huomaan että olet tyhmä.Sinä oletkin sellainen huomaaja, Sammakoista ennustus sopisi sinulle hyvin, tarkkailemalla sammakoita tietäisit kuukausia ennen tulevan kysymyksen täällä, jolloin sinulle jäisi aikaa tutustua asiaan ennakolta, no enpä tiedä luuserit eivät alusta vastauksiaan, laiskoja kun ovat.
- huomion-arvoista
M-Kar kirjoitti:
Tietysti osaan ja osannut pitkään.
Mutta sinähän et edes ymmärtänyt kirjoittamaani viestiä että kyse on siitä, että sinä et osaa.
Kyllä minä sen huomaan että olet tyhmä.M-Kar lueppa tuo uutinen -> Miehet näyttivät lapsille jalkapallokentän laidalla pornoa – hovioikeus tuomitsi lapsen seksuaalisesta hyväksikäytöstä
https://www.savonsanomat.fi/kotimaa/Miehet-näyttivät-lapsille-jalkapallokentän-laidalla-pornoa-–-hovioikeus-tuomitsi-lapsen-seksuaalisesta-hyväksikäytöstä/1307877
- UusiaTuulia
Asiasta toiseen, onko joku koodaillut VSCode-editorilla? Nykyään siinä pomppii rivien väliin turhia import-viestejä? "no noticable effect for importing this".
Toivottavasti nuo sais päältä pois, pilaavat taas hyvän editorin ihan turhilla jutuilla, eivät tekisi tästä liian isoa hässäkkää, mikä on Microsoftin vika yleensä sovelluksissa.- UusiaTuulia
Haha =D
- UusiaTuulia
UusiaTuulia kirjoitti:
Haha =D
Isommissa projekteissa jos koodi jaotellaan alikansioihin niin tuo ensimmäinen module on pakollinen, esim module ali.hakemisto
- UusiaTuulia
M-Kar kirjoitti:
Käytän sitä. Ihan kiva kun työkalu kertoo turhuuksista, kuten tarpeettomista importeista.
Muuten tuo ominaisuus ei haittaisi, mutta koodirivit hyppelee silmissä, saisi olla eri tavalla toteutettu.
UusiaTuulia kirjoitti:
Muuten tuo ominaisuus ei haittaisi, mutta koodirivit hyppelee silmissä, saisi olla eri tavalla toteutettu.
Minulla ei ole tuollaista koodirivien hyppelyä.
- valheen_jäljet
M-Kar kirjoitti:
Minulla ei ole tuollaista koodirivien hyppelyä.
Mitä sinä niistä ymmärtäisit vaikka oliskiin.
- koodia.optimoitava
Kaikki olio-ohjelmoijat olisi vietävä saunan taakse. Olio-ohjelmointi = paskaa turvonnutta koodia. Koodia ei pidä monistaa kuin sen verran että saadaan CPU:n kaikki ytimet käyttöön.
Assembler pitäisi ottaa peruskouluun ruotsin kielen tilalle. Assemblerin osaamisesta olisi nuorisolle enemmän hyötyä työelämässä. Uskontotunneilla puolestaan olisi raamatun sijaan opetettava lapsille tietokoneen toimintaa. Esimerkiksi Haikalan Käyttöjärjestelmät ISBN 951-762-837-4 olisi sopivaa oppimateriaalia ala-asteikäisille tenaville.- UusiaTuulia
Jossakin youtube pätkässä oli maininta että jos olio-ohjelmoinnissa haluat banaanin, saat samalla gorillan ja vielä viidakon päälle. Näinhän se menee jos asiat ajatellaan väärin päin. Bananin pitäisi olla ylimmällä tasolla, korkeintaan hedelmä ylempänä ja se gorilla ja viidakko ihan alimpana, niin eipä tulekkaan banaanin mukana enään gorillaa ja viidakkoa.
Olio-ohjelmointi on lähinnä kielessä työkalua millä voi vähän fiksummin scopettaa asioita. Joissakin kielissä toki turhia ominaisuuksia mutta ei tuossa ole kyse mistään koodin turpoamisesta. Helposti vähentää sitä koodin turvotusta.
"Assembler pitäisi ottaa peruskouluun ruotsin kielen tilalle."
Sehän se vasta turvottaakin koodia.- Sivustaseurannut
M-Kar kirjoitti:
Olio-ohjelmointi on lähinnä kielessä työkalua millä voi vähän fiksummin scopettaa asioita. Joissakin kielissä toki turhia ominaisuuksia mutta ei tuossa ole kyse mistään koodin turpoamisesta. Helposti vähentää sitä koodin turvotusta.
"Assembler pitäisi ottaa peruskouluun ruotsin kielen tilalle."
Sehän se vasta turvottaakin koodia.Patologinen valehtelija sanoo juuri ne asiat, jotka haluatkin kuulla – ja saattaa valehdella myös tilanteissa, joissa ei tarvitsisi.
- Kvantti
Suuriakin järjestelmiä, kuten ohjelmointiympäristö Genera ja tekstintoimitin ZMACS, on koodattu LISP:illä, joka on (perusteiltaan) funktionaalinen kieli.
- Kvantti
Suuriakin ohjemointijärjestelmiä on koodattu LISP:illä, kuten ohjelmointijärjestelmä Genera ja tekstintoimitin ZMACS.
- Turbo-Urpo1
𝙽𝙸𝙸𝙽 𝙵𝚄𝙽𝙺𝚃𝙸𝙾𝙽𝙰𝙰𝙻𝙸𝚂𝚃𝙰
#!/𝚞𝚜𝚛/𝚋𝚒𝚗/𝚎𝚗𝚟 𝚙𝚢𝚝𝚑𝚘𝚗3
𝚍𝚎𝚏 𝚅𝚒𝚔𝚊𝙼𝚎𝚛𝚔𝚔𝚒⟮ 𝚖𝚓𝚘𝚗𝚘 ⟯:
𝚛𝚎𝚝𝚞𝚛𝚗 𝚖𝚓𝚘𝚗𝚘[-1]⨟
𝚍𝚎𝚏 𝙴𝚔𝚊𝙼𝚎𝚛𝚔𝚔𝚒⟮ 𝚖𝚓𝚘𝚗𝚘 ⟯:
𝚛𝚎𝚝𝚞𝚛𝚗 𝚖𝚓𝚘𝚗𝚘[0]⨟
𝚙𝚛𝚒𝚗𝚝⟮ 𝙴𝚔𝚊𝙼𝚎𝚛𝚔𝚔𝚒⟮ "Matti" ⟯⟯;
𝚙𝚛𝚒𝚗𝚝⟮ 𝚅𝚒𝚔𝚊𝙼𝚎𝚛𝚔𝚔𝚒⟮ "Matti" ⟯⟯;- OOOooo
Millä sait erilaisen fontin?
- Turbo-Urpo1
OOOooo kirjoitti:
Millä sait erilaisen fontin?
Jos sinä näet sen tekstin siinä, silloin sinullakin on jo sama fontti. Mikäli sinulla ei vielä ole samaa fonttia näet viestin näin: https://i.postimg.cc/D0RXw7WD/Valinta-029.png
- Turbo-Urpo1
📌💲😀 😋💧📖📗📙📜📀
💥🤓🤔🥎🥭🥮🥯🥤🥦🤠
Millä tavalla sinä näet nämä merkit ?- Turbo-Urpo1
Sinun pitäisi nähdä ne samalla tavalla kuin kuvassa näkyvät:
https://i.postimg.cc/1zwxXB83/Valinta-030.png - Turbo-Urpo1
Jos et näe niitä samalla tavalla kuin minä, työnnä roskiin se Ubuntu.
- linusoliluuseri
No sen kun ymmärtää että Linus Torvads oli erittäin varakas henkilä jotta hänellä oli rahaa tehdä vapaa-ajallaan omaa käyttöjärjestelmää, on erittäin itsekäs MIES KYLLÄ. HIRVITTÄVÄN ITSEKÄS MIES ON LINUS.
Jos tarkoitit multi-threadeja tuolla, mikä ihme funktionaalinen mitä sanoit, jokainenhan kooderi käyttää vähintään 34 yhtäaikaista laskutoimitusta samaan aikaan?
C-koodeerit voivat kutsua tuollaista "rekursiiviseksi koodiksi", myöskin, mutta aloittajahan ei mitään threadeistä eikä muutenkaan prosessoreiden toiminnoista ymmärrä... - älykkyysonnoin60tuo
Eli siis koodi muuttaa itse omaa ohjelmakoodiaan ajon aikana itse... rekursiivista koodia, keksitty jo 70-luvulla saatanan pelle transistori-mies :D
Rekursiivinen koodi kutsuu itseään, ei muuta itseään.
Ja kyllä, rekursiota käytetään paljon funktionaalisesti ohjelmoitaessa.- Turbo-Urpo1
M-Kar kirjoitti:
Rekursiivinen koodi kutsuu itseään, ei muuta itseään.
Ja kyllä, rekursiota käytetään paljon funktionaalisesti ohjelmoitaessa."Rekursiivinen koodi kutsuu itseään, ei muuta itseään."
Väärinhän se meni:
Se tekee sen mitä käsketään tai ohjelmoidaan tekemään.
-
"Ja kyllä, rekursiota käytetään paljon funktionaalisesti ohjelmoitaessa."
OKSETTAA tämä pätemisen tarve.
Ketjusta on poistettu 2 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Aivosyöpää sairastava Olga Temonen TV:ssä - Viimeinen Perjantai-keskusteluohjelma ulos
Näyttelijä-yrittäjä Olga Temonen sairastaa neljännen asteen glioomaa eli aivosyöpää, jota ei ole mahdollista leikata. Hä812820Pelotelkaa niin paljon kuin sielu sietää.
Mutta ei mene perille asti. Miksi Venäjä hyökkäisi Suomeen? No, tottahan se tietenkin on jos Suomi joka ei ole edes soda2961635Mikä saa ihmisen tekemään tällaista?
Onko se huomatuksi tulemisen tarve tosiaan niin iso tarve, että nuoruuttaan ja tietämättömyyttään pilataan loppuelämä?2461537- 871371
IL - VARUSMIEHIÄ lähetetään jatkossa NATO-tehtäviin ulkomaille!
Suomen puolustuksen uudet linjaukset: Varusmiehiä suunnitellaan Nato-tehtäviin Puolustusministeri Antti Häkkänen esittel4011349Nyt kun Pride on ohi 3.0
Edelliset kaksi ketjua tuli täyteen. Pidetään siis edelleen tämä asia esillä. Raamattu opettaa johdonmukaisesti, että3961273Esko Eerikäinen tatuoi kasvoihinsa rakkaan nimen - Kärkäs kommentti "Ritvasta" lävähti somessa
Ohhoh! Esko Eerikäinen on ottanut uuden tatuoinnin. Kyseessä ei ole mikä tahansa kuva minne tahansa, vaan Eerikäisen tat381027Kiitos nainen
Kuitenkin. Olet sitten ajanmerkkinä. Tuskin enää sinua näen ja huomasitko, että olit siinä viimeisen kerran samassa paik21009Hyväksytkö sinä sen että päättäjämme ei rakenna rauhaa Venäjän kanssa?
Vielä kun sota ehkäpä voitaisiin välttää rauhanponnisteluilla niin millä verukkeella voidaan sanoa että on hyvä asia kun329864Miksi Purra-graffiti ei nyt olekkaan naisvihaa?
"Pohtikaapa reaktiota, jos vastaava graffiti olisi tehty Sanna Marinista", kysyy Tere Sammallahti. Helsingin Suvilahden254832