Visual Studio 2010 Beta 1’i, Windows 7 üzerine kurmak istiyorsanız, SQL Server 2008 kurulumu sırasında, uyumluluk ile ilgili bir uyarı alabilirsiniz. Bunun dışında Visual Studio’nun kendisi ile ilgili her hangi bir problem yok, gayet sorunsuz şekilde çalışıyor. Gönül rahatlığıyla kullanabilirsiniz. Tabii bu kullanımınızın test amaçlı olması gerekiyor. Her iki ürün de henüz tam sürüm olmadığından dolayı beklenmedik hatalarla karşılaşmak olası. Direkt üretim amacı ile kullanım, Microsoft tarafından da tavsiye edilmiyor.

Video (107) Visual Basic 2010
http://www.egitimofis.com/derslist.asp?Id=102&I=S

Tanıtım 
http://download.microsoft.com/download/C/0/9/C0965791-049B-4200-9008-F07A783026F6/VisualStudio2010_ProductOverview.pdf

Ürünün özelliklerini belirten dökümanı indirebilirsiniz.

Etiketler : Visual Studio 2010 Windows 7
Kategoriler : Kategorilenmemiş
Yorumlar : 0 Yorum Yorum Yaz

Visual Studio 2010 ve .NET Framework 4.0 CTP’lerinin yayınlandığı bugünlerde iki yol sonra karşımıza çıkacak yazılım teknolojilerine yön verme ve inceleme adına heyecanlı günler yaşadığımı itiraf edebilirim.

Visual Studio 2008 ve .NET Framework 4.0 yeni logoları.
Tüm bu yenilikler arasında tabi ki Visual Basic’in de artık 10’uncu sürümü ile karşı karşıyayız. Bu yazıa şu an yayında olan CTP üzerinden yola çıkarak VB 10 ile beraber gelen yenilikleri inceleyeceğiz.

Statement Lambda
Lambda’lara az çok LINQ ile beraber alışmıştık. VB 10 ile beraber çok ilginç ve bir o kadar da güzel bir özellik geliyor. Ama gelin bunun öncesinde VB 9 ile neler yapardık bir göz atalım.

[VB9]

Public Class Form1 

    Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        MsgBox("Burada")

    End Sub 

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        AddHandler Me.Click, AddressOf Form1_Click

    End Sub

End Class

Gördüğünüz gibi basit bir şekilde Form’un Load durumunda dinamik olarak yine formun Click event’ını bir Sub’a bağlıyoruz. Böylece artık forma tıklandığında "Burada" mesajı gösterilecek. Tüm bunu yapmak için, yani dinamik event bağlamak için gidip ayrı bir yerde Sub yazmamız ve sonra da AddressOf ile bağlamamız gerekiyordu. Oysa artık satır için Sub var :)

[VB10]

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        AddHandler Me.Click, Sub()                                                    

 MsgBox("Burada")

       End Sub

    End Sub

End Class

Nasıl? Güzel değil mi? Satır içi Sub’ımızı yazdık bitti. Bu işlevselliği AddressOf’u kullandığınız her yerde kullanabileceğinizi düşünürseniz gerçekten süper! Peki ya Function’lar? İşte size satır içi Function kullanımı.

[VB10]

        Dim Fonksyon = Function(x As Integer)

                                           Return x * 2

                                  End Function

        MsgBox(Fonksyon(2))

Yukarıdaki kod içerisinde doğrudan Function’ımızı kodun içinde satır içi yazarak tanımlıyoruz ve sonrasında da rahatlıkla Invoke işlemini gerçekleştirebiliyoruz.

Coşmuş Type Inference
Type Inference’a zaten alışkın durumdayız. VB10 ve VS10 ile beraber bir adım daha ileriye gidiliyor. Örneğin aşağıdaki gibi bir değişken tanımında değişkenin bir Array olduğunu veya ne Array’i olduğunu belirtmenize gerek kalmıyor.


Type Inference’ın bu kadarı

Unutmayın bu şekilde tanımlamalar performans kaybına neden olmaz. Compiler Compile Time’da gerekli kodları üretecektir.

PLINQ
Parallel LINQ aslında VB’ye özel bir konu değil fakat VS10 ve VB10 ile beraber de geldiği için hızlıca bahsetmek istiyorum. Adından da anlaşılacağı üzere PLINQ’de çalıştırılan sorguların kendi içlerinde birden çok işlemcide çalıştırılmak üzere hazırlanmış durumdalar. Gelin hemen aşağıdaki koda bir göz atalım.

[VB10]

       Dim sayilar = {10, 20, 30, 40} 

        Dim XML = <Sayilar>

                             <%= From Inc In sayilar.AsParallel

                                      Select <Sayi><%= Inc %></Sayi> %>

                           </Sayilar>

