Programlama Dili Nasıl Yazılır?

Başlatan kamboccia, 03 Şubat 2011 - 11:37:24

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ulusoyab

Alıntı yapılan: heartsmagic - 11 Şubat 2011 - 00:51:40
Nasıl olduğu da sanırım o belgenin sonlarına doğru anlatılmakta, fırsat bulabilirsem bir ara Türkçeleştirmeye çalışırım.
Bir gelişme var mı?

heartsmagic

Ne yazık ki vakit bulamadım ve muhtemelen önümüzdeki günlerde de bulamayabilirim çeviri için. Konu favorilerimin altında duruyor ama hâlâ.

Çeviri Tayası'na ithaf olunur :)
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Yiğit Ateş

Konuya uzak olduğum için algılayamadım, belgenin tam olarak hangi bölümünün çevrilmesi isteniyor?

heartsmagic

Tamamı uzun olmazsa tamamı, olmadı özet şeklinde olabilir belki. Ancak özet pek verimli olmayabilir.
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

Yiğit Ateş

Söz vermeyeyim ama yarın bakmaya çalışırım.

mami96

C ile degil, C++ ile yazilmis olmasinlar?

C ogrenmeye tesvik etmeyin. Bos yere cabalayip duracaklar. C kotu bir dil demiyorum. Hala ust seviye. Ama C++ kadar geliskin degil.

MRWhite

Bilgisayarlar bizim yazdığımız programları anlayabilmek için çeşitli araçlara(programlara) ihtiyaç duyuyor. Bunları compiler, interpreter, hybrid-compiler olarak duymuş olabilirsiniz. Bu yazılımların temelde yaptığı şey bizim yazdığımız source codeları alıp kendilerine göre işleyip makinemizin anlayacağı bir hale sokmak. Bir örnek vermem gerekirse; main.c dosyasını  gnu compiler collection alıyor ve bilgisayarın anlayacağı bir hale dönüştürüyor. Dolayısı ile biz bir programlama dili yazmak istediğimizde öncelikle o dili anlayacak ve bilgisayarın anlayacağı dile çevirecek bir yazılım yazmamız gerekiyor.

gnukarabatak

Konuyu hortlatmak gibi olacak ama naçizane bir katkıda bulunmak istiyorum. Zamanında zannedersem tahminimce 1996-1998 yıllarında bir iki gönüllü İstanbul Teknik Üniversitesi öğretim üyesi/görevlisince Türkçe Pascal projesi başlatılmış, ve epey bir yol almıştı. Ancak daha sonra bu proje çalışmasını sonlandırmak durumunda kalmışlardı. Sonrasında yaptıkları çalışmaları birileri geliştirmeye devam eder düşüncesiyle internette dağıtıma açmışlardı. Hatta benden indirmiştim. Örnek olması açısından şöyle çalışmaktaydı :

BAŞLA      {Begin yerine}
      a:= 1;
      EkranaYaz(SayıyıYazıyaÇevir(a));    {write(inttostr(a))  yerine}
BİTİR;       {End yerine}

Aklımda kaldığı kadarıyla böyle bir şeydi. Eğer ilgilenirsen tozlu raflarda seni beklemekte.. Türkçe işlere her zaman desteğimiz olur umuduyla. İyi şanslar..
Linux kullanmak bir farklılık, linux'te kod yazmak ise ayrıcalıktır.

exclipit

C gibi bir dil oluşturamazsın, kurallarını örneğin bir kağıdın üzerinde belirlersin. Sonrasında da alt seviyeden bir derleyici yazarsın, bu da sonuçta senin programlama dilinde yazılmış şeyleri derleyen yazılım olur. Fakat bu ne kadar gerekli, tartışılır.
Çalışan iki el, dua eden binlerce elden daha çok iş yapar. – Gene Roddenberry

freeman

