.NET?

.NET? .NET?

Bill Gates, geçtiğimiz yılın Temmuz ayında Florida’da gerçekleştirilen Profesyonel Programcılar Konferansında (Professional Developers Conference – PDC) yaptığı konuşmasında, bu boyutlarda bir değişiminin sadece beş, altı yılda bir yaşanabileceğine dikkat çekmişti. Yakın zamanlarda yaşanan, karşılaştırılabilir ilerlemeler olarak ise 90’ların başında Dos’tan Windows’a geçiş ve 90’ların ortalarında 32 bit uygulamaların 16 bit uygulamaların yerini alması gösteriliyor.

Bahsedilen değişimin adı: “.Net”. Ancak PDC’ye katılan deneyimli programcıları oldukça heyecanlandıran, Internet ve Windows uygulamaları için gelecek nesil platform olarak gösterilen bu fikrin gerisinde Microsoft’un oldukça büyük yatırım ve emeği yatmakta. Öyle ki, MS, ar-ge kaynaklarının %80’ini ayırarak bir yerde kaderini bu yeni platforma bağlıyor. Bence sadece bu bile, hem programcıların hem de bilgisayarla alakası olan herkesin hayatında ciddi değişiklikler olacağının işareti. Hal böyle olunca, bir devrim olarak tanıtılan bu yeni platforma da yakından bakmak boynumuzun borcu oluyor.

“.Net’i tanımlamanın en iyi yolu”, diyor, Sanjay Parthasarathy[i], “onun neler yapabileceğini düşünmektir.” Microsoft, bant genişliğinde elde edilen süratli artışı, her onsekiz ayda bir işlemci gücünün ikiye katlanırken fiyatların yarılanacağını ifade eden “Moore Yasası” ile birleştiriyor ve “dağınık işlemlere” doğru sessiz bir ilerlemenin yaşandığını düşünüyor. Bu durumdan çıkardıkları sonuca göre en doğru çözüm, işlemleri en uygun olduğu yerde yapmak olacaktır. Şu anda bile bu türde dağınık uygulamaların örneklerini kullanıyoruz. Napster, istemcilerine internet bulutunda paylaştıkları rehber servisleri sunarken, sistemde bulunan tüm bilgisayarları birer sunucu olarak kullanıyor. ICQ gibi anında mesajlaşma uygulamaları da, yine internet bulutundaki arkadaş listelerimize erişimi sağlıyor.

.Net platformunun amacı da, dağınık işlemlerin evrimini hızlandırmak. Parthasarathy, bu hedefe en hızlı şekilde ulaşmak için indirilmesi gereken üç koldan bahsediyor. Kollardan birincisi, herşeyin bir “ağ servisi”[ii] olarak sunulmasını gerektiriyor. Buna sadece programlar değil, aynı zamanda depolama birimleri gibi ağ bileşenleri de dahil. Ağ servisleri, .Net platformunun en önemli özelliklerinden birini oluşturuyor. İndirilmesi gereken ikinci kol, dağınık geliştirilen bu servislerin kolay ve basit şekillerde toparlanması ve entegre edilmesini gerektiriyor. Entegrasyon, .Net’in temelinde yatan en önemli unsurlardan biri ve yeni nesil uygulamaların ana hedefi olarak görülüyor. Üçüncü kol ise, uygun “kullanıcı deneyimine” ulaşılarak çekilebilecek. “Kullanıcı deneyimi”[iii], Microsoft’un son yıllarda kullanıcı ile etkileşimi sağlayan tüm grafik ve programatik arabirimler için kullandığı bir kavram olarak karşımıza çıkıyor, keza yeni Ofis paketi ve gelecek Windows sürümü de isimlerini bu kavramdan alıyor. Böylece .Net vizyonu, kullanıcıyı merkeze alarak, uygulamaları internette dağıtıp, servisler olarak entegre etmek üzerinde oluşuyor.

.Net tabii ki sadece hedef veya tavsiyelerden oluşmuyor. Bilakis, pek çoğu yepyeni bir dizi ürün, yeni araçlar, hatta programcıları oldukça heyecanlandıracak yepyeni bir dili de beraberinde getiriyor. Genel olarak baktığımız zaman, platform, beş ana unsurdan oluşuyor.  .Net’te en büyük sorumluluk programcıların, tam tabiriyle uygulama geliştiricilerin üzerine düşmekte. Ama Microsoft harcanacak tüm emeklerin karşılığını vermeye hazır.

