voisko joku kertoo mitä on ohjelmoinnissa lauseoppi eli syntaksi
voisko
4
320
Vastaukset
- ,,,,,,
Ihan sama asia kuin esim suomenkielessäkin, tai niin ainakin luulen. Siis kirjoitetaan
SELECT * FROM taulu eikä FROM taulu SELECT * - ymmärtää ainoastaan
1 tai 0, "sähkö tai ei" (kutsutaan binäärikoodiksi". Jos ohjelmoisimme tällä tavalla, näppäimistö olisi kyllä yksinkertainen ja pieni, ainoastaan kaksi näppäintä, mutta mellä voisi olla vaikeuksia muistaa mitä 010100001010010101001010010 oikein takoittaa.
Toisalta jos kirjoittaisimme "kuules kaveri, voisitko laskea kaikki numerot nollasta sataan yhteen", vaihtoehtoisesti "peevelin kottaraisenpönttö, sadan ensimmäsen numeron summa ja sassiin", niin tietokoneella voisi olla vähän vaikeaa ymmärtää meitä.
Siksi on kehitetty kieliä jotka toimivat välikappaleena meidän ja tietokoneen välillä. Nämä kielet ovat hyvin paljon yksinkertaistettuja (esim C-kielessä on oikeastaan ainoastaan 23 sanaa, kun Englantilaisen satamatyöläisen, Cockneyn, sanavarasto on 300 sanaa. Oma sanavarastosi on 5000-10000 sanaa).
Tämä "välikieli" meidän ja tietokoneen välillä kirjoitetaan erittäin tarkasti kieliopillisesti. Jokainen sana on oltava oikein kirjoitettu, kaikki pisteet ja pilkut ovat oikeissa paikoissa, "kielirakenne" on oltava oikea! Tämän välikielen sanavarasto ja kielioppi kutsutaan SYNTAKSI.
Tällaisia "välikieliä" on lukematon määrä. Jos ohjelma muuttaa niitä tietokoneelle ymmärrettävään muotoon ennen kuin tietokone suorittaa niitä, puhutaan "kääntäjästä" (esim. C/C , Fortran, Pascal ym.). Jos muunnos tapahtuu vasta suoritusvaiheessa puhutaan "tulkista" (SQL, Basic, Java, HTML/JavaScript ym.).
Jokaisella välikielellä on kuitenkin oma kielioppi, syntaksi.- q345
"Jos muunnos tapahtuu vasta suoritusvaiheessa puhutaan "tulkista" (SQL, Basic, Java, HTML/JavaScript ym.)."
Noista SQL ja Javan kohdalla voi olla hieman toista mieltä, nimittäin joissain tietokannoissa SQL voidaan valmiiksi kääntää joten aina ei ole tulkattava. Sekä Javan kohdalla riippuu mitä tuohon käsittää, nimittäin palvelinpuolella Javan voi valmiiksi kääntää.
Ja sitten HTML ei varsinaisesti ole ohjelmointikieli vaan kuvaus/merkkaus kieli joten periaatteessa se ei kuuluisi tuohon listaan. - paikkaansa
q345 kirjoitti:
"Jos muunnos tapahtuu vasta suoritusvaiheessa puhutaan "tulkista" (SQL, Basic, Java, HTML/JavaScript ym.)."
Noista SQL ja Javan kohdalla voi olla hieman toista mieltä, nimittäin joissain tietokannoissa SQL voidaan valmiiksi kääntää joten aina ei ole tulkattava. Sekä Javan kohdalla riippuu mitä tuohon käsittää, nimittäin palvelinpuolella Javan voi valmiiksi kääntää.
Ja sitten HTML ei varsinaisesti ole ohjelmointikieli vaan kuvaus/merkkaus kieli joten periaatteessa se ei kuuluisi tuohon listaan.lisäksi voidaan sanua että on myös olemassa tulkkaavia versioita "C-kielestä" (esim. jossain automaatiojärjestelmissä ja muistaakseni sellaisessa simulointiohjelmassa kuin Extend).
Basicille löytyy myös "kääntäjä".
Raja tulkin ja kääntäjän välillä on monesti veteen piirretty viiva, esim Python (joka on kääntävä kieli käyttää hyvin laajasti käännettyjä kirjastoohjelmia mikä myös selittää sen nopeutta tietyissä sovelluksissa.
Ottaen huomion alkuperäisen kysyjän arvioitu tietämystasoa, yritin kirjoittaa "kansanomaisen" helposti ymmärrettävän vastauksen (enkä osoittaa miten paljon itse tiedän näistä asioista).
Jos syventyy kysymyksen kannalta epäoleellisin seikkoihin, periaatteet ja kokonaisuus vain hämärtyy. Esim. HTML (joka monet tuntevat) ei ole varsinainen ohjelmakieli (vaikka silläkin on oma syntaksi), selain tulkaa sen kerran ja luo sen perusteella graafisen käyttöliittymän.Jos haluasin saivarrella voisin sanoa että javascript, php, asp ovat kaikki integroitu osa html, ja ne ovat ohjelmointikieliä (sisältävät kaikki ohjelmointikielen elementit (muuttujat, hypyt, toistot, ehdot jne)
Jos sanot että SQL-voidaan kääntää, minulla ei ole mitään syytä olla uskomatta sinua. Pystyn hyvin kuvittelemaan miten tällainen esikääntäjä toimii (muuttaa muuttujaarvot tekstistringeistä heidän oikeaan binärimuotoon esim. kokonais- tai liukuluvuksi, muutetaan avainsanat yhden tavun koodeiksi jne). Käsitykseni tällä voidaan saavuttaa tiettyjä etuja jos ohjataan tietokantaa hitaan verkon yli tai jos suoritetaan hyvin aikakriittisiä tehtäviä.
Normaalitilanteessa tästä kuitenkin on ainoastaan marginaalista hyötyä. SQL-lauseen (ovat tavallisesti melko lyhyitä) tulkaamiseen menee häviävän vähän aikaa verrattuna käskyn suorittamiseen (esim. hakuun tai tulosten lajitteluun)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
- 1562821
En kai koskaan saa sinua
Koska et usko että riitäisit minulle. Olet aina pitänyt itseäsi liian risana ja heikkona. Katkot korkeutesi, ja poraat k1541719Terveystalon lääkärit ylilaskuttaneet
Tämän pörriäiset osaavat, laskuttamisen. Terveystalo myöntää asian. https://www.hs.fi/suomi/art-2000011134269.html "K1461694Saran ökytyyli käänsi katseita.
On nyt kyllä Sara kasvoistaan, kuvan perusteella todellakin pyöristynyt ainakin kuvan perusteella.1511459- 721420
Työttömille lusmuille luvassa lisää keppiä
Hallitus aikoo kiristää velvoitteiden laiminlyönnistä seuraavia työttömyysturvan karensseja ensi vuodesta alkaen. Hall3251308The Summit Suomi: Maxie avaa hyytävästä tilanteesta kuvauksissa: "Veri roiskui ja tajusi, että..."
Oletko seurannut The Summit Suomea? Tykkäätkö vai et tai mitä mieltä ylipäätään olet sarjasta? Moni katsoja on kaikonnut181211Tekisi niin mieli laittaa sulle viestiä
En vaan ole varma ollaanko siihen vielä valmiita, vaikka halua löytyykin täältä suunnalta, ja ikävää, ja kaikkea muuta m661026- 1561016
Miksi ihmeessä?
Erika Vikman diskattiin, ei osallistu Euroviisuihin – tilalle Gettomasa ja paluun tekevä Cheek25985