Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Bölüm1 İlk Bilgiler.

Benzer bir sunumlar


... konulu sunumlar: "Bölüm1 İlk Bilgiler."— Sunum transkripti:

1 Bölüm1 İlk Bilgiler

2 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz?
Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil tasarım al-verleri Implementasyon yöntemleri Programlama ortamları Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

3 Niye Programlama Dilleri prensiplerini öğreniyoruz?
Doğru dil seçimi yapmaya yönelik genel bilgi edinmek için Yeni dilleri daha kolay öürenmek için Dillerin implementasyonun önemini anlamak için Halihazırda bildiğimiz dilleri daha iyi kullanmak için. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

4 Programlama Alanları Bilimsel uygulamalar İş uygulamaları Yapay zeka
Çok sayıda kayan nokta işlemi; dizi kullanımı Fortran İş uygulamaları Rapor üretimi, ondalık sayılar COBOL Yapay zeka Semboller; listeler LISP, Prolog Gömülü sistemler System programcılığı Gerçek zamanlı sistemler Web Yazılımları XHTML, PHP, Java Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

5 Dil değerlendirme kriterleri
Okunabilirlik Yazılabilirlik Güvenirlik Maliyet Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

6 Değerlendirme Kriteri: Okunabilirlik
Sadelik Az sayyıda özellik Bir operatörün birden çok amaç için kullanılmaması Az-Öz olma durumu Az sayıda basit operator Birbirleri ile uyumlu Kontrol yapıları (if-else, while vs.) yeterli olmalı Veri tipleri ve yapıları yeterli olmalı Sentaks: Kullanılan anahtar sözcükler anlamlı olmalı Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

7 Değerlendirme Kriteri : Yazılabilirlik
Sadelik, az-öz durumu Az sayıda yapı, az sayıda basit operatör, az sayıda operatörleri birleştirme yöntemi Soyutlama desteği Gereksiz detayları saklama Güçlü İfade yeteneği İşlemleri sıkıntısız bir biçimde belirtebilme Önceden tanımlı operatörlerin ve fonksiyonların güçlü ve yeterli sayıda olması Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

8 Değerlendirme Kriteri : Güvenirlik
Tip Kontrolü Tip hatalarını denetlemeTesting for type errors İstisna mekanizması Program çalışırken meydana gelen hataları yakala ve gerekli düzenlemeleri yap Çok isimlilik Ayni hafıza lokasyonuna birden çok yöntemle erişebilme durumu Okunabilirlik ve yazılabilirlik Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

9 Değerlendirme Kriteri : Maliyet
Programcı eğitimi maliyeti Program yazma maliyeti Program derleme maliyeti Program çalıştırma maliyeti Geliştirme ortamları: Ücretli/ücretsiz Güvenirlik durumu (kötü güvenirlik, çok maliyet) Program bakımı ve güncellemesi maliyeti Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

10 Diğer Değerlendirme Kriterleri
Taşınabilirlik Bir ortamdan diğer ortama (örneğin işletim sistemi) kolayca aktarılabilir mi? Genel amaçlılık Birden çok sahada kullanılabilir mi? Tanımlı olma durumu Dil formel olarak tanımlandımı? Tanım eksiksizmidir? Yeterince detaylımıdır? Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

11 Dil tasarımı üzerine etkiler
Bilgisayar Mimarisi Ör: Von Neuman Programlama metodolojileri Nesne yönelimli, fonksiyonel, mantık, kısıt, paralel Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

12 Bisgisayar Mimarisi Etkisi
Bilinen mımari: Von Neumann Emir-komuta dilleri en yaygın çünkü bu mimariye en uyumlu Neumann computers Veri ve programlar hafızada saklanır Hafıza ve işlemci birbirinden ayrı İşlemler ve veri hafızadan işlemciye taşınır Emir-komuta dilleri için uygun yapı Değişken = hafıza hücresi Atama = Veri aktarılması Iterasyon kolay (jump) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

13 von Neumann Mimarisi Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

14 von Neumann Mimarisi Getir-Çalıştır döngüsü Program sayacını ilkle
Sonsuza kadar tekrar et sayacın gösterdiği komutu getir sayacı artır komutu anla komutu çalıştır Tekrar sonu Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

15 Programlama Metodolojıleri Etkileri
1950lar ve 1960ların ilk yılları: Basit uygulamalar, makinelerin verimli kullanılması ön planda 1960ların son yıllalı: İnsan kaynaklarının verimli kullanımı ön plana çıktı. yapısal programlama yukarıdan-aşağı tasarım, adım adım geliştirme 1970lerin son yılları: İşelm soyutlamadan veri soyutlamaya geçiş 1980lerin ortaları: Nesne yönelimli programlama Veri soyutlama + kalıtım + çok şekillilik (polymorphism) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

