Kendi yazılım dilini yazmak

Kızgınlığınızı anlıyorum lakin amacım benzer şekilde yazılmış yüzlerce konuya ek olarak aynısının tekrar sayfalarca tartışılmasının gereksizliğiydi. Evet tabii ki yazabilir ancak daha 3-5 tane dil dahi bilmeden, syntax nedir, machine code nedir, işletim sistemleri bu işin neresindedir, platform bağımsızlık Virtual machine nedir, ben yazsam daha çok yazarım buraya da... Neyse. Demek istediğim arşa çıkan bir yol var ve siz "shutdown i" yazarak kendinizi programcı zannediyorsunuz; yazdığınız en uzun kod 10 satır ve arkada çalışan API'ler neler, compailer mı iş yapıyor interpreter mı bilmiyorsunuz. Bu saydıklarımı içeren kategoriden birisi kendi dilini yazmak geliştirmek isterse = "yazamazsın" demek ziyadesiyle yeterlidir bence. Çok güzel bildiğiniz bu kodlama ve yazılım bilginizi burada bu arkadaşa anlatıp kendinizi yoracağınıza yazın bakalım bir dil de Türkiye cumhuriyeti devleti sayenizde kendi yazılım diline sahip olsun :D keşke konuşanlar 1980'lerin amerikasındaki mühendisler kadar istekli ve donanımlı olsaydı da yapsaydık. Konuşmak hep kolaydır, sağlıcakla.
 
Dil bir insan tasarımının ürünü. Tasarladığın dili kaynak koddan input olarak alan ve output olarak makine koduna dönüştüren ya da çeviren programı yazmaktır önemli olan. Bu bir compiler (derleyici) de olabilir, interpreter (yorumlayıcı) da.

YouTube´da çok güzel compiler design ile ilgili eğitim serileri var. Onları araştırabilirsin. Elbette öncesinde temel programlamayı, veri yapılarını, algoritma analizini ve işletim sistemlerini çok iyi biliyor olman lazım. Bunların ne olduğu hakkında hiçbir fikrin yoksa ve doğrudan compiler design derslerine bakmaya kalkarsan kendini başka bir gezegende bulabilirsin.

Buna rağmen eğer temel programlamayı biliyorsan çok basit bir dil yazabiliyor olman lazım. En basitinden dosya işlemleri gördüysen komutları bir metin dosyasından okuyup ona göre işlem yaptırabilirsin bilgisayara. Elbette bunu böyle söylüyorum ama normalde derleyici olarak bildiğimiz programlar çok daha farklı ve complex yapıdadırlar. Dediğim gibi altyapının sağlam olması lazım.
 
Yazılım dili ifadesi yanlış. Programlama dili olacak o.
Kendi programlama dilini yazabilmek için C yi cok iyi bilmelisin cunku tüm derleyiciler C ile yazılır fakat C dışında başka dil de kullanabilirsin. Sonuçta en az bir programlama dilini cok iyi bilmelisin.
 
Yazılım dili ifadesi yanlış. Programlama dili olacak o.
Kendi programlama dilini yazabilmek için C yi cok iyi bilmelisin cunku tüm derleyiciler C ile yazılır fakat C dışında başka dil de kullanabilirsin. Sonuçta en az bir programlama dilini cok iyi bilmelisin.

Babam mühendis C de biliyor hem de profesyonel şekilde ama bana öğretemiyor işi çok olduğu için. Maaşı da iyi hem o yüzden boş bir zamanı olsa.
Gece gündüz çalışıyor.
 
Hocam yapabilirsiniz ancak çok fazla miktarda Assembly bilmeniz lazım.
Aslında olay Assembly bilmek değil. Bir dil ile de dil yazılabilir. Mesela uzun süredir deneyimlisin ve bilgi birikimin yüksek diyelim. C dili ile de yazabilirsin. Tabi ben yazabilirsin diyorum, yoksa Assembly ile yazmak ayrı C ile yazmak ayrı.
 
Assembly bilmene gerek yok.

Grammar, Lexical analiz, parse tree, CFG gibi kavramlari bilmen gerekiyor. Klasik CS 3. sinif odevidir bu. ( Compiler / Programming Languages )

Bison/flex indir yaz bir tane, git'te tonla ornegi var.


Kavramlar:

 
İngilizceyi profesyonel seviyede teknik olarak biliyor musun?
C dilinden daha low level bir dil biliyor musun?
Memory nedir, nasıl çalışır, Memory Leak nedir biliyor musun?
Pointer nedir, bellekteki adrese nasıl erişeceksin biliyor musun?
Compiler veya Interpreter nasıl yapacaksın bir fikrin var mı?
Bütün hepsini geçtim, insanların senin yazdığın dili kullanması için bir sebep olacak mı? Ne bileyim, Python'dan bile daha basit olur, ya da Matlab gibi belli bir alana yönelik bir dil mi olacak?

Saydığım şeylerin hepsini nasıl yapacağını biliyorsan ne mutlu sana, kolay gelsin!
 
Programlama dili yapmak zor mudur bilmem ama doğru düzgün çalışan bir dil yapmak yüzlerce kişilik ekiplerin takım çalışmasıyla oluyor büyük dil pogramları bile halen daha güncelleme aldığının düşünürsen ortadaki iş yükünü daha iyi anlayabilirsin tabii biyerden de başlamak lazım bugün sen başlarasın yarın başkasına devredersin belki daha sonra bir şirketin eline geçer vesaire büyüyebilir ama çok zor bir iş bu.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Technopat Haberler

Yeni konular

Geri
Yukarı