Ch: C/C++ Yorumlayıcısı

0
Tarık

Ne kadar başarılı olduğu tartışılır fakat C/C++ programlama dillerini kullanarak yorumlanabilir programlar yaratma fikri oldukça ilginç olsa gerek. Zira birçok yorumlanabilir dilin C dilinden esinlenerek geliştirildiğini ama C dilinin yapı itibariyle yerli çalıştırılabilir dosya (native executable) üretmeye daha yatkın olduğunu düşünürsek.

Ch C/C++ Interpreter gayet iddialı olmasına rağmen, hemen hemen tüm derleyicilerle (Borland, MS, GNU gcc, Watcom, vs.) sorunsuz derleyebildiğim 20-30 satırlık C programcıklarını Ch' a yorumlatana kadar akla karayı seçtim.

Tabii ki uzun süreli bir test sürecinden geçirmedim.

Ch yorumlayıcı ile birlikte ChSciTE adında güzel bir kod düzenleyecisine sahip olabiliyorsunuz. Aslında ChSciTE, GNU/Linux dünyasında uzun süredir kullandığımız SciTE'ın Win32 ye uyarlanmış farklı bir kopyası. Tam ekran moduyla sadece koda ve yapacağınız işe odaklanmak konusunda zorluk çekmezsiniz.

Bütün bunların yanında SIGL adında gayet gelişmiş bir grafik kütüphanesi ve Ch Mechanism Toolkit adında bir adet düzenek animatörü mevcut.

Tüm dökümanları, indirme linklerini ve daha fazlası hakkında bilgiyi yorumlayıcının ana sayfası vasıtasıyla edinebilirsiniz. Tüm yazılımlar akademik kullanım için serbest ve indirebilmek için üyelik gerekiyor (tabii ki bedelsiz)
Pek tabii olarak kurumsal sürümüde mevcut.

SoftIntegration

Görüşler

0
Tarık
Birkaç deneme daha yaptım ve dün basit programları yorumlatamazken, şu an opengl örneklerini gayet rahat ve hızlı bir şekilde çalıştırabiliyorum. Sanırım kendi örneklerini güncellemiyorlar, o yüzden kaynak kodlarda belirtilmiş öncü dosyaların bulundukları yerler değişmiş. El yordamıyla bir iki yol göstermeniz gerekebiliyor.

Ayrıca şuan görebildiğim kadarıyla sigl, grafik analiz ve haritalama ile ilgili bir grafik kutuphanesi, yani öyle 3d/2d hokkabazlıkların geliştirilebileceği bir kütüphane değil. Ama genel olarak yorumlayıcı gayet hızlı çalışıyor ve şuan için pek bir sorun yok.

0
FZ
Dr. Dobb's Journal'in Aralık, 2005 sayısındaki Ch: A C/C++ Interpreter for Script Computing - Interactive computing in C makalesinde, Ch yorumlayıcısını geliştiren Harry H. Cheng bazı kod örnekleri veriyor ve Ch avantajlarından bahsediyor, epey büyük programları Ch ile çalıştırabildiğini belirtiyor.

Benim ilk aklıma gelen soru ise şu oldu: Common Lisp ya da Scheme benzeri ortamlarda olduğu gibi, Ch içinde de misal aynı kaynak kod dosyasının içindeki 30 fonksiyon arasından sadece bir tanesini seçip "derlemek" ve böylece tüm programı kolayca, hızlıca değiştirmek mümkün mü?
0
Tarık
Görebildiğim kadarı ile bu tip bir olay şu an için desteklenmiyor. Yanlış anlamadıysam siz bütün bir kaynak koddaki herhangi bir işlev in tek başına derlenebilmesinden söz ediyorsunuz. Bu tip bir özelliği olsaydı bunu ChSciTe üzerinde görebiliyor olurduk sanırım. Yalnız işlevlerin tek tek derlenebilmesi yada yorumlanabilmesi üzerine başlangıç el kitabında "Interactive Execution of Functions" gibi bir başlık gördüm. Sanırım komut satırında ilkel olarak söylediğiniz şeyi yapmak mümkün. Biraz daha kurcalayalım bakalım.
0
FZ
Görebildiğim kadarı ile bu tip bir olay şu an için desteklenmiyor. Yanlış anlamadıysam siz bütün bir kaynak koddaki herhangi bir işlev in tek başına derlenebilmesinden söz ediyorsunuz.

Evet böyle bir şeyden bahsediyorum. Yani sadece tek bir fonksiyonda küçük bir değişiklik yaptım diyelim, sadece o kısmın üzerinden geçilmesinden, diğer fonksiyonların tekrar ellenmemesinden bahsediyorum.

Yalnız işlevlerin tek tek derlenebilmesi yada yorumlanabilmesi üzerine başlangıç el kitabında "Interactive Execution of Functions" gibi bir başlık gördüm. Sanırım komut satırında ilkel olarak söylediğiniz şeyi yapmak mümkün. Biraz daha kurcalayalım bakalım.

