Forum: Duyurular RSS
Fuzuli Programlama Dili
Sayfa:  1  2  3  sonraki 
qyn_ #1
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: Fuzuli Programlama Dili
 Merhabalar uzun süredir forumda aktif değildim fakat birkaç gün önce duyduğum güzel bir haberi vermek istedim.
 Üniversite hocamız olan Mehmet hakan satman (Jbytecode) yeni bir programlama dili duyurdu. Daha yaşı çok genç  
 olan hocamızın bu tür bir çalışmaya imza atması bizleri çok sevindirdi.
 Yeni doğan fuzuli hakkındaki detaylı açıklamalar  http://www.fuzuliproject.org/ adresinden edinilebilir.
 Hocamızın blog web sitesi :   http://stringtokenizer.blogspot.com
zafer #2
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yapanların, ugraşanların eline sağlık. Eminim çok keyif aldıkları bir süreç yaşamışlardır.

Bu tür projeleri görmek beni her zaman heyecanlandırıyor. Bunlar çok güzel şeyler, emek harcayanlara yolları açık olsun diyorum ve mümkün olursa sayfalarında biraz daha fazla Türkçe içeriğe yer vermelerini istiyorum.
https://github.com/zafer06 - depo
qyn_ #3
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
    Evet Zafer , benim ingilizcem olmadığı için böyle projeleri çok takip edemiyorum . En azından bizden çıkan işlerde emeğin türkçesinede yer verilmesi gerekiyor ,zaten sitede belirtildiği gibi dökümanı türkçeye çevirecek arkadaşlar projeye dahil edilebilir diye bir yazıda var.
 Dilin yazım şekli çok hoşuma gitti .

(let i 5)
 
(for (let i 0) (< i 10) (inc i)
    (block
        (print "i is " i "\n")
    )
)
 
(print "Finally, i is ""\n")
Avatar
Salih Dinçer #4
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Çok ilgi çekici bir haber ve emeği geçenleri kutlarım; duyuru yapanı da...

Türkçe şeylere karşı ilgim çok ve hele Fuzuli gibi çok çok anlamlı bir isim seçilmiş olması hoş olmuş. Bir gün bir şekilde katkı sağlamak isterim. Hele şu yoğunlu bir atlatalım ve inşaallah diyelim...:)
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
zafer #5
Üye Tem 2009 tarihinden beri · 700 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #3
qyn_:
Evet Zafer , benim ingilizcem olmadığı için böyle projeleri çok takip edemiyorum.

Sıkıntı yok qyn_ bende aynı durumdayım  :blush:  ama bir an önce ingilizce konusuna bir çözüm bulmak niyetideyim. Sanada bu yönde bir planlama yapmanı tavsiye ederim.

Diğer tarafadan D vesilesi ile Ali tarafından başlatılan bu harika Türkçe platformdan olabildigince faydalanmaya çalışıyorum. Sadece D dili değil örneğin JSON gibi bir teknolojiyide burada konuşup bir çok Türkçe foruma göre daha detaylı irdeliyoruz.

Şahsi görüşüm bu forumdan olabildigince faydalan ve ingilzce konusunda çalışmalara hız ver. Hatta foruma ingilizce pratik için bir bölüm açsak mı!  :-D
https://github.com/zafer06 - depo
qyn_ #6
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
   Evet ingilizce şart diye düşünüyorum.Hernekadar programcılığı mesleki olarak yapmasamda birşeyler araştırırken ingilizce her zaman şart oluyor. D diline başlayıp bırakmak gibi bir hatayı yapmıştım ancak bu güzelim forumuda bırakmaya gönlüm el vermedi o yüzden foruma artık daha fazla girip daha fazla yazı okuyacağım.Zaten programlama ile ilgili forumda içerikler çoğalmaya başladı .yakında D dilinden ayrı bir şekilde kopup giderse şaşırmayalım :D
   Zafer , senin sitenide inceledim gerçekten çok faydalı şeyler yazmışsın . Arada takıldığım şeyler oluyor foruma yazdığımda sanırım cevabı ilk yapıştıracaklardan olacaksın :D
Avatar
Salih Dinçer #7
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Fuzili Dili'ni incelemeye (amiyane tabirle yakın markaja almaya) başladım...:)

