HOŞGELDİNİZ  C# 2.0’ A GİRİŞ TAYFUN YİRDEM

Slides:



Advertisements
Benzer bir sunumlar
el ma 1Erdoğan ÖZTÜRK ma ma 2 Em re 3 E ren 4.
Advertisements

Yazılım Geliştirme ve Java
Oktay ERBEY CRM & B2B Ürün Satış Hizmet Yöneticisi
Bilgisayar Programlama I
Algoritma ve Akış Diyagramları
Değişkenler ve bellek Değişkenler
1 Ocak 1989 – 31 Aralık 2004 Güneş Tutulmaları (3)
C Programlama Dili AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritche tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiş.
T.C. İNÖNÜ ÜNİVERSİTESİ Arapgir Meslek YÜKSEKOKULU
Eğitim Programı Kurulum Aşamaları E. Savaş Başcı ASO 1. ORGANİZE SANAYİ BÖLGESİ AVRUPA BİLGİSAYAR YERKİNLİĞİ SERTİFİKASI EĞİTİM PROJESİ (OBİYEP)
FAKÜLTE/BÖLÜM/ YÜKSEKOKUL ADI STRATEJİK PLANLAMA SUNUMU Not:Süreçler değişebilir…
WEB Tasarımı & .NET Bolum 1
BASİT MAKİNELER.
Diferansiyel Denklemler
Önemli Programlama Dillerinin Gelişimi
Bilgi Teknolojisinin Temel Kavramları
Ders Adı: Bilgisayar Donanımına Giriş
ENF 101 TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
FRAMEWORK.
Yönetim Bilgi Sistemleri Şubat TAPU VE KADASTRO GENEL MÜDÜRLÜĞÜ.
KIR ÇİÇEKLERİM’ E RakamlarImIz Akhisar Koleji 1/A.
Programlamanın Yapı Taşları
Prof. Dr. Leyla Küçükahmet
BDEM 105.
Algoritmalar DERS 3 Böl ve Fethet(Divide and Conquer) İkili arama
Bilgisayar Donanımı Dersi
HAZIRLAYAN:SAVAŞ TURAN AKKOYUNLU İLKÖĞRETİM OKULU 2/D SINIFI
Bilgisayarın İlkleri, Geçmişten Günümüze Bilgisayar
ORHAN EREN İLKOKULU 1-A.
Mobil Uygulamalar ve Bilgi Hizmetleri Orçun Madran
ÖRNEKLEM VE ÖRNEKLEME Dr.A.Tevfik SÜNTER.
Gün Kitabın Adı ve Yazarı Okuduğu sayfa sayısı
İŞLETİM SİSTEMLERİ EYLÜL 2012.
PROGRAM GELİŞTİRME 1.HAFTA.
Bilgisayara Giriş Doç. Dr. Mehmet S. İlkay.
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
Yazılım Gelişimi. Donanım gelişimine paralel olarak süren yazılım gelişimi, son on yılda kayda değer bir ivmelenme ile bilgisayarları, herhangi bir uzmanlık.
İLKÖĞRETİMDE TEKNOLOJİNİN KULLANILMASI VE UYGULANMASI
HABTEKUS' HABTEKUS'08 3.
Üsküdar Halk Eğitim Merkezi Eczane Çalışanlarının Eğitimi Bilgisayar Dersi Ayşenur Buyruk
Yard. Doç. Dr. Mustafa Akkol
CEIT 101 Teorik Vasfi Tuğun - Konu 1- Vasfi Tuğun.
1 DEĞİŞMEYİN !!!
Üçüncü Grup Birinci Harf U sesi sunumu MÜRŞİT BEKTAŞ.
1 2 3 GÜVENLİK İÇİN ÖNCELİKLE RİSKİ YOK EDİLMELİDİR. RİSKİ YOK EDEMIYORSANIZ KORUNUN KKD; SİZİ KAZALARDAN KORUMAZ, SADECE KAZANIN ŞİDDETİNİ AZALTIR.
Bankacılık sektörü 2010 yılının ilk yarısındaki gelişmeler “Temmuz 2010”
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Dersin Kapsamı Bilgisayar Nedir, Ne Yapar?
Çocuklar,sayılar arasındaki İlişkiyi fark ettiniz mi?
Proje Konuları.
Ana Programlama Dillerinin Evrimi
1.HAFTA 26 Ağustos 2009 ÇARŞAMBA 2.HAFTA 01 EYLÜL 2009 SALI 3.HAFTA 09 EYLÜL 2009 ÇARŞAMBA 4.HAFTA 15 EYLÜL 2009 SALI 5.HAFTA 23 EYLÜL 2009 ÇARŞAMBA 6.HAFTA.
1.HAFTA 26 Ağustos 2009 ÇARŞAMBA 2.HAFTA 01 EYLÜL 2009 SALI 3.HAFTA 09 EYLÜL 2009 ÇARŞAMBA 4.HAFTA 15 EYLÜL 2009 SALI 5.HAFTA 23 EYLÜL 2009 ÇARŞAMBA 6.HAFTA.
SLAYT 1BBY220 OCLC WorldCat Yaşar Tonta Hacettepe Üniversitesi yunus.hacettepe.edu.tr/~tonta/ BBY220 Bilgi Erişim İlkeleri.
ÖĞR. GRV. Ş.ENGIN ŞAHİN BİLGİ VE İLETİŞİM TEKNOLOJİSİ.
Diferansiyel Denklemler
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Hafta2 Bilgisayar Donanımı Dersi
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
Bilgisayar Donanımı Dersi
BİLGİSAYAR NEDİR?.
Bilgisayar Donanımı Dersi
PROGRAMLAMA TEMELLERİ
Bilgisayar Mühendisliğine Giriş
BİLİŞİM TEKNOLOJİLERİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

