Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
HOŞGELDİNİZ C# 2.0’ A GİRİŞ TAYFUN YİRDEM
2
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
3
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
4
C# 2.0’ A GİRİŞ İÇERİK (kaynakça) Microsoft, IBM,
Sun Microsystem (JAVA), Bell Labs, Google
5
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 ???
6
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ş
7
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
8
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
9
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
10
PEKİ YA GEÇMİŞTE?
11
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
12
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
13
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
14
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üç
15
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ı
16
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ı
17
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ı
18
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.
19
1955lerde BİLGİSAYARLAR X = A * B + C Makine Diline Çevirelim
(A’daki değeri reg. yükle) Hex: (B’deki değerle çarp) Hex: (C’deki değeri reg. ile topla) Hex: (Registerdeki değeri X’e taşı) Hex: MOV A, ACC MUL B, ACC ASSEMBLY’ye çevirince ADD C, ACC STO ACC, X
20
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ı
21
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
22
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ı
23
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ı
24
1980lerde BİLGİSAYARLAR Savulun!!! Nesneye Dayalı Programlama Deliyor
: 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
25
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
26
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
27
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.
28
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ı
29
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
30
1940ların sonu ve 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ı.
31
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
32
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ı
33
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.
34
1955 3. Nesil Diller X = A * B + C Makine Diline Çevirelim
(A’daki değeri reg. yükle) Hex: (B’deki değerle çarp) Hex: (C’deki değeri reg. ile topla) Hex: (Registerdeki değeri X’e taşı) Hex: MOV A, ACC MUL B, ACC ASSEMBLY’ye çevirince ADD C, ACC STO ACC, X
35
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.
36
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.
37
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
38
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ı.
39
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.
40
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.
41
1980s Savulun!!! Nesneye Dayalı Programlama Geliyor
Object-oriented programming/Nesneye Dayalı Programlama : C++ Bjarne Stroustrop (Bell Labs) “C with classes” olarak tanıtıldı. Geniş çapta kabul gören ilk nesneye dayalı program.
42
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. : C++ Bjarne Stroustrop (Bell Labs) “C with classes” Geniş çapta kabul gören ilk nesneye dayalı program.
43
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
44
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)
45
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
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.