Aracılığıyla paylaş


Visual Basic'e giriş

Microsoft Visual Basic® programlama dili, Microsoft® .NET Framework için üst düzey bir programlama dilidir. Her ne kadar ulaşılabilir ve öğrenmesi kolay bir dil olacak şekilde tasarlanmış olsa da, deneyimli programcıların ihtiyaçlarını karşılayacak kadar güçlüdür. Visual Basic programlama dilinin, Visual Basic kodunun netliğini ve okunabilirliğini teşvik eden İngilizce'ye benzer bir söz dizimi vardır. Mümkün olduğunda kısaltmalar, kısaltmalar veya özel karakterler yerine anlamlı sözcükler veya tümcecikler kullanılır. Fazlalık veya gereksiz söz dizimine genellikle izin verilir, ancak gerekli değildir.

Visual Basic programlama dili, kesin olarak yazılan veya gevşek yazılan bir dil olabilir. Gevşek yazma, bir program çalışmaya devam edene kadar tür denetimi yükünün büyük bir kısmını karşılar. Bu yalnızca dönüştürmelerin tür denetimini değil aynı zamanda yöntem çağrılarını da içerir, yani yöntem çağrısının bağlaması çalışma zamanına kadar ertelenebilir. Bu, geliştirme hızının yürütme hızından daha önemli olduğu prototipler veya diğer programlar oluştururken yararlıdır. Visual Basic programlama dili ayrıca derleme zamanında tüm tür denetimini gerçekleştiren ve yöntem çağrılarının çalışma zamanı bağlamasını engelleyen kesin olarak belirlenmiş semantikler sağlar. Bu, maksimum performansı garanti eder ve tür dönüştürmelerinin doğru olduğundan emin olunmasını sağlar. Bu, yürütme hızının ve yürütme doğruluğunun önemli olduğu üretim uygulamaları oluştururken kullanışlıdır.

Bu belgede Visual Basic dili açıklanmaktadır. Bir dil öğreticisi veya kullanıcının başvuru kılavuzu yerine tam bir dil açıklaması olması amaçlanır.

Dil Bilgisi Gösterimi

Bu belirtim iki dil bilgisini açıklar: sözcük temelli dil bilgisi ve söz dizimi dil bilgisi. Sözcük temelli dil bilgisi, karakterlerin belirteç oluşturmak için nasıl birleştirilebileceğini tanımlar; bozulmamış dil bilgisi, belirteçlerin Visual Basic programlarını oluşturmak için nasıl birleştirilebileceğini tanımlar. Koşullu derleme gibi ön işleme işlemleri için kullanılan birkaç ikincil dil bilgisi de vardır.

Bu belirtimdeki dil bilgisi ANTLR biçiminde yazılır-- bkz http://www.antlr.org/. .

Visual Basic programlarında büyük/küçük harf önemli değildir. Kolaylık olması için tüm terminallere standart kasa olarak verilir, ancak tüm büyük/küçük harflerle eşleşecektir. ASCII karakter kümesinin yazdırılabilir öğeleri olan terminaller, karşılık gelen ASCII karakterleriyle temsil edilir. Visual Basic, terminalleri eşleştirirken de genişliğe duyarsızdır ve tam genişlikte Unicode karakterlerin yarı genişlikli Unicode eşdeğerleriyle eşleşmesine izin verir, ancak yalnızca tam belirteç temelinde. Karma yarım genişlikli ve tam genişlikli karakterler içeren bir belirteç eşleşmez.

Satır sonları ve girintiler okunabilirlik için eklenebilir ve üretimin bir parçası değildir.

Uyumluluk

Programlama dilinin önemli özelliklerinden biri, dilin farklı sürümleri arasındaki uyumluluktır. Bir dilin daha yeni bir sürümü, dilin önceki sürümüyle aynı kodu kabul etmiyorsa veya önceki sürümden farklı yorumlarsa, kodunu dilin bir sürümünden diğerine yükseltirken programcıya yük olabilir. Bu nedenle, dil tüketicilerinin avantajının açık ve aşırı nitelikte olması dışında sürümler arasındaki uyumluluk korunmalıdır.