16 Dil Kategorileri Emir-komuta Fonksiyonel Mantık
Değişkenler, atama, iterasyon Kapsadıkları dil çeşitleri Nesne yönelimli scripting Görsel Örnekler: C, Java, Perl, JavaScript, Visual BASIC .NET, C++ Fonksiyonel Hesaplama yöntemiŞ fonksiyonları parametrelere uygulama Örnekler: LISP, Haskell Mantık Kural tabanlı Örnek: Prolog İşaretleme/programlama karışımı Programlama yapmaya müsait hale getirilen işaretleme dilleri Örnekler: JSTL, XSLT Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

17 Dil Tasarım Al-Verleri
Güvenirlik - maliyet Örnek: Dizin endeksleri JAVA dilinde kontrol edilir, bu da zaman açısından maliyeti artırır. Okunabilirlik - yazılabilirlik - Örnek APL. Birçok operatör kullanarak az kod ile çok iş yapılabilir, ama yazılan kodun okunması güçtür. Yazılabilirlik - güvenirlik Örnek C++ işaretçileri. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

18 Implementasyon Yöntemleri
Derleme Programlar makine diline çevirilir Saf Tercüme Progamlar tercüman denilen başka bir program tarafından çalıştıtılır Karışık implementasyon sistemleri Derleyici ile tercüman arasında bir yerde. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

19 Bilgisayarın Katmanlı Görüntüsü
İşletim sistemi ve dil implementasyonu bilgisayarın makine arayüzü üzerine inşa edilmiştir. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

20 Derleme Üst seviyeli kaynak kodu makine koduna çevirme
Çevirme işlemi yavaş, kodun çalışması hızlı Derleme aşamaları: Sözcük analizi: kaynak koddaki karakterlerin sözcük birimlerine çevrilmesi Sentaks analizi: sözcük birimlerinden programın yapısını ortaya çıkaran çözümleme ağacı elde edilmesi. Anlam analizi: ara kod üretimi Kod üretimi: makine kodu üretimi Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

21 Derleme Süreci Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

22 Diğer Derleme Termınolojisi
Yükleme modülü (çalıştırılabilen görüntü): kullanıcı ve sistem kodu birlikte Bağlama: sistem program ünitelerini kullanıcı programına bağlama ve bir yükleme modülü elde etme Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

23 Von Neumann Darboğazı Bilgisayarın islemcisi ile hafızası arasındaki bağlantının hızı bilgisayarın hızını belirler Program komutları hızlı, verinin taşınma hızı yavaş. Taşınma hızı bir darboğaz oluşturur. Bu olayın adı: von Neumann darboğazı. Bilgisayarların hızını etkileyen en önemli faktörlerden birisi. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

24 SAF Tercume Çeviri yok Yazılımı kolay
Yavaş çalışma (derlenmişe göre 100 defaya kadar daha yavaş) Daha çok hafıza ister Yüksek seviyeli diller için oldukça pek kullanılmıyor Bazı Web yazım dilleri ile önemi arttı (ör: JavaScript, PHP) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

25 SAF Tercüme Süreci Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

26 Hibrid (karma) sistemler
Derleyici – tercüme edici arası Yüksek seviyeli dil ara dile çevrilir, ara dildeki kod tercüme edilir Saf tercümeden daha hızlı Örnekler Perl JAVA (Java Sanal Makinesi - Java Virtual Machine) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

27 Hibrid İmplementasyonu Süreci
Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

28 Tam-zamanında (TZ) implementasyon Sistemleri
Önce programları bir ara dile çevir Ara dildeki alt programları (fonksiyon/prosedür) ilk kez çağrıldıklarında makine koduna çevir, makine kodunu çağır Daha sonraki çağırmalarda, tekrar çeviri yapma, daha önceki çeviriyi kullan JAVA ve .NET dilleri için TZ kullanılır Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

29 Ön işlemciler Başka bir dosyadan dahil edilme komutları (makrolar)
Ön işlemci program derleyiciye verilmeden devreye girer. Kendine ait komutları çalıştırır. Dosyayı komutların söylediği şekilde değiştirir. Örnek: C önişlemcisi #include, #define Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

30 Programlama Ortamları
Yazılım geliştirmede kullalılan araçlar topluluğu UNIX Eski bir işletim sistemi ve araç topluluğu Şimdilerde UNIX üzerinde çalışan grafik arayüz ile kullanııyor (ör : CDE, KDE, or GNOME) Netbeans JAVA ve diğer diller için entegre geliştirme ortamı Microsoft Visual Studio.NET Büyük, karmaşık bir görsel geliştirme ortamı C#, Visual BASIC.NET, Jscript, J#, C++ dilleri için Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ

31 Özet Programlama dilleri prensiplerini öğrenme sebepleri:
Değişik yapıları kullanma yeteneğimizi artırmak için Kullanacağimiz dilleri daha bilinçli seçebilmek için Yeni dilleri daha kolay öğrenebilmek için Dil değerlendirme kriterleri: Okunabilirlik, yazılabilirlik, güvenirlik, maliyet Dil tasarımına etkiler: makine mimarisi ve yazılım geliştirme metodolojileri Ana implementasyon yöntemleri: derleme, saf tercüme, hibrid (karışım), Tam zamanında. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ


"Bölüm1 İlk Bilgiler." indir ppt

Benzer bir sunumlar


Google Reklamları