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.

kamboccia

Arkadaşlar ben hep şunu merak ettim bir programlama dili nasıl yapılır?Eminim içinizde mutlaka bunları merak edenler vardır.Arkadaşlar eğer aranızda bu konuda bilgisi olanlar varsa lütfen bizi aydınlatsında merakımız gitsin mesela ben Basic tabanlı olarak kendi kodlama dilimi yazmak istiyorum aslında tam bir yazmak değil koları türkçeleştiricem biraz değiştirecem o kadar bununla ilgili yardımlarınızı esirgemeyin lütfen teşekkürler.

ulusoyab

Bildiğimkadarı ile:(Gambas için)
Gambas C üzerinde yazılı. Bir kod yazdığında bu C diline çevriliyor çalışma dosyasıda yine C dilinde üretiliyor. Ara yüz içinde Qt veya gtk kütüphanelerine göre oluşturuluyor.

Peki C gibi diller  nasıl yazılır. Pic programlamayı biliyorsan pic lerde 33  tane assembly(makine dili, işlemcinin bildiği) komut var.Benzeri şekilde bilgisyar işlemcilerinin bildiği makine dilinde sayısı daha fazla komutlar var.  bu komutlar kullanılarak if, while, for next, gibi komutlar üretilebilir ve toplama çıkarma vb işlemler  yaptırılabilir. Bu işlemler için  her defasında yeniden aynı assembly kodlarını yazmak yerine bir yere bu kodları kaydedersin ve lazım olduğunda oradan kopyalayıp yapıştırırsın. İşte C çok kullanılan bu assembly kodlarını kullanarak insanlara daha kolay/anlaşılır bir komut yazma ortamı sunar. İnsanlar for ....... next yazdığında aslında C for .... next işlemini yapan makine dilini dosyaya kopyalıyor benzeri şekilde dosyada yazan tüm komutları makine diline çeviriyor . Buna da derleme deniyor.

Yani gambas python gibi üst seviye diller için C bilmelisin, Eğer C gibi bir dil oluşturmak istersen assembly bilmelisin. Eğer assemby dili oluşturmak istersen işlemci üretmelisin. :)

kamboccia

Yardımın için teşekkür ederim dostum  8)

sem

Türkçeleştirme ile kastınız tam olarak nedir? Aşağıda bağlantı verdiğim iletiyi içeren başlıkta biraz üzerine konuşulmuştu. Çok ufak bir örnek bir kod da paylaşmıştık... Bu tarz bir Türkçeleştirmeden mi bahsediyorsunuz

http://forum.ubuntu-tr.net/index.php/topic,23670.msg286138.html#msg286138

Yoksa daha derinlerden örneğin ulusoyab'ın dediği gibi assembly'ye inerek mi bir Türkçeleştirmeden bahsediyorsunuz...

Ya da doğrudan ikili kod (binary kod)??  =)=) Bu kadarı mübalağa tabii
".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?

kamboccia

Evet o forumda bahsedilen tarzda bir türkçeleştirmeden bahsediyorum :) ama kendime özel kesitrme kodlarda eklemeyi düşünüyorum :)

asukaki

Bu konuda ; Engin KUZU'nun web sitesinde tasarladığı TUGO projesi vardı. Bu toplulukta da  konuları geçmişti. Konsolda kendine özel komutlar oluşturabiliyordun. Pic programlama kitabına bir göz attım sadece  ve sadece bakabildim. :)
http://www.enginkuzu.org/tugo.php şu adreste
Linux'la Her Şey Mümkün!

sem

Önişlemciye yönelik oluşturacağınız dosyalar ve kestirme kodlar için de makrolar (yine önişlemci için yani) işinizi görecektir o zaman...
".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?

kamboccia

Çok saolun arkadaşlar gerçekten teşekür ederim şimdi pc yi formatlayacağım malum benim Ubuntu 10.04 LTS hatalıydı yenisini indirdim ve onu kuracağım ondan sonra bakarım ok? :)

asukaki

Alıntı yapılan: kamboccia - 03 Şubat 2011 - 15:44:15
Çok saolun arkadaşlar gerçekten teşekür ederim şimdi pc yi formatlayacağım malum benim Ubuntu 10.04 LTS hatalıydı yenisini indirdim ve onu kuracağım ondan sonra bakarım ok? :)

Hadime değil ama arkadaşım. Programlama dilini Türkçeleştirmeye çalışmak istiyorsun ama Türkçe kullanımına dikkat etmiyorsun. Sakın yanlış anlaşılmasın söylediğim ama "ok?" demek yerine tamam desek.  ;)
Linux'la Her Şey Mümkün!

ulusoyab

Programlama dilini Türkçeleştirmek:Bende eskiden bunu uzun uzadıya düşündüm. PIC ler için bir iki denemem de olmuştu. Aslında bizim için  büyük kolaylık sağlar. Yazılım geliştirenler çoğalır. Bunu her seviyede (assembly, C , Yada üst düzey dillerde)  yapmak mümkün. En basit olarak assemblyde yapılabilir. Çünkü assemblyde  kütük adresini Türkçe tanımlamak yeterli oluyor. Örneğin PICler için
PORTA EQU 0x05   yerine
CIKIS EQU 0x05