Ağ servislerini en hızlı ve en kolay şekilde geliştirebilmemizi sağlamak üzere yepyeni bir Visual Studio ve .Net Framework’ü hizmete sunuyor. Geçtiğimiz Kasım ayında Beta 1 sürümü yayınlanan araçların piyasaya çıkacağı tarih belli değil, ama kesin olarak söyleyebileceğimiz tek şey, gelecek ay gerçekleşecek TechEd’de Beta 2’nin hazır olacağı. .Net Framework, uygulama geliştirmeyi temelden, yani işletim sisteminden itibaren kapsıyor. Sunum, veri ve bileşen teknolojileri arasında, bu güne kadar Microsoft sistemlerinde görülmüş en ileri seviye entegrasyonu sunuyor. Bunun ötesinde, internet programlamasını, masaüstü uygulamaları geliştirmek kadar kolaylaştırmayı hedefliyor. Pek çok sistemin en faydalı özelliklerini toplayan ve bunlardan en iyiyi elde etmeyi hedefleyen yapının temelinde “Common Language Runtime (CRL)” var. CRL, programların çalıştığı bir ortam. .Net uygulamaları, önce Microsoft Intermediate Language (MSIL ya da kısaca IL) adındaki ortak bir dile derleniyor, daha sonra IL kodları CRL içersinde çalıştırılıyor. CRL aynı zamanda hafıza yönetimi ve atık toplama[iv] gibi görevleri de üstlenerek programlamayı kolaylaştırıyor. .Net Framework, Windows DNA’in müzmin sorunlarından biri olan kurulumu da çözüme kavuşturuyor. CRL sayesinde bileşenlerin Registry’ye kayıt edilmesi işlemi tamamen gereksiz hale geliyor, programlar basit “xcopy”  yöntemiyle kuruluyorlar ve böylece “DLL Hell” sorunu tamamen ortadan kalkıyor. Diğer taraftan, örneğin ADO veya XML için modüller veya run-time bileşenleri gereksiz hale geldiğinden, “4 disketlik Hello World” programları da tamamen tarihe karışıyor.

.Net Framework pek çok programlama dilini destekliyor. Bunun yanında Visual Studio.Net, Microsoft’un tanıdığımız programlama araçlarının yeni sürümlerini de kullanıma sunuyor. Visual Basic.Net ve .Net uyumlu (managed) C++ yanında, yepyeni bir dil bizi bekliyor: C# (c sharp) ismini si diyez notasından alıyor. Microsoft C#’ı C++’ın gücü ve Visual Basic’in kolaylığının birleşimi olarak tanıtıyor. Visual Basic cephesinde de oldukça büyük değişiklikler yaşanıyor. Dünyadaki programcıların yarısından fazlası tarafından kullanıldığı söylenen Microsoft’un en popüler programala dili, yılların verdiği yükleri sırtından atarak, uzmanların hep talep ettiği pek çok nesne yönelimli özelliğe sahip yeni modern bir dil görünümüne bürünüyor. Tabii ki bu gelişmelerin bedelini de öğrenme kolaylığından feragat ederek ödüyor. Görünen o ki, Visual Basic kolay öğrenilen pratik dil özelliğini C#’a kaptırmak üzere. Yeni gelen özelliklere kabaca bakınca, yıllardır beklenen “inheritence” özelliğinin sonunda eklendiği görülüyor. Tüm .Net dillerinin CRL ile uyum adına kullanmak zorunda olduğu Ortak Tip Sistem’i (Common Type Sistem) sayesinde diğer dillerle uyumlu veri tipleri kullanması da diğer olumlu bir değişiklik olarak göze çarpıyor. Eskiyle uyumluluk adına barındırılan pek çok komuttan kurtulan Visual Basic’in hata ayıklama yöntemi de tamamen modernize edilmiş. Visual Studio.Net’in bir diğer önemli özelliği de, tüm dil ve araçları için sadece bir editör (IDE) sunuyor olması. Baştan sona yepyeni özelliklerle tasarlanmış bu dizayn ortamının programcıların çok hoşuna gideceğini düşünüyorum.

