' #1: Mikäköhän kieli tämä on? Määritä Funktio Elämä(Viittaa Teksti On Merkkijono) On Totuusarvo Jos PituusT(Teksti) Niin Jos Merkkijonossa(Teksti, "Elämä") Niin Funktio = Tosi Muutoin Funktio = Epätosi Päätä Jos Päätä Jos Päätä Funktio
// #2: Mikäköhän kieli tämä on? Funktio Elämä($teksti) { Jos( $teksti == 'Elämä' ) { Palauta Tosi; } Muutoin { Palauta Epätosi; } }
Kehitelkää ja arvailkaa :)
<html> <pää> <otsikko>Huisat kotisivut</otsikko> </pää> <vartalo> <kuva lähde="sisilisko.gif" /> </vartalo> </html>
:(
Otsikosta tuli mieleen, että 90-luvulla yläasteella tuli eräällä atk:n tunnille ohjelmoitua Turbo-Pascalilla suomeksi. Tuli kyllä perverssi olo.
Merri kirjoitti:
Funktio = Tosi Muutoin Funktio = Epätosi
Pitäisi kai olla Elämä = Tosi ja Elämä = Epätosi
En myöksään olisi ihan samaa mieltä tuosta sanan As kääntämisestä On -sanaksi.
Muuten Visual Basic tms.
Merri kirjoitti:
// #2: Mikäköhän kieli tämä on?
Olisko PHP.
Merri kirjoitti:
Jos ohjelmointikielet olisivat suomenkielisiä
...olisivat kaikki ohjelmoijat kuolleet nauruun.
TsaTsaTsaa kirjoitti:
<html>
<htmk>
VB, PHP ja HTML
Grez: ei pitäisi, koska kyseessä ei ole VB :)
Itseasiassa siellä on kylläkin moka.
Blaze: Naurussa ei puhuta suomea!
menettely TEsine.Prosessoi(Lähettäjä: TObjekti); aloita Peritty; jos (syntymisviive > 0) ja (poimittu) silloin aloita syntymisajastin := syntymisajastin + aikahyppy; jos syntymisajastin >= syntymisviive silloin aloita syntymisajastin := 0; poimittu := epätosi; lopeta; lopeta; lopeta;
Onko toi Java(Script)
Ei olee.
Entä Assembly.
Janezki: Mieleen tulee Object Pascal tms? Onko siellä suunnallakaan?
lkjloh .malli pieni .pino 100h .tieto terve_viesti db 'Terve maailma!',0dh,0ah,'$' .koodi pääjohto toim siirt ax,@tieto siirt ds,ax siirt ah,9 siirt dx,vaihesiirto terve_viesti kesk 21h siirt ax,4C00h kesk 21h pääjohto loppup loppu pääjohto
Kieroutunutta :-P
-Grey-
pitäiskö ruveta tekemään c++ tulkkia... niin että koodia voi kirjoittaa suomeksi ja vieläpä kieliopillisesti oikein, esim:
Tarvitsemme iostream otsikkotiedoston. Lisäksi käytämme nimiavaruutta std. Pääfunktion lohko alkaa tästä. Alustamme kokonaislukumuuttujat luku, luku1 ja luku2 aloitusarvoilla 1, 2 ja 3. Kirjoitamme näytölle kirjainta a, vähentäen lukujen luku, luku1 ja luku2 summasta luvun 1 joka kierroksella, kunnes erotuksesta tulee luku 0. Annamme pääfunktion paluuarvoksi luvun 0.
tai no ehkä ei vois olla aika turhauttavaa -.- ideana hauska kuiteski :D
Alkaa päässä humisemaan ja seinillä vilkkumaan vihreitä ja keltaisia täpliä kun luen tätä viestiketjua...
kun (nappainpainettu()) { staattinen kokonaisluku val; val = luenappain(); jos ((val >> 8) == NAP_PAKO) allegro_viesti("Painoit Esciä!!!"); }
...mutta kun kerran keskeytin koodaamisen putkan lukemisen takia niin tossa pieni pätkä suomeksi käännettynä. ^^
Grez kirjoitti:
Janezki: Mieleen tulee Object Pascal tms? Onko siellä suunnallakaan?
Sitähän se
ByteMan kirjoitti:
pitäiskö ruveta tekemään c++ tulkkia... niin että koodia voi kirjoittaa suomeksi ja vieläpä kieliopillisesti oikein, esim:
Odotan muuten edelleen, että joku keksii edes jonkin suomennoksen for-loopin forille :)
Blaze kirjoitti:
Odotan muuten edelleen, että joku keksii edes jonkin suomennoksen for-loopin forille :)
Suomihan on siitä kiva kieli, että tuollaisia ylimääräisiä sanoja ei ole, vaan ne ilmaistaan sijapäätteillä. Eli suomen vastinetta for sanalle, päätettä -lle, ei voi varsinaisesti käyttää yksin. Eli jos siitä haluaisi jonkin suomenkielisen sanan, niin se olisi ehkä lähinnä "arvoille".
heh, huvittavaa luettavaa.
Julista Funktio JaaKahdella(Jaettava Kuten Numero) Kuten Numero Julista Funktio Käännä(Käännettävä Kuten Teksti) Kuten Teskti Funktio JaaKahdella(Jaettava Kuten Numero) Kuten Numero Palauta Jaettava / 2 Lopeta Funktio Funktio Käännä(Käännettävä Kuten Teksti) Kuten Teksti Jos Pituus(Käännettävä) > 0 Silloin VaraaMuistia X Kuten Numero VaraaMuistia Temp Kuten Teksti X = Pituus(Käännettävä) NiinKauanKuin(X > 0) Temp = Temp + Kirjain(Käännettävä, X) TaitaTakaisin Muuten Temp = Käännettävä LopetaJos Palauta Temp Lopeta Funktio TulostaRuudulle JaaKahdella(10) TulostaRuudulle Käännä("Tämä ulostuu väärinpäin") Lopeta
Aika purkkaa mutta teki hommasta hauskemman.
Mod. lisäsi kooditagit
Heh :)
Sisällytä stantardi-otsakkeet Kokonailuku Pää(Kokonaisluku argumenttien_määrä, Merkki **Argumentit){ Tulosta("Hei maailma!"); Palauta POISTUMINEN_ONNISTUNEESTI; }
Arvatkaapa siitä...
tuo JKehys; luokka Ohjelma perii JKehys { yksityinen kok luku; julkinen staattinen tyhjä pää(Merkkijono[] argumentit){ uusi Ohjelma(); } julkinen Ohjelma(){ luku = summa(1,2); Järjestelmä.ulos.tulostarv(luku); } julkinen summa(kok eka, kok toka){ palauta eka+toka; } }
Kuha ny päästä heitin. Empä oo tollakaan pitkään aikaa koodannu..
E: "julkinen staattinen tyhjä pää" :DD
10 tulosta "KieliX-numeronarvauspeli " 20 tulosta "Arvattava luku on väliltä 1-10000. Arvaa 0 poistuaksesi ohjelmasta. " 100 #arvattava=?summa(?satluku(0),1) 101 jos #arvattava=1 niin mene 100 102 jos #arvattava=10000 niin mene 100 110 #arvattu="" 120 #arvauksia=0 130 #min=1 140 #max=10000 200 tulosta "Arvaa luku (" 201 tulosta ?alkuosa(?jonona(#min),".") 202 tulosta "-" 203 tulosta ?alkuosa(?jonona(#max),".") 204 tulosta "): " 210 lue #arvattu 220 #arvattu=?numerona(#arvattu) 230 mene 1000 1000 jos #arvattu=0 niin mene 9999 1001 jos #arvattu<=#min niin mene 1300 1002 jos #arvattu>=#max niin mene 1300 1003 jos #arvattu<#arvattava niin mene 1100 1004 jos #arvattu>#arvattava niin mene 1200 1005 jos #arvattu=#arvattava niin mene 2000 1006 mene 9999 1100 #min=#arvattu 1110 tulosta "Liian pieni! " 1120 #arvauksia=?summa(#arvauksia,1) 1130 mene 200 1200 #max=#arvattu 1210 tulosta "Liian iso! " 1220 #arvauksia=?summa(#arvauksia,1) 1230 mene 200 1300 tulosta "Pälli. " 1310 mene 200 2000 tulosta " :D-\-< O I ! :D-|-< I E N ! :D-/-< K ! " 2100 #arvauksia=?summa(#arvauksia,1) 2110 tulosta "Arvattava luku oli " 2111 tulosta ?alkuosa(?jonona(#arvattava),".") 2112 tulosta ". " 2113 tulosta ?alkuosa(?jonona(#arvauksia),".") 2114 tulosta ". arvauksella oikein - " 2201 jos #arvauksia=1 niin mene 2300 2202 jos #arvauksia<5 niin mene 2310 2203 jos #arvauksia<10 niin mene 2320 2204 jos #arvauksia<15 niin mene 2330 2205 jos #arvauksia<20 niin mene 2340 2206 mene 2350 2300 tulosta "HOLE-IN-ONE!" 2301 mene 2400 2310 tulosta "hyvähyvähyvä!" 2311 mene 2400 2320 tulosta "hieno suoritus!" 2321 mene 2400 2330 tulosta "ok." 2331 mene 2400 2340 tulosta "vielä saisi treenata.." 3241 mene 2400 2350 tulosta "AHAHAHA LOL!" 2400 tulosta " Uusi kierros - arvaa luku väliltä 1-10000, 0 = poistu ohjelmasta. " 2401 mene 100 9999 pysähdy
Edellä oleva koodi on röyhkeästi kopioitu täältä.
Kun sataa
Jos on kylmä
pue sadetakki ja sydvesti
Muutoin
pue vain simmarit ja kumpparit.
Nopea Yksinkertainen -koodi (QB)
Näyttö 13 Piirrä viiva (10,10)-(50,50), 8, Bf Ulosta &H3C8, 8 Ulosta &H3C9, 128 Ulosta &H3C9, 50 Ulosta &H3C9, 200
: )
KPuskV * teksti = Merkkijonolataaja::LataaPS(R_HEI_MAAILMA); CAknInformaatiolappu * dialogi = uusi (EPoistu) CAknInformaatiolappu(); dialogi->SuoritaPT(*teksti); Siivouspino::PoksautaJaTuhoa();
:P
Selkokielisistä ohjelmoitikielistä lolcode on ehkä paras.
HAI CAN HAS STDIO? I HAS A VAR IM IN YR LOOP UP VAR!!1 VISIBLE VAR IZ VAR BIGGER THAN 10? KTHXBYE IM OUTTA YR LOOP KTHXBYE
Pelkkä ajatuskin lolcodesta suomeksi...
jmp: ai repskoodia?
HEPS SAISIKS PERUSTOIMINNOT? MULLA ON MUUTTUJA OON SUN KIERTEESSÄ KASVATA MUUTTUJA!!1 NÄYTÄ MUUTTUJA ONKS MUUTTUJA ISOMPI KU 10? MOROJENS VAPAUDUN SUN KIERTEESTÄ MOROJENS
Nimetkää muuttuja vaikka joksikin ruumiinosaksi niin johan on hauskaa...
määr kertoma (luku): jos luku == 0: palauta 1 muutoin: palauta luku * kertoma(luku - 1) tulosta kertoma(42)
funkkari AnnappaKertoma(n: kokonumberi): kokonumberi; muuttuvaiset i: kokonumberi; alotas ulostus:=1; kertaappa i:=2 tonne n asti alotas ulostus:=ulostus*i; lopetas; lopetas;
Tuntuuko jostakusta muustakin, että mitä enemmän näitä esimerkkejä tulee, sitä vähemmän hassunkurisilta ne vaikuttavat tai ainakin ne lakkaavat naurattamasta?
Onkohan niin, että jos jokin vaikka pascal-tyyppinen kieli olisikin suomennettu, ei tarvitsisi kuin päivä koodia katsella ja sitten se ei vaikuttaisikaan enää yhtään kummalliselta? Että mitä siinä englantilaisperäisessä if-then-else:ssä niin erinomaisen k3wlia onkaan?
Varmaan jollekin espanjalaiselle suomalaiset avainsanat olisivat tietty todella outoja, mutta jos on opiskellut vaikkapa ranskaa, niin tosimielellä laaditut ranskalaiset avainsanat olisivat luultavasti ihan sulateltavissa.
Englannin lisäksi muihin kieliin perustuvia ohjelmointikieliä on tehty, käsittääkseni lähinnä opetustarkoituksiin (tai parissa tapauksessa ihan huviksi vaan). Muistaakseni sellaisia on tehty ainakin venäjäksi ja islanniksi! Wikipedia voisi kertoa näistä, mutta nyt en jaksa hakea.
Monelle suomalaiselle oma kieli on toki häpeän asia, kun se on niin junttimaista. Eihän nyt kukaan voi kutsua automobiilia hyrysysyksi vakavissaan. Tai elektronimikroskooppia sähkälehitutähystimeksi! Kauheita sanoja, ja niille sopii nauraa. Eikö niin?
Kumma kyllä, sähkö on mennyt läpi elektrisiteetin tilalla ja puhelinkin kelvannut teleföönin tilalle. Jotakin eloa vielä vanhassa metsäläisten ja maalaisten kielessä on, kun näitä ei vielä ole hylätty tai globalisoitu :)
Sen sijaan vakavasti sanottuna olen sitä mieltä, että tietokone on typerä nimi koneelle, joka ei yleensä tiedä yhtään mitään. Data on suomeksi anne, joten annekone olisi hyvä...
(Paras kieli ohjelmointikielen perustaksi on muuten matematiikka.)
Kyllä ainakin itse suosin ihmisten välisessä kanssakäynnissä ihan oikeasti suomenkielisiä käsitteitä. Ohjelmointi- ja tekniikkapalstat on asia erikseen.
Tietokoneen typeryys juontuu ruotsinkielisen sanan datamaskin typeryydestä. Annekonekin soveltuu siksi lähinnä massamuisteille.
Valitettavasti en nyt keksi ytimekästä vastinetta sanalle "compute", joten en keksi omaa ehdotusta tähän hätään.
Tuolla jonkin verran asiaa tietokoneen (vanhoista) nimityksistä: http://www.tuug.fi/~jaakko/tutkimus/
Blaze kirjoitti:
Odotan muuten edelleen, että joku keksii edes jonkin suomennoksen for-loopin forille :)
For -> Selaa
Edit: Okei, selaa on oikeasti browse mutta silti..
Jos Foria yrittää suomentaa, niin pitää huomioida myös eri rakenteita eri kielissä:
' BASIC FOR For A = 0 To 4 Step 2 Next A ' BASIC FOR EACH For Each X In XX Next X -- Euphoria For X = 1.0 To 2.0 By 0.2 Do Next For
Selaa A = 0:sta 4 Askel 2 Seuraava A --- Selaa läpi X:stä XX:ään Seuraava X --- Selaa X = 1.0:sta 2.0:aan 0.2:lla, komennot: Seuraava selaus
Selaa sopii nähdäkseni kaikkiin näistä kielistä, ellen ole aivan väärässä.
Ps. Ei nyt ruveta riitelemään tyhmästä aiheesta.. ;)
Taivutukset ovat ongelma. Jonkinlaista kielen sujuvuutta etsiessä ja taivutusmuotoja välttäessä:
Kasvata A Aloittaen 0 Kunnes 4 Kasvaen 2 Seuraava A Kasvata Jokainen X Kokoelmassa XX Seuraava X Kasvata X Aloittaen 1.0 Kunnes 2.0 Kasvaen 0.2 Suorita Seuraava Kasvata
Eipä sillä että tämä merkittävästi parempi olisi, mutta lienisi jollakin häksöröinnillä mahdollista saada olemassa oleva kääntäjä jopa parsimaan tämän lävitseen, tai tehdä konvertteri joka muuntaa suht pienellä vaivalla edestakaisin englannin ja suomen väliä.
Ei sillä että tällä mitään suurta väliä olisi, mutta oletuksena suurimmalla osalla tämän lukijoista lienee, että yksi sana vastaa suoraan toista sanaa, mikä luo aikamoisen haasteen.
Tästä tulee mieleeni eräs kuva, joka on pyörinyt vuosia Internetissä. Tässä kuvassa mies valittaa, että Valkoiset ja Kiinalaiset yrittävät pitää Afrikan Amerikkalaisia alhaalla tekemällä tietokoneista liian vaikeita käyttää. Miehen mielestä tietokoneiden pitäisi olla yhtä helppoja käyttää kuin televisio.
Jos ajatellaan, että ohjelmointikieli ymmärtäisi suomenkieltä, niin ohjelmointiahan voisi tehdä kuka tahansa. En nyt siis tarkoita, että komennot kännättäisiin suomeksi. Saman asianhan voi ilmaista usealla eri tavalla.
30 Mene kohtaan 10 30 Siirry kohtaan 10 30 Hyppää kohtaan 10
Pelkästä suomentamisesta en näe mitään iloa. Mutta suomenkieltä osaava systeemi avaisi ihan uusia ulottuvuuksia koko tietotekniikkaan. Taitaa vain tuon koodin kirjoittaminen olla helpompaa, kuin suomenkielen kirjoittaminen.
For lienee erittäin läheistä sukua matemaattiselle merkinnälle, joka näyttää ylösalaisin olevalta A-kirjaimelta ja tarkoittaa "jokaiselle" tai "kaikille" (for all).
Siitäpä sitten suomennoksia eri kieliä mukaillen:
' BASIC FOR Jokaiselle A = 0:sta 2:een 2:n välein Seuraava A ' BASIC FOR EACH Jokaiselle Alkiolle X Joukossa XX Seuraava X // C(++) kaikille(x=5,y=funkkari1();x && y;x--,y=funkkari2())
Siis suomennetaan se puuttuva sana? En kyllä ymmärrä miten tuo all liittyy foriin, aika harvoissa kielissä on forissa pakko käydä kaikki läpi, foreach sitten erikseen.
for on suomeksi pääte -lle.
for a = 1 to 20 => A:lle 1:stä 20:een
for a = 1 to 20 step 3 => A:lle 1:stä 20:een, askel 3 =>A:lle 1:stä 20:een 3:n välein
for each a in b => A:ille B:ssä
Kielten (siis ihmis-) kääntämisessä ei välttämättä pyritä sanatarkkuuteen, vaan asiatarkkuus riittää.
Mitä tarkoitat sillä, että on "pakko käydä kaikki läpi"? Kyllähän forissa oletusarvoisesti käydään läpi kaikki arvot tai alkiot, jotka lauseke osoittaa, ellei kesken kaiken poiketa breakilla tai vastaavalla. Itse ymmärrän periaatteellisella tasolla breakin silmukasta poistumisena kesken suorituksen, ja että for ilmaisee että nämä kaikki olisi tarkoitus käydä läpi. Ohjelmoijan ajatuksenahan välttämättä ei ole alun alkaenkaan käydä kaikkia läpi, mutta nyt puhuinkin periaatteellisesta tasosta.
Päätteeseen -lle (-lle:een?) pohjautuva suomennoksesi toimii hyvin omissa esimerkeissäsi, mutta miten käy C-tyylisessä forissa, jossa alkutilanne, suoritusehto ja lopussa suoritettava lauseke voivat olla käytännössä mitä vain? Kääntyisikö for(x=0;x<5;x++) muotoon (x=0;x<5;x++):lle?
Aiemmin sanoit, että jos forille haluaa jonkin suomenkielisen sanan, niin se voisi olla "arvoille". En nyt oikein näe, miten se erityisesti eroaa omasta ehdotuksestani. Molemmissahan käännetään näkymätön sana.
Kyllä mielestäni arvoille(...) kuvaa paremmin tuota C:n merkitystä kuin kaikille(...)
Jotenkin "kaikki" tarkoittaa minusta jokseenkin päinvastaista kuin "rajattu arvojoukko", joka kuitenkin on for-lauseen yleisin käyttötapa.
Tuo puuttuvasta sanasta puhuminen nyt oli ohi aiheesta, kun tarkoitin lähinnä sitä että minusta se puuttuvat sana ei ole all. Sinänsähän olit kyllä sen lle:n myös siihen kääntänyt.
Ja mitä tulee tuohon C-esimerkkiisi käyttäen :lle:tä, niin C ei pyri tuon lauserakenteen osalta muistuttamaan mitenkään englantiakaan, toisin kuin basic, joten luonnollisesti siitä ei saa suomenkielellä järkevää noin.
<taulukko> <taulukon rivi> <taulukon solu> <tekstinsyöttökenttä>Oli ihan pakko itekkin</tekstinsyöttökenttä> </taulukon solu> </taulukon rivi> </taulukko>
Ohjelmointikielet :p
:D... Näinhän se todellisuudessa tietenkin on.
Luultavasti kuitenkin, jos ohjelmointikielet olisivat suomenkielisiä niin myös tuollaiset yleiset sivunkuvauskielet olisivat samoin.
"huokoinen pää ()"
STD:kin saa aivan uuden merkityksen...
"käytetään nimiavaruus sukupuolitauti"
Eikö se olisi vaan käytetään nimiavaruus SPT
Grez kirjoitti:
Eikö se olisi vaan käytetään nimiavaruus SPT
Riippuu siitä onko kääntäjä tajunnut sanan merkityksen vai katsonut sanakirjasta kuten yksittäisiä sanoja käännettäessä on helppo tehdä.
No meinaan lähinnä sitä, että jos alkuperäinen olisi lyhenteenä, niin olisi aika outoa pistää suomenkieliseen lyhentämättömänä.
Tällainen kieli olis kyllä kiva. :)
suomi.h:
#include <stdio.h> #ifndef __cplusplus typedef enum { FALSE = 0, TRUE } bool; #endif #define jos if #define muuten else #define tulosta printf #define kluku int #define lluku float #define paraml argc #define param argv #define merkki char #define illuku double #define suuri long #define pieni short #define merkillinen signed #define merkiton unsigned #define vakio const #define tyhjyys void #define totuusarvo bool #define TYHJA NULL #define EPATOSI FALSE #define TOSI TRUE #define paa main #define rakenne struct #define liitto union #define maartyyppi typedef #define rajattu enum #define vaihda switch #define tapaus case #define oletus default #define tee do #define kun while #define kay for #define mene goto #define palaute return #define murra break #define seuraava continue #define ulkoinen extern #define sisainen inline #define rekisteri register #define rajoita restrict #define staattinen static #define epavarma volatile #define tai || #define ja && #define ei ! #define on == #define eisama != #define pienempi < #define suurempi > #define miinus - #define kertaa * #define jaettuna / #define jakojaannos % #define plus + #define lisaa ++ #define vahenna -- #define kertaaon *= #define jattunaon /= #define jakojon %= #define miinuson -= #define pluson += #define vasemmalle << #define oikealle >> #define sijoitavas <<= #define sijoitaoik >>= #define bja & #define bonja &= #define btai | #define bontai |= #define xtai ^ #define onxtai ^= #define komplem ~ #define sijoita = #define osoitin * #define osoite & #define niin ? #define muuten : #define koko sizeof #define uusi new #define poista delete #define tyyppit typeof #define pienin <? #define suurin >? #ifdef __cplusplus #define heita throw #define tyyppit typeid #define vak_muunna const_cast #define dyna_muunna dynamic_cast #define uudtulk_muunna reinterpret_cast #define staatt_muunna static_cast #define operaattori operator #define yksityinen private #define suojattu protected #define julkinen public #define pohja template #define tama this #define yrita try #define sieppaa catch #endif kluku pituus(vakio merkki osoitin merkkijono);
suomi.c:
#include "suomi.h" suuri kluku pituus(vakio merkki merkkijono[]) { kluku i = 0, pit = 0; merkki tarkiste; kun (1) { tarkiste = merkkijono[i]; (pit)lisaa; (i)lisaa; jos (tarkiste on '\0') murra; } palauta pit; } kluku paaohjelma(kluku paraml, merkki osoitin param[]) { merkki nimi[41]; tulosta("Annapas poeka nimes tähän: "); lue("%40s", osoite nimi); tulosta("\nAe että %s. No tervepä terve!", nimi); jos (35 pienempi pituus(nimi)) { tulosta("No onpas pitkä nimi poijaalla. Vai mahtooko se ollakin tyttö?"); } palauta 0; }
suomi.h:
#include <stdlib.h> #define yhdys system #define sanat ("PAUSE"); #define paaohjelma main
suomi.c:
#include "suomi.h" paaohjelma(...) { yhdys sanat; }
Jos(antti=10); { kirjoita "[kurs]Analit on kympissä[/kurs]" } Muuten { kirjoita "[kurs]Analia ei ole =([/kurs]" }
Quis olis? ;-)
Aika moni asia olisi kyllä helpompaa, ja ongelmat ratkeaisivat nopeasti. Miksei vaikkapa seuraavana projektina jollekulle voisi olla pieni, suomenkielinen basic-tulkki? Tyyliin finBasic? :-D
Aihe on jo aika vanha, joten et voi enää vastata siihen.