yazılabilir. Benzer şekilde diğer tüm komutlar için değişikliler yapıldığında, bizim için daha anlamlı ve kolay anlaşılır, bir yazım ortaya çıkar. Sanırım benzeri durum bilgisayar işlemcileri içinde geçerlidir. Bundan sonra da döngüler ve matematiksel işlemler için Türkçe bir dil geliştirmek veya C dilini inceleyip gerekli değişiklikleri yapmak mümkün olabilir. Bu ne kadar yararlı olur bize ne kazandırır ne kaybettirir tabii iyi düşünmek gerekir.

ulusoyab

Burada bahsedilen konu yüzünden eskiden niyetlenip yarım bıraktığım Ktechlab benzeri grafik olarak asm kod üreteci için yazılımı tekrar hatırladım, ve biraz daha geliştirip
http://code.google.com/p/kediasm/
adresine koydum. Yazılım GPLV3 dedim. Kodlarına aynı adresten ulaşabilirsiniz. Kullanımı hakkında bir fikir vermekamacıyla
http://www.youtube.com/watch?v=qwQ2QoiHCxQ
adresine videosunuda koydum. PIC yazılım geliştirmek istiyenler için umarım işe yarar.
Şu anda kullanım ve kurulum için bir web sayfası oluşturmadım.
Yazılım gambas la geliştirilmiştir. GPASM paketine ihtiyaç duyuyor.
Gambas bilenlerin projeye bir omuz atmasını ısrarla beklerim.

ekremsenturk

Her Programlama dili ile yeni bir Programlama dili geliştirebilirsiniz. Teoride basit, Pratikte bir çok sorun çıkacaktır. Basic ile "LET IF = EĞER" gibi yeni isimseler atamış olduğunuz bir Program yazıp, Metin belgelerinizin yeni Programınız tarafından çalıştırılmasını sağlamanız yeterlidir. Kulağa basit geliyor.

Little Wizard isimli, çocuklar için bir görsel Basic var. Program'ın originalini bir Çek yazar geliştirmiş, isimleri aklımda değil. Aynı Programın çocuklar için Python sürümüde var. Adı Guido van Robot veya GvR NG. Ubuntu paketleri arasında veya SorgeForce.Net'ten bulabilirsiniz. Originalinin ismide bir yerlerde Lisans bilgilerinde bildiriliyor.

Sizde bir şansınızı deneyebilirsiniz. Basic versionu bence daha başarılı olmuş. Programlar bir oyunun ilerleyişini yönetiyor ve tekrar kullanmak için kayıt ettiğinizde, XML formatlı belgeler olarak kayıt ediliyorlar.
GvR NG ve Little Wizard'ı geliştirenler (veya düzenleyenler)de Bilişim okuyanlar. Profesyonel Programcılar veya Uzman'lar değiller.

ulusoyab

KediASM yi
http://wiki.ubuntu-tr.net/index.php/Git
adresindeki açıklamalara göre gite yükledim. Git yüklediğim dosyaları internette (svn gibi) bir yere yüklüyor ve ortak geliştirmeye açıyor mu.

heartsmagic

Git ile SVN aynı türde uygulamalardır zaten, birinin yaptığını temel de diğeri de yapar. Sen nereye yükledin tam olarak? Sürüm denetleme sistemleriyle pek haşir neşir değilim fakat dediğin şeyin yapılabilirliği su götürmez bir gerçek :)
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.

ulusoyab

http://wiki.ubuntu-tr.net/index.php/Git
"Birlikte çalışma için git kullanma" yazan kısma kadar  uyguladım. bir sorun olmadı.
nereye ne yükledi bilmiyorum. İnternet üzerinden bir adrese gerek te olmadı işin kötüsü.
"Birlikte çalışma için git kullanma" kısmında ise aynı bilgisayarın iki ayrı kullanıcısının projeyi  nasıl ortak  geliştireceği örneği var.
Bende çözemedim.

heartsmagic

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.

ulusoyab

Türkçesi yokmuydu bunun. Ne güzel önceki sayfalar çevrilmişti.

heartsmagic

Şu an için Türkçesi varsa da bizim Wiki ve Formda yok yanlış bilmiyorsam. Bir ara vakit ayrılabilirse Wiki'ye katkı amaçlı çeviri yapılabilir.
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.

ulusoyab

oradaki komutları uyguladım. php sayfasında da proje adı ve yolunu değiştirdim.
Artık geliştirmeye katkı sunanlar benim bilg. dan indirebileceklermi,ve  nasıl ?

heartsmagic

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.
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.

ulusoyab


furkankalkan

bu konu hakkında benim de soracaklarım var .
Kendi diliyle yazılan dil derleyicileri nasıl yazılıyor Yani C ile yazılmış C derleyicisi gibi ?