Diğer taraftan ikinci yapı taşını oluşturan sunucuların ise çoğu şimdiden piyasaya sürülmüş durumda. Bu yeni nesil sunucu ailesi arasında öne çıkanlar ise SQL Server 2000 ve Biztalk Server oluyor. Tüm sunucuların önemli ortak özelliği, .Net platformunun entegrasyon standardını oluşturan XML ile uyumlu olmaları. Bu özellik sayesinde SQL Server 2000’e doğrudan XML sorguları göndermek ve sonuçları XML olarak almak, hem de hepsini tarayıcıdan yapmak mümkün. Bu işlemler okumanın ötesinde kayıt eklemek ve değiştirmek için de yapılabiliyor. BizTalk Server 2000 ise kurumsal ve kurumlararası entegrasyonu otomatize ediyor. BizTalk sayesinde tüm platformlarda çalışan sistemler XML konuşarak anlaşabiliyorlar. Diğer sunucuların yanında özel ilgi çeken ürünlerden biri de .Net’in güvenliğini sağlamakla yükümlü olan ISA (Internet Security and Acceleration) Server 2000, Microsoft’un ilk firewall ürünü olarak piyasadaki yerini alıyor. Toplam sekiz ürün olarak açıklanan .Net Sunucu ailesi, önümüzdeki aylarda son üyesi Mobile Information 2001 Server’ın da çıkmasıyla tamamlanmış olacak.

Microsoft, bu sefer de sadece yöntemleri göstermek ve araçları sunmakla kalmıyor, bu yöntemleri kullanarak ağ hizmetlerini sunmaya başlıyor. Başlangıçta “Building Block Services” olarak tanıtılan bu servisler, şimdilerde tekrar, kod adı olan “Hailstorm” ismiyle anılmaktalar. Servislerin pek çok yerde – daha çok tanıtım sebeplerinden ötürü – öne çıkanı, kesinlikle Microsoft Passport oluyor. Daha şimdiden 130 milyonun üzerinde kayıtlı kullanıcısı bulunan bu ağ servisi, bizleri, girdiğimiz internet sitelerinde kendinizi tanıtma ve özel bilgilerimizi tekrar tekrar girmek derdinden kurtarıyor. Hailstorm gelecek günlerde pek çok internet kullanıcısının hayatında önemli bir yer alacak gibi duruyor.

Halihazırda pek görünür bir gelişme kaydedilmeyen diğer bir alan ise aygıtlar: .Net tüm ortamlarda aynı hizmetleri vermeyi hedefliyor. Bu hedefe ulaşmak için, tablet olarak adlandırılan avuçiçi bilgisayarlardan telefonlara, yeni nesil akıllı cihazlardan destek alması gerekiyor, ancak görünen o ki, bu cihazları kullabilmek için biraz daha beklemeliyiz.

Son olarak da kullanıcı deneyimini yaratacak olan çözümler listede yerini alıyorlar: bilgi çalışanları için yeni MS Office, küçük işletmeler için bCentral, programcılar için Visual Studio.Net ve tabii ki binlerce ihtiyaç için geliştirilecek sonsuz çözümler.

Bu kadar yeni ve güzel özelliğin yanında ortaya çıkacak pek çok sorunu ise şimdilik gözardı ediyoruz: Önce biraz tadını çıkarmak bizim de hakkımız. Ancak daha şimdiden ciddi uyumsuzluk sorunlarıyla, özellikle Visual Basic kodlarında ve en azından şimdilik uygulama geliştirmede ciddi performans ve kaynak sorunlarıyla karşılaşacağımız kesin. .Net Beta 1 geleceğe ait bir platform sunarken, giga-zamana ait bir ortam arıyor. 256 MB hafızalı bir PIII ‘le bile ciddi sorunlar yaşadım, ancak söylentiler Beta 2’de işlerin daha iyiye gideceği yönünde.

Kesin olan bir şey varsa, Microsoft .Net’i çok ciddiye alıyor. Sadece kaynaklarının %80’ini buraya aktarmakla kalmayıp, bir süredir resmi dahili programlama dili olarak da C# kullanıyorlar. Belki sonuçlarını görmek için biraz daha sabretmemiz gerekecek, ama .Net’in kalıcı olacağı şüphe götürmüyor. Öyleyse biz de .Net ile ilgilenmeye devam ediyoruz.

Döküman Arama

Başlık :

Kapat