Chapter 1

Chapter 1

Blm 1 Hazrlk ISBN 0-321-49362-1 Blm 1 Konular Programlama Dilleri Kavramlarnn renilmesinin Nedenleri Programlama Alanlar Dil Deerlendirme Kriterleri Dil Tasarmna Etki Eden Faktrler Dil Kategorileri Dil Tasarm dnlemesi (Bir eyi kazanmak iin baka bir eyden fedakarlk etme)

Uygulama Yntemleri Programlama evresi Copyright 2009 Addison-Wesley. All rights reserved. 1-2 Programlama Dilleri Kavramlarnn renilmesinin Nedenleri Fikirlerin ifade edilmesi iin artrlm yetenek Uygun dillerin seimi iin gelitirilmi gemi Yeni dilleri renebilmek iin artrlm yetenek Uygulamann nemini daha iyi anlama

Bilinen dillerin daha iyi kullanm Hesaplamann etraflca ilerletilmesi Copyright 2009 Addison-Wesley. All rights reserved. 1-3 Programlama Alanlar Bilimsel uygulamalar Kayan noktal hesaplamalarn bykl; dizilerin kullanm Fortran uygulamalar Raporlarn retimi, ondalk rakamlarn ve karakterlerin kullanm COBOL

Yapay zeka Saylarla uramak yerine sembollerin kullanlmas; ynlendirilmi listelerin kullanm LISP Sistem programlamas Srekli kullanm nedeniyle verim gerektirir C Web yazlm Dillerin seim koleksiyonu: biimleme (XHTML), komut dizisi oluturma (PHP), genel amal (Java)

Copyright 2009 Addison-Wesley. All rights reserved. 1-4 Dil Deerlendirme Kriterleri Okunabilirlik: programn okunabilir ve anlalabilir kolayl Yazlabilirlik: program oluturmada kullanlacak dilin kolayl (uygunluu) Gvenilirlik: artnamelerin uygunluu (rnein, kendi artnamelerin yaplmas) Maliyet: nihai toplam maliyet Copyright 2009 Addison-Wesley. All rights reserved. 1-5

Deerlendirme Kriteri: Okunabilirlik Btn ynyle kolaylk Ortogonallik lkel yaplandrmann greceli kk bir seti, greceli kk bir say usulleri ile birletirilebilir

Mmkn olan her kombinasyon yasaldr Veri tipleri zelliklerin ve yaplandrma setinin ynetilebilirlii zellik eitliliinin minimum seviyede tutulmas Ar ilem yklenmesinin minimum seviyede tutulmas Uygun n tanml veri tipleri Szdizimin (syntax) kurallarnn gz nne alnmas

aretleyici formlar: esnek kompozisyonlar Bileim ifadelerin ekillendirilmesinin zel kelimeleri ve yntemleri Biim ve anlamlar: kendinden tanml yaplar, anlaml anahtar szckler Copyright 2009 Addison-Wesley. All rights reserved. 1-6 Deerlendirme Kriteri: Yazlabilirlik Basitlik ve Ortogonallik Daha az yaplar, ilkel kk saylar, onlar birletirmek iin kk sayda kurallar seti Soyutlamay desteklemeli Detaylarn ihmal edilmesine msaade edecek biimde

kompleks yaplarn tanmlanmas ve kullanlmas yetenei Anlatmclk Belirlenmi ilemlerin greceli uygun usullerinin bir seti Dayanklk ve ilemlerin says ve n tanml fonksiyonlar Copyright 2009 Addison-Wesley. All rights reserved. 1-7 Deerlendirme Kriteri: Gvenirlirlik Tip kontrol Tip hatalarnn test edilmesi Hari tutma kullanm Run-time hata kesimesi ve dzeltici lmelerin alnmas

