Programlama-Dilleri

Visual basic için programcılık dersi

Bu dersler Visual Basic gibi bir programla dili nasıl kolay öğrenilir sorusuna cevap arama uğraşısıdır" diyebilirim. Bu derslerin sonunda Visual Basic for .NET hakkında temel bilgilere sahip olacak ve bu derslerde sözü edilmeyen .NET sınıflarını nasıl kolayca öğrenebileceğinizi biliyor olacak ve Visual Basic programcısı olma yolunda en zor engeli aşmış olacaksınız.

En başta belirtmek gerekir ki bu dersin içeriği daha önce C# konulu ilk dersi okuyanlar için fazla orijinal değildir. Gerçekte .NET uyumlu Visual Basic ile ilgilenmesine rağmen C# ile ilgili ilk dersi okuyanları düşünerek bu dersin içeriğinin biraz farklı olmasına özen gösterdim. Birçok okulda Visual Basic 6 dersleri verilmeye devam edildiği için dersin sonunda Visual Basic 6 kullanıcıları için birkaç cümle ekledim.

Hemen şunu söylemeliyim ki; Visual Basic .NET ile Visual Basic 6 birbirinden oldukça farklı yaklaşımlara sahip iki programlama dilidir. Bu nedenle Visual Basic 6 ile yazılan programları Visual Basic for .NET'e dönüştürmeye çalışmak bence fuzuli bir uğraştır. Visual Studio ile gelen dönüştürme sihirbazı ile ilgilenmenize gerek yoktur diyorum.

Diğer yandan merak edilen bir konu var: Visual Basic'in .NET uyumlu sürümünü öğrenmek C#'ı öğrenmekten daha kolay veya daha zor değildir. Sonuçta her iki dil de .NET Framework ile gelen aynı sınıfları kullandıkları için birbirine üstünlükleri de yoktur. daha önce az çok Visual Basic kodu yazmış olanlara Visual Basic'in .NET sürümünü, C veya C++ geçmişi olanlara ise C#'ı öneriyorum.

Birileri bu dersleri 2 cümle ile anlatın derlerse söyleyeceklerim şunlardır: 'Bu dersler Visual Basic gibi bir programla dili nasıl kolay öğrenilir sorusuna cevap arama uğraşısıdır" diyebilirim. Bu derslerin sonunda Visual Basic for .NET hakkında temel bilgilere sahip olacak ve bu derslerde sözü edilmeyen .NET sınıflarını nasıl kolayca öğrenebileceğinizi biliyor olacak ve Visual Basic programcısı olma yolunda en zor engeli aşmış olacaksınız.

Her ne kadar bu başlıkta Visual Basic for .NET ile program yazmak için gereken araçları bir bir sayıp anlatacak olsam bile mutlaka gerekli olan öğrenme isteğidir. Visual Basic'in .NET uyumlu sürümünü öğrenmek sizin için hayati önem arz ediyorsa ister bu dersleri izlemiş olun ister izlememiş, bir şekilde Visual Basic'i öğrenirsiniz. Zaten kısa sürede Visual Basic for .NET'ı öğrenmeleri zorunluluk olanlar 2. veya 3. dersi beklemeden gidip kitap alacaklar veya bir eğitime katılacaklardır.Orada burada Memik YANIK ve kitapları aleyhine konuşan birisini görürseniz ona hemen inanmayın derim. Öncelikle bu sayfalara yazılanları okuyun derim. Bu arada kişisel sitemde bilgisayar kitapları hakkında yazdıklarıma biraz göz atmanızı öneririm.

.NET uyumlu Visual Basic programlama dili ile ilgili bu dersleri izleyebilmek için başlangıçta bilgisayarınızda .NET Framework'ün kurulu olması yeterlidir. Çünkü .NET Framework ile birlikte C#, Visual Basic for .NET ve C++ derleyicileri zaten geliyor. Maddeler halinde yazmak gerekirse C# ile program yazmak için size:

.NET Framework
Not Defteri

gereklidir. Buna göre Not Defteri ile Visual Basic kodu yazıp VB uzantısı ile kaydedersiniz. Sonra DOS penceresine geçip .NET Framework ile gelen Visual Basic derleyicisi(VBC.EXE) sayesinde derleme yapıp EXE dosya hazırlarsınız. Hiç meraklanmayın bu işlemin ayrıntılarını bir sonraki derste anlatacağız. Hemen eklemek gerekirse; .NET Framework'ü Microsoft ücretsiz dağıtmaktadır ve Vista ile birlikte gelmektedir. Bu nedenle Vista kullanıyorsanız Microsoft'un sitesinden dosya indirmeniz gerekmez.