Gerçi metne çevrilmiş belgeleri var ama sayfaya girince gelen rasgele kodların daha okunabilir bir yazı tipi ve kopyalanabilir biçimde olması mantıklı olurdu. Bu şekilde belki estetik olmuş ama kesinlikle işlevsel değil. Yani insan hemen bir kod denemek istese ekranda yazan metne çevirmesi gerekecek. Bir de en ufak bir yazım hatası yapsanız çalışmayacak ve baştan soğuyacaksınız. Öyle ya el yazısı gibi bir yazı tipi var:

[Resim: http://www.fuzuliproject.org/code/fibon.png]

Bu arada Mehmet Hakan hocayı araştırdıkça daha çok taktir etmeye başladım. Bize bu fırsatı sunan (başlığı açan) öğrencisine de teşekkür ederim.
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
acehreli (Moderatör) #8
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
O font bana da garip geldi ama neyse ki metin içindeki kodlarda başka font var. :D

İlginç bir dile benziyor. İlk bakışta Lisp'in akrabası olduğunu düşünmüştüm ama yalnızca söz dizimi olarak öyle olduğunu söylüyorlar.

Eğlenceli olduğu belli. :)

Ali
qyn_ #9
Kullanıcı başlığı: qyn
Üye Nis 2010 tarihinden beri · 32 mesaj · Konum: öğrenci
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bu arada Mehmet Hakan hocayı araştırdıkça daha çok taktir etmeye başladım. Bize bu fırsatı sunan (başlığı açan) öğrencisine de teşekkür ederim.

Teşekkür ederim Salih .Vallahi hocamızı bende takip ediyorum ancak yaptığı projeleri o kadar hızlı ve estetik bir şekilde yapıyorki projeyi incelerken bunu nasıl yapmış olabilir diye düşünürken ardından bir proje daha ve bir sonrakisi geliyor.
Kadir Can #10
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Fuzuli çok ilgimi çekti ve biraz denemeye karar verdim.Aşağıdaki kod birden ona kadar olan asal sayıların toplamını veriyor.
(function isPrime (params a)
    (block
        (let c 0)
    (foreach b in (: 0 a )
        (if (= 0 (% a b ))
            (++ c)
        )
    )
    (if (= c 2)
        (return 1)
        (return 0)
    )
    )
)
(let a (: 2 10))
(let sum 0)
(foreach i in a
    (if (= (isPrime i) 1)
        (let sum (+ sum i))
    )
)
(print sum)
Avatar
Salih Dinçer #11
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Benim de ilgimi çekiyor ama derlenen bir dil olmaması ve yavaşlığından dolayı ilgim azalıyor. Hoş bu iki olumsuz yanı birbiriyle ilişkili. Belki biz Türkler yeterince destek verirsek neden D1'in ilk sürümleri gibi olmasın!

Asal sayılara ilgim olduğundan şu kodu ve bir de daha hızlı asal sayı bulan algoritmayı deneyim dedim. Örneğin yukarıdaki işlevi şu şekilde denediğimde 7 asal sayını göstermediğini tespit ettim:
(let a (: 2 20))
(let say 0)
(foreach i in a
    (if (= (isPrime i) 1)
           (print i "\n")
    )
)
(print "\nToplam bulunan asallar: " say)
Çıktısı:
2
3
5
11
13
17
19

Toplam bulunan asallar: 0

C:\Users\Netbook\Downloads\fuzuli-win_0.1-5>fuzuli
Fuzuli build Jun 12 2012 12:36:46
Kullandığım sürüm son sürüm ve Hakan hoca ile iletişime geçmeden evvel bir kaç şey daha denedim. Örneğin block içine almayı:
(let a (: 2 20))
(let say 0)
(foreach i in a
    (if (= (isPrime i) 1)
        (block
               (print i "\n")
               (++say)
        )
    )
)
Çıktısı:
2
3
7
11
13
17

Toplam bulunan asallar: 6


Gördüğünüz gibi bu sefer 5 ile 19 asal sayıları kayboldu. İlginçtir bunun karşılığında 7 asal sayısı geri geldi. Block kullanma sebebim ise anladığım kadarıyla if()'den önce yer alan parantez bizim alışık olduğumuz küme parantezi gibi değil. Yani sadece tek satıra duyarlı. Eğer block kullanmazsanız say değişkeni 13 oluyor. Bu bulunan asal sayının iki katından bir fazlası.