İşe önce, yazacağım dildeki anahtar kelimeleri anlayıp, dilin sintaksını, yazım kurallarını gibi temel öğeleri hatasız anlayıp,  makine diline çevirecek bir assembler yazarım. Mesela Z adında bir dil tasarlayacak olsam, -tüm kuralları, özellikleri belirledim-, assembly ile kullanarak bir assembler yazarım.
Ki
zc program.z -o program
şeklinde bir komutla programım, çalışabilir hale gelebilsin.

Daha sonra kat kat çıkmaya başlarsınız. Ki bu dediğim programı yazmışsam zaten, kendi tasarladığım dil ile yeniden kendi dilimin derleyicisini yazarım.  :D


Bu arada Türkçe programlama dili nedir ya hu? Allah 'ın C dilinde kaç tane İngilizce kelime var? Anahtar kelimeler sayısınca. Gerisi kütüphane sadece. Siz de Türkçe bir kütüphane yazın C için. Alın size Türkçe bir dil. :D
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

sem

@xFoxMulder, tabi hepsinden önce bir sintaks gerekli.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

freeman

#36
@sem;
Bir dilin derleyicisini, o dili kullanarak nasıl yazıyorlar, bilginiz var mı?
ilk, orjinal C derleyicisi, C ile yazılmış. Yukarda dediğim gibi bir yol mu izliyorlar? Yoksa başka bir şey mi var?

Düzenleme:

Zaten derleyiciler, programları önce assembly e daha sonra makine diline dönüştürüyorlar. İlla ki C derleyicisinin çekirdeğinde bir yerlerde assembly kodu olmalı diye düşünüyorum ama bu seferde her makineye göre bir assembly kodu yazılabilir mi sorusu aklıma geliyor?
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.

bugra9

Kendi programlama dilini oluşturmak görünenden çok daha kolay ama ne kadar gerekli olduğu tartışılır. Bu işlem sadece metin işlemeden ibarettir.

İlk olarak kendi programlama dilinin yapısını, dizilimini vs. vs. kağıt üzerinde belirlersin. Yazı dosyasına örnek kod parçacıkları yazarsın. Son olarakta bu yazı dosyalarını parçalayarak anlamlandıracak derleyicini yazarsın.

Burada zor gelen kısım derleyicinin yazılması gibi duruyor.

Derleyici iki şekilde yazılabilir;
1) Makine diliyle yazarsın. (İmkansız gibi duruyor.)
2) Herhangi bir dili kullanarak yazarsın.

Ayrıca derleyicin iki farklı yöntem kullanarak çalışabilir;
1) Senin dilini başka dile dönüştürür. (C, assembly gibi)
2) Senin dilini makine koduna dönüştürür.

Her iki yönteminde avantaj ve dezavantajları bulunuyor.

Ben olsam ve kendi programlama dilimi oluşturmak istesem, yüksek seviyeli bir dil kullanarak, dilimdeki kelimeleri işler ve C diline dönüştürürdüm. Sonrada C dilinin derleyicisiyle makine diline dönüştürüp işlemi tamamlamış olurdum.

---------------------------
@xFoxMulder;
Aynen senin izlediğin yöntem gibidir.
İlk başta bir dilin derleyicisi yoksa o dil oluşmamış demektir. Yani ilk derleyici o dil kullanarak yazılamaz.
İlk önce başka bir dil ile yada makine diliyle derleyici yazılır ve o dil oluşturulur. Sonra oluşturulmuş dil kullanılarak kendi dilinin derleyicisi kendi diliyle yazılabilir.

Her dil önce assembly e daha sonra makine diline dönüştürmez. Dilden dile değişir.
Bir derleyici derlendiğinde sadece makine kodundan ibarettir. Hiçbir yerinde farklı bir dile ait yapı barındıramaz.


freeman

@bugra9;
Teşekkür ediyorum bilgiler için.  :D
Hobi, öğrenme amaçlı bir dil yazılır belki. Yoksa C\C++ dillerini ezecek bir dil kolay kolay yazılamaz. :P
Good morning and welcome to the Black Mesa Transit System. This automated train is provided for the security and convenience of the Black Mesa Research Facility personnel.