Takdim

Başlangıçta...

Bu proje, Basic yorumlayıcısı tabanlı, 'grafiksel geliştirme arayüzü ortamı' oluşturmayı amaçlamaktadır, böylelikle altında çalışan Visual Basic™ tarzında bir dile kavuştuk.

Visual Basic 'i mükemmel kılan haddinden fazla bug sayısı ve tutarsızlıklar, beni bu projeyi başlatmaya yöneltti ;-)

Öyle görünüyor ki Microsoft da kendi dilinin kalitesizliğinden haberdar, çünkü VB .Net kendinden önceki Visual Basic versiyonları ile uyumlu değil. Bence Visual Basic yorumlayıcısının kaynak kodlarını çöpe attılar, VB .Net de eski Visual Basic sözdizimine benzeyen ve sadece .Net çalışma zamanı derleyicisi olan bir dil.

Aklınızda oluşabilecek yanlış fikirlere açıklık getirmek istiyorum. *Gambas, Visual Basic ile uyumlu olmaya çabalayan bir dil değil, ve asla olmayacak da. Hatta, sözdizimi ve içeriğinin, bu asıl mal sahibi kuzeninden uzak olmasının daha iyi olacağına ikna oldum ;-)

Visual Basic 'den işime yarayabilecek ne varsa aldım: Basic dili, geliştirme ortamı, kullanıcı arayüzü ile hızlı ve basit program yapma kolaylığı. Hepsi bu. Diğer tüm dillerden birisinin sözdizimini kullanmayı da seçebilirdim, ama çocukluğumdan beri Basic ile beslendim, bu yüzden...

Piyasadaki Visual Basic programcılarının kötü seviyesinden hoşlanmıyorum, sık sık bu dilin bug ve gariplikleri ile cebelleşmek için bir dayatma içerisindeler. Bu yüzden elimden geldiğince *Gambas'ı tutarlı, mantıklı ve güvenilir tutmaya çalışacağım, ve umuyorum ki **Gambas** programcılarının çabaları boşa gitmeyecek! :-)

*Gambas çekirdeği dökümantasyonları tam olmasa bile, şu an kararlı hale geldi. İnsanların nasıl bileşen yazabileceklerini gösteren bir örnek de var.

Umuyorum diğer insanlar da bana, dilin kabiliyetlerini geliştirmeye yardım ederek katılacaklar. Yapılacak çok şey var!

Özellikleri

*Gambas'ın ana hatlarını ve diğer dillere göre öne çıkan özelliklerini tarif etmeye çalışacağım.

*Gambas ,hepsinden önce, uzantılı bir Basic dilidir. *Gambas ile yazılmış bir program dosya topluluğundan oluşur. Her dosya, nesne programlama tabirinde bir sınıf belirtir,. Sınıf dosyaları yorumlayıcı tarafından derlenir,yorumlanır ve yorumlayıcı tarafından çalıştırılır. Bu bakış açısına göre, Java™ 'dan ilham aldığı söylenebilir.

*Gambas aşağıdaki programlardan oluşur:

  • Bir derleyici.

  • Bir yorumlayıcı.

  • Bir arşivleyici.

  • Bir grafiksel kullanıcı arayüzü bileşeni.

  • Bir geliştirme ortamı.

Geliştirme ortamı *Gambas 'ın kendisi ile yazılmıştır, böylece dilin kabiliyetlerini görebilirsiniz. Ve hata ayıklama için de çok kullanışlı!

*Gambas'ı diğer dillerden ayıran özellikleri nelerdir?

  1. Bir *Gambas projesi tek dizin altında depolanır. Arşivleyici bu dizin yapısını tek bir çalıştırılabilir dosyaya çevirir.

  2. Bir projeyi derlemek için sadece modifiye edilmiş sınıfların derlenmesi yeterlidir. Bir sınıfın bağlı olduğu her bir referans, çalışma zamanında dinamik olarak çözülür.

  3. *Gambas 'ın dili esnetmeye müsait bir bileşen mimarisi vardır. Herhangi birisi paylaşılan kütüphane olarak, yorumlayıcıya dinamik yeni yerel sınıflar ekleyen bileşen yazabilir. Component **Gambas**'la da yazılabilir. Bileşen mimarisi Wiki Ansiklopedisinde belgelendirilmiştir.

  4. Varsayılan olarak, *Gambas yorumlayıcısı salt-text programdır. Bileşen mimarisi, dilin grafiksel kulanıcı arayüzünü yazmakta kullanılır.

  5. Grafiksel kullanıcı arayüzü bileşen olarak eklendiğinde, *Gambas herhangi bir toolkit'den bağımsız olarak kullanılabilir! Önce programı yazacak, daha sonra toolkit seçeceksiniz : GTK+, qt, vs.

  6. Grafiksel kullanıcı arayüzünü, Qt toolkit ile eklemeye başlamaya karar verdim, çünkü benim için daha kolay. GTK+ bileşeni tam olarak bitmedi,ama Qt ile neredeyse aynı arayüze sahip olacağım.

  7. Bir pencere veya dialog kutusu, bir kontrol gibi kullanılabilir. Böyle birşeyi Visual Basic'de ActiveX kullanmadan yapamazsınız. (Yaşasın! Biliyorum, ben de biraz alerjikim ;-) ).

  8. *Gambas projeleri kolaylıkla başka bir dile tercüme edilebilir.