Aşağıdaki ilke, sürümler arasında Visual Basic dilinde yapılan değişiklikleri yönetir. Bu bağlamda kullanıldığında, dil terimi yalnızca Visual Basic dilinin söz dizimini ve anlamsal yönlerini ifade eder ve ad alanının (ve alt ad alanlarının Microsoft.VisualBasic ) bir parçası olarak dahil edilen .NET Framework sınıflarını içermez. .NET Framework'teki tüm sınıflar, bu belgenin kapsamı dışında ayrı bir sürüm oluşturma ve uyumluluk ilkesi kapsamındadır.

Uyumluluk sonu türleri

İdeal bir dünyada, Visual Basic'in mevcut sürümüyle Visual Basic'in gelecekteki tüm sürümleri arasında uyumluluk 100% olacaktır. Ancak, uyumluluk molası gereksiniminin programcılara yükleyebileceği maliyetten daha yüksek olabileceği durumlar olabilir. Bu gibi durumlar şunlardır:

  • Yeni uyarılar. Yeni bir uyarıya giriş, bir uyumluluk sonu değildir. Ancak, birçok geliştirici "uyarıları hata olarak değerlendir" özelliği açık olarak derlendiğinden, uyarı eklerken ek özen gösterilmelidir.

  • Yeni anahtar sözcükler. Yeni dil özellikleri tanıtırken yeni anahtar sözcüklere giriş yapılması gerekebilir. Kullanıcıların tanımlayıcılarıyla çakışma olasılığını en aza indiren anahtar sözcüklerin seçilmesi ve mevcut anahtar sözcüklerin anlamlı olduğu yerlerde kullanılması için makul çaba gösterilecektir. Projeleri önceki sürümlerden yükseltmek ve yeni anahtar sözcüklerden kurtulmak için yardım sağlanacaktır.

  • Derleyici hataları. Derleyicinin davranışı, dil belirtiminde belgelenmiş bir davranışla karşıt olduğunda, derleyici davranışını belgelenmiş davranışla eşleşecek şekilde düzeltmek gerekebilir.

  • Belirtim hatası. Derleyici dil belirtimi ile tutarlı olduğunda ancak dil belirtimi açıkça yanlışsa, dil belirtimini ve derleyici davranışını değiştirmek gerekebilir. "Açıkça yanlış" ifadesi, belgelenen davranışın kullanıcıların net ve kesin olmayan çoğunluğunun kullanıcılar için beklediği ve son derece istenmeyen davranışlar oluşturacağı durumlara karşı çalıştığı anlamına gelir.

  • Belirtim belirsizliği. Dil belirtiminin belirli bir durumda ne olduğunu belirtmesi gerektiğinde ama yazmadığında ve derleyici durumu tutarsız veya net bir şekilde yanlış bir şekilde ele aldığında (önceki noktadan aynı tanımı kullanarak), belirtimi netleştirmek ve derleyici davranışını düzeltmek gerekebilir. Başka bir deyişle, belirtim a, b, d ve e durumlarını kapsadığında, ancak c durumunda ne olduğu hakkında herhangi bir bahsetmeyi atladığında ve c durumunda derleyici yanlış davrandığında, c durumunda ne olduğunu belgeleyip derleyicinin davranışını eşleşecek şekilde değiştirmek gerekebilir. (Belirtim, bir durumda ne olduğuyla ilgili belirsizse ve derleyici açıkça yanlış olmayan bir şekilde davranırsa, derleyici davranışının fiili belirtim haline geldiğini unutmayın.)

  • Çalışma zamanı hatalarını derleme zamanı hatalarına dönüştürme. Kodun çalışma zamanında başarısız% 100 olduğu bir durumda (örneğin, kullanıcı kodunda kesin olmayan bir hata var), durumu yakalayan bir derleme zamanı hatası eklemek tercih edilebilir.

  • Belirtim ihmali. Dil belirtimi belirli bir duruma özel olarak izin vermediğinde veya izin vermediğinde ve derleyici durumu istenmeyen bir şekilde işlediğinde (derleyici davranışı açıkça yanlışsa belirtim atlanması değil belirtim hatası olur), belirtimi netleştirmek ve derleyici davranışını değiştirmek gerekebilir. Her zamanki etki analizine ek olarak, bu türdeki değişiklikler, değişikliğin etkisinin son derece düşük olduğu ve geliştiricilerin yararının çok yüksek olduğu durumlarla daha da kısıtlanmıştır.

  • Yeni özellikler. Genel olarak, yeni özelliklerin tanıtılması dil belirtiminin mevcut bölümlerini veya derleyicinin mevcut davranışını değiştirmemelidir. Yeni bir özelliğin tanıtılması için mevcut dil belirtiminin değiştirilmesinin gerekli olduğu durumlarda, bu tür bir uyumluluk sonu yalnızca etkinin son derece düşük olması ve özelliğin avantajının yüksek olması durumunda makul olur.

  • Güvenlik. Olağanüstü durumlarda güvenlik endişeleri, doğası gereği güvenli olmayan ve kullanıcılar için net bir güvenlik riski oluşturan bir özelliği kaldırma veya değiştirme gibi bir uyumluluk molası gerektirebilir.

