Tiedätkö eron kielen syntaksin, kieliopin ja semantiikan välillä?


Vastaus 1:

Mielestäni on tärkeää huomata, että kielitieteilijöiden ja tietotekniikan tutkijoiden käyttämillä sanoilla ”syntaksi” ja ”kielioppi” on ero.

Tietokonetieteilijät käyttävät sanaa ”kielioppi” nimittääkseen joukon sääntöjä sen määrittämiseksi, onko annettu symbolimerkki syntaktisesti pätevä, ts. Kuuluuko se tiettyyn kieleen. Toisin sanoen kielioppi on kuvaus jostain syntaksista (sinulla voi olla useita vaihtoehtoisia kuvauksia samasta syntaksista), ja kieli on joukko syntaktisesti oikeita symbolisekvenssejä. Kielioppi tarjotaan usein ns. Backus-Naur -muodossa.

Kielenkäyttäjät käyttävät sanaa ”kielioppi” nimetäkseen kielen oikean käytön sääntöjä. Sääntöjä on monen tyyppisiä, ja näiden tyyppien välillä syntaktiset säännöt koskevat sanojen asettamista oikeaan järjestykseen. Kaksi huomioitavaa on, että (1) kyllä, voit käyttää luonnollista kieltä väärin (ja maailma ei romahda) ja (2) kielitieteilijät eivät yleensä ole aivan huolestuneita siitä, kuuluuko tietty lause kieleen, vaan he ovat huolissaan kielten käytöstä.

Sekä kielitieteessä että tietotekniikassa sana “semantiikka” viittaa joukko sääntöjä, jotka selittävät, kuinka symbolien sekvenssejä tulisi tulkita.


Vastaus 2:

Syntaksi: miten kieli asetetaan. Tämä sisältää avainsanat ja välimerkit. Esimerkiksi Python-syntaksi eroaa C-syntaksista monessa suhteessa. Suurimpien lauseiden on päätyttävä C-puolipisteellä, kun taas Python vaatii erityisen sisennyksen käsittelemistä.

Syntaksissa näet, että monet kehittäjät saavat rakkautensa tai vihansa kieleen, mukaan lukien minä. Inhoan PHP: tä ja JavaScriptiä - ne lukevat rumaa, suurista lohkoista tulee houkuttelemattomia ja tarpeettoman monimutkaisia, ja rehellisesti sanottuna molemmat antavat kehittäjille mahdollisuuden olla huolissaan päätetyistä kirjoitusparadiodeista ja huonoista käytännöistä. Rakastan kuitenkin Rubyä, koska se lukee niin hienosti, siinä on hiukan tiukempi kirjoittaminen ja lohkot eivät tule liian hankalaksi sen takia, miten itse kieli kehitettiin. Kielirakenteet tekevät siitä tyylikkään kielen siitä huolimatta, että se on erittäin merkittävä abstraktiikerros C: ssä.

Kielioppi: Lauseiden oikea järjestys, jotta ne ovat järkeviä ja niitä voidaan käsitellä mahdollisimman pienellä laskennallisella yläpuolella. Yksi parhaista esimerkkeistä, joita olen nähnyt tästä viime aikoina, oli pari sisäkkäisiä silmukoita, joiden tarkoituksena oli tulostaa jotain:

**********

Parempi, helpommin ymmärrettävä ja laskennallisesti vähemmän tiemaksujen menetelmä olisi ollut käyttää joukkoa printf () lauseita. Hyvä ohjelmallinen kielioppi tulee käytännön mukana, ja kaikilla uusilla kehittäjillä on taipumus liikaa monimutkaista asioita yksinkertaisuuden vuoksi.

Tämä ei tarkoita, että oikean ja väärän tavan saavuttaa tavoitteesi. Kissan nahasta saamiseksi on aina 100 tapaa, mutta vain kourallinen, joilla on hyväksyttävä Big O -merkintä, ja tyypillisesti vain muutama niistä, jotka ovat tarpeeksi luettavissa, jotta niitä voidaan pitää tyylikkäinä.

Semantiikka: Lauseen tarkoitus verrattuna lauseen todelliseen toimintaan. Semantiikka on uskomattoman tärkeätä sekä puhutun kielen että ohjelmoinnin kannalta. Ero: henkilö voi tulkita väärin lausuntoa, vaikka semantiikkasi olisi paikallaan. Tietokoneet ajavat täsmälleen sitä, mitä kirjoitat, tai ei, jos se on täysin pois päältä, ja täältä logiikkavirheet ovat peräisin.