HOŞGELDİNİZ  C# 2.0’ A GİRİŞ TAYFUN YİRDEM

NEDEN BU EĞİTİMİ DÜZENLEDİK? Kursların fiyatları oldukça yüksek Kitaplardan çok çektik!!! Bilgiyi paylaşmak  Üniversitelerimizde C# dersi açılmadı Yarışma!!! Bence güzel bir etkinlik 

SİZ NEDEN BU EĞİTİME KATILMAK İSTEDİNİZ? Beklentileriniz Programlama bilginiz Programlamaya olan ilginiz Prog. geleceği hakkındaki düşünceleriniz İngilizce bilginiz İstekleriniz

C# 2.0’ A GİRİŞ İÇERİK (kaynakça) Microsoft, IBM, Sun Microsystem (JAVA), Bell Labs, Google

NEDEN C# Microsoft <>Açık Kaynak İş bulma olanakları Tek bir dil ile “Windows, Web, Mobil, Servis” Linux   MONO projesi Microsoft’ un büyük çaptaki ilk AR-GE ürünü Microsoft’ un AR-GE geçmişi? Geleceğin teknolojileri ???

GÜNÜMÜZDE BİLGİSAYARLAR? Hesaplamalar yapabilr 4 + 5 9 Mantıksal kararlar verebilir A=4, B=5 ise A < B İnsanoğluda bunu yapabilir, Sadece birkaç trilyon kat daha yavaş

GÜNÜMÜZDE BİLGİSAYARLAR? Bilgisayar programları / Yazılımlar Bilgisayarlar aptaldır, onları akıllı kılan komutlardır Bu komutların bütününe de program denir Bilgisayar siz ne derseniz onu yapar Donanım Bir bilgisayar sisteminin fiziksel düzeneği Somut kısım

GÜNÜMÜZDE BİLGİSAYARLAR? Bir bilgisayar 6 temel üniteden oluşur. 1)Veri girişi sağlayan birimler Fare, klavye, mikrofon 2)Veri çıkışı sağlayan birimler Yazıcı, monitör, hoparlör 3)Bellek birimleri RAM  Çalışma sırasında henüz kaydedilmemiş olan verileri saklar

GÜNÜMÜZDE BİLGİSAYARLAR? Bir bilgisayar 6 temel üniteden oluşur. 4) Aritmetik ve mantık birimi  ALU Hesaplamalar yapan, kararlar verebilen birim 5) İşlemci Diğer tüm aygıtların işlemlerini yönetir 6) İkincil bellek birimi Sabit disk, disket sürücü Hard=sağlam, floppy= güçsüz

