Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

BERK Programlama Dili

BERK, dünyada ilk kez gerçek çift dilli syntax (Türkçe/İngilizce) ile tasarlanmış, gömülü sistemler ve AI/ML üretimi için optimize edilmiş, yüksek performanslı bir sistem programlama dilidir. C/C++ seviyesinde performans ile 19 farklı hedef platformda (ARM Cortex-M, RISC-V, ESP32, x64/ARM desktop, WebAssembly) üretkenlik sağlar.

📖 Neden BERK Adı Seçilmiştir?

Öztürkçe Kökeni: "Güçlü, Muhkem, Sağlam"

BERK kelimesi, Öztürkçe'de "güçlü, dayanıklı, muhkem ve sağlam" anlamlarına gelir. Bu nitelikler, programlama dilinin teknik hedefleriyle doğrudan örtüşmektedir: bellek güvenliği, tip sistemi doğruluğu, güçlü derleyici mimarisi ve kararlı performans.

Arapçadan Gelen Anlamı: "Şimşek"

Türkçe'de karşılık bulan bir diğer anlam **"şimşek"**tir. Bu anlam, BERK dilinin hız, performans ve çeviklik vizyonunu temsil eder: LLVM tabanlı hızlı derleme, C++ seviyesinde performans ve optimize edilmiş çekirdek mimarisi.

Anlamların Birleşimi

BERK, hem Türkçe kökenli sağlamlık kavramını hem de modern teknoloji dünyasındaki hız ve çeviklik kavramlarını birleştirerek güçlü bir marka kimliği oluşturur.

Uluslararası Alanda

BERK, Beyond-Efficient Runtime Kernel (Verimliliğin Ötesinde Çalışma Zamanı Çekirdeği) olarak tanımlanacaktır.


📥 İndirme ve Kurulum

Windows x64 (v1.0.0)

Son Sürüm: BERK v1.0.0 (2 Aralık 2025)
Boyut: ~3.8 MB (3 dosya)
Platform: Windows 10/11 (64-bit)

🔗 İndirme Linkleri

Kurulum

# 1. BERK-lang.exe'yi indirin
# 2. İstediğiniz bir klasöre kopyalayın (örn: C:\BERK)
# 3. PATH'e ekleyin:
$env:PATH += ";C:\BERK"

# Test edin
BERK-lang --version

Hızlı Başlangıç

Seçenek 1: Etkileşimli REPL (Anında Test)

# REPL'i başlatın
BERK-lang repl

# Kod yazın ve Enter'a basın - anında çalışır!
>>> yazdır("Merhaba, BERK!")
Merhaba, BERK!

>>> değişken x = 5 + 3
>>> yazdır(x * 2)
16

Seçenek 2: Derleme (Native Executable)

# İlk programınızı yazın (merhaba.berk)
fonksiyon ana() -> tamsayı
yap
    yazdır("Merhaba, BERK!")
    dön 0
son

# LLVM ile native kod üretin
BERK-lang compile merhaba.berk -o merhaba.exe

# Çalıştırın (artık bağımsız executable)
.\merhaba.exe

Seçenek 3: JIT Çalıştırma (Derleme + Çalıştırma)

# Direkt çalıştır (arka planda LLVM JIT)
BERK-lang run merhaba.berk

Diğer Platformlar

Linux ve macOS: Kaynak koddan derleme gereklidir.

# Rust toolchain kurulumu
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# BERK'u derleyin
git clone https://github.com/ArslantasM/berk
cd berk/berk-lang
cargo build --release --features llvm

🌟 BERK'i Özel Kılan Özellikler

🔧 Gömülü Sistemler ve AI/ML İçin Optimize

BERK, gömülü sistemler ve yapay zeka üretimi için tasarlanmış bir dildir:

  • Bare-Metal Programlama: RTOS olmadan doğrudan donanım erişimi
  • ARM Cortex-M/RISC-V Desteği: STM32, ESP32, Nordic nRF gibi popüler MCU'lar
  • Minimal Runtime: 2-5 KB memory overhead, kritik uygulamalar için ideal
  • AI/ML Inference: ONNX Runtime entegrasyonu, edge AI için optimize edilmiş kütüphaneler
  • High-Performance Computing: SIMD, vectorization, zero-cost abstractions
  • Real-Time Guarantees: Deterministik timing, interrupt handling, DMA desteği
  • Cross-Compilation: Desktop'tan tek komutla ARM/RISC-V hedeflerine derleme

