İçeriğe geç

Tulpar ve Rust Karşılaştırmaları

Rust ve Tulpar ikisi de derleme zamanında native ikiliye derlenir, VM ya da GC duraklaması yoktur ve aynı performans sınıfındadırlar. Asıl fark bellek modeli ile “kutudan çıkanlar” arasında: Rust’ın ownership/borrow checker’ı garbage collector olmadan bellek güvenliği sağlar, ama standart kütüphanesi ne bir HTTP sunucusu ne de SQLite bağlaması içerir — bunlar actix-web, sqlx, diesel gibi crate’lerden gelir. Tulpar’da borrow checker yok, ama wings ve orm zaten runtime’ın bir parçası.

JSON ve Struct Kullanımı
Diziler ve Döngüler
String İşleme

Rust’ın standart kütüphanesinde HTTP sunucusu yok, bu yüzden en basit bir API bile actix-web ve JSON için serde gibi bir crate gerektirir — SQLite, bir ORM ve OpenAPI dokümantasyonu da (sqlx/diesel, utoipa, …) bunun üzerine eklenen ayrı crate’lerdir. Tulpar’da wings ve orm derleyicinin kendi runtime’ında gelir.

import "wings";
import "orm";
orm_open("app.db");
define_model("users", {
"id": "INTEGER PRIMARY KEY AUTOINCREMENT",
"name": "TEXT NOT NULL",
"age": "INTEGER"
});
func list_users(req) { return ok(orm_all("users")); }
func create_user(req) { return created(orm_create("users", req.json)); }
get("/users", "list_users");
post("/users", "create_user");
body_schema({"name": "str", "age?": "int"}); // hatalı body → otomatik 422
serve(8080); // + Swagger UI, /openapi.json, /metrics, /healthz

Tulpar tarafının rehberli, üç uygulamalı versiyonu için Wings Öğreticisi’ne, ham HTTP verimi karşılaştırması için Benchmark Sonuçları’na bakın.