Komut dosyası dili
Bilgisayar biliminde bir betik dili , genellikle işletim sisteminin ( toplu iş ) veya uygulamaların ( makrolar ) otomasyon görevleri için veya web sayfalarında web programlamasında kullanılmak üzere tasarlanmış yorumlanmış bir programlama dilidir . [1] Bu dillerle geliştirilen programlara , senaryoyu belirtmek için tiyatroda kullanılan İngilizce dilinde bir terim olan komut dosyası denir.(tuval olarak da adlandırılır) oyuncuların yorumlaması gereken kısımların izlendiği kısımdır. Bir komut dosyası dili, aksi takdirde bir insan operatör [2] tarafından ayrı ayrı gerçekleştirilecek görevlerin yürütülmesini otomatikleştiren bir çalışma zamanı sistemi için bir programlama dilidir .
Geçmiş
Başlangıçta, ilk betik dilleri , programların yürütülmesi ve onlarla etkileşim gibi belirli işlemleri otomatikleştirme ihtiyacından doğdu: çok fazla yapı yoktu ve genellikle belirli görevlere havale edildi. Komut dosyası dilleri ayrıca yazılım tasarımının birçok alanında uygulama bulmuştur, çok çeşitli görevler için algoritmaların uygulanması için bağımsız diller olarak kullanılabilir .
Diğer yorumlanan dillere göre farklılık, esas olarak “tarihi” nedenlerden kaynaklanmaktadır. Başlangıçta ilk betik dilleri çok ilkeldi ve gerçek programlar yazmak için uygun olmayan az sayıda ve basit işleme izin verdi. Modern betik dilleri daha sonra diğer dillerin yapılarını ve gücünü kazanmıştır; ayrım sadece dilin kullanımı temelinde kalır. [3]
Bu dillerin yayılması için Tcl ve Lua gibi diller temel öneme sahipti , özellikle betik dilleri olarak geliştirilmiş , herhangi bir uygulamaya entegre olabilen veya bağımsız olarak kullanılabilen diller. Bu dillerin geliştirilmesi, belirli uygulamalar için yeni dillerin oluşturulmasından daha büyük faydalar sağladı, geliştiricinin bir dil çevirmeni yazma zorunluluğunu ortadan kaldırdı ve kullanıcının edindiği becerileri uygulamasına izin verdi.
Ortak Ağ Geçidi Arayüzü (CGI), betik dillerinin web üzerinden iletişim kuracak şekilde web sunucularını kontrol etmesine izin verdi . Web'in erken evriminde CGI kullanan betik dillerinden bazıları Perl , ASP ve PHP idi .
Komut dosyası dillerini entegre eden birçok yazılım vardır. Örneğin, modern web tarayıcıları , tarayıcının kendisine uzantılar yazmak için bir dil ve tarayıcıyı kontrol etmek için ECMAScript (yaygın olarak JavaScript olarak bilinir ), CSS ve HTML gibi diğer birçok standart dil ile donatılmıştır . TIOBE indeksine göre bugüne kadar betik dilleri dünyadaki en popüler programlama dillerinin yaklaşık üçte birini oluşturmaktadır [4] [5] .
Açıklama
Genellikle, amacı en önemli işlemlerin yer aldığı çok daha karmaşık diğer programlarla etkileşim kurmak olan basit programlardan oluşurlar. Komut dosyaları , etkileşimde bulundukları programlardan ayırt edilirler ve genellikle farklı, yorumlanmamış bir dilde uygulanırlar . Ek olarak, komut dosyaları genellikle son kullanıcı tarafından oluşturulur veya değiştirilir. İlkbaharda shabang kullanımı sıktır .
Komut dosyası dillerinde, programcı genellikle bitmiş programın tüketmesi gereken sistem kaynaklarıyla ilgilenmez ve her şeyi sistemin kendisine bırakır. Kaynaklarla, örneğin, bellek ayırma ve ayırma yönetimini , türler arasında dönüştürmeyi , uygulamanın başlatılmasını ve kapatılmasını kastediyoruz.
Bu şekilde, sinsi, kolayca tanımlanamayan ve tehlikeli hatalara maruz kalan geleneksel programlamaya özgü birçok sorundan kaçınılır ve ayrıca programcıyı, oluşturmak zorunda olduğu yazılımın amacı ile sıkı bir şekilde bağlantılı olmayan sorunlarla uğraşmaya zorlar . Bir betik dili kullanmak, doğrudan sorunu çözmeye odaklanmanıza olanak tanır.
Tipoloji
İş kontrol dili
İlk bilgisayar sistemleri, tipik olarak anabilgisayar , toplu işlem sistemlerine özgü fifo disiplini aracılığıyla bilgisayarın kaynaklarını kullanabilen birden çok kullanıcı (çoklu kullanıcı) tarafından kullanılmak üzere tasarlanmıştı [ 6 ] "Donanım"ın önemli maliyeti, birkaç kurumun, , farklı ofislerde bile, aynı bilgisayarı uzak terminaller aracılığıyla kullandılar ; bu nedenle kullanıcı, doğrudan makine ile etkileşime giremediği için işini (program, veri ve programın yürütülmesi için talimatlar) terminaller aracılığıyla gönderdi. [7] Böylece, işinizin yürütülmesiyle ilgili talimatları kodlayabilecek bir dile ihtiyaç duyuldu, örneğin:
- Bellek gerekli.
- Kullanılacak giriş/çıkış aygıtları.
- Parametreler ve veri adı.
Bu amaçla tarihteki ilk betik dilleri, Job kontrol dilleri (kısaltılmış JCL) doğdu. [8]
Bash komut dosyası oluşturma
Bash komut dosyası oluşturma terimi, Linux gibi Unix benzeri işletim sistemlerinde rutin işlemleri otomatikleştirmek için genellikle yararlı olan komut dosyalarının oluşturulmasını ifade eder . Metin kabuğuna birkaç komutun eklenmesini gerektiren işlemler, bu dile özgü sözdizimi ve operatörler kullanılarak tek bir dosyaya eklenebilir. Bu şekilde oluşturulan komut dosyaları , kullanıcının işini büyük ölçüde basitleştirebilir. [9]
Linux gibi bazı sistemlerde komut dosyalarını çalışacak şekilde programlayabilirsiniz , örneğin sistem her başlatıldığında bazı komut dosyalarını çalıştırabilirsiniz.
/ var / log içindeki dosyaları silmek için bir bash betiği örneği :
- Temizlemek
- Tabii ki root olarak çalıştırılmak için.
#! / bin / bash
cd / var / log
cat / dev / null> mesajlar
kedi / dev / boş> wtmp
echo "Günlükler silindi."
0 çıkışı
GUI Komut Dosyası
Grafik arayüzlerin ortaya çıkmasıyla birlikte , bilgisayar kontrolünü amaçlayan bir komut dosyası dilleri tipolojisi doğdu. Bu diller, bir insan kullanıcının yapacağı eylemleri simüle ederek, sistemin oluşturduğu grafik pencereleri, menüler, düğmeler ve grafik nesnelerle etkileşime girer. Amaçları, kullanıcı eylemlerini otomatikleştirmektir. Tuşlara basılarak veya fare tıklanarak kontrolün gerçekleştiği dillere de makro denir . Bu dil kategorisi, başlangıçta, bir bilgisayarda çalıştırılabilen tüm uygulamaları grafik arayüzlere dayalı olarak kontrol etmek için kullanılmak üzere tasarlanmıştı; ancak pratikte bu diller için destek, uygulamalara ve işletim sistemine bağlıdır . Ancak, bu sınırlamanın bazı istisnaları vardır. GUI ile ilgili bazı komut dosyası dilleri, grafik nesnelerini ekrandaki piksellerinden tanımaya dayanır ; işletim sistemine veya uygulamaya bağlı değildirler.
Uygulamaya özel diller
Birçok program, kullanıcının ihtiyacına göre uyarlanmış deyimsel bir betik dili içerir. Benzer şekilde, bazı bilgisayar oyunları , ikincil karakterlerin ve çevrenin eylemlerini genişletmek için bir betik dili kullanır. Bu tür diller tek bir uygulama için geliştirilmiştir; ve genel bir dile benzeseler de (örneğin QuakeC , C üzerinde modellenmiştir ) [10] , onları onlardan ayıran kişisel özelliklere sahiptirler. Lisp'in iyi geliştirilmiş ve güçlü bir lehçesi olan Emacs Lisp , onu Emacs'ın düzenleme işlevlerini genişletmek için daha uygun hale getiren birçok özel özellik içerir .
Web tarayıcısı
Web Tarayıcıları, web sayfalarını görüntülemek için kullanılan uygulamalardır. İşlemlerini ve işlevselliğini kontrol etmek için bir dizi özel dil geliştirilmiştir. Bunların arasında JavaScript görünür Java'dan türetildiği için adı yanıltıcı olabilir (gerçekte iki dilin neredeyse hiçbir ortak yanı yoktur); Microsoft tarafından üretilen ve yalnızca Internet Explorer tarayıcısı ile çalışan VBScript ; Sadece Firefox ile çalışan Mozilla projesinin ürettiği XUL ; XSLT , XML içeriğini yeni bir forma dönüştüren belirli bir dil. [11] XML ve JavaScript tarafından sağlanan komut dosyası kombinasyonunu içeren teknikler, uygun bir ad kazandıkları düzeye kadar büyümüştür: AJAX .
Web sunucusu
HTTP bağlantısının sunucu tarafında , uygulama sunucuları ve içerik yönetim sistemi gibi diğer dinamik içerik sunucuları , komut dosyası oluşturma yaklaşımıyla karakterize edilen çok çeşitli teknikler ve teknolojiler aracılığıyla içerik sunar. Bu alanda özellikle baskın olan PHP , JSP ve ASP , ancak Ruby ve Python gibi diğer diller özellikle ünlü çerçeveleri (sırasıyla Ruby on Rails ve Django ) sayesinde çok popüler hale geldi , alanlarını oydu.
Kelime İşlem Dilleri
Metin belgelerinin işlenmesi, betik dillerinin ilk uygulamalarından biriydi. Awk , sed ve grep gibi Unix araçları için yazılmış komut dosyaları , metin ve günlük dosyası yapılandırmasını içeren görevleri otomatikleştirir . Büyük önem taşıyan , metnin sözcük yapısının biçimsel açıklaması için oluşturulan ve tüm bu araçlar tarafından kullanılan bir dil olan düzenli ifadedir .
Perl başlangıçta bu araçların sınırlarını aşmak için tasarlandı, ancak en popüler genel amaçlı dillerden biri haline geldi.
Genel dinamik diller
Perl gibi bazı diller, betik dilleri olarak başladı ancak çok daha geniş konulara uygun dillerde uygulandı. Diğer benzer diller , daha yaygın olarak uygulamaları programlamak için kullanılsalar da, bu benzerlik için " betik dilleri" olarak tanımlanmıştır .
Uzantı / Gömülü Diller
Önemli sayıda dil, uygulamaya özel programlama dillerinin yerini alacak, programlara entegre edilebilecek şekilde tasarlanmıştır. Programcı (C veya başka bir dilde çalışan), komut dosyası dilinin uygulamayı kontrol edebileceği "Kancalar" içerir. Bu diller, uygulamaya özel dillerle aynı amaca hizmet eder, ancak uygulama ile uygulama arasında özellik aktarımına izin verme avantajıyla. JavaScript başlangıçta web tarayıcılarında bir dil olarak başladı; ancak, ECMAScript gibi dil standardizasyonu , onu genel gömülebilir bir dil olarak popüler hale getirdi. Özellikle Mozilla'nın SpiderMonkey uygulaması Yahoo! _ Widget Motoru . ECMAScript uygulamalarını kullanan diğer uygulamalar, Adobe Flash ve Adobe Acrobat gibi Adobe ürünlerini içerir .
Tcl , Python , Perl ve Ruby gibi dillerin rolüne öykünerek, genel amaçlı bir dil olarak paralel olarak kullanılmak üzere bir uzantı dili olarak oluşturulmuştur .
Diğer karmaşık ve göreve özel uygulamalar, kullanıcılara daha fazla kontrol sağlamak ve bir kullanıcı arabirimi aracılığıyla sağlanabilecek olandan daha fazla işlevsellik sağlamak için entegre bir programlama dilini içerebilir ve ortaya çıkarabilir. Örneğin, Autodesk Maya 3D, MEL komut dosyası dilini veya aynı rol için Python kullanan Blender'ı içerir. [12]
Hızlı işlevsellik veya optimizasyon döngüleri ( grafik motoru gibi) eklemesi gereken diğer uygulama türleri de yerleşik dilleri kullanır. Geliştirme sırasında, kullanıcıyı programı tam olarak anlamaya zorlamadan (uzun zaman alabilir) prototiplerin hızlı ve kolay bir şekilde değiştirilmesine olanak tanır. Komut dosyası dilleri, çok yönlülükleri nedeniyle yaygın olarak kullanılmaktadır ve bugün Lua ve Python gibi geniş bir yelpazede sunulan dillerin yanı sıra Angelscript ve Squirrel gibi daha az bilinen dilleri de sunmaktadır .
Popüler diller
EvansData tarafından 2008 yılında yapılan küresel bir araştırmaya göre, [13] en ünlü betik dili JavaScript , PHP ikinci sırada , Perl ise üçüncü sırada yer alıyor.
- ASP ( Aktif Sunucu Sayfaları )
- ActionScript
- AppleScript
- OtomatikKısayol Tuşu
- otomatik
- awk
- bash
- Beyin
- CobolScript
- Ve
- öfori
- Şahin
- GNU Guile
- Gitmek
- melez
- ICI
- JASS
- JavaScript (ECMAScript)
- fasulye kabuğu
- İş Kontrol Dili (JCL)
- lingo
- Lua
- MIRC komut dosyası oluşturma
- miva
- KABAKULAK
- NesneRexx
- Perl
- PHP
- turna
- esnek
- piton
- QuakeC
- REBOL
- REXX
- yakut
- Şema
- ScriptBasic
- Simkin
- Tcl
- UnrealScript
- VBScript
- Görsel DialogScript
- ZZT-ooop
- HTML
Notlar
- ^ Flavius Florin Harabor, Komut dosyası dilleri: İşte bazı , insidevcode.eu , 14 Ocak 2015. Erişim tarihi: 21 Şubat 2015 .
- ^ web.archive.org , https://web.archive.org/web/20150923211452/http://www.cse.wustl.edu/~loui/praiseieee.html# . 27 Nisan 2022'de alındı .
- ^ Bir betik dilinin tanımı , cs.man.ac.uk adresinde . 13 Mart 2010 tarihinde erişildi .
- ^ dizin | TIOBE - Yazılım Kalite Şirketi , www.tiobe.com adresinde . 27 Nisan 2022'de alındı .
- ^ Komut dosyası dilleri nelerdir? , IONOS Digitalguide'da . 27 Nisan 2022'de alındı .
- ^ İşletim sistemlerinin evrimi , dmi.unict.it üzerinde . Erişim tarihi: 12 Mart 2010 ( 25 Şubat 2010 tarihinde orijinalinden arşivlendi ) .
- ^ iş tanımı (BT sözlüğü) , pc-facile.com'da . 13 Mart 2010 tarihinde erişildi .
- ^ simotime.com'da JCL Hızlı Başvuru . _ _ Erişim tarihi: 12 Mart 2010 .
- ^ Mendel Cooper, Advanced Bash Scripting Guide (giriş) , pluto.it üzerinde . Erişim tarihi: 12 Mart 2010 .
- ^ QuakeC , ouns.nexuizninjaz.com adresinde . _ _ 13 Mart 2010 tarihinde erişildi .
- ^ Web ortamında , users.libero.it üzerinde komut dosyası dillerinin kullanımı . Erişim tarihi: 12 Mart 2010 ( 14 Mart 2010 tarihinde orijinalinden arşivlendi ) .
- ^ Python ve Blender , jmsoler.free.fr adresinde . Erişim tarihi: 12 Mart 2010 .
- ^ Komut Dosyası Evreninin Durumu , cio.com'da . 13 Mart 2010 tarihinde erişildi .
İlgili öğeler
Diğer projeler
Wikimedia Commons , resimler veya diğer komut dosyası dili dosyalarını içerir
Dış bağlantılar
- web'de betik dilleri , ennebi.solira.org'da .
- pluto.it üzerinde Gelişmiş Bash komut dosyası oluşturma kılavuzu . Erişim tarihi: 12 Mart 2010 ( 29 Aralık 2010 tarihinde orijinalinden arşivlendi ) .
- JavaScript kılavuzları , javascript.html.it üzerinde .
- Emacs Lisp'te programlama , gnu.org'da .