rtme Ayn hafza lokasyonu iin bir veya daha fazla farkl referans verme yntemlerinin mevcudiyeti Okunabilirlik ve yazlabilirlik Bir algoritmay ifade etmede doal yollar desteklemeyen bir dil, doal olmayan yaklamlarn kullanlmasn gerektirir ve bu yzden de gvenlii azalr. Copyright 2009 Addison-Wesley. All rights reserved. 1-8 Deerlendirme Kriteri: Maliyet Dili kullanmak iin programclarn eitimi Programlarn yazlmas (Belirli

uygulamalara yaknlk) Programlarn derlenmesi Programlarn altrlmas Dil uygulama sistemi: cretsiz derleyicilerin mevcudiyeti Gvenilirlik: Zayf gvenilirlik maliyetlerin artmasna neden olur Programlarn bakm Copyright 2009 Addison-Wesley. All rights reserved. 1-9 Deerlendirme Kriteri: Dierleri Tanabilirlik Bir uygulamadan dier bir uygulamaya bir programn tanabilirliindenki kolaylk

Genellik Uygulamalarn geni bir alana uygulanabilirlii yi tanmlama Dilin resmi tanmnn btnl ve kesinlii Copyright 2009 Addison-Wesley. All rights reserved. 1-10 Dil Tasarmna Etki Eden Faktrler Bilgisayar Mimarisi Diller von Neumann mimarisi olarak bilinen yaygn bilgisayar mimarisi zerine gelitirilir Programlama metodolojileri Yeni yazlm gelitirme metodolojileri (rnein

nesne tabanl yazlm gelitirilmesi) yeni programlama paradigmalarnn ve uzantlarnn, yeni programlama dillerinin domasna neden olmaktadr Copyright 2009 Addison-Wesley. All rights reserved. 1-11 Bilgisayar Mimarisi Etkisi yi bilinen bilgisayar mimarisi: Von Neumann von Neumann bilgisayarlar nedeniyle, emir dilleri daha baskndr

Veri ve programlar hafzada saklanr Hafza CPUdan ayrdr Komutlar ve veriler hafzadan CPUya iletilir Emir dillerini esas alr Deiken model hafza hcreleri Atama ifadeleri model iletme terasyon (adm adm) etkindir Copyright 2009 Addison-Wesley. All rights reserved. 1-12 von Neumann Mimarisi Copyright 2009 Addison-Wesley. All rights reserved.

1-13 von Neumann Mimarisi Fetch (bilgisayarda emirlerin getirilmesi)altrma-dngs (von Neumann mimarisi bilgisayarda) Program saycsn balang durumuna getir repeat sureklidon sayac tarafindan isretlenen deyimleri getir sayaci artir komutu coz komutu calistir end repeat Copyright 2009 Addison-Wesley. All rights reserved. 1-14 Programlama Metodolojilerinin Etkileri

1950li yllar ve1960l yllarn ba: Basit uygulamalar; makine verimlilii hakknda kayglar 1960l yllarn sonu: Halk verimlilii nem kazand; okunabilirlik, daha iyi kontrol yaplar Yaplandrlm programlama Bykten ke tasarm ve adm usul artma (dzeltme) 1970li yllarn sonu: lem tabanldan veri tabanlya gei Veri soyutlama 1980li yllarn ortalar: Nesne tabanl programlama Veri soyutlama + kaltsallk + ok biimlilik Copyright 2009 Addison-Wesley. All rights reserved. 1-15

Dil Kategorileri Emir Merkezi zelikler deikenlerdir, atama ifadeleri ve iterasyon Nesne tabanl programlamay destekleyen dilleri kapsar Script dillerini ierir Grsel dilleri ierir rnekler: C, Java, Perl, JavaScript, Visual BASIC .NET, C++ Fonksiyonel

Hesaplamalar icra ederken asl ara, verilen parametreler iin fonksiyonlarn uygulanmasdr rnek: LISP, Scheme Mantksal Kurala dayal (kurallar belirli bir srada zelletirilmez) rnek: Prolog Biimleme/hibrid programlama Biimleme dilleri baz programlama dillerini desteklemek iin geniletilmitir rnekler: JSTL, XSLT Copyright 2009 Addison-Wesley. All rights reserved.

1-16 Dil Tasarm dnleim (TradeOffs) Gvenilirlik, yrtme maliyeti rnek: Java uygun indeksleme iin dizi elemanlarnn tmnn kontrol edilmesini talep eder, bu durum yrtme maliyetini artrr. Okunabilirlik yazlabilirlik rnek: APL birok gl operatr ( ve byk miktarlarda yeni sembolleri) salar. Bu durum kompakt bir program iinde kompleks hesaplamalarn yazlmasna msaade eder. Fakat zayf okunabilirlik maliyetin artmasna neden olur.