AsParallel metodu otomatik olarak PLINQ kullanılmasını sağlıyor. Normal şartlarda sırası ile 10, 20, 30, 40 sayılarını alırken bu şekilde AsParallel olarak sorgumuzu çalıştırdığımızda 20, 10, 30, 40 gibi bir sonuç elde ediyoruz. Bunun nedeni işlemin paralel bir şekilde çalıştırıldıktan sonra sonucun bize döndürülüyor olması. Bu ufak detay bile aslında PLINQ’in kullanılabileceği ve kullanılamayacağı noktalara karar vermek için yeterli sayılabilir.

Add metodunu defalarca kullanmaktan kurtulun!
Bu özelliğe başlık bulmakta zorlandığımı sanırım farkına vardınız. Düşünün ki elimizde bir List var ve bu List içerisinde birden çok Item eklememiz gerekiyor. Normal şartlarda her bir Item’ı yaratarak tek tek Add metodunu çağırırdık.

[VB9]

Dim Liste As New List(Of String)

Liste.Add("Ahmet")

Liste.Add("Mehmet")

Peki VB10 tarafında neler yapabiliriz? Yeni bir Keyword’ümüz var : From

[VB10]

 Dim Liste As New List(Of String) From {"Ahmet", "Mehmet"}

Aslında arka planda çalışan yapı doğrudan dizi içerisindeki bir Item için Add metodunu çağırmaktan farklı değil. Örneğin elimizde özel bir sınıfın listesi olsaydı aynı şekilde o sınıftan da objeler yaratarak from ile listeye ekleyebilirdik.

[VB10]

        Dim Liste As New List(Of Adam) From {

            New Adam() With {.Adi = "Ahmet", .Soyadi = "Hebe"},

            New Adam() With {.Adi = "Mehmet", .Soyadi = "Hebe"}}

Örnek kodumuzdaki List bir Adam List’i olduğu için burada önemli olan List sınıfının Add metodunun Adam tipinden değişken istiyor olması. Sırasıyla yaratarak bir array olarak veriyoruz. İsterseniz Adam tipinden List’elerin Add metoduna Overrides keywordü ile bir alternatif eklemek için ExtensionMethod’ları da kullanabilirsiniz.

[VB9]

Module Module1

    <Runtime.CompilerServices.Extension()>

    Sub Add(ByVal x As List(Of Form1.Adam), ByVal Adi As String, ByVal soyadi As String)

        x.Add(New Form1.Adam() With {.Adi = Adi, .Soyadi = soyadi})

    End Sub

End Module

VB9’da tanıştığımız Extension Method’lardan bir adet tanımlayarak Adam tipinden bir Liste oluşturulduğunda bu objelerin bir Add metodlarının olacağını ve Adi, Soyadi olarak String’ler alacağını tanımlıyoruz. Extension Method içerisinde de bu bilgileri alıp yeni bir Adam yaratıp listeye ekliyoruz. Böylece artık elimizdeki listeye Adam eklemek için Add metodunu çağırırken iki adet String verip bir Adam eklenmesini de sağlayabildik. Ama aslında bu Add metodunu da biz değil From keyword’ü kullanacak.

[VB10]

        Dim Liste As New List(Of Adam) From {

            {"Ahmet", "Hebe"},

            {"Mehmet", "Hebe"}}

Böylece artık yukarıdaki kodumuzda doğrudan bilgileri vererek her seferinde New ile obje yaratmadan da istediğimiz kadar Adam ekleyebiliriz.

Property tanımlamaları
C#’dan en çok kıskandığım özelliklerden biri Get ve Set’lerin kısaltılmasıydı. Çoğu zaman Property tanımlarken aslında Get ve Set kodlarını değiştirmiyoruz. Her ne kadar VS içerisinde kısa yolları kullanarak bu kodları yazmıyor olsak da maalesef biz yazmamış olsak da projemizdeki her satır kodun bir gün bir bug olarak karşımıza çıkma ihtimali var :)

[VB9]

Private PAdi As String = "Varsayılan"

Public Property Adi() As String

    Get

        Return PAdi

    End Get

    Set(ByVal value As String)

        PAdi = value

    End Set

End Property

"Eskiden" kelimesini kullanmak için daha erken olsa da maalesef Property’leri VB9’da yukarıdaki şekilde tanımlıyorduk.

[VB10]

        Public Property Adi As String = "Varsayılan"

Sanırım bu kodun üzerine daha fazla söz söylemeye gerek yok.

