10 puan yazan GN⁺ 2026-03-16 | 12 yorum | WhatsApp'ta paylaş
  • Korece anahtar kelimelerle yazılan, statik tipli bir derlemeli dil olup LLVM IR üzerinden yerel ikili dosyalar üretir
  • Rust ile geliştirilmiş derleyici ve yorumlayıcıyı birlikte sunar; hgl CLI ile derleme·çalıştırma·REPL·LSP işlevlerini destekler
  • 함수, 만약, 반복, 변수 gibi tüm anahtar kelimeler Korecedir; değişken ve fonksiyon adları da Korece tanımlanabilir
  • Dosya G/Ç, JSON, HTTP, düzenli ifadeler, tarih/saat, sistem çağrıları gibi pratik özellikleri yerleşik olarak sunar ve 18 örnek içerir
  • Hangul'un bilimsel yapısını ve kültürel yayılımını bir programlama dili olarak somutlaştırarak, Korece öğrenimi ile kodlamayı birleştiren yeni bir deneme olarak öne çıkar

Han dili genel bakış

  • Han, Korece anahtar kelimelerle yazılan statik tipli derlemeli bir dildir ve LLVM IR üzerinden yerel ikili dosyalar üretir
    • Rust ile yazılmış bir derleyici araç zinciri ve ağaç gezinimli yorumlayıcı içerir
    • hgl komutuyla yorumlayıcıyı çalıştırma, derleme, REPL ve LSP sunucusunu başlatma mümkündür
  • Tüm anahtar kelimeler Hangul ile oluşturulmuştur; örnekler: 함수, 만약, 반복, 변수, 출력
  • Hangul'un bilimsel yazı sistemini bir programlama dili olarak hayata geçirerek, dilsel estetik ile teknik kesinliğin birleşimini hedefler

Başlıca özellikler

  • Korece anahtar kelime ve tanımlayıcı desteği: değişken, fonksiyon ve struct adları Korece yazılabilir
  • Statik tip sistemi: 정수, 실수, 문자열, , 없음 olmak üzere 5 temel tip sunar
  • Derleme ve yorumlayıcı modu: LLVM IR → clang → ikili dosya üretimi veya anında çalıştırma
  • REPL ve LSP sunucusu: hgl repl, hgl lsp komutlarıyla etkileşimli çalışma ve kod tamamlama desteği
  • Yerleşik özellikler
    • Diziler, struct'lar, closure'lar, desen eşleme, istisna işleme, generic'ler
    • Dosya G/Ç, JSON, HTTP, düzenli ifadeler, tarih/saat, sistem çağrıları
    • Biçimlendirilmiş string'ler, hash map, yerleşik matematik fonksiyonları
  • 18 örnek program içerir: Hello World, HTTP API çağrısı vb.

Kurulum ve çalıştırma

  • Gerekli bileşenler: Rust(1.70+), clang
  • Kurulum adımları
  • VS Code eklentisi sunar: sözdizimi vurgulama ve LSP desteği
  • CLI komutları
    • hgl interpret <file.hgl> — yorumlayıcıyı çalıştırır
    • hgl build <file.hgl> — yerel ikili dosya derler
    • hgl run <file.hgl> — derledikten sonra hemen çalıştırır
    • hgl repl — etkileşimli mod
    • hgl lsp — LSP sunucusunu çalıştırır

Mevcut uygulama durumu

  • Tam çalışan özellikler
    • Veri tipleri, kontrol akışı, fonksiyonlar, string'ler, diziler, hash map, struct'lar, hata işleme, tip denetimi
    • JSON, HTTP, düzenli ifadeler, tarih/saat, sistem, dosya G/Ç, matematik fonksiyonları, modüller, generic'ler
  • Kısmen uygulanmış özellikler
    • hgl build sırasında closure, string ve dizi metotları için kod üretimi tamamlanmış değil
  • Henüz uygulanmamış özellikler
    • Null güvenliği (Option tipi yok), asenkron/paralel işleme, garbage collection, tail recursion optimizasyonu

Hangul ve programlama

  • Hangul, fonemik yapıyı görsel olarak ifade eden bilimsel bir yazı sistemidir; Kral Sejong tarafından 1443'te oluşturulmuştur
  • Han, Hangul'un bu yapısal açıklığını kod sözdizimine yansıtır
  • Dünya genelinde 16 milyondan fazla kişi Korece öğrenmektedir; Han, kodlama yoluyla Hangul öğrenme aracı sunar
  • Örnek anahtar kelimeler
    • 함수(function), 만약(if), 반복(for), 반환(return), 변수(variable), 출력(print) vb.