Kullandığınız bilgisayarda Windows XP kuruluysa .NET Framework'ü Microsoft'un sitesinden indirip kurabilirsiniz. Birkaç yıl önce .NET Framework 1.1 vardı. Sonra 2005 yılının başında .NET Framework 2.0 hazırlanıp dağıtıldı. Yakın bir zamanda ise .NET Framework'ün 3.0/3.5 sürümleri piyasaya verildi. Microsoft önceleri .NET Framework 2.0'a bazı yardımcı sınıflar ve araçlar ekleyip buna 3.0 dedi. Sonrasında ise .NET Framework 3.5 hazırlandı. Bu dersler boyunca anlatılanları izleyip deneyebilmeniz için .NET Framework 2.0 yeterlidir.

Ya Visual Studio?

Bu derslerin sizin için verimli olması için daha sonra sözü edilecek Visual Studio 2005/2008'i edinip bilgisayarınıza kurmanız veya Visual Basic için hazırlanmış ücretsiz Express Edition'ı Microsoft'un sitesinden indirip kurmanız gerekir. Ücretsiz Express sürümü edinmek kolay olduğu için bu derslerde Express sürüme ağırlık vereceğim. Tabii bilgisayarlarına Visual Studio'yu kurmuş olanları da gözeteceğim. Bu dersleri izlerken Visual Studio'nun 2005 veya 2008 sürümü kullanılabilir. Bu derslerde size Visual Basic programlama dilinin .NET uyumlu sürümünün temel özelliklerini anlatmayı hedeflediğim için Visual Studio ile ilgili ayrıntılardan söz etmeyeceğim.

Bu paragrafı yukarıda .NET Framework'ün sürümlerimden söz edilen paragraf ile birlikte okuyanların bir kısmı bu Visual Studio'da ne oluyor diye sorabilirler. Hemen açıklayayım. Gerçekte Visual Basic veya .NET Framework uyumlu herhangi bir programlama dili ile program yazmak için .NET Framework ve Not Defteri gibi bir editör programı yeterli olmaktadır.

Ne ki çok sayıda dosyadan meydana gelebilen Visual Basic uygulamalarını Not Defteri gibi kısıtlı özelliklere sahip bir editörle yazıp DOS penceresinde derlemek imkansız olmasa bile zahmetlidir. Bu nedenle konu .NET Framework uyumlu programlama dilleri olduğunda Microsoft ancak bu dillerde program yazma ve derleme işlemini kolaylaştıran Visual Studio'yu satarak para kazabilmektedir. İleri ki konularda derleyici nedir, IDE nedir gibi sorular sizin için bilinmez olmayacaktır. Bu arada Visual Basic, .NET Framework ve Visual Studio'nun sürümlerinin birbirine karıştırıldığı kitaplar görürseniz şaşırmayın.

 http://img.sanalkurs.net/uploads/vb_1_ders_resim_1.jpg

Son 2 paragraftan kafası karışanlar için ek açıklama: Microsoft firması önce .NET Framework adı verilen bir sınıf kitaplığını hazırladı. Bu sınıf kitaplığında program yazarken gerek duyabileceğiniz çok sayıda sınıf bulunmaktadır. Örneğin yazdığınız programda bir düğmeye gerek duyduğunuzda .NET Framework ile gelen Button sınıfından, TextBox'a gerek duyduğunuzda TextBox sınıfından yararlanabilirsiniz. Bu sınıfları C#, Visual Basic .NET ve C++ gibi programlama dilleri kullanılabilsin diye Microsoft firması bu 3 programlama dilinin derleyicilerini .NET Framework ile birlikte ücretsiz dağıtmaktadır. Başka bir deyişle kullandığınız bilgisayara .NET Framework'ü kurmanız halinde elinizde hem Visual Basic hem de C# derleyicisi olmuş oluyor. Yani hazır sınıflar var, bu sınıfların kullanılabildiği programlama dillerinin derleyicileri de var. Geriye bir tek tercih edilen programlama dilinde uygulama yazılırken programcıya yardım edecek araç kalıyordu. Bu da önce yalnızca Visual Studio iken sonra da Visual Basic için hazırlanan Express Edition alternatifi geldi.
Express Edition nedir ki?

