İçeriğe atla

CoffeeScript

CoffeeScript
ParadigmasıBetik dili
İlk çıkışı2009
TasarımcıJeremy Ashkenas
GeliştiriciJeremy Ashkenas
Kararlı sürüm1.9.3 (14 Mayıs 2015)
EtkilendiklerijQuery, MooTools, ProtoType
EtkiledikleriMoonScript
Uygulama diliJavaScript
Platformuçapraz platform
LisansMIT Lisansı
Olağan dosya uzantıları.coffee
Web sitesihttp://coffeescript.org

CoffeeScript kaynaktan kaynağa derleme yapan ve JavaScript kodu üreten bir geliştirme aracıdır. Sözdizimi Python ve Ruby dillerine benzer, kod blokları girintiler ile ayrılır, JavaScript'in satır sonlarında noktalı virgül kullanma gibi yazım kurallarını da içermez, bu nedenle okunması kolaydır. Kullandığı bazı sözcükler ve yapılar sayesinde JavaScript ile uzun yazılabilecek ve okunaksız hale gelecek kodları neredeyse 3/1 oranında kısaltabilir ve kolay okunabilme imkânı sunar. Derleme işlemi çalışma zamanında değil geliştirme aşamasında yapıldığından tarayıcılarda performans kaybı söz konusu değildir.

CoffeScript yine CoffeeScript ile yazılmış bir JavaScript derleyici sunar, bu derleyici Node.js veya başka bir JavaScript runtime ile çalıştırılabilir bir derleyicidir. Derlenmiş JavaScript dosyaları doğrudan tarayıcıda veya herhangi bir JavaScript runtime ile çalıştırılabilir.

Kod örneği

Aşağıdaki örnekte CoffeeScript kodu ve bunun derlenmiş halini karşılaştırabilirsiniz.

CoffeeScript
 switch day
   when "Mon" then go work
   when "Tue" then go relax
   when "Thu" then go iceFishing
   when "Fri", "Sat"
     if day is bingoDay
       go bingo
       go dancing
   when "Sun" then go church
   else go work
JavaScript
 switch (day) {
  case "Mon":
    go(work);
    break;
  case "Tue":
    go(relax);
    break;
  case "Thu":
    go(iceFishing);
    break;
  case "Fri":
  case "Sat":
    if (day === bingoDay) {
      go(bingo);
      go(dancing);
    }
    break;
  case "Sun":
    go(church);
    break;
  default:
    go(work);
 }
CoffeeScript
 # The first ten global properties.
 
 globals = (name for name of window)[0...10]
JavaScript
 var globals, name;
 
 globals = ((function() {
  var _results;
  _results = [];
  for (name in window) {
    _results.push(name);
  }
  return _results;
 })()).slice(0, 10);

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Scala (programlama dili)</span>

Scala, hem nesne yönelimli programlamayı hem de fonksiyonel programlamayı destekleyen, statik olarak yazılmış güçlü bir genel amaçlı programlama dilidir. Kısa ve öz olacak şekilde tasarlanan Scala'nın tasarım kararlarının çoğu Java eleştirilerini ele almayı amaçlıyor.

<span class="mw-page-title-main">JavaScript</span> programlama dili

JavaScript, HTML ve CSS ile birlikte World Wide Web'in temel teknolojilerinden biri olan programlama dilidir. Web sitelerinin %97'sinden fazlası, web sayfası hareketleri için istemci tarafında JavaScript kullanırlar ve kullanılan kodlar genellikle üçüncü taraf kitaplıkları içerir. Tüm büyük web tarayıcılarında, kaynak kodunu kullanıcıların cihazlarında yürütebilmek için özel bir JavaScript motoru bulunur.

<span class="mw-page-title-main">Java</span> açık kaynak kodlu, nesneye yönelik, zeminden bağımsız, yüksek verimli, çok işlevli, yüksek seviye, adım adım işletilen bir programlama dili

Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmış açık kaynak kodlu, nesneye yönelik, platform bağımsız, yüksek verimli, çok işlevli, yüksek seviye, hem yorumlanan hem de derlenen bir dildir.

<span class="mw-page-title-main">Derleyici</span> kaynak kodunu bilgisayarın işleyebileceği koda dönüştüren program

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.