Son sürpriz!
Yukarıdaki kodlar dikkatinizi çekmediyse ufak bir ipucunda buluniyim. Tek satırda yazılması gereken kodları çoklu satırlı olarak yazarken bir değişiklik görebiliyor musunuz?

[VB9]

        Dim Liste2 As New List(Of Adam) From { _

            {"Ahmet", "Hebe"}, _

            {"Mehmet", "Hebe"}}

[VB10]

        Dim Liste As New List(Of Adam) From {

            {"Ahmet", "Hebe"},

            {"Mehmet", "Hebe"}}

Benim sanırım en çok sevindiğim gelişmelerden biri bu oldu. Artık uzun uzun tek satırda kod yazmak zorunda değiliz veya her satır atlamak istediğimizde _ alt çizgi ile alt satıra geçme zorunluluğu da yok! C#’dan en çok kıskandığım özelliklerden biri de buydu.

VB kolayın kullanımını arttırarak kuvvetli bir dil olarak var olma yolunda tam gaz devam ediyor. Gelişmeler çok sevindirici. Bakalım 2010’a kadar karşımıza çıkacak diğer CTP’lerde neler olacak.

 

Beta uygulama olduğu için beklenmedik davranışlar göstermesi olağandır bunun dışında
ilerleyen süreçte ekleneceği bilinmesine rağmen visual studio 2008 üzerinde kullanabildiğimiz 
Eksik 1 -   RIA services ler henüz Visual Studio 2010 üzerinde yok ama hemen endişe etmeyin
template leri visual Studio 2008 üzerinden export ederek kullanabiliyoruz.

Genel tavsiye olarak Eğer sanal makine kavramına uzak değilseniz (virtual machine, vmware) öncelikli tavsiyem visual studio 2010 beta ile bu sanal makinalar vasitası ile tanışmanız olacaktır. Sanal makinanıza Kurun ve test edin.

Bu arada Ürünün çıkış tarihi konusunda Microsoft herhangi bir tarih açıklamazken adının sonundaki 2010 tarihini beklemeyeceğimize dair olan kanaat oldukça yüksek.  
Bu sene içerisinde ürünün release olarak visual studio 2008 lerin yerini olması bekleniyor.
Etiketler : Visual Studio 2010
Kategoriler : Visual Studio ve NFW
Yorumlar : 0 Yorum Yorum Yaz

Uzun bir süredir (son bir senelik zaman dilimi içerisinde) C# 4.0 ile birlike gelen yeniliklerden haberdarız. Şöyle bir kaç sene öncesini hatırlıyorum da.Visual Studio 2005, Whidbey kod adı ile yayınlanmış ve C# 2.0 ile birlikte gelen pek çok yenilik olmuştu. Ancak bunlar içerisinde belkide en önemli olanı, CLR (Common Language Runtime) çekirdiğinde değiştirilme yapılmasını da zorunlu kılan generic mimariydi. Tabiki generic dışında gelen, yield anahtar kelimesi, isimsiz metodlar (anonymous methods), static sınıflar ve diğerleride önemli gelişmelerdi. Zaman ilerledi ve C# 3.0 ile birlikte bu kez hayatımıza, generic modelinden daha fazla etki yapan LINQ (Language INtegrated Query) girdi. Bir geliştirici olarak her zaman için yeniliklere açık olmamız ve yakalayabildiğimiz ölçüde takip etmemiz gerektiğini düşünüyorum. Bu bir geliştirici için neredeyse bir yaşam tarzı. Dolayısıyla artık C# 4.0 üzerinde konuşmanın zamanı geldide geçiyor.

C# 4.0 ile birlikte gelen yeniliklerin daha çok dinamik çalışma zamanını (Dynamic Language Runtime-DLR) kullanan diller üzerinde odaklanmış durumda olduğunu söyleyebiliriz. Peki bu ne anlama geliyor? DLR tarafını ilgilendiren dillere ait nesneler ile daha kolay konuşulması olarak küçük bir sebep belirtebiliriz. Bu nedenle C# 4.0 ile birlikte gelen önemli yeniliklerden birisi olan dynamic anahtar kelimesi sayesinde, Python, Ruby veya Javascript ile üretilen nesnelerin C# 4.0 tarafında late-binding ile ele alınması mümkün. Hatta var olan .Net nesnelerinin reflection kullanılmadan ele alınması veya COM objelerine ait üyelerin çağırılmasında bu anahtar kelimeyi kullanabiliyoruz. Aslında C#’ ın 2.0, 3.0 versiyonunda gelen yenilikler nasıl ki belirli ihtiyaçlar nedeni ile ortaya çıkmışsa, C# 4.0 ile gelen yenilikleride bu anlamda düşünmemiz ve araştırmamız gerekiyor.