Visual Studio son derece gelişmiş ve program yazmayı kolaylaştırdığı gibi yüksek fiyatla satılan bir program geliştirme aracıdır, yani bir IDE'dir. Microsoft firması korsan kullanımı azaltmak, Visual Basic ve .NET uyumlu diğer programlama dillerini henüz öğrenenleri düşünerek Express Edition adı verilen Visual Studio'ya göre kısıtlı özelliklere sahip "dile özel" IDE'ler hazırlayıp dağıtmaya başladı.

Visual Studio ile C#, Visual Basic, C++ ve ASP.NET uygulamaları geliştirmek mümkün iken Express Edition'lar "dile" özeldir. Yani .NET uyumlu hangi programlama diliyle uygulama geliştirilecekse o dil için hazırlanmış Express Edition adı verilen IDE'yi yani program geliştirme aracını Microsoft'un sitesinden indirip kurmak gerekiyor. Hemen eklemek gerekir ki Visual Basic için hazırlanmış olan Express Edition bir programlama dili olmayıp Visual Basic uygulamalarını kolayca hazırlayabilmeniz için Microsoft tarafından hazırlanıp ücretsiz olarak dağıtılın bir IDE'dir, yani bir yardımcı programdır.

Buna rağmen birçok yerli yabancı kitabın kapağına baktığınızda sanki Visual Basic'in Express Edition diye bir sürümünün olduğunu sanabilirsiniz. Örneğin elimde yabancı bir kitabın Türkçe çevirisi var. Kitabın Türkçe adı yerine orijinal adını vereyim: Visual Basic 2005 Express Edition. Bu adlandırmada birden fazla yanlış var: Visual Basic'in 2005 diye bir sürümü yoktur ve buradaki 2005 Visual Basic'in olmayıp Visual Basic için geliştirilen Express Edition'ın sürüm nosudur.

 http://img.sanalkurs.net/uploads/vb_1_ders_resim_2.jpg

Karışıklık olmasın diye bir konuyu tekrarlayalım:Visual Basic derleyicisi .NET Framework ile birlikte dağıtılmaktadır. .NET Framework 1.0 ve 1.1 ile birlikte Visual Basic derleyicisinin 7.0 sürümü verilirken .NET Framework 2.0 ile birlikte Visual Basic derleyicisinin 8.0 sürümü gelmektedir. Geçen yıl kullanıma sunulan .NET Framework 3.5 ile birlikte ise Visual Basic derleyicisinin 9.0 sürümü gelmektedir. Visual Basic derleyicisinin 7.0'dan 2.0 sürümüne gelindiğinde önemli gelişmeler olmuştu. Visual Basic derleyicisinin 9.0 sürümünde çok sayıda yenilik olmasına rağmen hepsi dile yapılanlar birer ektir. Başka bir deyişle Visual Basic 8.0 için yazılan kodlar Visual Basic 9.0 ile sorunsuzca derlenebilmektedir.

Kısaca anlatmak gerekirse Visual Basic için hazırlanmış Express Edition, Visual Studio'yu edinemeyip ancak programlarını Not Defteri ile hazırlamak istemeyenlere uygundur. Bana sorarsanız Visual Basic öğrenirken Express Edition size yeterli olacaktır. Visual Studio'yu edinme imkanınız varsa Express Edition'a kayıtsız kalabilirsiniz. Bu derslerde Visual Basic 9.0 ile gelen yeniliklerden söz edilmeyeceği için Express Edition'ın 2005 sürümü kullanılabilir. Tabi en son sürüm olsun diyenler 2008 yılında kullanıma sunulan sürümü indirip bilgisayarlarına kurabilirler.

Visual Basic 6

Bu derslerde Visual Basic 6'dan söz etmeyi başta düşünmemiş olmakla birlikte bu konuyu ilgi duyanların olacağını sandığım için kısaca Visual Basic 6'dan söz edeceğim. 1998 yılında piyasaya verilen Visual Studio 6 paketi Visual Basic ve Visual C++ programlama dilerini, Visual FoxPro veritabanı programını ve Visual InterDev web geliştirme araçlarını içeriyordu.