🌍 Dünyada İlk: Gerçek Çift Dilli Syntax

Programlama dillerinde ilk kez, aynı derleyicide hem Türkçe hem İngilizce anahtar kelimelerle kod yazabilirsiniz. Bu sadece bir çeviri değil, dilin özünde bulunan bir özelliktir.

⚡ C/C++/Rust Seviyesinde Performans + AI/ML Optimizasyonu

  • LLVM Backend: Native kod üretimi ile sıfır maliyet abstraksiyonlar
  • Benchmark Sonuçları: C++ ile %98-100 performans eşitliği
  • AI/ML Workloads: TensorFlow/PyTorch modellerini ONNX ile inference (edge devices)
  • SIMD/Vectorization: AVX2, NEON, RISC-V Vector extension desteği
  • Memory Efficiency: Manuel kontrol + güvenlik garantileri, embedded için kritik
  • Optimizasyon Seviyeleri: O0-O3 arası agresif optimizasyon + LTO (Link-Time Optimization)
  • Embedded ML: TinyML, quantization, model compression desteği

🧠 Rules-Based AI Yaklaşımı + ML Production

Derleyici, kural tabanlı yapay zeka teknikleri kullanarak:

  • Akıllı hata tespiti ve öneriler (AI-powered error recovery)
  • Kod optimizasyon kararları (ML-guided optimization)
  • Tip çıkarımı ve analiz (static analysis + inference)
  • Semantic analysis ile kalite garantisi

AI/ML Production Pipeline:

  • Model Training: Python/PyTorch ile eğitim, ONNX export
  • Model Optimization: Quantization (INT8/INT16), pruning, distillation
  • Edge Deployment: ARM Cortex-M, ESP32, RISC-V üzerinde inference
  • Real-Time Inference: <10ms latency, embedded cihazlarda AI
  • TinyML Support: TensorFlow Lite, ONNX Runtime entegrasyonu
  • Hardware Acceleration: NPU, DSP, GPU offloading (Metal, CUDA, Vulkan)

🔬 Kapsamlı Standart Kütüphane (stdlib v0.9.4)

75 modül (42 stdlib + 33 HAL), 4100+ fonksiyon, 1140 KB kod:

  • Bilimsel Hesaplama: math, linalg, stats, optim, physics, complex, random
  • Gömülü Sistemler (HAL): 33 modül - GPIO, UART, SPI, I2C, WiFi, Bluetooth, Timer, DMA
  • 7 Platform Desteği: ESP32, STM32F4, RP2040, nRF52, GD32, Nuvoton, Arduino
  • Web & Veri: http, json, xml, yaml, csv, sqlite, async
  • Grafik & Oyun: gui, graphics, audio, image, physics2d, cad3d
  • NumPy/SciPy/Julia seviyesinde bilimsel hesaplama

🚀 19 Farklı Hedef Platform (Embedded-First)

Cross-compilation desteği:

  • Embedded (Öncelik): ARM Cortex-M0/M3/M4/M7, RISC-V (32/64-bit), AVR, ESP32/ESP8266, Nordic nRF52/nRF53
  • Desktop: Windows (x64/ARM), Linux (x64/ARM/RISC-V), macOS (Intel/Apple Silicon)
  • Mobile: Android (ARM/x86), iOS (ARM64)
  • WebAssembly: Tarayıcı ve sunucu (WASI)
  • Cloud: AWS Lambda, Azure Functions, Google Cloud Run
  • IoT Platforms: Raspberry Pi, BeagleBone, NVIDIA Jetson (edge AI)

Desteklenen MCU Aileleri: STM32, ESP32, Nordic nRF, Microchip SAM, TI MSP430, SiFive HiFive, Kendryte K210

📚 Son Derece Kolay Öğrenme

  • Sezgisel Syntax: Python'un basitliği + Rust'ın gücü
  • Türkçe Dokümantasyon: 70+ sayfa kapsamlı rehber
  • Anlaşılır Hata Mesajları: Çözüm önerileriyle
  • Öğrenme Eğrisi: 1-2 hafta ile productive olma