PEKİ YA GEÇMİŞTE?

1940larda BİLGİSAYARLAR İlk elektronik bilgisayarlar ortaya çıktı. Devasa yapıda aygıtlar Hesaplama yapmak ve makinelerin bakımı çok zor “Bug” terimi nasıl ortaya çıktı. Harvard UNIV. Mark II Aiken Calculator? Yoksa debugging ile ilişkisi mi var Makine dili ile programlama

1940larda BİLGİSAYARLAR Birinci nesil programlama dilleri yaratıldı. Makine dili  Bilgisayar bileşenlerinin doğal dili Analog Kesintisiz iletim Ses kayıt bandına kayıt yapmak Dijital Bilgi parçalara ayrılır / kesik kesik 0 ve 1 kullanılır 0  Düşük voltaj 1  Yüksek voltaj CD’ye ses kaydetmek

1940larda BİLGİSAYARLAR Birinci nesil programlama dilleri yaratıldı. Makine dili  Bilgisayar bileşenlerinin doğal dili Her makine kendi makine dilini kullanır Machine dependent, yani onlara bağımlısınız

1940larda BİLGİSAYARLAR TEMEL PROBLEMLER Çok zaman alan ve hata yapma riskinin yüksek olduğu programlama yöntemi Yüksek seviyede donanım bilgisi gerektirir Çok detaylı işlemler yapılır Her bilgisayar ailesi kendi dilini kullanır Standart yok Yeni bir dile adapte olmak güç

1940-1950’lerde BİLGİSAYARLAR 2. Nesil programlama dili ASSEMBLY  çevirme İnsan hafızası simgeleri daha kolay saklar Bu nedenle bir çeşit anımsama yöntemi olan mnemonics kullanıldı  ADD, LOAD Çeviriciler tarafından makine diline çevrilirler Her bir komut asgari yapıdadır  Düşük seviyeli dil Assembly de programlamayı yeterince kolaylaştırmadı

1955lerde BİLGİSAYARLAR 3. Nesil Diller FORTRAN  ilk yüksek seviyeli dil Assembly diline göre daha anlaşılır ifadeler içerir Programcılar makineden bağımsız olarak çalışabilir hale geldi Öğrenmeyi, yazmayı,ve hataların ayıklanmasını oldukça kolaylaştıran diller. Gereksiz ayrıntılar yerine uygulamaya yoğunlaşma Mühendislikte bilimde birçok sayısal ağırlıklı problemin çözülmesini sağladı

1955lerde BİLGİSAYARLAR 3. Nesil Diller FORTRAN  ilk yüksek seviyeli dil Dilin kendi yapısı içinde genel matematiksel hesaplar barındırıldı  “+”, “-”, “/”, “*” Derleyiciler ile makine diline çevrilirler Algol 58 Fortrandan geliştirildi Cobol iş matematiği için kullanılmaya başlandı BASIC programcılığa yeni başlayanlar için yaratıldı LISP yapay zeka uygulamaları için geliştirildi EN ÖNEMLİSİ İnsanlar bilgisayarlar ile inglizce konuşmaya başladı

1955lerde BİLGİSAYARLAR 3. Nesil Diller FORTRAN  ilk yüksek seviyeli dil x = a * b + c Hafızanın A adresindeki değeri al, ALU’da bir “register”e yükle; Hafızanın B adresindeki değeri al, yukardaki değerle(“A”) çarp ve sonucu aynı “register”de tut. Hafızanın C adresindeki değeri registerdeki değere (A * B) ekle. Registerdeki değeri (A * B + C) hafızanın X adresine koy.

1955lerde BİLGİSAYARLAR X = A * B + C  Makine Diline Çevirelim 00010000000000000000010000000000 (A’daki değeri reg. yükle) Hex: 08 00 04 00 00100100000000000000010000000001 (B’deki değerle çarp) Hex: 24 00 04 01 00100011000000000000010000000010 (C’deki değeri reg. ile topla) Hex: 23 00 04 02 00010001000000000000010000000011 (Registerdeki değeri X’e taşı) Hex: 11 00 04 03 MOV A, ACC MUL B, ACC  ASSEMBLY’ye çevirince ADD C, ACC STO ACC, X

