Base Teknoloji: Teknoloji Başkadır.

Türkçe Programlama Dili Geliştirmek

Bir programlama dili geliştirmek başlıklı girdiden sonra Türkiye’de daha önce geliştirilmiş bir programlama dili var mı diye araştırmaya başladım. Sonradan aklımı bir programla dilinin Türkçe olup olamayacağı kurcalamaya başladı.

Öncelikle Türkiye’de geliştirilmiş programlama dillerine bir göz atalım, sonra ana konumuza döneceğiz.

Türkiye’de Geliştirilmiş Programlama Dilleri

Daha önceden sadece Tupol‘u biliyordum. Biraz araştırdıktan sonra (ve önceki yazıya gelen yorumlardan birisi sayesinde) birkaç tane dile rastladım.

Bunlar;

  • Yunus (Resmi SourceForge sitesi)
  • Tupol 2.0
  • EVPL (bunun gerçekleştirildiğinden emin değilim)
  • Basit (Basic klonu) 
  • Quilt (Dil ve derleyicisi  Ersin Karabudak tarafından geliştirilmiş. Hakkında fazla birşey bulamadım)
  • Pozitif – Türkçe Programlama Dili (link)
  • TPD (Türkçe Programlama Dili)

Benim bulabildiklerim bu kadar. Eğer siz daha fazlasını biliyorsanız ya da yukarıdaki diller hakkında döküman olacak adresler biliyorsanız lütfen yorum kısmında paylaşın.

Türkçe Programlama Dili Geliştirmek

Aslında çoğu şirket kendi dilini kullanmaktadır. Genellikle kendi yazdıkları programlar içerisinde kullanmak için veya kolaylıkla özellikler eklemek için bu tarz diller geliştirmek çok yabancı birşey değil. Bu sebeple Türkiye’de kimse kendi dilini geliştirmiyor diyemem. Ama iş tam donanımlı bir derleyiciye gelince onu yapan kimseye daha rastlamadım.

Bu noktada internet camiasında iki ayrı tartışma dönüyor. İlki varolan programlama dillerinin Türkçe’ye çevrimi hakkında, ikincisi ise sıfırdan Türkçe bir programlama dili geliştirmekle ilgili.

Bu tartışmalardan ilkine ekşi sözlükteki bir yazar tam benim düşündüğüm cevabı vermiş : “ zaten allahin c’sinde kac kelimelik ingilizce var ki? kasmaya degmez.” Yani, tanımlanan ögelerin isimleri Türkçe verilirse çokta problem kalmayacaktır.

Ayrıca dilin Türkçeye çevrilmesiyle daha fazla kullanıcı çekeceğine ya da daha kolay öğrenileceğine inanmıyorum. 

İkinci argümanla ilgili olarak şu araştırmadaki giriş kısmı oldukça önemli. Türkçe bir programlama dilini başarılı kılacak yegane şey, Türkçe bilen kişiler tarafından daha efektif kullanılabilmesidir. Bu da ancak dili sıfırdan yazmakla mümkün olur.

Burada benim düşüncem şu; Küresel anlamda bilgisayarların birbirlerine bağlanmalarından beri (internet) haberleşme kolaylığı ve globalleşme kademeli olarak artış göstermiştir. Bunun sonucunda herkes herşeye heryerden ulaşabilir olmuştur. Siz Türkçe bir programla dili geliştirdiğinizde bunu Türkçe bilmeyen devasa bir kitleye yayamayacaksınız. İngilizce zaten dünya dili olmuş durumda, bu konuda pek bir sorunu yok.

Eğer bu konuya milliyetçi bir bakış açısıyla yaklaşırsanız (aynı pardus gibi) hataya düşersiniz. Bu tarz görüş sergileyenlere (genelde amerikan çocuklarının küçük yaşlarda programlama dillerini kolaylıkla öğrendiklerinden bahsediyorlar), Japonya’da, Almanya’da ya da diğer gelişmiş ülkelerde bizim kullandığımız (ve dünyanın genelinin kullandığı) ingilizce tabanlı dillerin kullanıldığını hatırlatmak isterim.

Türkçe’de ifadeler genelde ingilizceden daha uzundur. Onların tek kelimeyle ifade ettiklerini biz genelde kelime öbekleriyle ifade ederiz. Türkçe’nin yapısı bu. Bu durumda Türkçe geliştirilecek bir dilde daha fazla yazmak gerekecektir.

