Logo | |
---|---|
Kieliluokka | ohjelmointikieli , toiminnallinen ohjelmointikieli ja ohjelmointikieli |
Esiintyi | 1967 |
Tekijä | Seymour Papert , Cynthia Solomon , |
Kehittäjä | Papert, Seymour , Harel, Idita ja Cynthia Solomon [d] [1] |
Vaikutettu | Lisp |
Mediatiedostot Wikimedia Commonsissa |
Logo ( englanniksi Logo ) on korkean tason ohjelmointikieli , jonka Wally Förzeg , Seymour Papert ja Cynthia Solomon kehittivät vuonna 1967 opetustarkoituksiin opettamaan esikoulu- ja alakouluikäisille ohjelmoinnin peruskäsitteitä ( rekursio , laajennettavuus, jne..).
Ensimmäisen tieteellisen todisteen Logon käytön menestyksestä oppimisvälineenä osoitti Idit Harel , Papertin opiskelija, joka käytti Logoa opettaessaan lapsille ohjelmointia ja murtolukuja vuonna 1988 [2] .
Logo tarjoaa ympäristön, jossa lapset voivat kehittää päättely- ja ongelmanratkaisutaitojaan.
Tyypillinen ja odotettu osa Logo-ohjelmointikieltä ja -ympäristöä ovat kilpikonnagrafiikkatyökalut , jotka toisaalta mahdollistavat ohjelmoinnin oppimisen visualisoinnin, toisaalta yhdistyvät hyvin orgaanisesti rekursion laajaan käyttöön. .
Logotulkkeja on eri alustoille ja käyttöjärjestelmille : Windows , DOS , Linux , Mac OS , Unix jne. On myös monia oliokeskeisiä logomurteita , kuten vuonna 1986 julkaistu Object Logo . Vuonna 1997 julkaistiin venäläinen versio - LogoMira .
Brian Harvey, kolmiosaisen Computer Science Logo Stylen kirjoittaja, loi Berkeley-logon . Logon usean agentin versiot - StarLogo ja NetLogo .
Tyypilliset Logo-toteutukset (esimerkiksi LCSI :stä ) tarjoavat ohjelmoijalle sisäänrakennettujen komentojen kirjaston, tekstipohjaisen tulkkikonsolin ja "ohjelmasivun", jolle voi sijoittaa ohjeet uusien toimintojen rekisteröimiseksi. Mukana on myös vähintään yksi graafinen näyttö, jossa on vähintään yksi kilpikonna.
Monet toteutukset tukevat monisäikeistystä - kilpikonnien komentojen suorittamisen tasolla ja kyvyn suorittaa komento asynkronisesti ja tarkistaa myöhemmin, onko se suoritettu. Ohjelmallisesti luotu sanaluettelo on mahdollista välittää tulkille suoritettavaksi.
Logo on edistyneempi kuin ohjelmoinnin ohjelmointikielet BASIC ja Fortran , joita yleisesti käytetään ohjelmoinnin opettamiseen. Logo-toteutuksissa ei kuitenkaan yleensä ole hyvin suunniteltuja tiedostoohjelmia, mikä estää sen yleistymisen ohjelmointikielenä.
Pohjimmiltaan Logo-kieli on mukautus Lisp-kielestä (jotkut jopa kutsuvat sitä "Lisp ilman sulkuja").
Logossa ohjelma on luettelo "sanoista".
Logo-toteutukset rajoittavat pääsääntöisesti hieman sanassa sallittujen merkkien määrää, joten komentoja voidaan kutsua myös venäjäksi. Lisäksi monissa venäjänkielisissä Logon toteutuksissa on venäjänkieliset komennot tai sisäänrakennetut venäjänkieliset synonyymit kaikille sisäänrakennetuille komennoille.
Luettelon sanat erotetaan välilyönnillä.
Sana voi olla joko komento tai literaali, joka on yksi kolmesta tyypistä - merkkijono, numeerinen tai luetteloliteraali. Komento voi palauttaa arvon, jolloin sitä pidetään funktiona. Literaalit palauttavat arvonsa suoraan. Merkkijonoliteraali muotoillaan sanaksi, jota edeltää lainausmerkki. Numeroista koostuvat sanat tulkitaan numeerisiksi literaaleiksi. Ohjelmatekstin sanojen luettelon muodostamiseksi ne on ympäröity hakasulkeilla.
On olemassa myös komentoja arvon tallentamiseen ja hankkimiseen nimellä, mutta monet toteutukset täydentävät sitä muuttujan käsitteellä - ottamalla käyttöön kompaktin komentosyntaksin muuttujan arvon saamiseksi. Siksi muuttujan arvon saamiseksi riittää yleensä sen nimen kirjoittaminen kaksoispisteen eteen.
Joillekin sisäänrakennetuille komentoille on olemassa erityinen syntaksi, jolla välitetään kiinteä määrä parametreja. Tätä varten on ehdotettu, että komento ja kaikki sen parametrit merkitään sulkeisiin, esimerkiksi: (СПИСОК :A :Б :В :Г 1 2 3 4)Käyttäjäkomentoihin tämä syntaksi ei sovellu, koska tällä tavalla välitettyjen parametrien käsittelyn kuvaamiseen ei ole olemassa syntaksia.
Tulkkiin välitettyjen komentojen luettelo suoritetaan vuorotellen. Seuraava sana tulkitaan komennona järjestelmän nykyisestä sanakirjasta. Jos se ottaa parametreja, tulkki suorittaa luettelon seuraavan sanan saadakseen arvon, joka välitetään ensimmäisenä parametrina.
Jos komento korvaa parametrin, komennon odotetaan palauttavan arvon. Ja jos seuraavan komennon palauttamaa arvoa ei ole tarkoitettu välitettäväksi toiselle komennolle, järjestelmä ilmoittaa virheestä, jos tällainen kutsu havaitaan ohjelmatekstissä, tai näyttää arvon, jos komentoa on kutsuttu interaktiivisessa tilassa.
Tavanomaisen matematiikan ja logiikan ilmaisumuotojen, kuten "(2 + 3) * 5" ja "2 > 5", käyttöä tuetaan. Mutta koska kielen perussääntöjen mukaan komento tulee ensin ja sitten sen parametrit, joidenkin murteiden aritmeettisiin ja loogisiin perustoimintoihin (esim. LCSI LogoWorlds ja LogoWriter) on myös komentoja, jotka käyttävät mitkä lausekkeet ovat muotoa "kerroin lisää 2 3 5" ja "enemmän? 25".
On komento laajentaa sanakirjaa mukautetuilla komennoilla, se hyväksyy uuden komennon nimen, parametrien luettelon ja komentoluettelon.
Ohjelman suorittamisen ohjaamiseen on kaksi päämekanismia: silmukkakäsky, jossa on kiinteä määrä toistoja ja rekursio.
Logon venäjänkielisessä versiossa:
TERVEISTÄ KIRJOITA [Hei maailma!] LOPPUKesäkuuhun 2010 mennessä logoa [3] on toteutettu ainakin 246 kertaa kielen luomisen jälkeen.
Logokielelle ei tällä hetkellä ole olemassa yhtä standardia , vaikka tietyt kielen perusnäkökohtia koskevat käytännöt ovat laajalti hyväksyttyjä. Logon murteissa on merkittäviä eroja. Tilannetta mutkistaa useiden kilpikonnagrafiikkaohjelmien läsnäolo, joita kutsutaan virheellisesti "Logoksi".
Tuolloin kielen laajimmin käytetty ja hallitsevin toteutus oli Apple Logo -järjestelmä , jonka LCSI kehitti Apple II -tietokoneelle ja jaettiin 1980-luvulla . Bulgariassa tämä tuote lokalisoitiin bulgariaksi ja venäjäksi Apple II -yhteensopiville Pravets 8 -sarjan tietokoneille , jaettiin nimellä "Logo 2.0" ja sitä käytettiin laajasti koulutusprosessissa Bulgariassa ja Neuvostoliitossa . Myöhemmin MS-DOS :lle tarkoitetun LCSI-tuotteen venäläinen lokalisointi nimeltä LogoWriter julkaistiin Venäjällä .
UCBLogon [4] , joka tunnetaan myös nimellä Berkeley Logo , ilmainen cross-platform -toteutus on nykyään laajalti käytössä , mutta siitä puuttuu alkeellinen graafinen käyttöliittymä .
MSWLogo [5] ja sen uudempi versio FMSLogo [6] [7] ovat saatavilla Microsoft Windowsille ja niitä käytetään laajasti kouluissa Isossa- Britanniassa ja Australiassa . Myös MicroWorlds Logon [8] ja Imagine Logo [9] kaupalliset toteutukset ovat käytössä länsimaisissa kouluissa .
MSWLogo ja FMSLogo tukevat useita kilpikonnia ja 3D-grafiikkaa sekä edistyneitä I/O- ja muita laajennuksia.
MacOS X :lle on saatavilla ilmainen ACSLogo [10] -toteutus , jossa on melko edistynyt graafinen käyttöliittymä, lokalisointi useilla kielillä ja jonka avulla voit lisätä omia lokalisaatioita.
Venäjällä koulutusprosessissa käytetään venäläisiä LCSI MicroWorlds for Windows - ja Mac OS X -lokalisaatioita nimeltä "LogoMira" ja "PervoLogo" [11] .
Lisp | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ominaisuudet |
| ||||||||||||||
Toteutukset |
| ||||||||||||||
Laitteisto |
| ||||||||||||||
Yhteisö |
| ||||||||||||||
|
Ohjelmointikielet | |
---|---|
|