<span class="mw-page-title-main">Make</span>

Make dosyaları bir formdan diğerini çevirme işlemini otomatikleştiren bir araçtır. Bu işlemi, çevrilecek programların ihtiyaç duyacağı diğer programları kontrol ettikten sonra gerekli programları çalıştırarak çevirme işlemini gerçekleştirir. Çevrilen programı çalıştırmak için ihtiyaç duyulan diğer programlara bağımlılıklar denir. Unix/Linux tabanlı işletim sistemlerinde, kaynak kodu nesne koduna derlerken ve nesne kodlarını çalıştırılabilir (executable) ve kütüphane (library) dosyalarına bağlarken (linking) sıklıkla kullanılır. Bağımlılık grafiğini çıkarmak için "Makefile" ismi verilen bir dosya kullanır ve shell'e geçirilmek üzere kullanılan betikleri (script) oluşturur.

<span class="mw-page-title-main">Programlama</span> bilgisayar probleminin orijinal formülasyonundan çalıştırılabilir bilgisayar programlarına yönlendiren süreç

Programlama ya da diğer adı ile yazılımlama, bilgisayarın donanıma nasıl davranacağını anlatan, bilgisayara yön veren komutlar, kelimeler, aritmetik işlemlerdir. Diğer bir tanımla programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir.

<span class="mw-page-title-main">Document Object Model</span>

Document Object Model, "DOM", "Belge Nesnesi Modeli" anlamlarına da gelmektedir. İnternet tarayıcıları girilen internet sitesini bir belge, bu belge (sayfa) içerisinde bulunan tüm elemanları da nesne olarak kabul eder. Buna göre resim, yazı, form gibi tüm elemanlar nesnedir. İşte DOM sayfa içindeki herhangi bir nesnenin özelliğine müdahale edebilmemize, nesne özelliklerini değiştirebilmemize olanak sağlar. Bunu yapabilmek için de JavaScript gibi bazı script dilleri kullanmamız gerekir.

<span class="mw-page-title-main">KDevelop</span>

KDevelop Linux ve diğer Unix benzeri işletim sistemleri için özgür bir tümleşik geliştirme ortamıdır (T.G.O). KDevelop bir derleyici içermez. Çalıştırılabilir kod üretebilmek için GCC veya istenirse başka bir derleyici kullanır. Şu anki 3.5 sürümü Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby ve SQL başta olmak üzere birçok programlama dilini destekler.

Betik dili, betik yorumlamak için yazılmış özel çalışma-zamanı sistemlerinin yorumlayabileceği programlama dilleridir. Diğer programlama dilleri ile yazılan kodlar makine koduna çevrilip çıkan program doğrudan çalıştırılırken betik kodları interpreter tarafından doğrudan okunur ve yorumlanarak işlemler yorumlayıcının kendisi tarafından yapılır.

Bilgi işlem platformu, bir uygulama yazılımı çalıştırmak için donanım mimarisi ve bir yazılım çerçevesi, yazılım, çeşitli bazı kombinasyon veya sıralamalarını içermektedir. Tipik platformlarda bir bilgisayar mimari, işletim sistemi, programlama dilleri ve ilgili kullanıcı arabirimi içerir.

<span class="mw-page-title-main">Unreal Engine</span> video oyunu motoru

Unreal Engine, Epic Games tarafından geliştirilen ve ilk olarak 1998 yılında yayınlanan Unreal isimli birinci şahıs nişancı oyununda kullanılan oyun motoru. Esas olarak birinci şahıs nişancı oyunları için geliştirilmesine karşın, sonraları çeşitli türlerdeki oyunlarda kullanıldı. C++ ile yazılmış kodu sayesinde yüksek derecede taşınabilirliğe sahiptir ve günümüzde birçok oyun geliştirici tarafından kullanılan bir araç haline gelmiştir.

<span class="mw-page-title-main">Yazılım iskeleti</span>

Bilgisayar programlamada yazılım iskeleti, yazılım çerçevesi ya da yazılım çatısı, standart fonksiyonların hazır olarak sunulduğu ancak programcı tarafından bu fonksiyonlardan arzu edilen kısımların ek kodlarla istenildiği şekilde güncellenebildiği sistemlerdir.