Yani mesela komut satırından printf(... gibi bir şey çalıştırabiliyoruz demek istiyorsunuz sanırım. Bunu anlayabiliyorum ama tabii yukarıda kast ettiğim bu değildi. Ama belki komut satırından fonksiyon tanımının kendisini geçtiğimizde olabiliyordur böyle bir şey?
0
Tarık
Yani mesela komut satırından printf(... gibi bir şey çalıştırabiliyoruz demek istiyorsunuz sanırım. Bunu anlayabiliyorum ama tabii yukarıda kast ettiğim bu değildi. Ama belki komut satırından fonksiyon tanımının kendisini geçtiğimizde olabiliyordur böyle bir şey?

hehe yok öyle demek istemedim. Normalde birçok derleyici/yorumlayıcı komut satırında dediğiniz şekilde derlemeye yada yorumlamaya destek veriyor zaten. Sizin bahsettiğiniz ise kullanıcı tanımlı biraz irice işlevler heralde. Dediğim gibi henüz içine tam olarak giremedim. Ama el kitabında bu konula alakalı bir takım mevzular var. Hatta işlevlerin ayrı dosyalarda (*.chr uzantılı) ayrıca işletilmesi gibi.

0
FZ
Destekli sallarsak belki şöyle diyebiliriz, bu madem bir yorumlayıcı olarak çalışıyor, o halde bir fonksiyonda değişiklik yaptığımda ve sonra mesela o fonksiyonu çağıran bir başka fonksiyonu çalıştırdığımda yaptığım değişikliğin sonucunu görürüm (mü acaba?).
0
newman
Indir dene kardesim :)
0
FZ
REPL muamelesi yapıyorum Tarık'a. Başkalarına da yapmışlığım yok değildir (bilen biliyor ;-)
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Browser hafıza kullanımı karşılaştırması

conan

Bu sabah surf halindeyken phoenix'imin kaç tane tab açabileceğini denemek istedikten sonra aklıma browserların hafıza kullanım karşılaştırmasını yapmak geldi. Elimde olan iki browserda genelde gezindiğim 17 sayfayı aynı anda açarak Task manager vasıtasıyla hafıza kullanım oranlarını karşılaştırmaya çalıştım. İşte sonuçlar.

Google MapReduce İlerleme mi Gerileme mi?

FZ

Geçenlerde Yahoo'da veri analizi üstüne güzel bir sunum veren Facebook veri anali şefi Jeff Hammerbacher günlüğünde Google MapReduce'u feci eleştiren bir makaleye yer vermiş: MapReduce: A major step backwards.

Google Code Jam 2004

mentat

Google Code Jam 2004 için kayıtlar açıldı. 15 Eylül'e kadar kayıtlar sürecek. Yarışma ve ödüller (hemen hemen) herkese açık, Java, C++, C# veya VB.NET kullanılabilen diller, keyifli bir deneyim olabilir gibi. Eleman bulmak için gayet akıllıca bir fikir.

Xen: VMware® için özgür alternatif

roktas

VMware`in özgür ve üstelik daha hızlı alternatifini buluyoruz galiba. Bu haber OSNews`de dikkatimi çekti. Xen, Cambridge üniversitesi Bilgisayar Labortuvarlarında geliştirilmiş özgür lisanslı bir sanal makine yazılımı. İhtiyaç sahipleri bilirler, sanal makine yazılımları özellikle önyükleme ve sistem kurulumu yazılımlarının test edilmesinde, kirlilik oluşturmadan farklı işletim sistemlerinin denenmesinde çok yararlıdır. VmWare`in mevcut alternatifleri Bochs ve Qemu yeterli performansa sahip değiller ve böyle bir şeye hakikaten ihtiyaç vardı. (Qemu Bochs`dan çok daha iyi durumda, fakat VmWare ile karşılaştırıldığında maalesef o da yavaş kalıyor.) Xen özel tekniklerle (?) böylesi bir yüksek performansa ulaşabiliyor. Daha şimdiden Redhat, Novel, HP vb. bu projeye üşüşmüş durumdalar. Xen`in Linux çekirdek kod tabanına eklenmesi de gündemde. Ha unutmadan, anladığım kadarıyla teknik olmaktan ziyade yasal nedenlerden dolayı Xen'de sanal Windows çalıştırmak mümkün değil henüz. Ama ekran görüntüleri NetBSD`yi deneyebileceğinizi söylüyor. Bu güzel :-)

Açık Kodlu Özgür Bir Yazılım Projesi: FlightGear Uçuş Simülatörü

FZ

1995 yılında havacılık simülasyonları konusunda uzmanlaşmış Curtis Olson isimli bir mühedis Microsoft Flight Simulator´a bir eklenti (add-on) yapmaya çalışırken vaktinin büyük bir kısmını asıl iş yerine bu yazılımın dosya formatlarını, iç yapısını, işleyişini, vs. anlamak için enerji harcayarak geçirdiğini fark etti. Ve kendine şöyle dedi: Oturup kendi uçuş simülatörümü yazmaya başlasam, bunu açık kodlu ve GPL lisanslı olarak kamuoyuna sunsam ve sonra...

Olson´un bu çabası ABD´de çılgın bir mühendisin delidolu idealizmi olarak algılanmadı tahmin edebileceğiniz gibi. Proje başladıktan kısa bir süre NASA´daki uzay mekiği programının önemli mühendislerinden biri olan Jon Berndt de projeye destek vermeye başladı. Bu katılımı takiben, bir başka mühendis Tony Peden de projeye katılmakta tereddüt etmedi. Ve gerisi büyük hızla geldi.

FlightGear isimli bu özgür yazılım projesine destek veren deneyimli programcı ve mühendislerin yaş ortalaması 35´in üstünde. Hepsi de kendi alanlarındaki mühendislik ve fizik konularında usta isimler. Geliştirdikleri sistem uç noktadaki havacılık mühendisliği modellerini, grafik (OpenGL) ve ağ programlama tekniklerini kullanıyor. Herkesi sistemlerini incelemeye ve katkıda bulunmaya davet ediyorlar.