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 프로그래밍 언어

버크, 세계 최초로 진정한 이중 언어 구문(터키어/영어)으로 설계되었습니다.임베디드 시스템 및 AI/ML 생산최적화된 고성능 시스템 프로그래밍 언어입니다.C/C++ 수준 성능19개의 다양한 대상 플랫폼(ARM Cortex-M, RISC-V, ESP32, x64/ARM 데스크탑, WebAssembly)에서 생산성을 제공합니다.

📖 BERK라는 이름을 선택한 이유는 무엇인가요?

Öztürk 원산지: "강하고, 강하고, 단단합니다"

버크Öztürk의 단어"강하고, 내구성이 있고, 강하고 견고하다"수단. 이러한 특성은 프로그래밍 언어의 기술적 목표인 메모리 안전성, 유형 시스템 정확성, 강력한 컴파일러 아키텍처 및 안정적인 성능과 직접적으로 일치합니다.

아랍어의 의미: "번개"

터키어에서 발견되는 또 다른 의미는 **"번개"**입니다. 이 의미는 속도, 성능 및 민첩성에 대한 BERK 언어의 비전, 즉 LLVM, C++ 수준 성능 및 최적화된 커널 아키텍처를 기반으로 한 빠른 컴파일을 나타냅니다.

의미의 조합

BERK, 둘 다 터키 출신견고성개념뿐만 아니라 현대 기술의 세계에서도속도와 민첩성컨셉을 결합하여 강력한 브랜드 아이덴티티를 만들어냅니다.

국제적으로

버크,효율성이 뛰어난 런타임 커널(효율성을 뛰어넘는 런타임 코어).


📥 다운로드 및 설치

윈도우 x64(v1.0.0)

최신 버전:BERK v1.0.0(2025년 12월 2일)
차원:~3.8MB(3개 파일)
플랫폼:Windows 10/11(64비트)

🔗 다운로드 링크

설정

# 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

빠른 시작

옵션 1: 대화형 REPL(인스턴트 테스트)

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

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

>>> let x = 5 + 3
>>> print(x * 2)
16

옵션 2: 컴파일(네이티브 실행 파일)

# İlk programınızı yazın (merhaba.berk)
function main() -> int
do
    print("Merhaba, BERK!")
    return 0
end

# 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

옵션 3: JIT 실행(컴파일 + 실행)

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

기타 플랫폼

리눅스와 macOS:소스 코드에서 컴파일이 필요합니다.

# 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를 특별하게 만드는 기능

🔧 임베디드 시스템 및 AI/ML에 최적화됨

버크,임베디드 시스템과 인공지능 생산다음을 위해 설계된 언어입니다.

  • 베어메탈 프로그래밍: RTOS 없이 직접 하드웨어 액세스
  • ARM Cortex-M/RISC-V 지원: STM32, ESP32, Nordic nRF 등 널리 사용되는 MCU
  • 최소 런타임: 2-5KB 메모리 오버헤드, 중요한 애플리케이션에 이상적
  • AI/ML 추론: ONNX Runtime 통합, Edge AI에 최적화된 라이브러리
  • 고성능 컴퓨팅: SIMD, 벡터화, 비용이 들지 않는 추상화
  • 실시간 보증: 결정적 타이밍, 인터럽트 처리, DMA 지원
  • 크로스 컴파일: 데스크탑에서 단일 명령으로 ARM/RISC-V 대상으로 컴파일

🌍 세계 최초: 진정한 이중 언어 구문

프로그래밍 언어로는 처음으로,같은 컴파일러에서터키어와 영어 키워드를 모두 사용하여 코드를 작성할 수 있습니다. 이는 단순한 번역이 아니라, 언어 고유의 특징입니다.

⚡ C/C++/Rust 수준 성능 + AI/ML 최적화

  • LLVM 백엔드: 네이티브 코드 생성을 통한 제로 비용 추상화
  • 벤치마크 결과: C++와 98-100% 성능 동일
  • AI/ML 워크로드: ONNX를 사용한 TensorFlow/PyTorch 모델의 추론(에지 장치)
  • SIMD/벡터화: AVX2, NEON, RISC-V 벡터 확장 지원
  • 메모리 효율성: 수동 제어 + 보안 보장, 임베디드에 매우 중요
  • 최적화 수준: O0-O3 + LTO 사이의 공격적인 최적화(Link-Time Optimization)
  • 임베디드 ML: TinyML, 양자화, 모델 압축 지원

🧠 규칙 기반 AI 접근 방식 + ML 생산

컴파일러,규칙 기반 인공 지능기술 사용:

  • 지능형 오류 감지 및 권장 사항(AI 기반 오류 복구)
  • 코드 최적화 결정(ML 기반 최적화)
  • 유형 추론 및 분석(정적 분석 + 추론)
  • 의미 분석을 통한 품질 보증