🔧 Gelişmiş Gömülü Sistem Kabiliyeti

  • Bare-metal Programlama: RTOS olmadan donanım kontrolü (GPIO, UART, SPI, I2C)
  • RTOS Entegrasyonu: FreeRTOS, Zephyr, RIOT-OS ile sorunsuz çalışma
  • HAL Abstractions: Platform-agnostic donanım katmanı (ARM, RISC-V, AVR)
  • Interrupt Handling: Zero-overhead interrupt handlers, nested interrupts
  • DMA Support: Direct memory access, asenkron veri transferleri
  • Power Management: Sleep modes, low-power optimization, battery-powered devices
  • Minimal Runtime: 2-5 KB overhead, 8-bit MCU'larda bile çalışır
  • Bootloader Support: OTA updates, secure boot, firmware signing

Neden BERK?

🎯 Akademisyenler ve Araştırmacılar İçin

  • Bilimsel Hesaplama: NumPy/SciPy/MATLAB seviyesinde kütüphaneler
  • Performans: C++ hızında, Python kolaylığında
  • Reproducibility: Deterministik derleme, reproducible builds
  • Publishing: Türkçe akademik yayınlar için ideal

💼 Sektör Profesyonelleri İçin

  • Production-Ready: C/C++/Rust ile yarışabilir performans
  • Cross-Platform: Tek kod tabanı, 19 platform
  • Maintainability: Okunabilir kod, kolay refactoring
  • Interoperability: C/C++ FFI, mevcut sistemlere entegrasyon
  • Cost-Effective: Daha az bug, daha hızlı development

🎓 Eğitimciler ve Öğrenciler İçin

  • Türkçe İçerik: Anadilde programlama öğrenimi
  • Modern Kavramlar: Type safety, pattern matching, error handling
  • Kolay Geçiş: Python'dan gelen için doğal, C++'a geçiş için köprü
  • Pratik Örnekler: Gerçek dünya uygulamaları

1. Dünyada İlk: Gerçek Çift Dilli Syntax

// Türkçe
fonksiyon selamla(isim: yazı) -> yazı
yap
    dön "Merhaba, " + isim + "!"
son

// English (aynı derleyici!)
function greet(name: string) -> string
do
    return "Hello, " + name + "!"
end

// Karışık kullanım bile mümkün
function hesapla(sayı: tamsayı) -> tamsayı
yap
    eğer sayı > 0
        return sayı * 2
    değilse
        dön 0
    son
son

2. Modern ve Güvenli

  • ✅ Güçlü tip sistemi
  • ✅ Bellek güvenliği
  • ✅ Null safety
  • ✅ Pattern matching
  • ✅ Error handling

3. Yüksek Performans + LLVM Backend

  • Native kod üretimi - C++ ile %98-100 performans eşitliği
  • 19 farklı mimari desteği (x64, ARM, RISC-V, WebAssembly, ...)
  • Optimizasyon seviyeleri (O0-O3)
  • Cross-compilation - tek kod, 19 platform
  • Zero-cost abstractions
  • Inline assembly desteği

4. Kapsamlı Standart Kütüphane (stdlib v0.9.4)

kullan linalg, stats, optim

// Linear Algebra
değişken A = linalg.matris_oluştur([[1, 2], [3, 4]])
değişken B = linalg.matris_çarp(A, linalg.transpose(A))
değişken (L, U) = linalg.lu_ayrıştır(A)

// İstatistik
değişken veri = [1.2, 2.3, 3.4, 4.5, 5.6]
değişken ort = stats.ortalama(veri)
değişken std = stats.standart_sapma(veri)
değişken (r, p) = stats.korelasyon(x, y)

// Optimizasyon
değişken minimum = optim.gradient_descent(fonksiyon, x0, öğrenme=0.01)
değişken sonuç = optim.bfgs(maliyet, başlangıç)

4. Geliştirici Dostu

  • Kapsamlı dokümantasyon (70+ sayfa, Türkçe)
  • Anlaşılır hata mesajları (çözüm önerileriyle)
  • VS Code eklentisi (syntax highlighting, autocomplete, debugging)
  • REPL (etkileşimli kabuk) - anında test
  • Zengin test altyapısı
  • Kolay öğrenme: 1-2 hafta ile productive

Hızlı Başlangıç

Kurulum