Bu yazımda sizlerle ilk olarak, dynamic kelimesi ile ilgili olan araştırmalarım sonucu elde ettiğim bilgileri paylaşıyor olacağım. İşe ilk olarak aşağıdaki şekilde görülen yapıya sahip olduğumuzu düşünerek başlayacağız.

Şimdi bu yapıyı kısaca açıklayalım. Commands isimli sınıf kütüphanesi (Class Library) IGraphic arayüzünü(Interface) uygulayan Circle ve Rectangle isimli sınıflara sahiptir.

IGraphic arayüzü
Kod:

namespace Commands

{

    public interface IGraphic

    { 

Configuring Visual Studio 2010 to Debug NET Framework Source Code!!
En sonunda oldu , kısa bir süre önce yayınlanan visual studio 2010 içerisinden bazı FW Core’dll leri görebilme imkanımız doğdu..

En güzel tarafı ise bu işi yapıp dünya çağında başarıya ulaştıran sevgili microsoft insanlarının bu işi nasıl ve ne gibi standartlar üzerine oturttuğunu görebiliyor oluşumuz..

Microsoft cephesinde gerçekten büyük bir gelişme..Component geliştiricilerine ışık olacağı kesin..

peki efendim nasıl gerçekleştireceğiz hemen adımlara geçelim..

1. vs 2008 yüklü olmalı ( Express sürümlerde çalışmıyor,aman dikkat!)

2.https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=10443&wa=wsignin1.0 adresinden ilgili  patch’i makinenize yüklüyorsunuz..
http://img229.imageshack.us/i/64806386.jpg/

3. kurulumun akabininde tools menüsünden aşağıda ki ayarları yapalım..
http://img233.imageshack.us/i/40829039.png/
Ayarlara devam.. :)
http://img194.imageshack.us/i/31441694.png/

4. Sıra geldi debugging’e..Aşağıda ki gibi minik bir kod yazıyoruz..
http://img194.imageshack.us/i/16284694.png/

5. breakpoint i koyup uygulamayı çalıştırdığımızda Call Stack ( Ctrl + Alt +C) pencesinde ilgili dll’e yapılan referansın üzerinde sağ tuşa tıklayıp load Symbols diyoruz...
Aman dikkat Visual Studio kilitlenmiş gibi görünebilir , 10 MB lik indirme söz konusu Microsoft’dan..Birazcık beklemeniz gerekiyor..
http://img43.imageshack.us/i/63676563.png/

Sonuç ortada...Ve işte içerdeyiz..
http://img194.imageshack.us/i/112hhu.jpg/

Çok çalışmamız lazım , cok.. :)
Kim derdi ki birgün Form class’inin içini görebileceğimizi :)


Etiketler : Visual Studio 2010 C# 4.0
Kategoriler : Visual Studio ve NFW
Yorumlar : 0 Yorum Yorum Yaz

Silverlight 3.0 Beta’nın yaklaşıyor olması bir yandan da Visual Studio 2010’un geliyor olmasından dolayı olsa gerek Microsoft tarafında bir hareketlenme söz konusu. Visual Studio 2010 duyanınız var mı bilmiyorum ama WPF arayüzü ile gelecek. Bu konu hakkında birçok hurafeden bahsedilsede performans konularında hala muammalı bir durum VS sevenlerin kafasını karıştırıyor olsa gerek, çünkü benim karıştırıyor.

Diğer taraftan da duymuşsunuzdur muhtemeln Silverlight 3.0 Beta’nın çıkması yakın. Benim bahsetmek istediğim mevzu ise Silverlight 3.0’ın ve VS 2010’un birbiri ile etkileşimi. Bugün internette gezerken bir blog’da rastladığım resmi göstermek istiyorum sizlere. SL 3.0 ile VS 2010 etklileşimini gösteren yüzeysel bir fotoğraf. VS 2010 arayüzü WPF’de kodlandığından SL ile uyum sorunu yaşamayacak artık 2010. Belki de Blend’e hiç ihtiyacımız olmayada bilir (Öyle ümid ediyorum :)). Bu aralar Silverlight’a verdiğim önem epey fazla olduğundan dolayı olsa gerek bu benim işimide kolaylaştıracak birşey olacağını düşünüyorum.

VS 2010’un sanırım ilk arayüzü olsa gerek Daron YÖNDEM’in seminerinde görmüştüm. Beni pek tatmin etmedi ama Daron YÖNDEM o günden bugüne çok değiştirdiler diyor :) Arayüz tamamen değişmiş. İnşAllah :)

Neyse daha fazla uzatmadan resmi yayınlayayım;