14 Haziran 2012 Perşembe

Fuzuli programlama dili

Merhabalar,

Uzun zamandır blogumda paylaşım yapmıyordum. Yeniden paylaşım yapmamı tetikleyen harika bir gelişme oldu.
Ne oldu ? Fuzuli tekrar doğdu. Bu kez ete kemiğe bürünmüş Fuzuli olarak değil, bir programlama dili olarak doğdu.
Bu dili kim yaptı ? Abimden daha çok sevdiğim (Bu arada abim yok :))) İsmail Doğan hocamın içinde bulunduğu ekip tarafından yapıldı. Yani Türk insanı yaptı. Yani yazılım ve insanlık konusunda kafamın aynı olduğu (kafamızın aynı olması öğrencisi olduğum için beni yontmasından kaynaklanıyor) kişi/kişiler tarafından yapıldı. Konuyu çok fazla geyiğe sarmadan dil ile alakalı bir şeyler yazmak zorunda hissediyorum. Daha doğrusu hak ediyor.

Peki ben bu dil hakkında ne yazabilirim?

Projenin resmi sitesinde pek Türkçe kaynak bulamadım. Dil hakkında nedir ne değildir konusuna değinmek istiyorum. Belki sizlerde dil hakkında Türkçe bilgi almak istersiniz diye düşündüm.

Programlama dili nedir?

Programlama dili, çok basit anlamda şudur : Siz kendi bildiğiniz dilde, kendinize uyan söz diziliminde (syntax) bir komut dizisi yazarsınız ve dil bunu makinenin (PC, telefon, faks, araba alarmı gibi) anlayacağı hale getirir. Bu makinenin anlayacağı hale çevirmede 2 seçenek vardır.
1 - Gerçekten makine diline çevirmek
     Yazılan dosya, insan tarafından okunamaz hale gelir ve ek bir şeye ihtiyaç duymadan direk makine içerisinde çalışır. (C++, Pascal, Delphi )
2 - Yorumlanarak çalışmak
      Yazılan program bir metin dosyası olarak kalır. Dosyanın içeriği insanlar tarafından okunur. Dilin yorumllayıcısına talimatlar göndermek sureti ile işlemlerini yapar. (Python, PHP, Perl)

Fuzuli, 2. maddede bahsedilen tarzda bir dildir. Yorumlanır. Yazılan kodlar tabiiki ileride makina diline çevrilip, bağımsız halde kullanılabilecek hale gelecektir. Fakat dilin genel çalışma mantığı budur. Dosyayı yazarsınız (Notepad gibi bir editör ile) ve daha sonra yorumlayıcı ile çağırırsınız.

Dilin söz dizilimi (syntax) biraz LISP i andırmaktaymış. Tabii ki LISP kopyası değil. Her dilden güzel olan şeyler esinlenilerek yapılmış. Üreticiler, kullanıcının en kolay yazabileceğine inandığı hale getirmek için tüm diller arasında bir seçim yapmak zorundadırlar.

Dil tamamen açık kaynak kodu ile dağıtılmakta. Yani : Dilin yorumlayıcısını kaynak kodları ile indirip, kardeşim burasında hata var, neden böyle yaptın deme şansınız var. Bulduğunuz hatayı başlarına çalma hakkına sahipsiniz ki üreticinin istediği de bu. Bu arada Fuzuli dili, en güçlü dillerden birisi olan C++ ile yazılmış.

Kütüphaneleri (DLL) desteklemekte. Yani bazı dillerde yazılmış olan DLL dosyalarını kullanabilmekte. Bir dil için en önemli özelliklerden birisi. Mesela C++ ile yazılmış bir SQL bağlantı DLL ini kullanarak TSQL komutlarını çalıştırmanıza olanak sağlayabiliyor olacak. Bu konuda bir kısıtlamanız olmayacak. Dilin yapamadıklar azalacak/hiç kalmayacak. Şu anda C++ üzerinde çalışan IO (Dosya kontrolü) ve MySQL kütüphaneleri ile çalışabilmekte. Dahası tabiiki var.

