izmir escort escort izmir porno porno izle
Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] - IRCForumları - IRC ve mIRC Yardım ve Destek Platformu
User Tag List

Standart Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] #1
Üyelik Tarihi: 11 Haziran 2011
Mesajlar: 3.063
Aldığı Beğeni: 1
Beğendikleri: 0
06 Kasım 2011 , 02:06
Alıntı ile Cevapla
Açık kaynak kod mantığına dayanan görsel bir programlama dilidir. Delphi kullanılarak yapılmıştır. Visual Basic benzeri betik dile sahiptir.

Tarık Bağrıyanık isimli bilgisayar öğretmeni tarafından Aralık 2001 tarihinde "Delphi 3" ile yapımına başlanmıştır.

24.000 satırdan fazla koddan oluşan proje için yaklaşık 600 saat harcanmıştır. XML veritabanı dosya türü ve Excel tabloları da desteklenmektedir. Kod renklendirmesi SynEdit nesnesi ile yapılmıştır.

Kodlamada Yunus 2.8'e kadarki sürümler için Türkçe ve İngilizce sonraki sürümler için sadece İngilizce kullanılmıştır. Programın kullanımı ise Türkçe ve İngilizce olabilmektedir.


Yunus projesi “açık kaynak” ücretsiz script tabanlı programlama dilidir. Aslında eğitim amaçlı basit bir arayüz ile basit komutlar ile “görsel program” yapımı da denilebilir.

Aralık 2001 tarihinde yapımına başladım. 2004 yılına 3.0 sürüme kadar ilerledim. Tarik'ın Web Sitesi adresinde yayınlamaya devam ediyorum. Sitemde 40’a yakın sayıda değişik programlama dillerinde (ASP PHP Flash Action Script VB C) projelerim indirilebilir.

Yunus için aradığım desteği bulamamamdan dolayı artık geliştirmiyorum. 3 yıl süresinde sadece 2–3 kişi ilgilense de program yapımında etkileri olmadı. Sadece Yunustoexe adında bir arkadaş Yunus proje dosyalarını exe yapan ücretsiz bir program yaptı.

Yunus programında eklemek istediğim şeyler php editörü veritabanı editörü ve 3d tasarım penceresi gibi vardı. Yunus kod kısmında çok yoğun hale geldiğinden Bluedream adında sıfırdan tekrar başka bir program ile ilgilendim ama genelde bu program hazır nesneler kullanıyordu. Mesela Synedit Delphiwebscript ve “Greatis Form Designer” nesneleri gibi. 3d tasarım penceresi bu BD projesinde vardı. Nesnelerin “Properties” penceresi de gelişmiş sayılır.

Exe yapımı ASP-PHP çıktı verebilme (ki şu anda basit de olsa HTML çıktısı var) pic (mikrokontrolcü) programlama ve oyun programlama (yapay zeka) gibi alanlarda Yunus’u geliştirmek isterdim. SQL komutları ile istenen tabloda sorgu yapmayı isterdim.

Kod kısmında genelde Basic benzeri bir dil olduğunu söyleyebilirim. C++ ve Pascal’dan esintiler var. Türkçe kod yazımını 2.8 sürümünden sonra bıraktım. İngilizce kod yazımı daha evrensel gibi geldi sonradan. Ama bir proje yaparken istenen dil seçilebiliyordu. Yani istenirse İngilizce kod istenirse Türkçe kod yazılıyordu. Menü arayüz dili hala her iki dilde devam ediyor.

Yunus açık kaynak olduğu için Delphi 7 ve sonraki sürümlerinde gerekli nesneler kurulduktan sonra güncellenmesi imkânı var. Delphi 2007’de açarak denediğimde sorun çıkmadan çalışmaya devam ettim.

Bilgisayardaki portlara erişmek (paralel port gibi) Excel dosyalarına erişip değişikliği kaydedebilme XML (*.cds) olarak veritabanı kullanabilme gibi özellikleri var. Yunus projelerinde form yüzeyi çizim alanı olarak kullanılabilir. Timer nesnesi ile basit animasyonlar yapılabilir.

Yunus projesinde yapılan programların çalışma zamanlarında değişkenlerinin izlenmesi kolaydır. İstenirse değerleri değiştirilebilir. Değişkenler “kalıcı” hale getirilerek bir sonraki çalışmada da aktif olarak kullanılabilirler.