Lover
twitter.com/furkan_kalkan1

sem

Başka bir derleyici yardımı ile olabilir. C ile yazılan C derleyicilerinden örnek olarak GCC önce başka dil ile yazılıp daha sonra tekrardan C ile yazılmış... Yanlış anlamamışsam tabii...

Alıntı YapThe compiler originally compiled Pastel, an extended, nonportable dialect of Pascal, and was written in Pastel. It was rewritten in C by Len Tower and Stallman


Kaynak: http://en.wikipedia.org/wiki/GNU_Compiler_Collection
".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?

furkankalkan

Alıntı yapılan: sem0900 - 11 Şubat 2011 - 19:21:14
Başka bir derleyici yardımı ile olabilir. C ile yazılan C derleyicilerinden örnek olarak GCC önce başka dil ile yazılıp daha sonra tekrardan C ile yazılmış... Yanlış anlamamışsam tabii...

Alıntı YapThe compiler originally compiled Pastel, an extended, nonportable dialect of Pascal, and was written in Pastel. It was rewritten in C by Len Tower and Stallman


Kaynak: http://en.wikipedia.org/wiki/GNU_Compiler_Collection

hımm bu da sonradan C ye geçmiş. Gambasın bazı bölümlerinin sonradan gambasla yazıldığını biliyodum aydınlattğınız için teşekkürler :)
Lover
twitter.com/furkan_kalkan1

ekremsenturk

#24
Bigisayar'larının anladığı gerçek dil dalgalı elekktrik akımıdır. Bilim adamları bunlara, İnsanlar tarafından kolay anlaşılabilsinler diye, belirli bir seviyenin altında olan dip noktalara 0 ve üstünde olan tepe noktalara 1 adını vermişler. Bilgisayar'lar sadece araştırılmakta olan cihazlar durumundan çıkıp, kullanılabilir araçlar durumuna geçtiğinde, Diğer Bilim adamlarınında Bilgisayar kullanabilmelerine imkân tanımak için, belirli bir işlevi temsil eden 0 ve 1 kümelerine kısa teknik anlamlar ifade eden tanımlar kullanan Assamble dilini icat etmişler.
Zaman ile Bilgisayar'ların sayısı o kadar artmış ki, neredeyse gelişmiş ülkelerin her bir büyük kentinde bir Bilgisayar bulunuyormuş. Bu kadar Bilgisayar'ı ve de daha sonra üretilecek olanları kullanabilecek olan bir Meslek grubuna ihtiyac duyulmuş. Ve onlar için daha iyi anlayabilecekleri ve daha basit ama daha çok işlem türü destekleyen Programlama dilini(dillerini) icat etmişler. Bilgisayar'lar şirketler tarafındanda kullanılabilir bir fiyat seviyesine ve mini minnacık boyutlara düştüğünde (Bir en irisinden Buzdolabı kadar), Yüksek seviyeli (High Level) Programlama dilleri türemiş. Ve bir ara, İşletim sistemide icat edilmiş.
C gibi derleyiciler Assamble dilinde yazılırlar. Basic gibi dillerde Assamble dili ile yazılabilirler, ancak C veya benzeri yazılımlar ile daha kolay oluyor. Basic ve Python gibi diller ilede günlük kullanılan Programları veya Web uygulamaları geliştirmek, C ile aynı işlemi yapmaktan daha kolay. Gambas ile Gambas İDE'si yazılmış ancak Gambas kedisi C veya Assamble ile yazılmış olmalı. Python Modülleri C veya C++ ile yazılırlar.
Gelecekte ise Lego oyununa benzer hazır kalıpların kullanıldığı yazılımlar yaygınlaşacaklar.  Almanya'da Lava adında bir yazılım deneniyor. Bir. Dev. MIT Univrsite'sinde geliştirilen Scratch yazılım geliştirme aracı ile ise bu güne kadar bir buçuk Milyon kadar Proje (Çoğunlukla basit oyunlar ve Animasyonlar) Amatörler tarafından geliştirilmiş ve yayınlanıyor. Scratch kendisi sanırım Java ile yazılmış (Emin değilim). Kendi çizdiğin Resimlerini, Fotograflarını veya Sesini programında (Projende) kullanabiliyorsun.
Bir Bina İnşaat'ındaki gibi, önce taban(Temel) vardır ve kat'lar üstüne İnşaa edilir ve en üste Çatı eklenir. Yazılımlar bu şekilde Teknoloji'deki gelişmelere paralel olarak gelişir.
Ama Basic ile de yine başka bir Basic sürümünün yazılabileceğine inanıyorum. 150 den fazla Basic türü var ve bunların bazıları farklı Assamble dillerinde, bazıları C veya C++ ile yazılmış. Daha gelişmiş bir Basic türü ile daha basit olan bir tür, bence çok iyi bilen bir kişi tarafından yazılabilir. Programlama dillerini çalıştıran Derleyici veya Yorumlayıc'ılarda sonuç olarak birer başka türden Programlar.