Bu noktada programlama dillerini doğal dillere yakınlaştırma çabasını anlamsız bulduğumu da belirteyim. Bu konuda karşımızda koskoca bir COBOL örneği var. COBOL belkide doğal bir dile (ingilizce) en yakın programlama dili. Belki ilk dönemlerinde başarılı olsada şimdi tarihe karışmış durumda. Ben bunun nedeni olarak, doğal dil yapısının matematiksel düşünce yapısına çokta fazla uymamasını gösterebilirim. Bunun için çok karmaşıklar. Ayrıca insanların günlük hayatlarındaki problemlerle, bilgisayarlara anlatılmaya çalışan problemler oldukça farklı yapıdalar.

Sonuç

Türkçe bir programlama dili geliştirilmesine karşı değilim. Sadece globalleşme ve ingilizcenin baskın hakimiyeti gibi nedenlerden dolayı olayın akademik araştırmalardan öteye gidemeyeceğini düşünüyorum. Türkçe bir programlama dilinde yazılacak bir programı, uluslarası projelerde Türkçe bilmeyen kimse kullanamaz örneğin. 

Bu konuyu itü sözlük’ten bir alıntıyla kapatmak istiyorum;

Kısaca şunu diyorum: Türkçe değerlidir. Türkçe ana dilimizdir. Korumak, geliştirmek hepimizin görevidir. Ancak, önümüzde duran her şeyi Türkçeleştirerek sadece dışa kapalı bir bilim yaparız, dışarıda yeni bulunan bir şeyi anlamak için birilerinin tercüme etmesini bekleriz. Bu bekleyiş sonucu yine ve yeniden geri kalırız. Ayrıca bilimin evrenselliğine ve insanlık için üretilemesi gerektiği fikrine tezat düşeriz; zira birilerinin bizim bulduğumuzdan faydalanması için Türkçe’den çevirmesi gerekir (bu içten içe bana gurur verir aslında; ama doğru olan bu değildir). 

Ama bu demek değildir ki birisi çıkıp bütün lafları geçersiz kılacak birşeyler yapamasın.

Kaynaklar

Ekşi Sözlük – Türkçe Programlama Dili

İtü Sözlük – Türkçe Programlama Dili Olmaz

İtü Sözlük – Programlama Dilleri Türkçe Olsa Olabilecekler

Ceviz Net Forum – Türkçe Programlama Dili

Sercen Tutar – Türkçe Programlama Dili Araştırması



Bu yazı istenilen yerde istenilen şekilde yayınlanabilir (değişikliklerden yazının orjinalini yazan yazar kesinlikle sorumlu değildir). Sadece yazdığınız yazının altında veya üstünde orjinal yazıya link verirseniz sevinirim. Vermezsenizde sorun değil. İlginiz için teşekkürler.

