RSS
 

Posts Tagged ‘Small Basic’

Small Basic V0.8 Çıktı

09 Feb

Merhaba,

2 sene önce sizlerle paylaştığım Small Basic makaleleri ile giriş yapmıştık. Eğer devam edenler varsa Yeni versiyonun çıktığına çok sevinecekler.

Small Basic v0.8

Yeni sürümde eklenen özelliklere kısaca göz atacak olursak;

  • Paylaşılmış programlar ile ilgili ek bilgi özelliği.
  • Paylaşılmış programları oylayabilme özelliği(Online)
  • Yazdığınız küçük programları çıktı şeklinde almak isterseniz zengin bir formatlama özelliği sizi bekliyor olacak.
  • Kod tamamlama özelliğinde artık kod örnekleride mevcut.
  • API kütüphanelerinde performans iyileştirmeleri yapılmış. ( En çok hoşunuza gidecek özellik bu sanırım. :D )

Paylaşılmış program da ne? Yazdığınız programları online olarak paylaşabiliyorsunuz. Örneğin: http://smallbasic.com/program/?CKM626

Türkçe, Rusça,Fransızca,Çince ve japonca gibi yeni dil destekleri gelmiş.

Small Basic Türkçe

(” Büyük halini görmek için üzerine bolca tıklayınız.”) :)

En çarpıcı özellik olarakta Small Basic için Silverlight desteğinin gelmesi olmuş. Bu sayede IDE yüklü olmadan program veya oyunları blogunuzda dahil heryerde yayınlayabileceksiniz.

Hatırlatma: Small Basic kodlarınızı Converter özelliği ile Visual Basic kodlarına otomatik çevirebilirsiniz.

Bir önceki Small Basic makalemde belirttiğim gibi yazacak çok şey var ve eğer Small Basic’e ilgi duyuyorsanız. Yorum olarak belirtirseniz yeni makale yazarken Small Basic’i de öncelikli olarak yazmaya çalışırım.

İyi Çalışmalar.

 
 

Microsoft Small Basic

21 Dec

Merhaba,

Microsoft’un Open Source olarak DevLabs bünyesinde geliştirdiği bu kolay programlama dili ile genç arkadaşlarımız ve programlamaya yeni giriş yapacak kişiler kolayca program geliştirebilir. Bir takım algoritmik mantıklara burada ihtiyaç duyacağından algoritma bilgilerinide geliştirebilirler.

İleride ücretsiz eğitimlere dahil edeceğim Small Basic dilinide blogumda anlatmaya bu yazı ile başlıyorum. İlk olarak şunu söylemek istiyorum ilk olarak bana söylediklerinde small basic’i gerçekten çok basit bir dil olarak algıladım.Ama network işlemlerinin bile yapılabileceğini gördüğümde aslında bir takım alt seviye programlarımıza kadar yazabileceğimizi gördüm. Tabi bu dediğim kurumsal olmayan uygulamalar için bu geçerlidir. Yani Small Basic programcısı aranıyor ilanını göremeyeceğiz :D Gerçi burası Türkiye büyük konuşmamak gerek. Umarım görmeyiz diyelim. :)

İlk olarak editörünü buradan indiriniz.

Şimdi lafı çok uzatmadan sizin için hazırladığım grafikten başlayalım anlatmaya.

Microsoft SB

(Resmin üzerine tıklayarak büyük halini görebilirsiniz.)

Yukarıdaki resmi incelediğinizde de göreceğiniz gibi C++ ile yazılmış güzel bir editörümüz var. Şuanda kullandığımız 0.2 versiyonu ama ben kaliteli buldum. Zaman bulursam ileride bu editörü bende geliştireceğim, yeni versiyonlarını sizlerle paylaşırım.

Şimdi ilk olarak standart Hello World programımızı yazalım. Ama siz biliyorsunuz ki ben hello world yazdırmıyorum. :D

Ms SmallBasic

(Resmin üzerine tıklayarak büyük halini görebilirsiniz.)

Hemen açıklamamızı yapalım. TextWindow class‘ı okuma ve yazma yapabileceğimiz bize özellikleri sunmaktadır. Biz bu sefer WriteLine() metodunu kullandık. Bu metod string parametre almaktadır. Geri dönüşü void‘dir.

Bu kod çalıştığında WriteLine() ‘a elle verdiğimiz Small Basic Öğreniyorum string değerini alıp ekrana yazar ve bir alt satıra geçer. Burada takılabileceğiniz noktalar şunlar olabilir.

  • Class Nedir? Ne işe yarar?
  • Metod Nedir?
  • String veri türü nedir? Diğer veri türleri nelerdir?

Kısa, kısa açıklayayım. Ama size tavsiyem internetten ayrıntılı olarak araştırmanızdır. Class(Sınıf)’lar dediğimiz şey programımızdır aslında. Bu terimleri hemen 2 satırlık bir paragrafta yada bir kitabın bir sayfasında okuyarak öğrenebileceğinizi düşünmeyin. Tanımını ezberlersiniz ama mantığını kavrayarak, algoritma yürütme işlemi ise ne zaman sindirirseniz o zaman yapabilirsiniz. Programımızda oluşturduğumuz nesnelerimizin kalıbıdır sınıflar.