Yazlabilirlik (esneklik) ve gvenilirlik rnek: C++ iaretleyicileri gldr ve ok esnektir, fakat gvenilir deildirler Copyright 2009 Addison-Wesley. All rights reserved. 1-17 Uygulama Yntemleri Derleme Programlar makine diline evrilir Sade Yorumlama Programlar, yorumlayc olarak adlandrlan dier bir program tarafndan yorumlanr Hibrid Yorumlama Sistemleri

Derleyiciler ve sade yorumlayclar arasndaki uzlamay salar Copyright 2009 Addison-Wesley. All rights reserved. 1-18 Bilgisayarn Tabakalatrlm Grnm letim sistemi ve dil yorumlamas bir bilgisayarn makine arayz zerinden tabakalatrlr Copyright 2009 Addison-Wesley. All rights reserved.

1-19 Derleme Yksek seviyedeki program (kaynak dil) makine koduna (makine diline) evirir Yava evirme, hzl yrtme Yrtme ileminin birka faz vardr: Szck analizi: Kaynak programdaki karakterleri szck birimlerine evirir Sz dizim analizi: szck birimlerini programn szdizimsel yapsn temsil eden ayrtrma aalarna (parse units) dntrr Anlamsal analiz: orta dzey kodlar retir Kod retimi: makine kodu retilir Copyright 2009 Addison-Wesley. All rights reserved.

1-20 Derleme lemi Copyright 2009 Addison-Wesley. All rights reserved. 1-21 lave Derleme Termolojileri Ykleme modl (altrlabilir imaj): kullanc ve sistem kodu birlikte Ynlendirme ve ykleme: sistem program birimlerinin toplanmas ilemi ve onlar bir kullanc programna ynlendirme Copyright 2009 Addison-Wesley. All rights reserved.

1-22 Von Neumann Darboaz Bir bilgisayar hafzas ile onun ilemcisi arasndaki balant hz, bilgisayarn hzn tanmlar Genelde program komutlar (deyimleri) balant hzndan daha hzl alr; bu yzden balant hz bir dar boaza (tkankla) sebebiyet verir Von Neumann darboaz, bilgisayar hzn ncelikli snrlayan faktrdr Copyright 2009 Addison-Wesley. All rights reserved. 1-23

Sade Yorumlama evirme yaplmamaktadr Programlar daha kolay uygulanr (alma zamanndaki hatalar kolayca ve annda grntlenebilir) Daha yava alma (derlenen programlardan 10dan 100e kadar daha yavatr) Genelde daha fazla yer gerektirir Geleneksel yksek seviyeli diller iin imdi daha nadir kullanlr Baz web skript dillerinde tekrar kullanlmaya balanlmtr (JavaScript, PHP) Copyright 2009 Addison-Wesley. All rights reserved. 1-24 Sade Yorumlama lemi

Copyright 2009 Addison-Wesley. All rights reserved. 1-25 Hibrid Yorumlama Sistemleri Derleyici ve sade yorumlayclar arasnda uzlamay salar Bir yksek seviye dil program, kolay yorumlamaya msaade eden bir orta dil seviyesine evrilir Sade yorumlamadan daha hzldr rnekler Yorumlama yapmadan nce hatalar bulmak iin Metin (Perl) programlar ksmen derlenir Javann balangtaki uygulamalar hibrid idi; orta seviye biimi, bayt kod; bayt kod yorumlayc ve run-time sistemi

(birlikte bunlar Java Sanal Makine olarak adlandrlr) olan herhangi bir makineye tanabilirlik salar. Copyright 2009 Addison-Wesley. All rights reserved. 1-26 Hibrid Uygulama lemi Copyright 2009 Addison-Wesley. All rights reserved. 1-27 Tam zamannda (Just-in-Time) Uygulama Sistemleri Balangta programlar orta seviyedeki dile evirir Daha sonra alt programlarn orta seviyedeki dilini

arldklarnda makine koduna derler Makine kod versiyonu mteakip arlmalar iin muhafaza edilir Java programlar iin JIT sistemleri yaygn kullanlr .NET dilleri JIT sistemi ile uygulanr Copyright 2009 Addison-Wesley. All rights reserved. 1-28 n lemciler n ilemci makrolar (deyimleri) genellikle dier dosya kodlarn ierisine alacak ekilde belirlemek iin kullanlr Bir n ilemci, gml n ilemci makrolarn geniletmek iin program