Her ne kadar bu araçlar Visual Studio 6 adı altında bir araya getirilmiş olsa bile kurulduklarında birbirinden bağımsız IDE'lere sahiptirler. Visual Basic 6 öğrenilmesi son derece kolaydır. Bu nedenle yakın bir zamana kadar programcılığa başlayanlara Visual Basic 6 iyi bir seçimdir deniliyordu. Visual Basic 6 bilgisayara kurulup yeni bir proje hazırlandığında aşağıdaki gibi bir Visual Basic penceresi ile karşılaşılmaktadır.

 http://img.sanalkurs.net/uploads/vb_1_ders_resim_3.jpg

Bazen MSN'de konuşurken benden programlama dili önerisi isteyenlere şöyle bir cümle ile cevap veriyorum: İlk öğreneceğiniz programlama dili büyük bir ihtimalle profesyonel programcı olup geliştirdiğiniz uygulamalarda kullanacağınız dil olmayacaktır. Çünkü bugün programcılığa başlayan birisi biraz tecrübe kazanıp bu işten ekmek yiyecek duruma gelene kadar öğrendiği programlama dilinde köklü değişikliklerin olması ihtimali yüksektir. Bu nedenle arkadaşın birisi "ben Visual Basic 6 ile programcılık öğrenmek istiyorum ne dersiniz?" diye sorduğunda "hayır .NET uyumlu olmayan Visual Basic'ten kesinlikle uzak dur" demiyorum.

Şunu hemen belirtmek gerekir ki Visual Basic'in .NET sürümü hakkında edinilen bilgilerin büyük bir kısmı ASP.NET ile web uygulaması geliştirilirken kullanılmaktadır. Bu nedenle ASP.NET uygulaması geliştirmek isteyenlerin öncelikle kullanacakları dil(Visual Basic veya C#) hakkında temel bilgilere sahip olmaları önerilir.

Web uygulaması geliştirmek isteyenler .NET uyumlu Visual Basic veya C#'ı öğrendikten sonra Visual Studio'yu veya Web Developer Express Edition'nı kullanabilirler. Visual Basic veya C# konusunda belli bir düzeye gelmeden ASP.NET ile Web uygulaması geliştirmek isteyenler zorlanırlar. Bir diğer önerim şudur: .NET Framework ile gelip veritabanı işlemleri yapılırken sınıflar yani ADO.NET adı altında bir getirilen sınıflar hakkında bilgi edinmeden Web uygulaması geliştirmek isteyenler zorlanacaklardır.

Programcılık Kitapları

Bir makale veya kitap kaleme alınırken bir okur grubu hedeflenir ve ona göre bir anlatım düzeyi seçilip konular ulaşılmak istenen hedef okur grubunun "tahmini" beklentilerine göre sıralanır. Bu derslerin hedef okur grubu daha önce Visual Basic'in .NET uyumlu sürümüyle 'uğraşmamış' olanlardır. Ya da Visual Basic'le ilgili derslerde hocalarını izlemekte zorluk çekenlerdir, aldıkları Visual Basic konulu kitabı okuyup anlamakta zorlananlardır, her hangi bir sitede rastladıkları makalede kullanılan kavramlara uzak olanlardır.

Bu dersleri kaleme alırken klasik anlamda bir amacım yoktu: Programcılık üzerine yazmayı, birilerinin yazdıklarımdan yararlanıyor olmasını seviyorum. Programcılık üzerine yazdıklarımı önceleri(yani bundan 17 yıl kadar önce) bilgisayar dergilerinde yayınlayarak, kitap şeklinde düzenleyerek okurlara ulaştırdım. Eskisi kadar olmasa bile kitap yazmayı sürdürüyorum. Her ne kadar bir çok insan sırf Memik Yanık programcılık konulu kitaplar, makaleler yazmasın diye seferber olmuş olsa bile yine de yazmayı sürdürüyorum.

Yıllardır bilgisayar ve programcılık üzerine yazarken temel ilkem veya ön şartım yazdıklarımın ilk okumada anlaşılmasını hedeflemek oldu. Bundan vazgeçmiş değilim. Daha önce herhangi bir şekilde herhangi bir dilde 2 satır kod yazdıysanız ve programcılığa merakınız varsa burada yazılanları ilk okumada mutlaka anlarsınız. Bu nedenlerdir ki bu derslerin ayırt edici özelliği kolay okunmasıdır. Yoksa bu derslerde verilen bilgilerin tümünü başka sitelerde ve programcılık kitaplarında bulabilirsiniz. Bu derslerin asıl işlevi; programcılık öğrenmeye karar vermiş olanların veya programcılık derslerini zevkle izlemek isteyenlerin önünü açmaktır, öğrenme sürelerini kısaltmaktır.