Tasarım ve yapı

  • Rust tabanlı derleyici ardışık düzeni
    • Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary
  • Proje yapısı
    • src/ — çekirdek derleyici ve yorumlayıcı kodu
    • editors/vscode/ — VS Code eklentisi
    • examples/, spec/, tests/ dahil
  • Tasarım tercihinin nedenleri
    • LLVM C API yerine metin tabanlı IR üretimi ile derleme sürecini basitleştirme
    • Yorumlayıcı hızlı çalıştırma, derleyici ise performans odaklıdır
    • Rust'ın desen eşleme ve bellek güvenliği, dilin uygulanması için uygundur

Testler ve lisans

  • cargo test ile 46 test (41 birim, 5 entegrasyon) çalıştırılır
  • MIT lisansı ile yayımlanmıştır

Kültürel önemi

  • Han, Hangul'un güzelliği ile programlamanın kesinliğini birleştiren deneysel bir dildir
  • Korece öğrenenler ve geliştiriciler için dil ile kod arasındaki sınırları kaldıran yeni bir yaklaşım sunar

12 yorum

 
runableapp 2026-03-17

Bu sayede faydalı bilgiler edindim. Temel gelişmeleri seçip sunan GeekNews, her gün ziyaret etmekten keyif aldığım bir yer. Ben de şu anda Korece bir programlama dili geliştiren biri olarak, bu tür girişimlerin sürmesini son derece olumlu buluyorum.

Uzun yıllar yurt dışında yaşayıp Kore'deki değişimi izlemiş biri olarak, İngilizcenin gündelik hayata ve genel olarak sanayiye gereğinden fazla nüfuz etmiş olması bana hep üzücü geldi. Pangyo lehçesi denilen kullanım, anlaşılması güç apartman adları, MSGR gibi garip menüler ve İngilizceyle dolu tabelalar, sanki dilimizin kendi kendini besleme gücüne zarar veriyormuş gibi görünüyor. Erken eğitim sayesinde İngilizce bariyeri azalmış olsa da, ana dilin sağladığı sezgisellik yerini hiçbir şeyle dolduramaz. Nasıl ki yurt dışında Korece bir tabela bir anda göze çarpıyorsa, beynimiz de ana dili işlerken en az enerjiyi harcar.

print("Hello, world!");

çıktı "Merhaba!"

Hangisi size daha doğal ve etkileyici geliyor?

Yapay zeka dil bariyerlerini yıkıyor olabilir, ancak Korece programlama dili araştırmaları, düşünce sistemimizdeki gereksiz bir 'çeviri katmanını' kaldırarak beyin verimliliğini en üst düzeye çıkarma çalışmasıdır. print yerine çıktının daha sezgisel gelmesi son derece doğaldır. Genel kullanım alanı ya da iş piyasasının mantığı nedeniyle hemen ana akım hâline gelmesi zor olabilir, ancak gelecekte daha olgun ve daha çeşitli Korece dillerin ortaya çıkıp ekosistemi zenginleştirmesini umuyorum.

 
mhcoma 2026-03-16

Korece yani... saçmalamayı bırakmak mümkün değil.

 
coremaker 2026-03-16

Tohum projesi aklıma geldi.

 
crawler 2026-03-17

Yazılım geliştirmeden çok uzun süre muhasebe işi yapmış biri gibi görünüyor ama bir derleyici yapıp GitHub’da 100’ü aşkın yıldız almış...
Gerçekten yapay zeka çağı gelmiş.

 
savvykang 2026-03-17

async-await yerine eşzamansız-bekle ile kod yazmayı düşününce kulağa rahat geliyor.

 
github88 2026-03-16

Programlama dillerinde önemli olan şey genel amaçlı kullanılabilirliktir..

 
m00nlygreat 2026-03-16

Hacker News tepkisinin olumlu olması komik lol

 
nottiger 2026-03-16

Vay, harika görünüyor.

 
bichi 2026-03-16

Merhaba, güçlü ve kuvvetli sabah!

 
sea715 2026-03-16

Vay canına

 
xguru 2026-03-16