derlenmeden nce bir program annda iler ok iyi bilinen bir rnek: C nilemci #include, #define komutlar ve benzer makrolar Copyright 2009 Addison-Wesley. All rights reserved. 1-29 Programlama evresi Yazlm gelitirilmesinde kullanlan aralarn bir koleksiyonu UNIX Eski bir iletim sistemi ve ara koleksiyonu Gnmzde ska GUI ile birlikte kullanlr (CDE, KDE, veya GNOME) Bunlar UNIXin st seviyesinde alr

Microsoft Visual Studio.NET Byk, kompleks grsel evre Web uygulamalarn ve Web olmayan herhangi bir .NET dili kullanlr NetBeans Javadaki web uygulamalar hari olmak zere, Visual Studio .NET ile ilgilidir Copyright 2009 Addison-Wesley. All rights reserved. 1-30 zet Programlama dillerini renmek, birka nedenden tr nemlidir: Farkl yaplar kullanmak iin kapasitemizi artrr Dilleri daha akllca sememize imkan tanr

Yeni dilleri renmemizi kolaylatrr Programlama dillerini deerlendirmek iin daha nemli kriterler aadakileri kapsar: Okunabilirlik, Yazlabilirlik, Gvenilirlik, Maliyet Dil tasarmnda asl etkiler makine mimarisi ve yazlm gelitirme metodolojileridir Programlama dillerinin uygulamalarnn asl (temel) yntemleri: derleme, sade yorumlama ve hibrid uygulamadr Copyright 2009 Addison-Wesley. All rights reserved. 1-31

Recently Viewed Presentations

  • A brief history of cosmology - University of Sheffield

    A brief history of cosmology - University of Sheffield

    Modern cosmology 1: The Hubble Constant Extragalactic distance measurements Classical Cepheid calibration HST Key Project results Independent measurements
  • Managing Pharmaceutical Waste Stanford Hospital & Clinics ...

    Managing Pharmaceutical Waste Stanford Hospital & Clinics ...

    st. clare's hospital schenectady. mount sinai hospital & school of medicine. john t mather memorial hospital. veterans mc buffalo. veterans mc batavia. dr. susan smith mckinney (nychh) queens health network (nychh) good samaritan hospital mc w. islip. new york eye...
  • Nh Sas

    Nh Sas

    Test Administration. Anyone with access into the portal can begin a test. IF they complete the Test Administration Certification found in the portal. Districts/Schools decide how and when to test within the testing window (March 16 - June 8) Summative...
  • Erosion by Glaciers

    Erosion by Glaciers

    What are 2 types of glaciers? Continental Glaciers Valley Glaciers Continental Glaciers Cover land or continents Spreads out over millions of square kilometers Covers 10% of Earth's land Found in Greenland and Antarctica Covered larger parts of Earth (Ice Ages)...
  • Integration - Aquinas Maths

    Integration - Aquinas Maths

    Integration. You can use numerical integration. In C2 you saw how to estimate the area under a curve by using the trapezium rule. This method can take time and is only an approximation, but it allows you to find areas...
  • Steven F. Ashby Center for Applied Scientific Computing Month ...

    Steven F. Ashby Center for Applied Scientific Computing Month ...

    Cost(Model) uses node encoding (number of children) plus splitting condition encoding. How to Address Overfitting Pre-Pruning (Early Stopping Rule) Stop the algorithm before it becomes a fully-grown tree Typical stopping conditions for a node: Stop if all instances belong to...
  • Strategy Implementation Payne (8) 1 What is Strategy

    Strategy Implementation Payne (8) 1 What is Strategy

    Strategy Implementation Payne (8) What is Strategy Implementation? The sum total of the activates and choices required for the execution of a strategic plan - it is the process by which strategies are put into action through budgets, programs, and...
  • Allegations of workplace bullying  role of the Regulator

    Allegations of workplace bullying role of the Regulator

    Has the employer processes in place for reporting and responding to allegations of bullying? Have employees been trained and provided information in these processes? Is there adequate supervision in the workplace? Determine whether there is sufficient evidence to support a...