Yıllarca kitaplarımın arkasında büyük puntolarla 'Memik YANIK tarafından yazılan kitaplarda ilk okumada anlaşılmayan hiçbir konu yoktur' yazdırdım. Bu cümle birçok insanın bana saldırıp hakaretler edip küfürler savurmasına neden olsa bile bu iddiadan vazgeçmiş değilim. Hatta birileri hızını alamayıp 'Memik Yanık kitaplarında verdiği 3'5 satırlık kısacık kodlarda kullandığı değişkenlere ad seçerken benim kitaptan yararlanmıştır' diye beni suçladı. Başka bir anlatımla Memik Yanık kitaplarında kullandığı 3-5 satırlık örnek kodları yazarken tanımlamak istediği değişkene ne ad vereceğini günlerce düşünmüş olmasına rağmen Integer tipindeki değişkene i veya j; dosyanın(filename) yol bilgisini aktaracağı değişkene "dosya" adını verebileceğini bir türlü düşünememiş(!). Memik Yanık öyle bir akıl tutulması yaşamış ki değişkenlere ad seçerken yıllar önce çıkan kitaplarındaki değişken adları dururken başkalarının kitaplarından değişken adı çalmayı tercih etmiştir(!).

Birçok forumda her gün ismi belli olmayan çok sayıda kişinin Memik Yanık'a hakaretler düzmesinin tek nedeni yazdıklarımın ilk okumada mutlaka anlaşılıyor olması değildir elbette. Tepki çekmemin 2. bir nedeni değişik konularda kitaplar yazmamdır. Bir çok kişi 'Bir kişi nasıl olurda hem Visual Basic, hem Delphi hem de Clipper hakkında kitaplar yazabilir? Olsa olsa başkasına yazdırıyordur veya çeviri yapıyordur' şeklinde görüşler ileri sürdüler. Sanki bir gün Clipper kitabını, birkaç gün sonra ise Visual Basic kitabını yazıp yayınlamışım gibi suçlanıyorum. Hal bu ki bütün bu kitapları tam 20 yılda yazdım. Bazı kitaplarımın arkasına "bu kitap telif bir kitaptır yabancı yazarların kitaplarından araklanmadı" diye yazmış olmama rağmen inandırıcı olamadım.

Gerçekte programcılık kitaplarında kimse bilim yapmıyor, kimse yeni bir şey üretmiyor. Yapılan tek şey; bütün özellikleri ortada olan programlama dilini kendi anlayışıyla kendi cümleleri ile anlatmaktır. Örneğin yüz yıllardır aşk üzerine yazılmış on binlerce roman vardır, aşk konulu binlerce film vardır. Aynı şekilde Visual Basic üzerinde yazılmış yüzlerce kitap vardır. Bütün yazarlar aynı konuları anlatıp, aynı metotlardan, aynı sınıflardan söz ediyorlar. O zaman Visual Basic konulu kitapların arasındaki fark nedir diye soranlara verilecek cevap şudur: Fark anlatım şeklindedir. Elinize aldığınız kitapta yazarın anlatım şekli, cümleleri, konuları sıralayış şekli vs size uygunsa o kitap sizin için iyidir.

Bu dersleri izleyen okurları bir konuda uyarmak istiyorum: Siz siz olun yazdığınız kodlarda tanımlayıp kullandığınız değişkenlere ad seçerken dikkatli olmalısınız. Olur ya boş bulunup daha önceden register(!) edilmiş veya kullanım hakları bazı yerli yazarlarca kapatılmış "i", "j", "sayi", "dosya" gibi adlara sahip değişkenler tanımlarsanız ve bu tespit edilirse başınızın belaya girebileceğini unutmamalısınız(!). Bu uyarıya rağmen şu açıklamayı yapmayı gerekli görmekteyim: Bu derslerde kullandığım değişken adlarının mevcut Türkçe programcılık kitaplarındaki değişken adları ile benzerlik göstermesi tesadüf eseridir.
Bugün 0 ziyaretçi (1 klik) kişi burdaydı!