İçeriğe atla

C♯: Revizyonlar arasındaki fark

Vikipedi, özgür ansiklopedi
[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Değişiklik özeti yok
32. satır: 32. satır:
}
}
}
}

== Kritik ==
===Performans===
* Digerleri gibi[[Virtual Machine]]'e dayali dillerden biridir, C# programs are slower than for languages that compile directly into native code<ref>{{cite web
| url=http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all
| title=Computer Language Benchmarks Game
| date=[[2007-09-08]]
| accessdate=2007-09-08}}</ref>.

===Language===
* Although primitive types are treated as <code>Object</code>s at the source level, which allows programmers to use them easily in contexts where only <code>Object</code>s are allowed (e.g., collections)<ref>See [[C Sharp#Unified type system|Unified type system]]</ref>, this is done under the hood in the language by [[Autoboxing#Autoboxing|boxing/unboxing]] them at the [[Common Intermediate Language|bytecode]] level. The creation of additional objects has a negative effect on performance. This also leads to a lot of pitfalls where the program's behavior is not the same as expected<ref>{{cite web
| url=http://www.geocities.com/csharpfaq/box.html
| title=C# FAQ - Boxing and unboxing
| accessdate=2007-09-08}}</ref>. However, changes have been made since the introduction of [[Generic programming|generics]] in version 2.0.

===Platform===
* The reference .NET Microsoft implementation is only available on Windows. However, there are other implementations for running C# programs on Windows, Linux or MacOS X: [[Mono (software)|Mono]] and [[DotGNU]].

===Licensing===
* Although the C# language definition is standardized under an [[ISO]] standard, only a part of the [[Base Class Library]], which contains the fundamental functions that are used by all C# programs ([[Input/output|IO]], [[Windows Forms|User Interface]], [[Web service]]s, ...) is also standardized. Furthermore, parts of the BCL has been patented by Microsoft<ref>See [[.NET Framework#Standardization and licensing|.NET Framework]]</ref><ref>See [[Mono (software)|Mono and Microsoft’s patents]]</ref>, which may deter non-Microsoft implementations of the full framework.



==Dış bağlantılar==
==Dış bağlantılar==

Sayfanın 12.21, 6 Ekim 2007 tarihindeki hâli

Şablon:Yanlışbaşlık

C# Programlama Dili(si şarp şeklinde telafuz edilir), Microsoft'un geliştirmiş olduğu yeni nesil dilidir. Yine Microsoft tarafından geliştirilmiş .NET teknolojisi için geliştirilmiş dillerden biridir. Microsoft tarafından geliştirilmiş olsa da ECMA ve ISO standartları altına alınmıştır.

C#'ın isimlendirilmesinde, bir melodi anahtarı olan C# Major'den esinlenilmiştir. C# gibi, C programlama dili temel alınarak tasarlanan C++ programlama dilinin isimlendirilmesinde ki yaratıcılığına ulaşma çabası olarak görülebilir(C dilinde bir sayı değişkenini bir arttırma işlemi için ++ soneki veya başeki kullanılır).

Bu dilin tasarlanmasına Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarımlarıyla bilinen Anders Hejlsberg liderlik etmiştir.

Birçok alanda Java'yı kendisine örnek alır. .NET kütüphanelerini kullanmak amacıyla yazılan programların çalıştığı bilgisayarlarda uyumlu bir kütüphanenin ve yorumlayıcının bulunması gereklidir. Bu, Microsoft'un .Net Framewok'u olabileceği gibi ECMA standartlarına uygun herhangi bir kütüphane ve yorumlayıcı de olabilir. Yaygın diğer kütüphanelere örnek olarak Portable.Net ve Mono verilebilir.

Özellikle nesne yönelimli programlama kavramının gelişmesine katkıda bulunan en aktif programlama dillerinden biridir .NET platformunun anadili olduğu bazı kesimler tarafından kabul görse de bazıları bunun doğru olmadığını savunur.

Dizayn hedefleri

ECMA standart dizayn hedeflerini C# icin soyle siralar:

  • C# basit, modern, genel-amacli, nesneye yonelik programlama dili olarak tasarlanmistir.
  • Cunku yazilimin saglamliligi, guvenirliligi, ve programcilarin uretkenliligi onemlidir. C# yazilim dili, guclu tipleme kontrolu (strong type checking), dizin sinirlar kontrolu (array bounds checking), tanimlanmamis degiskenlerin kullanim tespiti, (source code portability), ve otomatik artik veri toplama gibi ozelliklerine sahiptir.
  • Programci portatifligi ozellikle C ve C++ dilleri ile tecrubesi olanlar icin cok onemlidir.
  • Enternasyonal hale koymak icin verilen destek cok onemlidir.
  • C# programlama dili sunucu ve gomulu sistemler icin tasarlanmistir. Bununla birlikte C# programlama dili en basit islevselli fonsiyondan isletim sistemini kullanan en teferruatlisina kadar kapsamaktadir.
  • C# uygulamalari hafiza ve islemci gereksinimleri ile tutumlu olmak uzere tasarlanmistir. Buna ragmen C# programlama dili performans acisindan C veya assembly dili ile rekabet etmek icin tasarlanmamistir.

Örnek "Merhaba Dünya!"

   class MerhabaDunya
   {
       static void Main(/*string[] args*/)
       {
           System.Console.WriteLine("Merhaba Dünya!");
           //System isim uzayındaki Console sınıfının WriteLine() yöntemini kullanarak
           //basit bir Konsol çıktısı ürettik.
        }
   }

Kritik

Performans

  • Digerleri gibiVirtual Machine'e dayali dillerden biridir, C# programs are slower than for languages that compile directly into native code[1].

Language

  • Although primitive types are treated as Objects at the source level, which allows programmers to use them easily in contexts where only Objects are allowed (e.g., collections)[2], this is done under the hood in the language by boxing/unboxing them at the bytecode level. The creation of additional objects has a negative effect on performance. This also leads to a lot of pitfalls where the program's behavior is not the same as expected[3]. However, changes have been made since the introduction of generics in version 2.0.

Platform

  • The reference .NET Microsoft implementation is only available on Windows. However, there are other implementations for running C# programs on Windows, Linux or MacOS X: Mono and DotGNU.

Licensing

  • Although the C# language definition is standardized under an ISO standard, only a part of the Base Class Library, which contains the fundamental functions that are used by all C# programs (IO, User Interface, Web services, ...) is also standardized. Furthermore, parts of the BCL has been patented by Microsoft[4][5], which may deter non-Microsoft implementations of the full framework.


Dış bağlantılar

  1. ^ "Computer Language Benchmarks Game". 2007-09-08. Erişim tarihi: 2007-09-08.  Tarih değerini gözden geçirin: |date= (yardım)
  2. ^ See Unified type system
  3. ^ "C# FAQ - Boxing and unboxing". Erişim tarihi: 2007-09-08. 
  4. ^ See .NET Framework
  5. ^ See Mono and Microsoft’s patents