İçeriğe atla

Carbon (programlama dili)

Vikipedi, özgür ansiklopedi
Carbon (programlama dili)
Carbon logo
Carbon'un GitHub organizasyonundaki logosu
İlk çıkışı19 Temmuz 2022
GeliştiriciGoogle
EtkilendikleriC++, Rust
İşletim sistemiÇapraz Platform
LisansApache-2.0
Olağan dosya uzantıları.carbon
Web sitesigithub.com/carbon-language/carbon-lang/

Carbon, Google tarafından "C++ Ardıl Dili" olarak oluşturulmuş deneysel bir genel amaçlı programlama dilidir. İlk olarak 2022 yılının Temmuz ayında Carruth Chandler tarafından CppNorth konferansında halka sunuldu. Dil, C++'ın belirlenen çeşitli eksikliklerini düzeltmeyi amaçlar, ancak bunun dışında benzer bir özellik seti de sağlar. Hedeflerinden biri, mevcut C++ kodu ile beraber çift yönlü birlikte çalışabilirliktir. Dil, C++'ın kullandığı ISO sürecinin aksine GitHub üzerinde tasarlanacak ve geliştirilecektir. Dil, Apache Lisansı (Sürüm 2) altında ücretsiz ve açık kaynaklı bir proje olarak geliştirilmiştir.

Carbon, GitHub üzerinde açık kaynaklı olarak geliştirilmeye devam ediyor. Carbon Programlama Dili'nin geliştirildiği diller ise; C++, Python, Starlark, JavaScript, Shell, HTML ve diğer dillerdir. Aktif olarak (18 Eylül 2022 Tarihinde) 97[1] geliştirici tarafından katkı sağlanmaktadır.

Carbon, resmi olarak "C++'ın deneysel halefi" olarak tanımlanmaktadır. Ancak ne kadar tanımı "halef" olsa da amacı C++ ile birlikte çalışıp, C++'ı daha hızlı, performanslı ve kullanışlı bir konuma getirmektir. Bunu sağlamak için dilde aşağıdaki özellikler bulunmaktadır.

  • Bitlere ve adreslere düşük düzeyde erişim ile LLVM kullanarak C++ performans eşleştirme
  • Kalıtımdan şablonlara kadar mevcut C++ kodu ile birlikte çalışma
  • Mevcut C++ yapı sistemlerinizle çalışan hızlı ve ölçeklenebilir yapılar. Daha güvenli temeller ve bellek açısından güvenli bir alt kümeye doğru artan bir yol

Carbon Programlama Dili'nin Hedefleri

[değiştir | kaynağı değiştir]

Carbon resmi olarak geliştiriciler tarafından aşağıdakileri desteklemek için tasarlanır;

  • Performans açısından kritik yazılım
  • Yazılım ve dil gelişimi
  • Okunması, anlaşılması ve yazılması kolay kod
  • Pratik güvenlik ve test mekanizmaları
  • Hızlı ve ölçeklenebilir geliştirme
  • Modern işletim sistemi platformları, donanım mimarileri ve ortamları
  • Mevcut C++ koduyla birlikte çalışabilirlik ve geçiş

Carbon Programlama Dili'nin Söz Dizimi

[değiştir | kaynağı değiştir]

Carbon ile bir Merhaba Dünya Programı için aşağıdaki kod bloğu kullanılır:

fn Main() -> i32 {
    Print("Hello, World!");
    return 0;
}

Carbon, aşağıdaki C++ kodunu onun da altındaki Carbon koduyla karşılar.

#include <math.h>
#include <iostream>
#include <span>
#include <vector>

struct Circle {
    float r;
};

void PrintTotalArea(std::span<Circle> circles) {
    float area = 0;
    for(const Cirlce& c : circles) {
        area += M_PI * c.r * c.r;
    }
    std::cout << "Total area: " << area << "\n";
}

auto main(int argc, char** argv) -> int {
    std::vector<Circle> circles = {{1.0}, {2.0}};
    //'vector'ü örtük olarak 'span'e dönüştürün
    PrintTotalArea(circles);
    return 0;
}

Yukarıdaki C++ kodu, aşağıdaki Carbon kodu ile aynı işlevi görür.

package Geometry api;
import Math;

class Circle {
var r: f32;
};

fn PrintTotalArea(circles: Slice(Circle)) {
    var area:f32 = 0;
    for(c: Circle in circles) {
        area += Math.Pi * c.r * c.r;
    }
    Print("Total area: {0}", area)
}

fn Main() -> i32 {
    var circles: Array(Circle) = ({.r = 1.0},
                                  {.r = 2.0});
    PrintTotalArea(circles);
    return 0;
}

Dışa Bağlantılar

[değiştir | kaynağı değiştir]