# Rust toolchain gerekli
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# BERK'u derle
git clone https://github.com/ArslantasM/berk
cd berk/berk-lang
cargo build --release --features llvm

# PATH'e ekle
export PATH="$PWD/target/release:$PATH"

İlk Programınız

// merhaba.berk
fonksiyon ana() -> tamsayı
yap
    yazdır("Merhaba, BERK!")
    dön 0
son
# Derle ve çalıştır
BERK-lang merhaba.berk -o merhaba.exe
./merhaba.exe
# Çıktı: Merhaba, BERK!

Bu Kitap Hakkında

Bu kitap, BERK programlama dilini öğrenmek için kapsamlı bir kaynaktır. Rust Book ve Python Documentation gibi kaynakların en iyi yanlarını bir araya getirerek hazırlanmıştır.

Hedef Kitle

  • Programlamaya yeni başlayanlar
  • Deneyimli geliştiriciler
  • Sistem programcıları
  • Türkçe içerik arayan geliştiriciler

Kitabı Nasıl Kullanmalısınız?

  1. Sıralı Okuma: Baştan sona sırayla okumanızı öneririz
  2. Örnekleri Deneyin: Her örneği kendi bilgisayarınızda çalıştırın
  3. Alıştırmalar: Her bölümün sonundaki alıştırmaları yapın
  4. Referans: İhtiyaç duyduğunuzda referans bölümlerine dönün

Dil Felsefesi

BERK'un temel tasarım ilkeleri:

1. Erişilebilirlik

Türkçe anahtar kelimeler sayesinde, İngilizce bilmeyenler için programlamaya giriş kolaylaştırılmıştır.

2. Güvenlik

Bellek hatalarını derleme zamanında yakalar. Runtime hatalarını minimize eder.

3. Performans

LLVM backend sayesinde C/C++ seviyesinde performans sunar.

4. Okunabilirlik

Açık ve anlaşılır syntax. Kod yazmaktan çok kod okumaya optimize edilmiştir.

5. İnterop

C/C++ kütüphaneleriyle uyumlu. Mevcut ekosistemlere entegre olabilir.

Öne Çıkan Özellikler

Modern Type System

değişken x: tamsayı = 42
değişken isim: yazı = "Ahmet"
değişken aktif: mantıksal = doğru
değişken sayılar: liste<tamsayı> = [1, 2, 3]
değişken nokta: demet<tamsayı, tamsayı> = (10, 20)

Pattern Matching

seç durum mesaj
    durum "başarılı":
        yazdır("İşlem tamamlandı!")
    durum "hata":
        yazdır("Bir hata oluştu!")
    durum _:
        yazdır("Bilinmeyen durum")
son

String İşlemleri (UTF-8)

değişken mesaj = "Merhaba Dünya! 🌍"
değişken uzunluk = uzunluk(mesaj)
değişken birleşik = "Hello " + "World"

Hata Yönetimi

dene
    değişken dosya = aç("data.txt")
    yazdır(oku(dosya))
yakala hata
    yazdır("Dosya açılamadı: " + hata)
son

Derleyici Mimarisi

BERK derleyicisi modern bir yapıya sahiptir:

Kaynak Kod (.berk)
    ↓
Lexer (Token Üretimi)
    ↓
Parser (AST Oluşturma)
    ↓
Semantic Analysis (Tip Kontrolü)
    ↓
CFG Analysis (Dataflow Analysis)
    ↓
IR Generation (BERK IR)
    ↓
IR Optimization (O0-O3)
    ↓
LLVM IR Generation
    ↓
Machine Code (.exe/.o)

Proje Durumu

Mevcut Sürüm: v1.0.0
Son Güncelleme: 18 Kasım 2025
Durum: Active Development

Tamamlanan Özellikler ✅

  • Lexer & Parser (100%)
  • Type System (100%)
  • LLVM Backend (100%)
  • CFG Analysis (100%)
  • IR Optimizer (100%)
  • REPL (100%)
  • VS Code Extension (100%)

Devam Eden Çalışmalar

  • Runtime Library
  • Standard Library
  • Package Manager
  • Debugger Integration

Detaylı yol haritası için Roadmap sayfasına bakın.

Topluluk ve Katkı

BERK açık kaynak bir projedir ve katkılara açıktır!

Ek Kaynaklar


Hazır mısınız? Kurulum bölümünden başlayalım!