Çöp toplayıcısı (Garbage collector) mevcut. Yani bir değişken, yaşam döngüsünü tamamladığında bellekten uçuyor. Bellekte yer kaplamaması için uzayın boşluklarına yollanıyor. Bu sorunu aşmak için, tüm güçlü diller gibi lokal ve global değişken mantığını benimsemiş.

Yapımcı, Linux (Daha doğrusu X sistemleri diyelim) aşığı olduğu için ilk önce bu sistemlerde denenmiş ve Windows versiyonu yeni tamamlanmıştır. Bu şu anlama geliyor : Fuzuli ile yazdığınız bir uygulamayı tüm sistemlerde çalıştırma şansına sahipsiniz. Sınırınız yok.

Windows forms desteği geliyor. Yani klasik windows kullanıcılarının alıştığı pencere uygulamaları yapılabilecek.

Dilin genel bilgileri bunlar. Daha ileride örneklerle karşınıza çıkmayı düşünüyorum. Şimdi linklere geçelim. Aşağıdaki linkler ve açıklamalarına dikkat edelim :)

Ekipten İsmail Doğan kişisel blogu
http://ismaildogan.com.tr/blog/

Projenin web sayfası
http://www.fuzuliproject.org/

Projenin facebook sayfası
http://www.facebook.com/FuzuliProgramlamaDiliVeYorumlayici

Windows versiyonu indirme linki
http://www.fuzuli.googlecode.com/files/fuzuli-win_0.1-5.zip

Dilin referans wiki si
http://code.google.com/p/fuzuli/wiki/LanguageAndFunctionReference

Manual (kitapçık)
http://fuzuliproject.org/docs/

Umarım sever ve deliler gibi kullanırsınız.




19 Temmuz 2011 Salı

Metehan ile hafta sonumuz (17 Temmuz Pazar)

Oğlum, canım Metehan'ım ile hafta sonumuz çok güzel geçti. Sabah saat 10-11 arası teslim aldım. Metrobüs ve Minibüs yaptık.

Metrobüse binmeden önceki hallerimiz :)

 Meteme poz verdirmek çok zor. Anında şekil değiştirme yeteneğine sahip bir çocuk.
 Bir şekilde poz verdiğinde ise resmini anında çekmemiz gerekli. Hareketi bozmasa bile mutlaka bir şeyler soruyor. Ağzını kapalı tutması diye bir şey söz konusu bile değil :)
 Poz vermekten hemencecik sıkılıyoruz. Arkasından sorular başlıyor.
- Baba resime bakayım
- Çektinmi? nasıl çıkmışım
Hiç bitmiyor benim tosunumun soruları :D
 Bu öpücükler kızlar için. Resimlere kızlar bakacak dediğimde hemen öpücükler gelmeye başlıyor. Çok can yakacak benim oğlum :)








Metrobüsteki şark köşesine bayılıyoruz. Tabii bu kez orayı kapamadık. Oturduğumuz yerde, her zamanki gibi bir abiyle tanıştı. Nereye gitsek kendisini birilerine sevdiriyor. Metrobüsten sonra minibüsün kalkmasını bekledik. Biraz sohbet biraz muhabbet ettik.

 Minibüste ön koltuğu çok seviyoruz. Bizim arabamız hepsinden büyük. Trafikte diğer araçlar hep bizden kaçıyorlar :)
 Hareketlerine, pozlarına, duruşuna bakılırsa ileride minibüsçü olacak. Kesin kıvırır. Çünkü şöförün yaptığı her hareketi büyük bir dikkatle izliyor.
 Ücretini göndermeyenleri itina ile tespit ediyoruz. Derhal şöför beye bildirip, hakkında işlem yapılmasını sağlıyoruz :)