Şurada bahsettiğim algoritmayı da çalıştıramadım. Aslında notasyona yabancıyım ve hiç sevmiyorum diyebilirim. Öyle ya dünya yüzeyinde kaç ülkede kullanılıyor ki! Yinede kendimi zorlayarak algoritmadaki döngüyü şu şekilde yaptım:
(for (let n 3) (<= (* n n) p) (+ n 2)
Ama sonra bunu tek başına çalıştırdığımda n sayısının tahmin ettiğim gibi artmadığını gördüm. Ben de C'den esinlenerek iki farklı değişkeni arttırabileceğimize göre şöyle yapabiliriz diye düşündüm ve tek sayıları ekrana yansıtabildim:
(for (let n 2) (<= n 19) (++n) (++n)
Dikkat ederseniz n sayısı 2'den başlıyor! Çok ilginç değil mi? Çünkü anladığım kadarıyla iki defa arttırma yapıyorsam 2 sayısı ilk (++n)'i gördüğünde 3, sonraki (++n)'i gördüğünde ise 4 olmalıydı. Ama ilginçtir ki 5 çıkıyor...:)

En son bu şekilde ASAL_MI işlevine uyarladığımda maalesef şöyle bir hata aldım:
      5 [main] fuzuli 14572 exception::handle: Exception: STATUS_ACCESS_VIOLATION
 5364 [main] fuzuli 14572 open_stackdumpfile: Dumping stack trace to fuzuli.exe.stackdump
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Kadir Can #12
Üye Haz 2010 tarihinden beri · 413 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
@Salih;
O kodu yazarken çok kırılgan bir yapıda tasarlamışım. Öyleki asallığı test ederken kullandığımız sayılar sıfırdan başlıyor ve Fuzuli'de 0'a bölmek yasal. İşlemin sonucu inf olarak belirtiliyor. Sanırım bu yanlış, değil mi?
Sıkıntıyı düzelttim ve artık sorunsuz çalışıyor.
(function isPrime (params a)
    (block
        (let c 0)
    (foreach b in (: 1 a )
        (if (= 0 (% a b ))
            (++ c)
        )
    )
    (if (= c 2)
        (return 1)
        (return 0)
    )
    )
)
(let a (: 2 20))
(let say 0)
(foreach i in a
    (block
        (if (= (isPrime i) 1)
            (block
               (print i "\n")
               (++say)
            )
        )
    )
)
(print "\nToplam bulunan asallar: " say)
Bu mesaj Kadir Can tarafından değiştirildi; zaman: 2012-07-19, 06:10.
Avatar
huseyin #13
Üye Haz 2012 tarihinden beri · 363 mesaj · Konum: Ankara
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Fuzuli ye bir göz attım da hoşuma gitti deneyeceğim
Huseyin
Avatar
Salih Dinçer #14
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #12
Kadir Can:
@Salih;
O kodu yazarken çok kırılgan bir yapıda tasarlamışım. Öyleki asallığı test ederken kullandığımız sayılar sıfırdan başlıyor ve Fuzuli'de 0'a bölmek yasal. İşlemin sonucu inf olarak belirtiliyor. Sanırım bu yanlış, değil mi?
Sıkıntıyı düzelttim ve artık sorunsuz çalışıyor.
foreach()'den sonra koyduğun fazladan block'un ne işe yaradığını anlayamadım. Ama isPrime() içindeki foreach()'i 1'den başlatman sorunu kökünden çözmüş görünüyor. Bu benim dikkatimden kaçmıştı. Peki diğer algoritmayı (kareköküne kadar tarama for(n=3; n*n > p; n+=2) döngüsü ile) uyarlaman mümkün mü?

İlginçtir eski 0'a bölmeli algoritmada fazladan konulan block olmadığında (2, 3, 7, 11, 13, 17) asal sayıları bulunurken block dahil olduğunda 19 asal sayısının geldiğini ama 7, 13 asal sayılarının da çıktığını görüyorum. Demek ki sıfıra bölme ciddi kararsızlıklara sebep oluyor.
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Avatar
Salih Dinçer #15
Üye Ock 2012 tarihinden beri · 1912 mesaj · Konum: İstanbul
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Bu kararsız durum hakkında Hakan hoca şöyle cevap yazmış:
sanırım windows versiyonunu kullanıyorsun ve bunu derleyeli çok uzun zaman geçti. yavaş ve ilkel bir versiyon bu. son linux paketleri daha verimli çalışır.
 
Mehmet Hakan Satman
http://www.mhsatman.com
Bilgi paylaştıkça bir bakmışız; kar topu olmuş ve çığ gibi üzerimize geliyor...:)
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  1  2  3  sonraki 
Forum: Duyurular RSS
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-18, 17:27:30 (UTC -08:00)