Vay, bunu Hacker News'te görmek de güzel. Kral Sejong'a teşekkürler.

 
GN⁺ 2026-03-16
Hacker News yorumları
  • Korece programlama dilleriyle ilgileniyorsanız, işlevsel dil ‘Nuri’’yi tavsiye ederim
    Nuri GitHub bağlantısı
    Bu dil yalnızca anahtar kelimeleri çevirmekle kalmıyor, gerçek Korece dilbilgisi yapısını da koda yansıtabiliyor
    Örneğin “10'u 5'e böl ve yazdır” diye yazarsanız sonuç olarak “2” yazdırılır
    Bir diğer örnek olarak ‘Yaksok’ adlı bir dil de var. 2048 oyun örnek kodu tamamen Korece yazılmış

    • Geri bildiriminiz için teşekkür ederim. ‘Nuri’ ve ‘Yaksok’un ikisinin de makul ve iyi tasarlanmış diller olduğunu düşünüyorum, ancak ben şimdilik İngilizce kullanıcıların Rust’a çevrilmiş sürümü görebilmesine odaklanıyorum. Bunun daha büyük bir kullanıcı kitlesi oluşturabileceğini düşünüyorum
    • Neredeyse hiç Korece kelime bilmiyorum ama ‘Yaksok’un Japonca 約束(やくそく) ile aynı etimolojik kökene sahip bir kelime olup olmadığını merak ediyorum
  • Bunun gerçekten harika bir fikir olduğunu düşünüyorum. Hangıl, mantıklı biçimde tasarlanmış bir yazı sistemi, bu yüzden yarım günde öğrenilebilir
    Hangıl öğrenimi için StackExchange yanıtı

    • Bu tür mnemonic yöntemler gerçekten çok faydalı. Şu anda kullandığım Korece öğrenme rehberine de (tolearnkorean.com) eklemeyi planlıyorum
      Hangıl’daki harf sayısı İngilizceye yakın olduğu için hızlıca öğrenilebiliyor ama kelime ezberi biraz daha zor. Bu yüzden Anki ile birlikte benim yaptığım oyunlaştırılmış öğrenme uygulamasını kullanıyorum
    • Bu, Korelilerin bile çoğunun bilmediği kadar derin bir bilgi. Bu siteyi GitHub referans materyallerine ekleyeceğim. Böyle destek verenlerin olması sevindirici
    • İlgili bağlantıyı README’deki “Beauty of Hangul” bölümüne hemen ekledim
  • Korece ana dili olan biri olarak kısa bir görüş paylaşmak istiyorum
    İsimler doğal biçimde çevrilebiliyor, ancak İngilizcedeki emir kipli fiiller Koreceye aktarılırken dikkat gerektiriyor. Örneğin “find”, ‘bulmak’, ‘bulma’, ‘bulunmuş’ gibi biçimlere çevrilebilir ama bağlama göre kulağa garip gelebilir
    Çoğul da ayrı bir sorun. İngilizcede tekil ve çoğul net biçimde ayrılırken Korecede durum böyle değil. “kelimeler” gibi çoğulu özellikle belirtmek çoğu zaman daha da doğal olmayan bir sonuç veriyor
    Sadece anahtar kelime değiştirmek yerine, İngilizce ile Korecenin yapısal farklarını hesaba katarsa çok daha güçlü bir proje olabilir

  • Üniversitede bilgisayar mühendisliği okurken, programlama dillerinin İngilizce temelli olmasının İngilizce konuşanlar için büyük bir avantaj olduğunu hissetmiştim
    Yabancı öğrenci arkadaşlarım İngilizceye alışık olmadıkları için öğrenirken daha çok zorlanıyordu. Bu yüzden programlamanın yabancı dil kredisi sayılması gerektiği yönündeki şaka epey komikti

    • Ben tersini düşünüyorum. İngilizceyi pek bilmediğim dönemde de kendi kendime programlama öğrendim. Sonuçta dildeki anahtar kelime sayısı çok az ve ‘int’in integer’ın kısaltması olduğunu bilmemek hiç sorun olmuyordu
      Asıl zor olan programlamanın kendisini öğrenmek. Ama ileri düzey konuların ve belgelerin sadece İngilizce olması, ESL öğrenenler için büyük bir engel
    • Hindistan’da da İngilizce, BT sektörünün büyümesinin büyük nedenlerinden biriydi. Yerel dilde eğitim alan arkadaşlarım üniversitede İngilizce ders kitaplarını takip edebilmek için iki kat emek harcıyordu. Dil bariyerinin yetenek israfına dönüşmesi üzücü bir gerçek
    • İngilizce konuşmayan arkadaşlarım da anahtar kelimelerin programlama zorluğunun %1’ini bile oluşturmadığını söylüyor. Değişken ve sınıf adları zaten Unicode ile yazılabiliyor, bu yüzden çevirmeye neredeyse hiç gerek yok
    • İngilizcenin küresel standart hâline gelmesi makul. Birçok projede İngilizce kullanımı doğal
    • Asıl sorun anahtar kelimeler değil, ders materyalleri, makaleler ve dokümantasyonun tamamen İngilizce olması. Birkaç anahtar kelimeyi ezberlemek için 30 dakika yeterli
  • Korece bilmiyorum ama bu başlık sayesinde pek çok dilbilimsel içgörü edindim
    Hangılın fonolojik tasarımı (bağlantı),
    Korecede çoğul eklerinin özellikleri (bağlantı),
    LLM tokenizer’ları ile Korecenin token sıkıştırma sorunu (bağlantı),
    ve ünsüzlerle ünlülerin el yerleşimine göre ayrıldığı Hangıl klavyesinin ritmi (bağlantı) özellikle ilginçti

  • Bunun gibi denemelerin dil parçalanmasına (fragmentation) yol açabileceğini düşünüyorum.
    Herkes kendi dilinde bir programlama dili yaparsa iş birliği ve işe alım zorlaşır, teknik bilgi paylaşımı da güçleşir
    Bana göre tüm dünyanın tek bir dil kullanması savaşları ve yanlış anlamaları azaltırdı. Elbette kültürel çeşitlilik azalırdı ama iletişim verimliliği artardı

    • Yaratıcılık ve deney asla aptalca şeyler değildir. Yazar dili sanatsal bir deneme olarak üretmiş; bunu siyaset ya da iş dünyası açısından eleştirmek esas noktayı kaçırmak olur
    • O hâlde Esperanto ile yeni bir programlama dili yapmayı mı kastediyorsun?
  • Sadece anahtar kelimeleri çevirme yaklaşımı ilginç
    Örnek koddaki gibi

    Peonkeu Tuseom(araei: 목록[정수], tageuteu: 정수) -> 목록[정수]:
    동안 시작 < 끝:
    

    bu şekilde yazınca kod daha özlü olabilir. Ama büyük/küçük harf ayrımının avantajı kaybolur
    Dil yoğunluğundan bağımsız olarak bilgi işleme hızının benzer olduğunu duymuştum

    • 2000’lerin başında Çince Python çevirisi denemeleri vardı
      ilgili blog yazısı
      Ama başarılı olmadı. Çünkü bilgisayar ortamlarının çoğu zaten Latin harfleriyle giriş gerektiriyor ve birkaç anahtar kelimeyi ezberlemek zor değil
    • İyi bir nokta. ‘Han’ gerçekten Korece kelimeler (işlev, eğer vb.) kullanıyor ama örnekteki ‘Peonkeu’, ‘araei’ gibi ses uyarlamaları Korece kullanıcılar için tuhaf gelebilir
    • Scratch JSON tabanlı olduğu için çok dillilik kolay. Ama programcıların çoğunun İngilizce anahtar kelimeleri korumasının nedeni, dokümantasyonun, kütüphanelerin ve iş birliği ortamının İngilizce merkezli olması
      LLM çağında bile eğitim verisinin çoğu İngilizce kod olduğu için İngilizce kod hâlâ daha verimli olabilir
    • Japoncada giriş modu değiştirmek zahmetli olduğu için programlama açısından verimsiz. Hangılda da benzer bir sorun olabilir
    • Örnek eğlenceli
  • Harika bir proje. Yaklaşık 190 yıl önce(!) Kore’de üniversite okudum ve şimdi sadece temel seviyede Korece biliyorum ama örnek koda bakınca yeni kelimeler öğreniyormuşum gibi hissediyorum

  • Bu projeyi gerçekten çok beğendim. Kod örneklerine bakıp hiçbir şey anlamazken, İngilizce konuşmayan geliştiricilerin İngilizce tabanlı dilleri ilk gördüklerinde ne hissetmiş olabileceklerini empatiyle kavrayabiliyorum
    Lisp hâlâ parantez cenneti ama :-)

    • Asıl bariyer anahtar kelimeler değil, dokümantasyonun ve tartışmaların çoğunun yalnızca İngilizce olması
    • On yıllar boyunca İngilizce kullanmak makuldü. Yorumunuz için teşekkür ederim
  • Çin’in Easy Programming Language dilini hatırlattı
    EPL Vikipedi bağlantısı
    Yaklaşık 15 yıl önce Çin’de birçok çocuk programlamaya ilk kez bu dille başladı