Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>BERK LanguageNew to Visual Studio Code? Get it now.
BERK Language

BERK Language

Mustafa Baris Arslantas

|
643 installs
| (2) | Free
BERK — a bilingual (Turkish/English) systems programming language for safety-critical and embedded systems. Pure, deterministic and bounded function contracts are checked in the language core: code that breaks its promise never runs. Fully offline LSP, debugger and LLVM toolchain with Authenticode-s
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info
BERK logo

BERK — VS Code Language Support

A modern systems programming language built around certifiable determinism and proof.

BERK, güvenlik-kritik ve gömülü sistemler için tasarlanmış, Türkçe ve İngilizce iki dilli söz dizimine sahip bir sistem programlama dilidir. Saf, deterministik ve sınırlı fonksiyon sözleşmeleri dilin çekirdeğinde denetlenir: sözünü tutmayan kod hiç çalışmaz.

Version Installs Rating License: GPL v3 Made in Türkiye

Code signing YouTube BERK 1.0.0 GA Machine-checked effects Target platforms Determinism Certification target

Güven Kanıt İster. — Trust Requires Proof.

berk-systems.com · berk-tech.com · Berk Studio — download · YouTube tutorials · Playground


Why BERK

BERK is a deterministic, certification-oriented systems language: determinism, purity, WCET bounds, heap-less and panic-free execution are machine-checked effects, not conventions. Error handling is contract-based and traceable, not panic — a violated contract stops the program before it runs.

  • Contracts, not monads — behavior is provable rather than merely tested.
  • 16 machine-checked effects & capabilities — determinism, purity (saf), WCET bounds, heap-less (yığın-yok) and panic-free (panik-yok) are enforced by the compiler; etkiler(sabit_zaman) (constant-time) gives side-channel resistance.
  • Engineered for certification — designed to meet DO-178C, ISO 26262 and IEC 62304 (these are targets; there is no formal certification yet — maturity ≈ TRL 4). Where a wrong bit is not an option.
  • Pure-Rust DDS/RTPS 2.4 stack — wire-compatible with Eclipse CycloneDDS and eProsima Fast-DDS (the principal ROS 2 RMWs); 681 unit tests.
  • One safe HAL, 18 MCU families (19 targets counting desktop & WebAssembly) — pure-BERK bare-metal across Cortex-M, RISC-V, ESP32… behind a single API, with an opt-in LLVM/AOT backend for C/C++-level performance.
  • Two languages, one syntax — canonical Turkish keywords with full English equivalents, and a core standard library that ships prefixed English aliases (str_*, list_*, map_*, istats_*, parse_int, …) next to the Turkish originals.

BERK is one of five products that form a single proof chain — from language to network, from the OS layer to the digital twin — built by LL BERK Yazılım Teknolojileri A.Ş.

Syntax note: BERK blocks are written with yap … son (do … end), not { }. A newline ends a statement — no semicolons.

Berk Studio — the official IDE

Berk Studio is the official development environment of the BERK language. It brings the code editor, the package manager and the Visual, Web API, Embedded (PCB/Gerber), CAD (B-Rep) and AI Model designer panels under one roof — the design is data, code is generated from it, and every claim is verified by a proof report. The core edition (IDE + Visual Designer) is free.

Berk Studio IDE — Turkish-first coding with live signal-lab output
IDE — Turkish-first coding, live output
Visual Designer — a 76-widget CRM dashboard built in minutes
Visual Designer — a 76-widget CRM dashboard, built in minutes
Embedded Designer — schematic to routed PCB with validation
Embedded — schematic → routed PCB → Gerber
BERK CAD — your PCB imported into a parametric B-Rep 3D scene
CAD — the same board, now a parametric 3D model
AI Model Designer — visual graph with compiler-verified generated code
AI Model — visual graph, compiler-verified code
Web API Designer — route table to proven BERK API server
Web API — route = data = proof, deploy-ready