Dart, ilk kez Google tarafından geliştirilen ve daha sonraları ECMA tarafından standart (ECMA-408) haline getirilen açık kaynaklı ve genel-amaçlı bir programlama dilidir. Dart dili kullanılarak web, sunucu, mobil uygulamalar ve IoT cihazları geliştirilebilir.

TypeScript özgür ve açık kaynak kodlu programlama dili. Microsoft tarafından geliştirilmekte ve desteklenmekte olan TypeScript; bünyesinde barındırdığı derleyici sayesinde, yazılan kodu JavaScript koduna çevirir. TypeScript gerek istemci taraflı, gerekse sunucu taraflı yazılım geliştirmede kullanılabilmektedir.

JIT ; bilgisayar kodunu çalıştırmanın bir yoludur. Yürütülmeden önce bir program yürütülürken çalışma zamanında derleyici içerir. Genellikle bu, kaynak kodu ve daha sonradan makine diline bytecode kod çevirisini içerir ve bu kod doğrudan doğruya çalıştırılır. Bir JIT derleyicisi uygulayan bir sistem genellikle yürütülen kodu sürekli olarak analiz eder, daha sonra derleme veya tekrar derlemeden elde edilen hızlanmanın bu kodun derlenmesinin yükünden daha ağır olacağı kod bölümlerini tanımlar.

AOT derlemesi C veya C++ gibi daha üst düzey bir programlama dili, Java bytecode veya .NET Framework Ortak Ara Dil kodu gibi bir ara temsilciliğin yerli bir makine diline derleme eylemidir. Sonuçta ortaya çıkan ikili dosya yerel olarak çalıştırılabilir.

Objective-J, [ Cappuccino web] geliştirme çerçevesinin bir parçası olarak geliştirilmiş bir programlama dilidir. Sözdizimi Objective-C sözdizimi ile hemen hemen aynıdır ve JavaScript ile Objective-C'nin C programlama diliyle aynı ilişkiyi paylaşır: katı, ancak küçük bir üst küme olmak; geleneksel kalıtım ve Smalltalk / Objective-C tarzı dinamik gönderim ekleniyor. Prototip tabanlı bir dil olan Pure JavaScript zaten nesne yönelimi ve miras kavramına sahiptir, ancak Objective-J JavaScript'e sınıf tabanlı programlama kullanımını ekler.Objective-J ile yazılmış programların, bir web tarayıcısının JavaScript sanal makinesi tarafından çalıştırılmadan önce önceden işlenmesi gerekir. Bu adım, çalışma zamanında web tarayıcısında veya Objective-J programlarını saf JavaScript koduna çeviren bir derleyici tarafından gerçekleşebilir. Objective-J derleyicisi JavaScript dilinde yazılmıştır; Sonuç olarak, Objective-J programlarını dağıtmak için bir web tarayıcısı eklentisi gerekmez. Objective-J, Node.js üzerinde derlenebilir ve çalıştırılabilir.

WebStrom çapraz platform bir JavaScript, TypeScript ve web için tümleşik geliştirme ortamıdır (IDE). Grafiksel hata ayıklamacısı (debugger) ve sürüm kontrol sistemi (VSC) ile entegredir. JetBrains şirketi tarafından geliştirilmektedir. Özel mülk bir yazılımdır. 30 günlük deneme sürümü de bulunmaktadır.

SpiderBasic, Fantaisie Software tarafından geliştirilen, yerleşik BASIC kurallarına dayanan yeni bir web istemci tarafı programlama dilidir. iOS ve Android için mobil uygulama da dahil olmak üzere çok karmaşık, pencereli tabanlı web uygulamalarının geliştirilmesine olanak tanır. Karmaşık ve reaktif GUI, 2D oyunlar ve daha birçok şeyi tutarlı bir şekilde ele almak için geniş bir komut seti sağlar. Her kütüphane ve komut aynı şekilde davranır ve daha kolay ve daha hızlı öğrenme için benzer sözdizimine sahiptir.

JavaScript motoru, JavaScript kodunu yürüten bir yazılım bileşenidir. İlk JavaScript motorları yalnızca yorumlayıcılardı, ancak ilgili tüm modern motorlar ise gelişmiş performans için tam zamanında derlemeyi kullanır.