1955lerde BİLGİSAYARLAR Structured Programlama kavramı ortaya çıktı Edsger Dijkstra, Ole-Johan Dahl, CAR Hoare. Niclaus Wirth  Pascal Algol üzerine modellendi Goto kaldırıldı Herşeyin bir türü olması sağlandı Prosedür içinde prosedür mantığı ortaya çıktı Ağırlıklı olarak öğretim programları için tasarlandı

1960lerde BİLGİSAYARLAR Structured Programlama kavramı ortaya çıktı Simula, Dahl, Nygaard ( Norway ) Nesne, sınıf (class), alt sınıflardan ilk defa bahsedildi

1970lerde BİLGİSAYARLAR Gelişmeler devam ediyor!!! Ken Thompson Bell Labs. Da “C” dilini yarattı B dilinin temelleri üzerine kuruldu Yüksek seviyede kurgu, düşük seviyede güç Jean Ichbiah “Ada” dili ortaya çıktı Amerikan Savunma bakanlığı tarafından geliştirildi İlk yazılım geliştirme platformu Sistem programlaması yapmak için tasarlandı Her dilin kendi gücünden faydalanmak amacıyla bu dillerin tamamının desteklendiği bir yapı oluşturulmaya çalışıldı

1970lerde BİLGİSAYARLAR Gelişmeler devam ediyor!!! Alan Key, Adele Goldberg  SmallTalk XEROX Palo Alto Research Center  PARC Grafikler zenginleştirildi Fontlar ortaya çıktı Nesneye dayalı programlamadan bahsedildi Herşeyin bir nesne olarak ifade edilebileceği fikri ortaya çıktı Yüksek seviyede kurgu, düşük seviyede güç Scheme, Gerald Sussman & Guy Steele (MIT) “Static scoping” kavramı ortaya çıktı

1980lerde BİLGİSAYARLAR Savulun!!! Nesneye Dayalı Programlama Deliyor 1979-1983: C++ Bjarne Stroustrop ( Bell Labs) “C with classes” olarak tanıtıldı. Geniş çapta kabul gören ilk OOPL. Tekrar tekrar kullanılabilinen programlama birimi nesne adını aldı. Sadece nesne kütüphanesindeki nesneleri kullanarak programlama yapma olanağı oluştu Prosedürler üzerinde değil nesneler üzerinde yoğunlaştırma gerektirir. En hızlı yazılım geliştirme tekniği

1990larde BİLGİSAYARLAR WEB WEB WEB WEB WEB WEB WEB WEB Tim Berners-Lee (CERN)  HTML Hypertext Markup Language World Wide Web’ in dili Dünyanın en yaygın dili Scripting dilleri ortaya çıktı PERL Javascript, VBscript, PHP, ASP, JSP

1990larde BİLGİSAYARLAR 12/1998 – COOL projesi başladı 07/1999 – ilk dahili port First internal ports to COOL 02/2000 – Named changed to C# 07/2000 – First public preview release 02/2002 – VS.NET 2002, C# 1.0 released 05/2003 – VS.NET 2003, C# 1.1 released 06/2004 – Beta 1 of VS 2005, C# 2.0 04/2005 – Beta 2 of VS 2005, C# 2.0 11/2005 – VS 2005, C# 2.0 release

1940lar İlk elektronik bilgisayarlar ortaya çıktı Devasa yapıda aygıtlar Makine dili ile programlama Yazılan kodlar tekrar kullanılamaz Hesaplama yapmak ve makinelerin bakımı oldukça zor. ( Katot tüpleri, “bug” terimi ) Tarihteki ilk “Bug” terimi, 1945 yılında Harvard Üniversitesi'nde geliştirilen bir hesap makinesi olan Mark II Aiken Relay Calculator’da bulunan bir güve nedeniyle kullanılmıştır. “Debugging” terimi de buradan çıkar. Hata ayıklama. Makinenin etrafında yuvalanan böceklere verildi bu isim.

