Ero sivun ”Komentokieli” versioiden välillä

[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
kirjoitetaan uusiksi
Rivi 1:
'''Komentokieli'''<ref>{{Verkkoviite | osoite = http://www.mit.jyu.fi/opetus/opinnayte/LuK/TclTk/luku34.html | nimeke = Komentokieli vai käännettävä ohjelmointikieli | ajankohta = 30.9.1998 | tekijä = Eeva-Kaisa Rouhiainen & Taru Väisänen | viitattu = 10.7.2018}}</ref>, myös '''komentosarjakieli''' tai '''skriptikieli''' on [[korkean tason ohjelmointikieli]], joka [[Ohjelmointikielen tulkki|tulkataan]] lennossa sen sijaan, että [[Ohjelmointikielen kääntäjä|ohjelma käännettäisiin]] etukäteen. Komentokieltä voi käyttää [[yleiskäyttöinen ohjelmointikieli|yleiskäyttöisenä ohjelmointikielenä]] tai [[Täsmäkieli|täsmäkielenä]] johonkin tiettyihin tehtäviin.<ref name="pcmag">{{Verkkoviite | Osoite = https://www.pcmag.com/encyclopedia/term/50932/scripting-language| Nimeke = Definition of: scripting language| Julkaisu = PCMag.com| Julkaisija = ZiffDavis, LLC| Viitattu = 29.9.2019 | Kieli = {{en}}}}</ref>
{{Ohjaa tänne|makrokieli||Käsitettä [[makrokieli (ISO 639)|makrokieli]] käytetään myös kansainvälisten kielitunnusten määrittelyssä.}}
{{Korjattava|Vaatii korjailua vrt. [[:en:Scripting language]]}}
 
Komentokieliä käytetään usein ohjelmoimaan toimintoja järjestelmään, joissa toiminallisuudet ovat jo valmiina [[käyttöliittymä]]n kautta. Varsin verkkosivustoilla käytetään komentokieliä, joiden avulla [[Selain|selaimet]] elävöittävät verkkosivuja ja suorittavat toiminnallisuuksia osana [[asiakas-palvelin-malli]]a.<ref>{{Verkkoviite | Osoite = https://tc39.es/ecma262/#sec-overview| Nimeke = ECMAScript® 2020 Language Specification: Overview| Julkaisija = ECMA International| Viitattu = 29.9.2019 | Kieli = {{en}}}}</ref>
'''Komentokieli'''<ref>{{Verkkoviite | osoite = http://www.mit.jyu.fi/opetus/opinnayte/LuK/TclTk/luku34.html | nimeke = Komentokieli vai käännettävä ohjelmointikieli | ajankohta = 30.9.1998 | tekijä = Eeva-Kaisa Rouhiainen & Taru Väisänen | viitattu = 10.7.2018}}</ref> (myös ''komentosarjakieli'' tai ''skriptikieli'') on kieli, jolla suoritetaan '''komentosarjoja''' (''skriptejä'').
Komentokielet ovat [[ohjelmointikieli]]ä, joilla automatisoidaan tehtäviä. Nämä ovat usein tulkattavia, joten ohjelma voidaan kirjoittaa ja sitä kokeilla nopeasti ilman kääntämistä.
 
Komentokieliä ovat muun muassa [[JavaScript]], [[Lua]], [[Perl]], [[Python (ohjelmointikieli)|Python]], [[PHP]] ja [[VBScript]].<ref>{{Verkkoviite | Osoite = https://medium.com/jay-tillu/difference-between-scripting-language-and-programming-language-4d520ebf36ef| Nimeke = Difference between Scripting language and Programming language| Tekijä = Tillu, Jay| Julkaisu = Medium| Ajankohta = 6.12.2018| Viitattu = 29.9.2019 | Kieli = {{en}}}}</ref> Monissa ohjelmissa on omia täsmäkieliä, joita voidaan käyttää vain niiden ohjelmien sisällä. Tällaisia ovat esimerkiksi erilaiset [[makro]]kielet. [[Komentoliittymä]]stä syötetyt komennot ovat puolestaan täsmäkieliä, joita usein kutsutaan komentorivikieliksi.<ref name="pcmag"/>
== Alkuperäinen merkitys ==
 
Lähes kaikille [[käyttöjärjestelmä|käyttöjärjestelmille]] on tarjolla tekstimuotoinen [[komentorivi]], jolla voidaan käynnistää ohjelmia ja antaa monipuolisia komentoja. Pian todettiin tarve automatisoida tällaisten komentojen antamista siten, että sama tehtävä voidaan suorittaa uudelleen helposti. Komentosarjakielten ominaisuuksia ovat:
* suorituksen ''parametrisointi'' (eri ''argumentit'' eri suorituskerroilla, esimerkiksi sen tiedoston nimi, johon toiminta kohdistuu)
* ''muuttujien'' käyttö (esimerkiksi pitkän tiedoston nimi annetaan vain kerran ja myöhemmin komennoissa käytetään lyhennettä)
* ehdollinen suoritus
* toisto
 
Tyypillisiä komentosarjakieliä ovat [[komentotulkki|komentotulkkien]] tukemat kielet [[Unixin kaltainen käyttöjärjestelmä|Unixin kaltaisissa]] käyttöjärjestelmissä ([[Bourne shell|sh]], [[bash]], [[tcsh]], [[ksh]]), [[Windows]]-alustalla ([[.BAT|BAT]] ja [[PowerShell]]), sekä vanhan [[Mac OS]] -käyttöjärjestelmän [[AppleScript]]. Myös [[suurkone]]issa on käytössä vastaavia (esimerkiksi [[IBM]] [[VM/CMS]] [[EXEC2]]).
 
Alkuperäinen tärkeä komentosarjakielten käyttötarkoitus oli [[eräajo]]jen ohjaaminen.
 
== Makrokielet ==
 
[[Makrokieli|Makrokielet]] ovat hyvin samanlaisia kuin komentosarjakielet.
Makrokieliä ovat esimerkiksi [[M4 (makrokieli)|m4]]. Myös julkaisujärjestelmä [[TeX]] (ja [[Latex|LaTeX]]) on makrokieli.
 
Käsitteessä ''näppäimistömakro'' sanaa makro käytetään samassa merkityksessä kuin komentosarjakielissä. Näppäimistömakroissa ''nauhoitetaan'' ohjelman käytössä käytettävät näppäinten painallukset ja nämä näppäinten painallukset voidaan sitten toistaa.
 
== Komentosarjakielten laajentaminen graafisiin käyttöliittymiin ==
 
Joissain järjestelmissä myös graafisen ohjelman käyttö muunnetaan tekstimuotoisiksi komennoiksi, jolloin käyttö voidaan nauhoittaa kuten näppäimistömakrot ja muuntaa komentosarjakielelle. Tällöin myös graafisia komentoja voidaan automatisoida. Joissain järjestelmissä tällaisia komentoja sanotaan komentosarjoiksi ja toisissa makroiksi. Tällaisia järjestelmiä on toteutettu [[TCL]]- ja [[Visual Basic]] -komentosarjakielillä.
 
== Katso myös ==
Rivi 34 ⟶ 11:
{{Viitteet}}
 
[[Luokka:OhjelmointiOhjelmointikielet]]