AI/ML 생산 파이프라인:

  • 모델 훈련: Python/PyTorch를 이용한 학습, ONNX 내보내기
  • 모델 최적화: 양자화(INT8/INT16), 가지치기, 증류
  • 엣지 배포: ARM Cortex-M, ESP32, RISC-V에 대한 추론
  • 실시간 추론: <10ms 지연 시간, 임베디드 장치의 AI
  • TinyML 지원: TensorFlow Lite, ONNX 런타임 통합
  • 하드웨어 가속: NPU, DSP, GPU 오프로딩(Metal, CUDA, Vulkan)

🔬 종합 표준 라이브러리(stdlib v0.9.4)

75개 모듈(42 stdlib + 33 HAL),4100개 이상의 기능, 1140KB암호:

  • 과학적 계산: 수학, 선형, 통계, 최적, 물리학, 복잡함, 무작위
  • 임베디드 시스템(HAL): 33개 모듈 - GPIO, UART, SPI, I2C, WiFi, Bluetooth, 타이머, DMA
  • 7 플랫폼 지원: ESP32, STM32F4, RP2040, nRF52, GD32, 누보톤, 아두이노
  • 웹 및 데이터: http, json, xml, yaml, csv, sqlite, async
  • 그래픽 및 게임플레이: GUI, 그래픽, 오디오, 이미지,Physics2d,cad3d
  • NumPy/SciPy/줄리아수준의 과학 컴퓨팅

🚀 19개의 다양한 대상 플랫폼(임베디드 우선)

크로스 컴파일 지원:

  • 임베디드(우선순위): ARM Cortex-M0/M3/M4/M7, RISC-V(32/64비트), AVR, ESP32/ESP8266, Nordic nRF52/nRF53
  • 데스크탑: 윈도우(x64/ARM), 리눅스(x64/ARM/RISC-V), macOS(인텔/애플 실리콘)
  • 이동하는: 안드로이드(ARM/x86), iOS(ARM64)
  • 웹어셈블리: 브라우저 및 서버(WASI)
  • 구름: AWS Lambda, Azure Functions, Google Cloud Run
  • IoT 플랫폼: 라즈베리파이, 비글본, 엔비디아 젯슨(엣지 AI)

지원되는 MCU 제품군:STM32, ESP32, Nordic nRF, 마이크로칩 SAM, TI MSP430, SiFive HiFive, Kendryte K210

📚 배우기 매우 쉽습니다.

  • 직관적인 구문: Python의 단순함 + Rust의 힘
  • 터키 문서: 70페이지 이상의 종합 가이드
  • 오류 메시지 지우기: 솔루션 제안 포함
  • 학습 곡선: 1~2주 안에 생산성을 발휘하세요

🔧 고급 임베디드 시스템 기능

  • 베어메탈 프로그래밍: RTOS가 없는 하드웨어 제어(GPIO, UART, SPI, I2C)
  • RTOS 통합: FreeRTOS, Zephyr, RIOT-OS와 원활하게 작동
  • HAL 추상화: 플랫폼에 구애받지 않는 하드웨어 계층(ARM, RISC-V, AVR)
  • 인터럽트 처리: 제로 오버헤드 인터럽트 핸들러, 중첩된 인터럽트
  • DMA 지원: 직접 메모리 액세스, 비동기 데이터 전송
  • 전원 관리: 절전 모드, 저전력 최적화, 배터리 구동 장치
  • 최소 런타임: 2-5KB 오버헤드, 8비트 MCU에서도 작동
  • 부트로더 지원: OTA 업데이트, 보안 부팅, 펌웨어 서명

왜 버크인가?

🎯 학계 및 연구원용

  • 과학적 계산: NumPy/SciPy/MATLAB 레벨 라이브러리
  • 성능: C++ 속도, Python의 용이성
  • 재현성: 결정론적 컴파일, 재현 가능한 빌드
  • 출판: 터키 학술 출판물에 적합

💼 업계 전문가용

  • 생산 준비 완료: C/C++/Rust에 필적하는 성능
  • 크로스 플랫폼: 단일 코드베이스, 19개 플랫폼
  • 유지 관리성: 읽기 쉬운 코드, 손쉬운 리팩토링
  • 상호 운용성: C/C++ FFI, 기존 시스템에 통합
  • 비용 효율적: 버그가 적고 개발 속도가 빨라집니다.

🎓 교육자 및 학생용

  • 터키어 콘텐츠: 모국어로 프로그래밍 학습
  • 현대 개념: 타입 안전성, 패턴 매칭, 오류 처리
  • 이지패스: Python에서 왔기 때문에 자연스럽고 C++로 연결됩니다.
  • 실제 사례: 실제 응용

1. 세계 최초: 진정한 이중 언어 구문

// Türkçe
function selamla(isim: yazı) -> yazı
do
    return "Merhaba, " + isim + "!"
end

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

// Karışık kullanım bile mümkün
function hesapla(sayı: int) -> int
do
    if sayı > 0
        return sayı * 2
    else
        return 0
    end
end

