Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Yeni çıkan bir programlama dili.

2-3 Aralık 2004'te Yıldız Teknik Üniversitesinde yapılan Microsoft Akademik Teknoloji Günlerinde konuşmacılardan biri olan Safer Algan bunu C Omega diye yeni bir dilin geliştirme aşamasında olduğunu belirtmişti.Algan, hemen oracıkta bir demo yapmamış olsaydı belki de bu yeni dili pek ciddiye almayacaktım ama; bakınca daha .net gördüm...

Genel lansmanında, Object Oriented* yerine Data Oriented olarak çıkarılması düşünüldüğü söylendi.Daha nesne tabanlı programlama mazisi yeniyken başka bir yenilik bizi şaşırtmıştı.

Resmi sitesi olan http://research.microsoft.com/Comega/ dan yapılan açıklamalardan bir alıntı:

C[Omega] is an extension of C# in two areas:

- A control flow extension for asynchronous wide-area concurrency
- A data type extension for XML and table manipulation

mennan
02 Ağustos 2005 23:16
2.  SQL yazar gibi kod yazmaktan sözedilen yeni bir dil.

Güzel şeyler yapılıyor, bundan hoşlanıyorum. Ama bu yeni dil ilişkisel modelin* kapsamlılığı ve sağlamlığı ile nesne yönelimli modelin* kolaylığı ve anlaşılırlığını aynı anda sağlayabilecek mi? Şimdilik zannetmiyorum. Yazılım biliminin (öyle bir bilim varsa eğer) bir Einstein'a ihtiyacı var.
fizikci
03 Ağustos 2005 00:04 ~ 03 Ağustos 2005 17:02
3.  XML destegi çok dogal, çok güzel. Kodun içinde direk XML yazabiliyorsunuz. XML'i string olarak yazmaya, DOM, SAX neyin kullanmaya gerek yok. Zaten dil tamamen relational data ve XML'in daha kolay kullanimini saglamak için yazilmis. Alismak biraz zaman alir ama sirf bunun için bile ogrenmeye deger.

Nullable tipler OR mapping'in çok önemli bir problemi olan "veritabaninda null olan ama nesneye aktarildiginda null olamayan alanlar" problemini çözüyor.

Su an merak ettigim sey; bu özellikler C#'a kazandirilsaydi daha iyi olmaz miydi? Neden ayri bir dil yazildi?

Research sayfasindan aldigim asagidaki örnek kod gayet açik. Bir kac sey yabanci gelebilir:
1. string? demek nullable string demek. Yani phone alani null olabilir.
2. "c.*" c'nin altindaki tüm nodelar için demek. Kod blogu her bir nod için çalisiyor.
3. it'i, this'in tersi gibi birsey olarak dusunebiliriz. Her bir nodu ifade ediyor örnekte.

public class card
{
    sequence
    {
        string  name;
        string  title;
        string  email;
        string? phone;
        logo?   logo;
    };
}

public class logo
{
    attribute string url;
}

public class Test
{
    static void Main()
    {
        card c = <card>
                   <name>John Doe</name>
                   <title>CEO, Widget Inc.</title>
                   <email>john.doe@widget.com</email>
                   <phone>(202) 456-1414</phone>
                   <logo url="widget.gif"/>
                 </card>;
        c.*.{ Console.WriteLine(it); };
    }
}

fizikci
03 Ağustos 2005 17:21
4.  Transaction yapısıyla hayranlık uyandıran programlama dili. Örnek:
transact(DB) {
   int res = delete from DB.Kisi where Id = 5;
   if(res==0) rollback;
   delete from DB.Hesap where KisiId == 5;
}
commit {
   Console.WriteLine("silindi");
}
rollback {
   Console.WriteLine("silinemedi");
}

fizikci
04 Ağustos 2005 01:57 ~ 06 Ağustos 2005 08:26
5.  C#'tan türetilmiş data centric bir dil.

Yani OOP diliyle ifade edersek;

public class C-omega : C#
{
    void XML-destegi();
    void SQL-destegi();
    void concurency-destegi();
}

fizikci
04 Ağustos 2005 02:13
6.  http://research.microsoft.com/Comega/doc/comega_whatis.htm diyor ki;

Important: C[Omega] is an experimental research language. There are no plans to turn it into a commercial language supported by Microsoft. It is not supported by either the C# or the Visual Studio teams. There are no plans to integrate it into any product.


Anlaşılan o ki; şuan için sadece araştırma amaçlı bir dil. Herhangi bir desteğin de şuan için olmadığını belirtiyorlar. Acaba biraz temkinli mi olmak lazım? Yoksa bu Microsoft. Muhtemelen bir bildiği vardır diyip yola mı koyulmak lazım?
mennan
04 Ağustos 2005 20:35
7.  ERP çözümü gelistiren yazilimcilar bilir. Database abstraction, OR mapping, object query language, lazy loading gibi problemler var ve bunlari çözmek gercekten zor. Bazi konular da var, zatinda problem degil ama haddi zatinda implement etmesi zor.* Mesela transaction meselesi.

Comega bu tarz problemlere çözüm olarak gelistirilmis. Beni bu kadar sarmasinin sebebi bu. :)

Su an Microsoft Comega projesini iptal etse ben gene bu dili incelemeye devam ederim. Çünkü dilin üzerinde calistigi problemler bu dili incelemeye deger hale getiriyor.

fizikci
05 Ağustos 2005 10:02
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1203 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen