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
- ⬇️ BERK-lang.exe İndir - Derleyici (2.2 MB)
- ⬇️ berk-lsp.exe İndir - Language Server (1.2 MB)
- ⬇️ berk-repl.exe İndir - REPL (464 KB)
- 📚 Dokümantasyon (PDF) - Tam Rehber
- 📖 Çevrimiçi Kitapçık - Etkileşimli Dokümantasyon
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?
- Sıralı Okuma: Baştan sona sırayla okumanızı öneririz
- Örnekleri Deneyin: Her örneği kendi bilgisayarınızda çalıştırın
- Alıştırmalar: Her bölümün sonundaki alıştırmaları yapın
- 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!
- GitHub: ArslantasM/berk
- Issues: Bug raporları ve özellik istekleri
- Discussions: Topluluk tartışmaları
- Contributing: Katkıda bulunma rehberi
Ek Kaynaklar
Hazır mısınız? Kurulum bölümünden başlayalım!