Aşağıdaki durumlar uyumluluk sonları getirmenin kabul edilebilir nedenleri değildir:

  • istenmeyen veya pişman bir davranış. Mantıklı olan ancak geriye dönük olarak istenmeyen veya pişman olduğu düşünülen dil tasarımı veya derleyici davranışı geriye dönük uyumluluğu bozmanın bir gerekçesi değildir. Bunun yerine aşağıda açıklanan dil kullanımdan kaldırma işlemi kullanılmalıdır.

  • Başka birşey var mı. Aksi takdirde, derleyici davranışı geriye dönük olarak uyumlu kalır.

Etki Ölçütleri

Uyumluluk sonunun kabul edilebilir olup olmadığı göz önünde bulundurulduğunda, değişikliğin etkisini belirlemek için çeşitli ölçütler kullanılır. Etki ne kadar büyük olursa, uyumluluk sonlarını kabul etme çubuğu o kadar yüksek olur.

Ölçütler şunlardır:

  • Değişikliğin kapsamı nedir? Başka bir deyişle, kaç programın etkilenme olasılığı vardır? Kaç kullanıcının etkilenme olasılığı var? Değişiklikten etkilenen kodu yazmak ne kadar yaygın olacaktır?

  • Değişiklik öncesinde aynı davranışı elde etmek için herhangi bir geçici çözüm var mı?

  • Değişiklik ne kadar belirgin? Kullanıcılar bir şeyin değiştiğine dair anında geri bildirim alacak mı yoksa programları farklı mı yürütülecek?

  • Yükseltme sırasında değişiklik makul bir şekilde giderilebilir mi? Değişikliğin oluştuğu durumu mükemmel doğrulukla bulabilen ve kodu değişikliği geçici olarak değiştirecek şekilde değiştirebilen bir araç yazmak mümkün mü?

  • Değişiklikle ilgili topluluk geri bildirimi nedir?

Dil kullanımdan kaldırma

Zaman içinde dilin veya derleyicinin bölümleri kullanım dışı bırakılabilir. Daha önce açıklandığı gibi, bu tür kullanım dışı özellikleri kaldırmak için uyumluluğun bozulması kabul edilemez. Bunun yerine aşağıdaki adımların izlenmesi gerekir:

  1. Visual Studio'nun A sürümünde bulunan bir özellik göz önünde bulundurulduğunda, son kullanımdan kaldırma kararı verilmeden önce özelliğin kullanımdan kaldırılması ve tam bildirim verilmesi konusunda kullanıcı topluluğundan geri bildirim istenmelidir. Kullanımdan kaldırma işlemi, kullanıcı topluluğu geri bildirimlerine bağlı olarak herhangi bir noktada geri alınabilir veya bırakılabilir.

  2. tam sürüm (yani bir nokta sürümü değil) Visual Studio'nun B'sinin kullanım dışı kullanım uyarısı veren derleyici uyarıları ile yayımlanması gerekir. Uyarılar varsayılan olarak açık olmalıdır ve kapatılabilir. Kullanımdan kaldırma işlemleri, ürün belgelerinde ve web'de açıkça belgelenmelidir.

  3. Visual Studio'nun tam C sürümü, kapatılamayan derleyici uyarıları ile serbest bırakılmalıdır.

  4. Visual Studio'nun tam D sürümü, kullanım dışı bırakılan derleyici uyarıları derleyici hatalarına dönüştürülerek serbest bırakılmalıdır. D sürümü, A sürümünün Temel Destek Aşaması (bu yazıdan itibaren 5 yıl) sona erdikten sonra gerçekleşmelidir.

  5. Son olarak, Visual Studio'nun derleyici hatalarını kaldıran bir E sürümü yayınlanabilir.

Bu kullanımdan kaldırma çerçevesi içinde işlenemeyen değişikliklere izin verilmez.