Yazılım geliştirmek yeniden kolay ve eğlenceli

Giriş

Red, REBOL programlama dilinden esinlenerek geliştirilmiş yeni bir programlama dilidir, ancak yerel kod derleyicisi sayesinde sistem programlamadan yüksek seviye kodlamaya (scripting) kadar geniş bir kullanım desteği sunarken eşzamanlı çalışma (concurrency) ve çok çekirdekli CPU'lar için modern destek sağlar.

Ana özellikleri şunlardır:

  • İşlevsel (functional), zorunlu (imperative) ve sembolik (symbolic)
  • Prototip tabanlı nesne desteği
  • Homoikonik (Red kendisinin meta-dilidir)
  • İsteğe bağlı, zengin veri tipleri (50+)
  • Hem statik hem de JIT-derlenebilen
  • Güçlü eşzamanlı ve paralelizm desteği (actor ve paralel koleksiyonlar)
  • Yerleşik Red/System DSL sayesinde düşük seviye sistem programlama yeteneği
  • Yüksek seviye kodlama (scripting) ve REPL (Read, Eval, Print, Loop) konsol desteği
  • Son derece gömülebilir bir yapı
  • Düşük bellek kullanımı ve garbage collection desteği
  • Düşük dosya boyutu (1MB)

Red ile "Merhaba Dünya"

Red araç zinciri (toolchain) 3 büyük platform için buradan indirebileceğiniz tek bir çalıştırılabilir dosya olarak gelir.

  1. İndirdiğiniz red çalıştırılabilir dosyasını, çalışma klasörünüze koyun.

  2. Bir kod veya metin düzenleyici ile aşağıdaki Merhaba Dünya programını yazın:

    Red [
        Title: "Basit Merhaba Dünya programı"
    ]
    
    print "Merhaba Dünya!"
  3. hello.red ismiyle kaydedin.

  4. Bir terminal üzerinden (veya Windows üzerinde CMD ile), çalıştırın:

    $ ./red hello.red
  5. Ekranda Merhaba Dünya çıktısını görüyor olmalısınız.

  6. Bu programdan derlenmiş yürütülebilir bir dosya oluşturmak mı istiyorsunuz?

    $ ./red -c hello.red
    $ ./hello
  7. Desteklenen başka bir platform için çapraz derleme mi yapmak istiyorsunuz?

    $ ./red -t Windows hello.red
    $ ./red -t Darwin hello.red
    $ ./red -t Linux-ARM hello.red

İndir

Son stabil sürüm (v0.6.4)

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

Otomatik derlemeler (master branch)

↓ Windows   ↓ GNU/Linux   ↓ Mac OS X

Linux için not

64-bit Linux dağıtımları için, 32-bit kütüphanelerin yüklenmesi gerekir. Debian-tabanlı dağıtımlar için aşağıdaki şekilde kurabilirsiniz:

$ sudo apt-get install ia32-libs libc6-i386 libcurl3-i386

Eğer Debian 7 veya Ubuntu 13.10 üzeri bir versiyon kullanıyorsanız, multiarch kullanmanız gerekir:

$ dpkg --add-architecture i386
$ apt-get update
$ apt-get install libc6:i386 libcurl3:i386

CentOS dağıtımları için, aşağıdaki şekilde kurulum yapın:

$ sudo yum install glibc.i686
$ sudo yum install libcurl.i686

Katkı

Böyle bir projede yapılacak çok iş var, bu yüzden yardım etmeye istekli herkesin katılımını bekleriz. Proje alfa aşamasında olduğundan geriye dönük uyumlu olmayan değişiklikler yapılabilir.

Kaynak kodu düzeyinde katkıda bulunmak isterseniz:

  • Henüz önyükleme (bootstrapping) aşamasında olduğumuzdan, tüm derleme araçları Rebol v2 ile yazılmıştır ve derleyici (compiler) veya linkleme (linker) üzerinde katkıda bulunmak isteyenlerin bu dili bilmesi gerekmektedir. Lakin Red'in söz dizimi Rebol'e çok yakın olduğundan öğrendikleriniz boşa gitmeyecektir. Ve hazır olduğunda en kısa sürede Red'i kullanabilir duruma geleceksiniz.
  • Düşük seviye Red/System DSL'i beta aşamasındadır, ancak hala şu konularda yardıma ihtiyacımız var:
    • testler: Ufak uygulamalar yazılması, sorunların rapor edilmesi, daha fazla birim testi yazılması,...
    • kullanışlı düşük seviye kütüphaneler için bağlayıcılar (binding) yazılması
    • daha büyük uygulamalar yazılması, (Red/System'in büyük ölçekli uygulama geliştirme (programming-in-the-large) yeteneklerinin geliştirilmesi)
  • Git kurun, nasıl kullanacağınızı öğrenin (bu konuda yardımcı olabiliriz), bir Github hesabı açın, Red projesini fork edin. Yeni kaynak kodları veya yama göndermeye hazır olduğunuzda, bir PR (pull request) gönderin.

Eğer katkıda bulunmak istiyorsanız yukarıda bahsedilen yöntemlerden herhangi birini kullanarak bizimle iletişime geçebilir veya contrib (at) red-lang.org adresine e-posta gönderebilirsiniz.