voisko joku kertoo mitä on ohjelmoinnissa lauseoppi eli syntaksi
voisko
4
371
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
Persut eivät ole kertoneet euronkaan edestä säästökohteita
Mutta änkyttävät kysellä niistä muilta jatkuvasti. Vaikuttaa ettei persuilla ole kykyä omaan ajatteluun ja päätöksenteko252195Marinin hallituskaudella Suomen BKT sentään kasvoi
Tämä ns. kauhukabinetti ei ole saanut aikaan kuin vahinkoa. Otti ennätysvelat rikkaiden veroalennuksiin ja sai työttömyy162163Huulitäytteet ja tekotisssit
Kylillä kulkiissa olen huomannut että tässäkin tuppukylässä on hameväki alkanut muokkaamaan ulkonäköään huulitäytteillä1561748Nuorille miehille ei kelpaa enää paljon käytetty nainen
"En ikinä huolisi mitään kyläpyörää", Tomi täräyttää TikTokissa https://www.iltalehti.fi/kotimaa/a/27182b8f-7759-49d0-82231261Drone-epäily Uudellamaalla
Ihmisiä kehotetaan siirtymään sisätiloihin. https://www.is.fi/kotimaa/art-2000012008358.html1241251Sait mut mies heikoksi
Yllätti tämä asia nyt kyllä. Olet ollut mielessä koko ajan. Ei riitä pelkkä kevät nyt syyksi. Veit jalat alta. Pannaan m861134Vauvat syntyvöät vihan lapsina?
Kyllä on pimeä oppi, ja olen ollut täydessä pimeydessä opillisesti, että pienet lapset syntyisivät paholaisen lapsina. O661055Stefan Therman. Vakava syyte ja vankila uhkaa.
Nyt ei taida mies selvitä enää selityksillä.98914Unelma tilanne
Miten haluaisit, että tilanteenne etenisi tai miten toivoisit hänen lähestyvän sinua? Vai toimitko mielummin itse, jos j70852- 80843