Access programındaki gibi bir nesne sağ tıklanıp başka bir nesneye dönüştürülebilir. Mesela bir düğme istenirse etikete dönüştürülebilir. Ama tabii ki ona bağlı olan “tiklanınca” olayı hala çalışır haldedir. Zaten çoğu nesnenin ortak bir olayı olan “tiklanınca” istenen nesneye bağlanabilir. Kod kısmında açılan prosedürün adını nesne adı ile değiştirmek yeterlidir.

Değişkenler global ve istenen yerde oluşturulabilir. Değişken türleri yoktur. Otomatik olarak sayı ve metin dönüşümleri yapılıyor. Fonksiyon dönüş değeri ve gönderme parametresine bu sebeple ihtiyaç duyulmaz. Aslında yeni yapılan “function” bildiğimiz parametresiz alt programdır.


--------------------------------------------------------------------------------

Programcıdan Not:

Eksiler ve Artılar: Tüm programlama komutları daha bitmedi. Sadece basit atama nesne özelliklerine erişme var. Türkçe/İngilizce menükayıt yazıcı çıktısı yorumlama renkli kod yazımı otomatik tamamlama XML veritabanı ExcelTablo gibi basit özellikler bulunuyor. Her yeni programda Yunus'un kendi menüleri dahil komutlar da özelleştirilebilir. Yunus Programı çalıştırıldığında Windows Gezgini'nden *.proje dosyaları kayıtlı hale geliyor. Dışarıdan Yunus'un ana penceresine *.proje dosyaları sürüklenip açılabilir. Basit bir şekilde EXE (eğer Delphi 6'nız kurulu ise) yapılabiliyor ve HTML olarak da dönüşüm yapılabiliyor. Delphi 6 sürümü oluşan *.dpr dosyayı açabiliyor. Hata mesajları penceresi daha bitmedi.

Çoğunlukla Visual Basic benzeri kodlama sistemimiz var. Aslında hoşuma giden Pascal ve C++ komutları da ekledim. Sonuçta Türkçe veya başka bir dilde özelleştirilebilen basit bir eğitim amaçlı script dilimiz var. "Examples" klasörü içindeki örnekleri inceleyerek genel kullanım hakkında bilgi alabilirsiniz.

Şimdilik size birkaç ipucu:

Değişken türleri ve tanımlanması yoktur. Tüm değişkenler globaldir. Değişken adlarında sayı ile başlamak ve özel karakter kullanmak boşluk bırakmak sorun çıkarmasa da tavsiye edilmez. Kullanıcı hatayı bilerek oluşturduğu kabul ediliyor.
Sayı (tamsayı ve gerçek) metin ve mantıksal (True - Evet False - Hayir) kendiliğinden dönüştürülüyor. 1E3 rakamı 1000 anlamında kullanılabilir. Gerçek sayılarda "" virgül ile ondalık basamak ayrılabilir.
"=" ile atama ve karşılaştırma satır sonlarında ";" yoktur. Aynı satıra ";" kullanarak daha çok komut yazmayı düşünüyorum.
"+" "-" "*" "/" "&" (metin birleştirme) "^" (exp - üs alma) “\” (div - tam bölüm) "%" (mod - kalan) "@" (mantıksal ve) "~" (mantıksal veya) hesaplama bağlacıdır. İçiçe hesap ve parantez kullanılabiliyor.
Değişken ve nesne özelliklerinden sonra "++" ve "--" ile artım eksiltme yapılabilir. a++ gibi fakat şimdilik ++a yoktur. a++ deyimi a=a+1'den biraz hızlı işler.
Birleştirici hesaplamalar a+=2 (eşiti a=a+2) gibi tüm işlemler (+ - * / ^ % & \ @ ~) için kullanılabilir. a+ =1 gibi işlem ve eşittir arasına boşluk bırakmayınız.
Hesap yönü soldan sağadır. Çarpma ve bölme önceliği yoktur. Bu gibi durumlarda parantez kullanılabilir.
a=5+6*3-2 ==> a=21 //normalde; * (çarpma) önce yapılır sonra da kalan yapılır.

a=5+6*3-2 ==> a=31 //Yunus'da; 5+6 sonra 11*3 sonra 33-2... parantez ile a=5+(6*3)-2 asıl sonuç çıktığı görülebilir.