İnsan’nın bir class olduğunu düşünün. Property(Özellik)’leri okuma,konuşma,yazma olarak nitelendirebiliriz. Function(fonksiyon) dediğimiz şey ise bir işlevi programın farklı yerlerinde sürekli olarak yapacaksak bunu bir fonksiyon haline getirip otomotize etme işlemidir. Bu terimleri ileride kullandıkça hep açıklayacağımdan şimdi burada uzun, uzun yazsamda hepsi havada kalacak ve konular ilerledikçede unutulacaktır. Yeri geldiğinde anlatmam ve açıklamam daha doğru olacağını düşünüyorum.

Veri türlerini ise şimdiden öğrenmeniz iyi olacaktır. İleride farklı veri türlerinide açıklayacağım.

  • Int – Integer (Tamsayı) = 36841 (örnek)
  • Double (Çift sayı) = 3,598 (örnek)
  • String (Alfanümerik) = “Hakan DAMAR” (örnek)
  • Boolean – Bool (Mantıksal) = True(1)/False(0) – Doğru / Yanlış (Örnek)
  • Object (Nesne) = Nesnenin  sabit bir veri türü olmayabilir.Herşey olabilir. (Sayı,ağaç,su,dizi gibi)
  • Array (Dizi) = {0,1,2,3,4,5,6} (örnek)

Bildiğiniz üzere bu ilk ders olduğundan bu kadar uzuyor. Bir çok terimi açıklamak zorunda kalıyorum. Biraz temeli olan kişilere geyik olarak gelebilir ama bunları bilmeyen çok fazla kişi var ve biz onlarıda geek yapmamız gerekiyor. :)

Son olarak ekran çıktısına bir bakalım;

Small Basic İlk program ekran çıktısı

Bazı kişilerde Türkçe karakter problemi olabilir. Bu işletim sisteminizden kaynaklanmaktadır. Herşeyi uyararakta sizi sıkmak istemiyorum ama C# ile uğraştığım ilk zamanlardan kalan takıntılar bunlar. :) Elimden geldiğince kısaltmaya çalışacağım.

Bu işlemin arka planınada çok girmek istemiyorum çünkü bu aşamada sizi çok ilgilendirmiyor ama bilmeniz gereken kadarını anlatayım. Siz F5(Run-Çalıştır) dediğinizde compiler(derleyici) gidip editör’in ilk satırındaki class’a bakıyır daha sonra çağırdığınız fonksiyonuna gidiyor. Burada fonksiyonun aldığı değere göre bir değer gelip gelmediğini kontrol ediyor. Eğer değeri vermişseniz alarak içeride işlemleri yapıp bir değer geri döndürüyor. Demek ki buradan anladığımız şey WriteLine() fonksiyonun geri dönüş değeri olduğunun ve string bir değer aldığını çözüyoruz.

Sizde örnek programı indirip çalıştırdığınızda, yazmadığınız ama otomatik karşınıza çıkacak olan bir yazı ile karşılacaksınız. Aşağıdaki gibi bir görüntü siz her programınızı çalıştırdığınızda gözükecektir ve programınızda sizin yazmadığınız şöyle bir yazı yazacaktır. “Press any key to continue” => Devam etmek için bir tuşa basınız.

Small Basic End Program Uyarısı

Bunun sebebi yazdığımız programı sonlandırmağımızdan kaynaklanıyor. Siz “End Program” butonuna tıkladığınızda IDE yani program geliştirirken kullandığımız bize yardımcı olan program arka planda giderek Program.End() komutunu set‘ler.Böylece programınız sonlandırılmış olur. Peki biz programımızı her seferinde buradan mı? sonlandırıcaz. Hayır, bunu bizde aynı kodları yazarak sağlayabiliriz. Fakat o kod okunduğunda hemen program sonlandıracaktır.

Yani siz daha ekrandaki çıktıyı görmede program sonlandırılmış olacak. Ama yinede bunun kullanımını size göstermek adına Program.Delay() metodundan yararlanarak programı 2,5 saniye beklemeye alacağız. Bu süreçte program o satırda durarak verilen sürenin bitmesini bekleyecek. Aslında durmuyorda :) daha sonra açıklayacağım arka planını, şimdilik duruyor diyelim. Ardından hemen altındaki kod satırından başlayarak uygulamaya devam edecektir.

MS SBasic Programı Askıya Alma(Bekletme)

Bu sefer Program class’nın Delay() ve End() metodlarından yararlandık. Kullanan herkese büyük kolaylık sağlayacak kod tamamlama özelliği hakkında bir bilgi vermek istiyorum. Eğer kod tamamlama bölümü açılmıyorsa veya kod yazmadan açmak istiyorsanız CTRL+Space(Boşluk) tuşlarına beraber basmalısınız. Böylece kod tamamlama desteğindeki class’ları ve nokta ilede onun property,event v.s.’ne erişebilirsiniz. İleride değineceğim bu şimdilik aklınızda olsun.

Bu dersimizde hep siyah ekran ile uğraştık. Son olarak sadece örnek olması açısından bir grafik arayüzü ilede uygulama yazarak tüm kodların içerisinde olduğu kaynak kodları veriyorum. Uygulama çalıştığında ekrana bir kaplumbağa çıkıyor ve bize bir kare çizmeye çalışıyor. Siz kordinatları değiştirerek farklı görüntülerde elde edebilirsiniz. İleride GraphicsWindow class’ından yararlanarak çok daha gelişmiş grafikler çizeceğiz.

Kaynak kodları indirmek için tıklayınız.

İyi Çalışmalar,

Hakan DAMAR