Forumana.com, Forum, Forum Sitesi, Forumlar

Forum KayıtForum Kayıt ForumForum OyunlarOyunlar MesajlarMesajlar GruplarGruplar Üye GruplarıYönetim RadyoFM DinleRadyoFM TwitterTwitter FacebookFacebook İletişimİletişim
 


Forum Forumlar Forum Sitesi Forum Grup Forum Albüm Forumları Okudum
Go Back   Forumana.Com - Forum, Forumlar, Forum Sitesi Eğitim & Öğretim Üniversite Dersleri Elektronik & Bilgisayar

Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ]

 Elektronik & Bilgisayar forumunda yer alan Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] konusu, Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] Açık kaynak kod mantığına dayanan görsel bir programlama dilidir. Delphi kullanılarak yapılmıştır. Visual Basic ...



Yeni Konu aç Cevapla
 
Seçenekler Stil
Alt 17-Ocak-2012, 17:50   #1 (permalink)
UYARI:
Kullanıcıların Profil Bilgileri Misafirlere Kapatılmıştır. Görmek için KAYIT olmalısınız.~
Giriş Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ]

Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ]

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





» Yunus Programlama Dili [İlk Türkçe Porgramlama Dili ] - www.forumana.com

  Alıntı ile Cevapla
Yeni Konu aç Cevapla

Yukarıdaki Konuyu Aşağıdaki Sosyal Ağlarda Paylaşabilirsiniz.

Etiketler
dili, ilk, porgramlama, programlama, turkce, yunus


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 22:32.

Forum Künyemiz
Uyarı

Powered by vBulletin® Version 3.8.4
Copyright ©2011 - 2019, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Açılış Tarihi : 05.12.2011
Kuruluş Tarihi : 20.11.2011
Hazırlayan & Tasarlayan : Forumana.Com
 

Sosyal paylaşım platformu olan Forumana.Com sitemizde, kullanıcılar 5651 sayılı kanunun ilgili maddesine ve TCK'nın 125. maddesine göre yaptıkları paylaşımlardan sorumludur, kullanıcı kaynaklı herhangi bir durumdan Forumana.Com sitesi sorumlu değildir. Tüm hukuksal bildirimleriniz/sorunlarınız/istekleriniz ve şikayetleriniz için İletişim panelinden bizlere ulaşabilirsiniz, Forumana.Com yönetimi en geç "3" iş günü içerisinde dönüş yapacaktır. Platformumuz; kişilik ve telif hakları korunumu, illegal paylaşım ve korsanla mücadele konusunda yetkililere yardımcı olmayı ilke edinmiştir.

Forum, Forumlar, Forum Sitesi, Etiket, Sitemap, Arşiv