Download: berk-tech.com/indir.html (TR) · berk-tech.com/en/download.html (EN) — Windows 10/11, 64-bit.

This extension is the lightweight companion for developers who prefer VS Code: the same compiler, LSP, linter, REPL and package manager, fully offline.

Features

  • Syntax highlighting for .berk / .brk (TextMate grammar) plus a bundled BERK Dark theme.
  • Language Server (LSP) — completion with grammar-true snippets, document-symbol completion (your own functions and variables), hover, go-to-definition, references, rename, signature help, document symbols, code actions, semantic tokens, inlay hints, and code lens.
  • Debugging (DAP) — launch/attach, breakpoints, and step debugging.
  • Build & run — run the current file, build native executables, and emit LLVM IR or assembly.
  • Linting & formatting — on-demand lint, berk fmt-backed document formatting, format-on-save.
  • REPL and project scaffolding (New Project).
  • UTF-8 Turkish terminal so ğ ü ş ı ö ç render correctly on Windows PowerShell.
  • BPM aware — works with the BERK Package Manager (bpm) for signed package install & use.
  • AI-assistant ready — discovery metadata lets AI assistants learn BERK correctly and lazily load per-library training docs (see AI assistant support).

Learn BERK on YouTube

Step-by-step video tutorials, in Turkish and English, from first program to the Studio designer panels: youtube.com/@BerkSystemProgrammingLanguage

  • BERK 101 / 201 — the language, from basics to advanced patterns.
  • Berk Studio series — Visual, Web API, AI Model, Embedded (schematic → PCB → Gerber) and CAD walkthroughs, produced with the built-in presentation engine.

Requirements

The extension looks for the BERK toolchain (berk, berk-lsp, berk-repl, berklint, bpm); a bundled copy ships under bin/ — all five binaries are Authenticode-signed by LL BERK Yazılım Teknolojileri A.Ş. (Sectigo Cloud OV, RFC 3161 timestamped). To use your own toolchain, set berk.compilerPath / berk.lspPath in Settings. If a binary is missing, the command falls back to the name on your PATH.

Quick start

  1. Install the extension.

  2. Open or create a .berk file.

  3. Write a program:

    fonksiyon ana() -> sayı yap
        yazdır("Merhaba, BERK!")
        döndür 0
    son
    

    or, with English keywords:

    function main() -> sayı do
        print("Hello, BERK!")
        return 0
    end
    
  4. Press Ctrl+Shift+B to run, or F5 to debug. Or try it in the browser at the playground.

Commands

Open the Command Palette (Ctrl+Shift+P) and type BERK:. Highlights:

Command Description
BERK: Run Current File Run the active .berk file
BERK: Build Project Build the workspace project
BERK: Compile to Native Executable LLVM native build (-O2 default)
BERK: Emit LLVM IR / Emit Assembly Emit .ll / .s for the current file
BERK: Start REPL Interactive BERK session
BERK: Format Document Format the current file
BERK: Lint Current File Run the linter
BERK: Run All Tests Run the project's tests
BERK: Debug Current File Start a debug session
BERK: Create New Project Scaffold a new BERK project
BERK: Setup UTF-8 Terminal Enable Turkish characters in the terminal
BERK: Toggle Turkish/English Switch preferred keyword language

Keyboard shortcuts

Shortcut Action Shortcut Action
Ctrl+Shift+B Run current file F5 Debug current file
Ctrl+Shift+N Compile to native Ctrl+Shift+T Run all tests
Ctrl+Shift+F Format document Ctrl+Shift+L Lint current file

Settings

Setting Default Description
berk.preferredLanguage auto Preferred keyword language (turkish / english / auto)
berk.compilerPath berk-lang Path to the BERK compiler
berk.lspPath (auto) Path to the LSP server (empty = auto-detect from bin/)
berk.enableLinter true Enable the linter
berk.format.onSave true Format BERK files on save
berk.llvm.optimizationLevel O2 LLVM optimization level (O0–O3)
berk.llvm.emitType exe Default LLVM output (exe / llvm-ir / asm / obj)
berk.inlayHints.enable true Show inlay type hints
berk.codeLens.enable true Show reference/implementation code lens
berk.terminal.enableUtf8 true Auto-enable UTF-8 for Turkish characters
berk.trace.server off Trace LSP communication (off / messages / verbose)

