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

ClusterKnoppix İle Kendi Süperbilgisayar Kümenizi Kolayca Kurun

FZ

Büyük bir okul ya da şirket ağınız var, ya da bir yerden ucuza düşük model bir sürü ikinci el bilgisayar buldunuz (40$'a Pentium 166 MMX, 32 MB ana hafıza falan) ve bunların atıl kalmasına gönlünüz el vermiyor. Sağda solda "clustering" diye de tabir edilen kümeleme diye bir kavram duyuyorsunuz ancak bir sürü bilgisayarı paralel olarak belli bir problem üzerinde çalıştırmanın uzmanlık derecesinde bilgi gerektirdiğini düşünüyorsunuz... ve... yanılıyorsunuz! Her derde deva ClusterKnoppix ile çok güçlü paralel bilgi işlem merkezi kurmanız işten bile değil ;-)

Hala tereddüt edenlerin iştahını kabartmak için şu ekran görüntülerine bakmalarını tavsiye ederim: 12 adet bilgisayarın merkezi kontrolü, openMosixview, 12 meşgul bilgisayarın gözetlenmesi, openMosixmigmon.

Editörün Notu: Bildiğim kadarı ile İzmir´li üyemiz decaf (aka realist) bu konu ile ilgileniyordu, kendisinden en kısa sürede konu ile ilgili lezzetli bir makale beklediğimizi belirtmeme gerek yok sanırım ;-)

BinarySearch ve MergeSort kullandıysanız kodunuzu kontrol edin!

FZ

Algoritmalar mükemmel olabilir ama uygulamaları her zaman öyle olmayabiliyor!

Google'dan Joshua Bloch, yeni günlük girdilerinden birinde Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken diye konuya girip Java standart kütüphanesinde kendi yazdığı BinarySearch fonksiyonunun nasıl bir hata barındırdığını anlatıyor.

Sun Microsystems'e 11 Mayıs 2004 yılında gönderilen hata raporunun yorum kısmı ise epey eğlenceli: "Should be fixed in the next release. Not for Tiger. xxxxx@xxxxx 2004-05-11 Finally fixing for Mustang. Can't even compute average of two ints is pretty embarrassing."

3 Haziran 2006 Cumartesi günü yollanan yorumlara göre ise, benzer problemden ötürü Solaris'teki look komutu yaklaşık 1 GB'den büyük dosyalar için düzgün çalışmıyor.

Flash 10 son beta versiyonu (Astro) yeni linux özellikleriyle birlikte çıktı

ersin2k

Geçtiğimiz ay Adobe Flash Player in 10ncu sürümü Windows yanında Mac OS X ve Linux için aynı anda yayınlandı. Bu beta sürümü yeni 3D efektler, geliştirilmiş metin düzeni, geliştirimiş API ve görsel performans güçlendirmeleri eklemişti. Bugün Adobe Flash player 10 için yeni bir beta daha çıkarttı.ASTRO adlı bu versiyonda linux için penceresiz "wmode" , web kameraları için Video4Linux 2 (V4L2) desteği, yeni dil desteği (Türkçe artık var), arttırılmış hız ve güçlendirilmiş stabilite sunuyor. Ancak henüz 64 bit versiyonu yok.

Dr. Knuth Yazılım Patentleri Hakkında Ne Diyor?

anonim

Ustanın TeX kodlarina bakarken, dizindeki bir metin dosyası dikkatimizi cekti. Dr. Knuth'tan Patent Ofisi gorevlilerine yazilmis bir mesajdi bu. Usta soyle diyor:

"Amerikan kongresi bir süre önce, çok akıllıca bir kararla, matematiksel şeylerin patentlenemeyeceğine karar verdi. Zaten başka türlü matematik yapmak mümkün olmazdı; Pitagoras teorimini her kullandığımızda birine telif hakkı mı ödeyecektik?! Bu bağlamda belirtmek gerekiyor ki, bugünlerde insanların büyük bir aceleyle patentlemeye çalıştığı temel algoritmik fikirler bu kadar temel ve herşeye lazım olacak türdendir. Eğer şu anki gidişata izin verilirse, sonuç, yazarlara kelimeler için patent almaya izin vermek gibi olacaktır."

Devami icin: http://www.bilgidata.com/yazi.jsp?dosya=a_knuth.xml

StarLogo programının yeni sürümü duyuruldu

ahmetozdemir

MIT Media Lab tarafından geliştirilen simulasyon dili StarLogonun son sürümü Preview 4.1 duyuruldu. Açıklamaya burdan ulaşabilirsiniz.