1940lar 1. Nesil Makine Dili  Bilgisayar bileşenlerinin “doğal dili” Analog Kesintisiz ses dalgası Sas kayıt bandına ses kaydetme işlemi Dijital Bilgi parçalara ayrılır, kesik kesik 0 ve 1 kullanılır. 0 – düşük voltaj 1 – yüksek voltaj CD’ye ses kaydetme işlemi Makinelere özgü ( Intel ve AMD farklı makine dili kullanır ). Dolayısıyla da onlara bağımlı

1940lar 1. Nesil Makine Dili  PROBLEMLER Çok zaman alan ve hata yapma riskinin yüksek olduğu programlama şeklidir. Yüksek seviyede donanım bilgisi sahibi olmayı gerektirir. Çok detaylı işlemler yapılır. Her bilgisayar ailesi

1940ların sonu ve 1950+ 2. Nesil Assembly Dili  toplantı anlamındadır. Mnemonics kullanılır “anımsama yöntemi” anlamındadır. Çeviriciler tarafından sonradan makine diline çevrilirler Her bir komut asgari yapıdadır.  Düşük seviyel dil İnsan hafızası simgleri daha kolay saklar  ADD, LOAD Assembly de programlamayı yeterince kolaylaştırmadı.

1955 3. Nesil Diller Fortran ilk yüksek seviyeli dil yaratıldı Mühendislikte ve bilimde birçok sayısal ağırlıklı problem çözülebildi. Assembly diline göre, daha anlaşılır ifadeler vardır. Uygulamaya yoğunlaşmayı sağlar  donanım bilgisi gerektirmez Öğrenmesi yazması , hata ayıklanması çok kolay olan dillerdir. Programcılar makinelerden bağımsız olarak çalışabilir hale geldi

1955 3. Nesil Diller Fortran ilk yüksek seviyeli dil yaratıldı Genel matematiksel hesapları içerir “+”, “-”, “*” Derleyiciler ile makine diline çevrilirler Algol 58 Fortran dan geliştirildi. Cobol iş matematiği için kullanılmaya başlandı. BASIC programcılığa yeni başlayanlar için yaratıldı LISP yapay zeka uygulamaları için geliştirildi İnsanlar bilgisayarlar ile ingilizce konuşmaya başladı

1955 3. Nesil Diller Yüksek seviyeli diller ------------------------------------------------------------------------- X = A * B + C Hafızanın A adresindeki değeri al, ALU’da bir “register”e yükle; Hafızanın B adresindeki değeri al, yukardaki değerle(“A”) çarp ve sonucu aynı “register”de tut. Hafızanın C adresindeki değeri registerdeki değere (A * B) ekle. Registerdeki değeri (A * B + C) hafızanın X adresine koy.

1955 3. Nesil Diller X = A * B + C  Makine Diline Çevirelim ------------------------------------------------------------------------- 00010000000000000000010000000000 (A’daki değeri reg. yükle) Hex: 08 00 04 00 00100100000000000000010000000001 (B’deki değerle çarp) Hex: 24 00 04 01 00100011000000000000010000000010 (C’deki değeri reg. ile topla) Hex: 23 00 04 02 00010001000000000000010000000011 (Registerdeki değeri X’e taşı) Hex: 11 00 04 03 MOV A, ACC MUL B, ACC  ASSEMBLY’ye çevirince ADD C, ACC STO ACC, X

1955 3. Nesil Diller Yüksek seviyeli diller ------------------------------------------------------------------------- X = A * B + C Hafızanın A adresindeki değeri al, ALU’da bir “register”e yükle; Hafızanın B adresindeki değeri al, yukardaki değerle(“A”) çarp ve sonucu aynı “register”de tut. Hafızanın C adresindeki değeri registerdeki değere (A * B) ekle. Registerdeki değeri (A * B + C) hafızanın X adresine koy.

1955 3. Nesil Diller Yüksek seviyeli diller ------------------------------------------------------------------------- X = A * B + C Hafızanın A adresindeki değeri al, ALU’da bir “register”e yükle; Hafızanın B adresindeki değeri al, yukardaki değerle(“A”) çarp ve sonucu aynı “register”de tut. Hafızanın C adresindeki değeri registerdeki değere (A * B) ekle. Registerdeki değeri (A * B + C) hafızanın X adresine koy.