Packages (BPM)

Functionality beyond the core standard library is delivered as ed25519-signed packages via the BERK Package Manager:

bpm install json --strict     # verify the signature on install
kullan json
değişken v = json::ayrıştır(metin)

Public ecosystem (open registry): BerkROS, BerkRTOS, BerkFinance, BerkBio, BerkAI, and the civil DSP spectral package, alongside the general-purpose standard library.

Sector packages (licensed — authorized distribution only): domain libraries for Avionics (DO-178C), Automotive / ADAS (ISO 26262), Medical (IEC 62304), Railway (EN 50128), Space (ECSS), Robotics (ROS 2), Telecom, DDS/RTPS, industrial protocols, reproducibility, and defense applications. These are not on the public registry and ship only through authorized, offline channels — contact us for access.

AI assistant support

The extension carries guidance so AI coding assistants (Copilot, Claude, Cursor, Gemini, …) produce correct, compilable BERK:

  • BERK_AI_REHBERI.md — full syntax, type tables, method lists, execution modes (interpreter / paketle / LLVM AOT) and common pitfalls. Shipped with the extension and copied into your workspace as .berk/BERK_AI_REHBERI.md (with STDLIB_AI_REHBERI.md) so assistants that only read the workspace can find it.
  • STDLIB_AI_REHBERI.md — the standard-library model: import rules, value semantics, error discipline.
  • egitim_indeks.json + stdlib_rehber/ — a discovery index for lazy-loading per-library training docs (egitim_listesi / egitim_oku), so assistants pull only the library in use rather than the whole corpus.
  • Package awareness: the workspace file .berk/EGITIM_DURUM.md also lists the public BPM packages that are not installed yet (name · area · description), so an assistant can recognise "this task needs fem" and offer bpm install fem --strict. Run BERK: AI Asistan Yönergesini Projeye Ekle / Add AI Assistant Guide to Project to point your project's AGENTS.md, CLAUDE.md or .github/copilot-instructions.md at it.

Language at a glance

tip Nokta = yapı yap x: ondalık, y: ondalık son

saf fonksiyon uzaklık_kare(p: Nokta) -> ondalık yap
    döndür p.x * p.x + p.y * p.y
son

fonksiyon ana() -> sayı yap
    değişken noktalar = []
    noktalar.ekle(Nokta yap x: 3.0, y: 4.0 son)
    her biri p içinde noktalar yap
        yazdır(uzaklık_kare(p).metin())
    son
    döndür 0
son
  • Blocks yap … son (or do … end); conditionals eğer … ise yap … değilse yap … son.
  • Loops iken …, her biri x içinde … yap … son; match eşleştir … yap … son / match … do … end.
  • Generics use square brackets: Sonuç[T, E], liste[bayt].
  • Errors: built-in Sonuç[T,E] (Tamam/Hata — Ok/Err) and Seçenek[T] (Bazı/Hiç) with ? propagation.
  • English-keyword code can freely call Turkish stdlib names, or use the prefixed English aliases.

Documentation & links

  • Language, docs & playground: berk-systems.com — Why BERK · Platforms · Determinism certificate · Packages
  • Berk Studio (official IDE): download — TR · download — EN
  • Video tutorials: YouTube — @BerkSystemProgrammingLanguage
  • Company & licensing: berk-tech.com · Contact · info@berk-tech.com

License

Released under the GNU General Public License v3.0 — see LICENSE.

© 2026 LL BERK Yazılım Teknolojileri A.Ş. (Muğla, Türkiye). BERK and the BERK logo are marks of LL BERK Yazılım Teknolojileri A.Ş.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft