İçeriğe geç

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

Go ve Tulpar ikisi de statik tipli, native ikiliye derlenir ve aynı performans sınıfında yer alır. Fark, kutudan çıkanda: Go’nun standart kütüphanesi HTTP ve JSON’ı içerir ama SQLite, bir ORM ve OpenAPI üretimini üçüncü parti modüllere bırakır — Tulpar bunların tamamını runtime’a gömer.

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

İki dil burada en çok ayrışıyor. Go’nun net/http’i routing’i halleder ama SQLite erişimi, bir ORM, istek doğrulama ve OpenAPI/Swagger dokümantasyonu her biri ayrı bir modül seçip içe aktarmak demek. Tulpar’da wings ve orm zaten runtime’ın bir parçası.

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.