1960s Structured Programlama Edsger Dijkstra, Ole-Johan Dahl, CAR Hoare. Pascal  Niklaus Wirth Algol üzerine modellendi. GOTO kullanımı kaldırıldı. Very strongly typed  Herşeyin bir türü var. İnteger, string vs Prosedür içinde prosedür  “Nesting” Ağırlıklı olarak öğretim programları için tasarlandı Simula, Dahl ve Nygaard (Norway) Nesne, sınıf ve altsınıflardan ilk defa bahsedildi

1970s Gelişmeler Sürüyor C  Ken Thompson (Bell Labaratuvarlarında) B dilinin temelleri üzerine kuruldu Yüksek seviyede kurgu, düşük seviyede güç Ada  Jean Ichbiah (France) Amerikan Savunma Bakanlığı tarafından geliştirildi. (.NET ile aynı yapıda çalışan ilk yapı) Sistem programlaması yapmak için tasarlandı. Her dilin kendi gücünden faydalanmak amacıyla bu dillerin tamamının desteklendiği bir yapı oluşturulmaya çalışıldı.

Programming Language History 1970s Smalltalk  Alan Kay, Adele Goldberg (Xerox PARC) Palo Alto Research Center  PARC Grafikler zenginleştirildi GUI  Graphical User Interface “Font”lar Object-oriented / “Nesneye Dayalı” “Herşey bir nesnedir” mantığı oluştu. Nesneler mesajlar ile konuşur. Scheme, Gerald Sussman & Guy Steele (MIT) LISP “static scope”  Değerin korunması Prolog vs.

1980s Savulun!!! Nesneye Dayalı Programlama Geliyor Object-oriented programming/Nesneye Dayalı Programlama Tekrar tekrar kullanılabilinen programlama birimleri Sadece nesne kütüphenesindeki nesneleri kullanarak dahi programlar üretilebilir.  Hatta Microsoft .NET Framework 2.0 ile bunu biraz abarttı. Nesnelerin özellikleri üzerinde yoğunlaşma gerektirir, prosedürler (yordam) üzerinde değil. En hızlı yazılım geliştirme tekniğidir.

1980s Savulun!!! Nesneye Dayalı Programlama Geliyor Object-oriented programming/Nesneye Dayalı Programlama 1979-1983: C++ Bjarne Stroustrop (Bell Labs) “C with classes” olarak tanıtıldı. Geniş çapta kabul gören ilk nesneye dayalı program.

Programming Language History 1980s Object-oriented programming/Nesneye Dayalı Programlama Tekrar tekrar kullanılabilirn programlama birimleri Sadece nesne kütüphenesindeki nesneleri kullanarak dahi programlar üretilebilir.  Hatta Microsoft .NET Framework 2.0 ile bunu biraz abarttı. Nesnelerin özellikleri üzerinde yoğunlaşma gerektirir, prosedürler ( yordam ) üzerinde değil. En hızlı yazılım geliştirme tekniğidir. 1979-1983: C++ Bjarne Stroustrop (Bell Labs) “C with classes” Geniş çapta kabul gören ilk nesneye dayalı program.

Programming Language History 1980s Functional Programming Extensive list of new concepts Lazy vs. eager evaluation Pure vs. imperative features Parametric polymorphism Type inference (Garbage collection) Hope Clean Haskell SML Caml

Programming Language History 1990s HTML, Tim Berners-Lee (CERN) “Hypertext Markup Language” Language of the World Wide Web. A markup language, not a programming language. Scripting languages PERL. CGI or Apache module Languages within Web pages JavaScript, VBScript PHP, ASP, JSP Java, James Gosling (Sun)

C# History 12/1998 – COOL project started 07/1999 – First internal ports to COOL 02/2000 – Named changed to C# 07/2000 – First public preview release 02/2002 – VS.NET 2002, C# 1.0 released 05/2003 – VS.NET 2003, C# 1.1 released 06/2004 – Beta 1 of VS 2005, C# 2.0 04/2005 – Beta 2 of VS 2005, C# 2.0 ? ?/2005 – VS 2005, C# 2.0 release