2. 현대적이고 안전함

  • ✅ 강력한 유형 시스템
  • ✅ 메모리 보안
  • ✅ 안전하지 않음
  • ✅ 패턴 매칭
  • ✅ 오류 처리

3. 고성능 + LLVM 백엔드

  • 네이티브 코드 생성 -C++와 98-100% 성능 패리티
  • 19가지 아키텍처 지원(x64, ARM, RISC-V, WebAssembly 등)
  • 최적화 수준(O0-O3)
  • 크로스 컴파일 -하나의 코드, 19개의 플랫폼
  • 비용이 들지 않는 추상화
  • 인라인 어셈블리 지원

4. 종합 표준 라이브러리(stdlib v0.9.4)

use linalg, stats, optim

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

// İstatistik
let veri = [1.2, 2.3, 3.4, 4.5, 5.6]
let ort = stats.avg(veri)
let std = stats.standart_sapma(veri)
let (r, p) = stats.korelasyon(x, y)

// Optimizasyon
let minimum = optim.gradient_descent(function, x0, öğrenme=0.01)
let sonuç = optim.bfgs(maliyet, başlangıç)

4. 개발자 친화적

  • 포괄적인 문서(70페이지 이상, 터키어)
  • 오류 메시지 지우기(제안된 해결 방법 포함)
  • VS Code 플러그인(구문 강조, 자동 완성, 디버깅)
  • REPL(대화형 셸) - 즉시 테스트
  • 풍부한 테스트 인프라
  • 쉬운 학습: 1~2주 안에 생산 가능

빠른 시작

설정

# 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"

첫 번째 프로그램

// merhaba.berk
function main() -> int
do
    print("Merhaba, BERK!")
    return 0
end
# Derle ve çalıştır
BERK-lang merhaba.berk -o merhaba.exe
./merhaba.exe
# Çıktı: Merhaba, BERK!

이 책에 대하여

이 책은 BERK 프로그래밍 언어를 배우기 위한 포괄적인 자료입니다.러스트북그리고파이썬 문서등의 리소스의 장점을 모아 준비했습니다.

대상 그룹

  • 프로그래밍 초보자
  • 숙련된 개발자
  • 시스템 프로그래머
  • 터키어 콘텐츠를 찾는 개발자

책을 어떻게 활용해야 할까요?

  1. 순차적 읽기: 처음부터 끝까지 순서대로 읽는 것을 권장합니다.
  2. 예제를 사용해 보세요: 각 예제를 자신의 컴퓨터에서 실행해 보세요.
  3. 수업 과정: 각 장의 마지막에 연습을 수행합니다.
  4. 참조: 필요할 때마다 참조 섹션으로 돌아갑니다.

언어철학

BERK의 기본 설계 원칙:

1. 접근성

터키어 키워드 덕분에 영어를 못하는 사람들도 프로그래밍에 쉽게 들어갈 수 있게 되었습니다.

2. 보안

컴파일 타임에 메모리 오류를 포착합니다. 런타임 오류를 최소화합니다.

3. 성능

LLVM 백엔드 덕분에 C/C++ 수준의 성능을 제공합니다.

4. 읽기 쉬움

명확하고 이해하기 쉬운 구문. 코드를 작성하기보다는 코드를 읽는 데 최적화되어 있습니다.

5. 상호 운용성

C/C++ 라이브러리와 호환됩니다. 기존 생태계에 통합될 수 있습니다.

하이라이트

현대적인 유형 시스템

let x: int = 42
let isim: yazı = "Ahmet"
let aktif: bool = true
let sayılar: List<int> = [1, 2, 3]
let nokta: Tuple<int, int> = (10, 20)

패턴 매칭

match case mesaj
    case "başarılı":
        print("İşlem tamamlandı!")
    case "hata":
        print("Bir hata oluştu!")
    case _:
        print("Bilinmeyen case")
end

문자열 연산(UTF-8)

let mesaj = "Merhaba Dünya! 🌍"
let len = len(mesaj)
let birleşik = "Hello " + "World"

오류 관리

try
    let dosya = aç("data.txt")
    print(input(dosya))
catch hata
    print("Dosya açılamadı: " + hata)
end

컴파일러 아키텍처

BERK 컴파일러는 현대적인 구조를 가지고 있습니다:

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)

프로젝트 현황

현재 버전:v1.0.0
마지막 업데이트:2025년 11월 18일
상황:적극적인 개발

완성된 기능 ✅

  • 렉서 및 파서(100%)
  • 유형 시스템 (100%)
  • LLVM 백엔드(100%)
  • CFG분석(100%)
  • IR 옵티마이저(100%)
  • REPL (100%)
  • VS 코드 확장(100%)

진행중인 연구

  • 런타임 라이브러리
  • 표준 라이브러리
  • 패키지 관리자
  • 디버거 통합

자세한 로드맵은로드맵페이지를 참조하세요.

커뮤니티와 공헌

BERK는 오픈 소스 프로젝트이며 기여를 환영합니다!

추가 리소스


준비됐나요? 설정섹션부터 시작하겠습니다!