Yolda dondurma yedik. Çok seviyoruz. Ellerimiz ayaklarımız dondurma oluyor ama olsun çok lezzetli :)


 Nihayet babannemizin evinin bahçesine ulaştık. Yukarıda sağlam bir kahvaltı bizi bekliyor. Hemen çıkacağız ama babamız sigara içiyor. Önce bitirmesi lazım. Arada zaman geçirmek için biraz resim çekelim...
 Pozlarımız çok artistik. Herkes veremez bu pozları
 Arada kinaye yapmayada bayılıyoruz. Karşımızdaki ile dalga geçecek kadar büyüdük :)

Dondurma yediğimizin ispatı :) Bal dudaklarımız, ballı dondurmalı dudaklar oldu :)









 Amcamız gitar çalıyor. E o çalarda biz dururmuyuz? Durmayız...
 Tek sorun gitarın yaklaşık olarak oğlumla aynı boyda olması. Yoksa neler neler çalarız siz bilmiyorsunuz.
En çok sevdiğimiz şey ise youtube dan çizgi filmler izlemek. Çok seviyoruz. Ne istersek elimizin altında. Herşey bize tahsis edilmiş. Teşekkürler youtube....







 Artık akşam oldu ve dönüş vakti yaklaştı. Yorgunluk ve bitkinlikle bir günü tamamladık. Oynadık eğlendik. Şimdi amcamıza işkence zamanı.

 Amcamızı çok seviyoruz. Amca dediğin yeğenini kucağında taşır. Yeğen nereye isterse oraya götürür. Şimdi oğlum küçük. İleride nereye gitmek isterse amcası onu oraya götürecek.
O kadar taşıdıktan sonra amcamızı ödüllendiriyoruz. Küçücük oğlumun ne parası ne duası var. Bol bol öpücüğü var. O öpücük herşeye değer...

16 Temmuz 2011 Cumartesi

Şirket dizini

Bir gün bir firmanın bilgilerini bulmam gerekti. Hemen google'a girip baktım. Bir ton (yaklaşık 20 sayfa kadar) sayfa gezdim ve firma bilgilerine ulaştım. Sonra oturdum ve düşündüm. Bir program olsa ve ben oradan bu bilgilere ulaşsam, google'da çıkan kayıtlardaki saçma siteleri dolaşıp absürt reklamları görmesem, koca koca sayfaları dolaşıp internetimin trafiğini ve hızını boşuna harcamasam nasıl olurdu?

Bu düşünceyle ŞirketDizini programınız yazdım. İnternetten temin ettiğim bir firma bilgileri veritabanını aldım. Üzerine web servisleri ile kılıf giydirdim. Windows arabiriminide yazdıktan sonra kullanıma sundum. Artık bir şirketin bilgilerine ihtiyaç duyduğumda program sayesinde çok kısa bir sürede sonuca ulaşıyorum. Programı kullanmak herkes için ücretsizdir. İşinize yarar ise mutlu olurum. Program sizlerin ve benim ihtiyaçlarıma göre şekillenip güncellenecektir. Şirket bilgileri internette tutulduğundan, sizlerinde eklediği bilgiler onaydan sonra anında kayda geçer ve herkes tarafından görülür. Kendi şirketlerinizi eklemeniz ve bulunmanızı kolaylaştırmanız için çok büyük rahatlık.

Inndir.com sitesinde programa ulaşabilirsiniz. Yada direk buraya tıklayarak ulaşabilirsiniz.

Programı .Net 4 ile yazdığımdan framework ihtiyacı duyar. Eğer çalışmazsa buradan .Net Framework'ü indirebilirsiniz.

Umarım işinize yarar :)

Herşey bir MERHABA ile başlar.

Merhaba arkadaşlar. Bir blog çılgınlığı aldı başını gidiyor. Bende bu kervana katılmak için kolları sıvadım. Mümkün oldukça bu sayfa üzerinden özgün olan şeyleri paylaşmaya çalışacağım.

Mesleğim IT teknolojileri ve sizlere bu konuda bildiklerimi paylaşmak istiyorum. Elimden geldiğince özel hayatımla alakalı bilgilerde olacak. Sonuçta paylaşmak istediğim herşey burada olacaktır.

Umarım beğeneceğiniz bir sayfa yapmayı becerebilirim.