sin(gerçek) cos(gerçek) random(tamsayı) int(gerçek) not(mantıksal) len(metin) lower(metin) upper(metin) chr(tamsayı)asc(karakter) delete(metin ilk miktar) mid(metin ilk miktar) pos(metin karakter) and(tamsayı tamsayı) or(tamsayı tamsayı)xor(tamsayı tamsayı) shr(tamsayı miktar) shl(tamsayı miktar) time() ve date() fonksiyonlarını kod kısmında kullanabilirsiniz. Bu komutları özelleştirme penceresinde bulamazsınız.
Metinleri " işareti içine almak gerekebilir. Mantıksal değer olan “Evet” ve “Hayir” çift tırnak içine alınmalıdır.
Büyük küçük harf ayrımı yoktur. Komutlar nesne özellikleri ve değişkenler istenilen büyüklükte karışık yazılabilir.
Eger komutu tek veya çok şartlı olarak kullanılabilir. Şart kısmında AND için "@" ve OR için de "~" gibi bağlaçları destekliyor.
Eger komutunda "=" ">" "<" "<>" "<=" ">=" kullanılabilir. İçiçe Eger (Degilse) kullanımı sorun çıkarmaz.
eEger şart dogruSatir yanlisSatir VB dilindeki iif gibidir. İç kısımlarda bloklu komutlar kullanılamaz.
Donder degiskenAdi=BaslangicDegeri BitisDegeri Artim şeklinde içiçe kullanabileceğimiz döngü komutumuz var.
iken Şart şeklinde sonuç "Yanlış" olana dek dönen komut vardır. ikenBitti ile de bittiği belirtilir.
Kullanıcı kendi Fonksiyon'unu tanımlanabiliyor.
"//" açıklama satırı yapar. Satır içi açıklama satırı yapılabiliyor.
Etiket tanımlaması ile istenen satıra Git komutu ile dallanabilme imkanı vardır.
Deyimler arasına boşluk ve TAB yapılabilir. Fakat Git komutunun etiketi ":" ile bitişik olması gereklidir.
Yuzey komutu ile form üzerine metin cizgi nokta dikdortgen (kare) daire (elips) poligon yapılabilir. Fakat form üzerinden bir şeyler geçtiğinde silindiğini görebilirsiniz. Tazele komutu ile de formu temizleyebilirsiniz.
sesCal dosyaadi ile *.wav müzik dosyaları çalınabilir.
Tablo nesnesi ile *.xml (Extensible Markup Language) ve *.cds (Client Data Set) dosyalarına erişip basit kayıtlar oluşturabilirsiniz. Şimdilik SQL (Structured Query Language) ve tablo tasarım penceresi (kısayolu: Ctrl+D) bitmedi.
ExcelTablosu nesnesi ile Excel dosyalarına ulaşabilir istenen hücrenin değeri alınabilir değiştirilebilir sonrada kaydedilebilir. Yeni dosya oluşturma yoktur.
BenchmarkStart ve BenchmarkEnd kodları arası milisaniye olarak hız ölçümü verir. Sonuç Hata Penceresi'ne eklenir.
komut tekSatirKomut ile Yunus'un tek satirlik kendi komutlarını kullanabilirsiniz.
Mesela; komut a=1

inport(adres) ve outport(adres byteDeger) donanım olarak port kullanımı içindir.
Örneğin; 888 (378 onaltılık) adresi yazıcının veri portu olarak kullanılır.

Nesnelere atanabilen olay adları vardır. Form ilk açılış ayarları için “Yuklenince -OnLoad” kapanirken de "Kapanirken - OnClose" olayları oluşturulabilir.
Hedeflenenler:

Case - Durum komutu
Dinamik Nesne oluşturma
Daha iyi nesne seçimi ve nesne boyutlandırma
Nesne ve değişken dizileri
Tam olarak çalışan Birden fazla Form kullanma
Daha geniş Yardım Konuları
EXE ve HTML oluştururken tüm nesnelerin komutları ile birlikte çalışabilmeleri
__________________
İyiyim" desem yalan olur; "Kötüyüm" desem inancıma dokunur..
En güzeli, şükre vurayım dilimi;
Belki o zaman kalbim kurtulur..



« Önceki Konu Sonraki Konu »

Şu an bu konuyu okuyan kişi sayısı: 1 (0 üye ve 1 misafir)
 
Benzer Konular
Konu
Konuyu Başlatan
Forum
Cevaplar
Son Mesaj
MaxCadY
Alternatif Tıp ve Şifalı Bitkiler
1
18 Eylül 2014 17:08
MaxCadY
Müzik Dünyası Hakkında Bilgiler
1
24 Şubat 2013 14:25
Mira
Diyet Ve Sağlıklı Beslenme
0
23 Şubat 2013 22:07
MaxCadY
Kimya
0
23 Şubat 2013 22:06
MaxCadY
Kimya
0
23 Şubat 2013 22:02