Niin, tuo kielien välisten rajojen määrittäminen on joskus vähän hankalaa. Samantyyppinen tapahtuu vaikkapa ihmisten välisessä luonnollisessa puhekielessä. Kieli sellaisenaan on olemassa vain puhujien aivoissa. Sen siirtäminen kuitenkin tapahtuu ilman värähtylynä, (taajuuksina ja amplitudeina). Sen voisi kaiketi esittää ihan numeerisesti kuvaajien avulla. Veikkaampa, että aika harva puhuja kuitenkaan ymmärtäisi sitä tuossa muodossa.
Ollaan oikeasti jännän äärellä.
Itselleni varsinaisten kielten opiskelu on ollut aina yhtä tuskaa, mutta ohjelmointikielien opiskelu/omaksuminen taas on kiinnostanut ja sujunut aivan eri tyyliin. Siksikin hyvin vaikea mieltää tai pureksimatta uskoa, että kyse olisi samaan "koriin" sopivasta tavarasta.
Mietin tämmöisen esimerkin kautta asiaa lisää.
PHP:
Javakoodi
String textField="auto";
System.out.println(textField); --> "tavukoodi" --> "konekieli" --> Tulostaa ruudulle "auto"
--
01 TEXTFIELD PIC X(4) VALUE 'Auto'.
...
DISPLAY TEXTFIELD UPON CONSOLE. --> Konekieli --> Tulostaa ruudulle "Auto"
---
Henkilö A (puhekieli) --> "ilman värehtelyä" --> Henkilö B ymmärtää sanotun
car [ka(r)]
---
Henkilö A (kirjoituskieli) --> "merkkejä paperilla/ruudulla" --> Henkilö B ymmärtää kirjoitetun
car
---
Vaikka ohjelmointikieltä ei olekaan suunniteltu ihmisten väliseen kommunikaatioon, niin toki sitäkin tapahtuu...eli toinen koodari voi lukea ja ymmärtää toisen kirjoittamaa ohjelmointikieltä. (jäi ekassa postauksessani huomioimatta) Onhan tuokin jonkin sortin kommunikaatiota. Harvemmat (vain leikkimielellä) kuitenkaan keskustelee keskenään tai lähettelee viestejä esim. coboliksi.
Noiden nuolien kohdalla (-->) on aina joku menetelmä/prosessi (oli sitten aivoissa tapahtuva tai koneessa tapahtuva) jossa muunnetaan ohjelmointikieli tai kieli toiseen muotoon. Kommunikaatio-ongelmat syntyvät varmaan juuri näissä...esim. kirjoitusvirneet, ääntämisvirheet tai jopa väärä sana. Ohjelmointikielissä kääntäjät/tulkit havaitsevat kyseiset virheet lähes poikkeuksetta - loogisten virheiden osalta em. ei ole mitään havaintoa. (esim. javassa auto oli pienellä ja cobolissa isolla)
Se iso ero kielissä ja ohjelmointikielissä (kun vastaanottajana on kone), että ihminen (yleensä) myös ymmärtää / sisäistää sanoman. Ohjelmointikielissä koneella ei ole mitään käsitystä mikä auto on. Kone tekee sen minkä ohjelmointikielellä on määrätty. (varsin yksipuolista kommunikaatiota)
Löytyiskö siis lisää perusteluja, miksi ohjelmointikielet ovat samassa?
Kehonkielet, ilmeet
D ) sopii mielestäni hyvin oikeiden kielien joukkoon...esim. peukku ylös tai keskisormi ovat hyvin tunnettuja.