Daha fazla detaylar için bkz Release Notes.

Umduklarımız

Çok yakın bir gelecekte (arkadan Uzay Yolu müziği geliyor mu ?), bir çok gelişme planlıyoruz. Bazıları gerçekten gerekli, diğerleri zamanıma ve meşguliyetim bağlı!

Görev Detay
DBUS bileşeni Gambas programına harici DBUS nesnelerini kullandırabilmek.

Gambas projesinin bazı sınıflarını veya nesnelerini DBUS nesnesi olarak export ettirebilmek.
Raporlama Kendisini rapor olarak yazdırabilen yeni kontroller ve containerlar .

Kullanıcıya bir raporu direk olarak IDE üzerinden tasarlatmak.
Geliştirilmiş Web html Web sayfaları,belki biraz JavaScript oluşturan yeni kontrol ve containerlar. Database bileşen geliştirmeleri.

Yeni veri kontrolleri, bound TreeView gibi mesela.
Geliştirme ortamı düzenlemeleri Daha iyi bir hata ayıklayıcı.

Veritabanı yöneticisini IDE içerisinde birleştirme.

Rapor formları, Web formları... desteği.
Grafik Bileşeni *Gambas da grafik yapma.
POP3 bileşeni POP3 sunucusu üzerinden mail okuma.
Nesne sürdürme sistemi *Gambas nesnelerini transparan olarak sürdürme: bir veritabanı yönetim sistemini başınızdan atabilirsiniz.

Güzel... sanırım hayal kurmayı bırakıp kodlamaya geri dönmem lazım...

Benim Hakkımda

Hoşgeldin, meraklı! Benimle ilgili herşeyi öğreneceksin...

Adım Benoît Minisini.36 yaşında Paris'te yaşayan bir adamım. 12 yaşımdan beri programlama tek tutkum, ve şimdi 6 yıldır da mesleğim. Bu tutku CPC Amstrad 464 üzerinde Basic dili ile başladı, ve sonra Atari 520 STE. Tabii ki, şimdi, bir çok farklı dil kullanıyorum. Ama, Basic ile yaptığım ve öğrendiğim bir çok şeyi unutamıyorum.

Her zaman dil, derleyici, assembler, ve yorumlayıcı yazma sevdalısı olmuşumdur. Amstrad üzerinde tüm hafızayı kullanan yorumlanan bir dil ve Z80 assembler yazmıştım.

Sonra, E.P.I.T.A. daki çalışmalarım boyunca, Windows 3.1 altında Lisp yorumlayıcısı yazdım. Altı ay boyunca, Windows'u keşfettim, ahmakça hafıza modeli, Microsoft C derleyicisi, ve sayısız bug.

Bugün, *Gambas dili ile şiddetle devam ediyorum,kendi deneyimlerimi özgür yazılım dünyası ile paylaşıyorum.

Patronuma teşekkür ederim, yarım-zamanlı bir işim var, böylece 3 yıldır *Gambas üzerinde aktif olarak çalıştım.

Ama çok vakit harcayan başka tutkularım da var. Müzik var - uzun zamandır flüt çalıyorum - ve şimdi tiyatro...

Yani, *Gambas'ın gelişimi olması gerektiği kadar hızlı olmayabilir.

Umarım meraklarınızı tatmin etmişimdir... :-)

Teşekkürler

*Gambas özgür yazılımların alanında en iyileri ile inşa edildi, ve onlar olmadan Gambas olamazdı.

Bu yüzden aşağıdaki projelerde görev almış herkese teşekkür etmek istiyorum:
*
* KDE
* GCC ve tabii ki tüm GNU araçları.
* [../../comp/gb.qt4/qt] toolkit.
* GNU [../../comp/gb.image/image] İşleme Programı ve onun toolkit\'i GTK+.
* Open Office.
*  ve PostgreSQL veritabanı yönetim sistemleri.
* ***Gambas***\'ın kullandığı tüm diğer kütüphaneler.

*Gambas'ın bazı kod parçaları, üçüncü parti yazılımlar tabanlıdır:
* Hash tabloları yönetim yordamları, ağırlıkla Glib tabanlı olanlardır.
* Tarih yönetim yordamları da, ağırlıkla Glib tabanlı.
* ***Gambas*** sözdizimi renklendirme editörü, Qt\'nin QMultiLineEdit kodu tabanlı.
* Resim Bilgisi bileşeni PHP kaynak kodu tabanlı.

Sonuncusu (ama en önemsizi değil), programlarda, patchlerde, program örneklerinde, hata izlemede, yardım yazmada, finanssal destekde, olumlu eleştrilerde, ve vs...