Paylaş


        

  • Digg
  • Stumble it!
  • Reddit
  • del.ici.ous
  • Add to Technorati Favorites
  • Oyyla
  • Bağcık
  • 100 Puan
  • Linkibol
  • Teknikim
    • Öncelikle belirteyim yazınızın neredeyse tamamına katılıyorum. Yani itiraz edilecek pek bir durum yok. Ama aradan cımbızla bir iki şey çekmek isterim.

      Başlık, “Türkçe Programlama Dili Geliştirmemek” olsa daha konuya uygun düşerdi :) (son paragrafı okumama ve katılmama rağmen)

      Madem C’de doğru düzgün İngilizce kelime yok, Türkçe programlama dili de pekala kullanılabilir. (Kıstas buysa -ki biliyorum değil-)

      Daha bugün bir arkadaşla espri konusu olmuştu: “ya değişken vs. tanımlarken inadına herşeyi Türkçe tanımlayayım diyordum ama VirtualPath’de takıldım kaldım. Ne yazacağım ‘gerçek yol’, ‘hak yol islam’ :) falan mı.. vazgeçtim…”

      Böyle düşünmeme rağmen bu yaklaşımı doğru bulmuyorum. Zaten mota mot bir yaklaşım ya da bire bir ingilizce’nin çevirisi olarak düşünmek baştan yanlış olur.

      Türkçe programlama dili gelecek dertler bitecek diye bakmamak lazım. Türkçe ile ufak “oyunlar oynamanın” onu da işin içine çekmenin zararı yok bence. Bırak ya olmaz, diye onu soyutlamadan. Keşke bu anlamdaki akademik çalışmalar artsa. Kimsenin acelesi yok… Beklentisi de…

      En azından Türkçe’nin gelişen teknolojiye yaklaşması bazılarının dilimize yapışmış “e-mail” yerine “elmek” diyeceksin gibi absürd, aşırı kuralcı davranışlarına mani olur. Bu aşinalık yaratıcılığın önünü açar. Mesela Türkçe’yi yasaklasalar bu son nesil yok olmadan hiçbir Türk’e “bilgisayar” yerine “computer” dedirtemezler. Bunun gibi pek çok başarılı Türkçe terim var.

      Dilimizi teknolojiden soyutladıkça bu işler de “kokuşmuş, kuralcılara” kalıyor.  Kırk yıllık String’e “karakter katarı” deyip çıkıveriyorlar işin içinden. Böylesi daha mı iyi?

      Evet, varsın C Sharp’a kafa tutan bir Türkçe Programlama dili olmasın. Ama dilerim akademik çalışmalar bitmesin. Türkçe dışlanmasın. Dışlanmayı bırakın “olabildiğince” gelsin, işin içine girsin.

      Ne şovenlik yapmaya gerek var (ya da bu tür girişimleri şovenlik olarak görmeye) ne de komplekse kapılmaya… 1000 küsür yıllık tarihi olan Türkçe bizim dilimiz.

      Sokakta bulmadık ki…

    • Yorumunuz ve katkılarınız için teşekkürler. 

      İlk olarak başlık önerinize kesinlikle katılıyorum onu belirteyim :)

      Evet, durumları birebir ingilizcenin çevirisi olarak düşünmek yanlış ama, sırf C’deki anahtar kelimeleri (ve kütüphane metodlarının isimlerini) Türkçeye çevirmekte aynı derecede anlamsız. Yani buna sarfedilecek eforla elimize ne geçecek? Eğer yapılacaksa bir dilin Türkçe olarak, sıfırdan ve kendi kurallarıyla yapılması daha iyi bir yaklaşım olacaktır.

      Ben zaten Türkçe bir programlama diline karşı değilim, sadece bununla ilgili görüşlerimi (genel olarak olumsuz) belirttim. Ama akademik çalışmalar konusunda haklısınız, bencede kesinlikle durmamalı hatta hızlandırılmalı.

      Burada eğer sizin dediğiniz gibi C#’a kafa tutan bir dil geliştirilemezse maalesef bu dil yokolmaktan kurtulamaz. Ben yukarıdaki diller için (onların çoğu akademik kökenli dikkat edin) bilgi kırıntıları toplarken bile göbeğim çatladı. Zaten ülkede herhangi bir destek söz konusu değil. Güya devlet ar-ge çalışmalarına destek oluyor (bir dil geliştirmekten ala ar-ge çalışması mı olur diye sorabilirsiniz). Ama ortada herhangi bir destek yok. Hal böyle olunca geliştirilen şeyler duruyor. Belki yukarıdaki dillerden birisinin geliştirme çabalarına biraz destek verilseydi durum böyle olmazdı.

      Tabii destek illa devletten gelecek değil. Bunu özel sektör hatta geliştirme toplulukları da verebilir pekala. Benim gördüğüm heryerde Türkçe dil geliştirilsin diyen birçok kişi var. Keza açık kaynak felsefesini savunan, üzerine toz konudurmayan binlerce insan var. Peki soruyorum size, bu insanlar şimdi nerde? Madem o kadar özgür yazılım felsefesini benimsediniz (burada şunu ekleyeyim, özellikle Türkiye’de özgür yazılım felsefesini benimsemek demek, benim gördüğüm kadarıyla, sadece özgür yazılım kullanımını benimsemek demek. Onları geliştirmeye katkıda bulunmak değil) neden kimsenin bir katkısı yok. İnternette biraz araştırma yaparsanız ya da verdiğim linkleri ziyaret ederseniz, geliştiricilerin destek yoksunluğu yüzünden bu işleri bıraktığını görürsünüz.

      Özet olarak şunu söyleyebilirim, madem Türkçe bir programlama dilinin geliştirilmesini isteyen bu kadar insan var, o zaman toplanıp birşeyer yapma vaktidir. Bu işler sadece olsun demekle ya da konuşmakla olmuyor.

    • insanlar türkçe programlama dili derken çok basit anlamlar çıkartıyorlar kimi zaman.. for yerimne için if yerine eğer demek gerektiğini savunduğumuzu düşünüyorlar… oysaki esasında ingilizce gramer ve mantığından yola çıkılarak oluşturulmuş günümüz betikleri yerine, türkçe mantığına dayalı bir betik hatta yeni bir makine dili oluşturulmalı… bence gerekirse amerika yeniden keşfedilmelidir ;)

    • Harika bir çalışma, destekliyorum.

    • Yunus Türkçe Programlama dilini tasarlamaya başlama nedenim, Delphi’nin çok esnek olması ve bol kaynak (www.delphiturk.com) olmasıydı. 2001-2003 yıllarında hemen her ay bir sürüm çıkardım. Ama zamanla klasik programlama mantığı ile tasarladığım için spagetti koda dönüştü. 2.8 sürümünden sonra terketmeye karar verdim.

      Zaten kimsenin de umurunda değildi, o sıralarda. Son birkaç yıldır ise, üniversite öğrencileri proje konusu olarak “dil” yazımını seçmiş, benden yardım istemişlerdir. Aradan geçen zamandan sonra tekrar Delphi’ye dönüp, kodları düzenlemek bile ağır geliyor artık. Bunun dışında ticari program üreten bir yazılımcı arkadaş da Türkçe script dili ile basit ERP uygulamaları ile ilgili haberleşti.

      Çekirdekde assembly ve C# gibi diller kullanılarak, basit form/rapor/sorgu pencerelerinde Türkçe dil kullanılması, programlamacılığın Türkiye’de daha fazla yayılmasına neden olabilir.
      Lise ve üniversitedeki öğrencilerin bazıları (%5) gerçekten iyi programcılar. Ama çoğu içiçe if veya for yazamıyor, dizi değişkeni yapamıyor. Keşke herkesin rahatça kendi dilinde program yazabileceği bir altyapı olsa.

      Basic dilinin en basit programlama dili olduğu zannediliyor. Bazı üst seviye programcılar basit olmasından dolayı “dil” bile demiyorlar. Oysa Lisp ve Ruby gibi daha basit ve nesne tabanlı diller var. Meslek lisesi yıllarında öğrenciler bu diller ile programlamaya başlamalıdır.
      Özellikle Basic’de Goto gibi birçok tembelleştirici alışkanlık kazandırılıyor. Kodların okunaklılığı ve taşınabilirliği önemlidir.

      “Açık kaynak” denilince sadece Pardus ve Linux akla geliyor. Türkiye’de kodlar açık olan projeler yaygın değil. Olsa bile kimse kodları alıp, daha iyisini yapmaya çalışmıyor, ya da bilen programcı en baştan kendisi yazmayı tercih ediyor.

      Kodları sınıf veya kütüphane şeklinde yazmaya alışmak gereklidir. Diğer programcıların kendi projelerinde kullanabilmeleri için. Modüler programlama zor değildir. Daha derli toplu kod yazılır.

    • Adamın biri türkçe programlama kütüphanesi yazmış;
      http://site.mynet.com/arcokyazilim/
      http://arcok.forumup.com/

    • Türkçe programlama dili, programlamanın küçük yaşlarda öğrenilmesi için çok gerekli. İkokul 2. veya 3. sınıfta daha Türkçe’yi doğru dürüst konuşamayan çocukların ingilizce ile karşılaşmaları gözlerini korkutuyor. Scratch adlı yazılımı Türkçe’leştirmek için herkes katkıda bulunabilir. Benzer şekilde açık kaynak kodlu programlama dillerine destek verelim.

    • @Kerim : Scratch’i ben ilk defa görüyorum. Biraz inceleyince oldukça yararlı olabileceğini gördüm. 8 yaşından büyük çocuklar için bir çizim programlama dili ancak mit’nin bir çalışması olabilirdi zaten :)

      Siteside şu anda kısmen türkçe. Kesinlikle bunun türkçeleştirilmesi gelişim için çok faydalı olacaktır. Burdan yetkilileri (kendimde dahil) göreve çağırıyorum!

    You can follow any responses to this entry through the RSS 2.0 feed.