C# Kategori Arşivi

Win32 & .Net(Delphi->C#)

// 21 Haziran 2009 // 20 Yorum » // .Net, C#, Delphi, Programlama, Veritabanı, Win32

Aslında herşey Java adı verilen programlama dilinin doğuşuna kadar ilerliyor. Java, programlama dünyasına farklı bir perspektif katmıştı. Yazılan kodların applet’ler vasıtası ile web ortamlarında kullanılabilmesi yada Java Runtime ile değişik işletim sistemi platformlarında çalıştırılabiliyor olması onu günden güne daha popüler hâle getiriyordu.

Microsoft, kendi işletim sistemlerinin yeryüzündeki tüm bilgisayarlarda kullanılamayacağının farkına vardığında; Java’ya karşı bir önlem almak gerektiğini düşündü ve bu sayede veriye her ortamdan erişebilecek bir sistem planlamaya başladı. Ancak elbette Java’nın da hâla beceremediği gibi Microsoft’da platform bağımsızlığı hususunda başarılı olamadı. Zaten tasarımların gereği de bunu pek mümkün kılmıyordu. Java’da üretilen kodların bytecode’lara çevrilmesi ve JVM(Java Virtual Machine) adı verilen programlarla üzerinde çalıştığı platforma adapte edilmesindeki süreç, .Net’de de kendisine farklı isimlerle yer buldu.

.Net, ürettiği MSIL kodunu üzerinde çalıştığı platformun anlayacağı makina dili koduna ise JIT vasıtası ile çevirir. Bu tıpkı Java’nın JVM’ine benzer. Aradaki benzerlikleri saymaya kalksak emin olun sayfalarca yazı yazmamız gerekir. Benim bu makalede amacım bu iki platform bağımsız olduğunu iddia eden teknolojinin benzerliklerini ve farklılıklarını anlatmak değil. Bu bilgileri genel kültür amacı ile sunduktan sonra Delphi’nin bu teknolojiler ile iletişimi hakkında bilgi vermek ve gerçek platform bağımsız kodlamanın gelecekte Delphi ile olabileceğinin umudunu sizlerle paylaşmak.

Görüldüğü üzere gerek .Net gerekse de Java platform bağımsız native kod geliştiremiyorlar. Ürettikleri ara kodların, çeşitli işletim sistemlerinde yorumlanıp makina koduna çevrilmeleri gerekiyor. Dolayısı ile teoride bu teknolojileri kullanan uygulamaların, native uygulamalardan hızlı olması beklenmiyor.

.Net, bilindiği üzere programlama dillerinden bağımsız bir platform. Framework adı verilen kod kütüphanelerinin tüm programlama dilleri tarafından ortak bir şekilde kullanılabilmesi, CTS denilen ortak tip sınıflarının .Net içinde olması, herhangi bir .Net destekli dilin bir diğer .Net destekli dil ile iletişimini son derece sorunsuz ve kolay hale getirmekte. Büyük çaplı proje ekiplerinin pek çok programcıya sahip olduğu gerçeği göz önüne alındığında, bu ekip üyelerinin herhangi bir .Net dilini bilmesi ve bu dil ile geliştirme yapmasının projeye olumsuz bir etkisinin olmaması elbette son derece güzel bir durum.
(more…)

CLR Stored Procedure (Socket)

// 18 Mayıs 2009 // 6 Yorum » // C#, Delphi, Veritabanı

CLR DESTEKLİ STORED PROCEDURE İLE SOCKET HABERLEŞMESİ

SQL Server 2005 ve .Net 2.0 ile birlikte gelen yeniliklerden biriside CLR destekli stored procedurelerdir. Bu özellik; mevcut database sistemleri adına tam anlamıyla bir devrim niteliğindedir. Peki nedir bu devrim biraz açıklayalım;

Bu güne kadar sql server ile yapılabilecekler sadece sql dilinin özellikleri ve sql serverın becerileriyle sınırlı iken, Microsoft amcamız .Net 2.0 teknolojisini kullanarak, Visual Studio 2005 üzerinden (ki biz burada C# kullanacağız), herhangi bir programı yazarken kullandığımız kod yapımızı stored procedure içine gömebilmeyi ve stored procedureleri adeta bir uygulama haline döndürebilmeyi bize sunuyor. Nasıl kafanız biraz karıştımı..!! Uzun bir cümle oldu biliyorum ama sözü daha fazla uzatmadan, başlıkta da belirttiğim gibi bir stored procedure aracılığı ile socket bağlantısını kısa bir örnekleme ile anlatıp olayı detaylandırmaya çalışacağım.
(more…)