Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama.

Benzer bir sunumlar


... konulu sunumlar: "Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama."— Sunum transkripti:

1

2 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı

3 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama nedir Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Program, hesaplamayı gerekleştirmek için gereken birbirini izleyen yönergelerden (komutlardan) oluşan yapıdır. Program, günlük hayatta bir sorunu bilgisayar ile çözmek, rutin işlemleri kolaylaştırmak için yazılan yazılımlardır.

4 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama nedir Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Kişinin program yazması için gereken - Genel Programlama Bilgisine sahip olması - Programlama Dili bilmek (Dil tercihi yazılacak programa, soruna ve platforma uygun olarak yapılabilir.) Her bir alanın kendine özgü çözüm yöntemleri vardır.

5 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama nedir Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Temel yönergeler aşağıdakilerdir girdi: Klavyeden, dosyadan veya başka bir aygıttan veriyi alma İşlem: Toplama, çarpma gibi bazı temel matematiksel işlemleri gerçekleştirme. koşullu yürütme: Belirli durumlar için sınama yapma ve uygun cümle sırasını çalıştırma. Mantıksal veya cebirsel işlemler. çıktı : Ekranda veriyi görüntüleme veya veriyi bir dosya ya da başka bir aygıta gönderme.

6 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlamanın Özellikleri - KAVRAMLAR Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Değişkenler: Değeri program çalışırken değişen büyüklükler Sabitler: Değeri program çalışması boyunca sabit kalan büyüklükler Atama işlemleri: Bir değişkene farklı değerleri temsil edebilmesi için farklı değerler yerleştirilmesi/atanması Veri türleri: Verinin içerdiği bilgiyi belirlemek için kullanılan türlerdir (tamsayılar, gerçel sayılar, kayan noktalı sayılar, mantıksal değerler, diziler/katarlar) Veri yapıları: Veriyi problemin yapısına göre düzenlemede kullanılan ve üzerinde işlemler yapılabilen yapılardır (diziler, listeler, yığıtlar, kuyruklar, ağaçlar) Kontrol yapıları: Program içerisinde yerine getirilen işlemlere ilişkin kendi aralarında nasıl birleştirileceğini belirleyen yapılardır. --Sıra: birbiri ardına sıralanan bir dizi işlemdir --Seçim: Belirli bir koşulun sağlanıp sağlanmaması durumuna göre iki sıradan/işlemden birinin seçilmesidir --Tekrar: Belirli işlemleri belirli bir koşul sağlandığında art arda tekrarlama işlemidir Yordam ve fonksiyonlar: Bir uygulamanın aşamalarını farklıdır

7 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama aşamaları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Programlamada (veya problem çözmede) her programcı kendine özgü bir akış izlemektedir. Literatürde iki farklı aşama planı bulunur… 1.Problemin tanınması 2.Çözüm yönteminin belirlenmesi 3.Algoritmanın geliştirilmesi 4.Akış şemasının (çizelgesinin, diyagramının) düzenlenmesi 5.Programın el ile çalıştırılıp denenmesi 6.Uygun programlama dilinin seçilmesi 7.Programın kodlanması 8.Programın bilgisayar ile çalıştırılıp sınanması 1.Problem 2.Analiz 3.Tasarım 4.Uygulama 5.Sınama 6.Bakım

8 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama aşamaları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Problemin Tanınması Programlama işleminde en önemli aşama problemin tam olarak anlaşılması ve teşhis edilmesidir. Yanlış anlaşılmış veya tam olarak tanınmamış bir problemin çözümünün de yanlış sonuçlar vereceği açıktır. Problemin tanınması veya teşhis edilmesinde iki aşama izlenir. 1. Giriş bilgilerinin belirlenmesi 2. Çıkış bilgilerinin belirlenmesi Çözüm Yönteminin Belirlenmesi giriş bilgilerinden hareketle çıkış bilgilerine nasıl ulaşılacağının belirlenmesidir. Çözüm yönteminin belirlenmesi bir anlamda problemin matematiksel modelinin kurulması olarak da ifade edilebilir.

9 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama aşamaları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Algoritmanın Geliştirilmesi Algoritma insan dili ile yazılmış bir program olmaması nedeniyle bilgisayar için herhangi bir anlamı yoktur. Bilgisayarın anlayabilmesi için kodlama işleminin yapılması gerekir. Örneğin 1. Adım Başla 2. Adım Alış fiyatını (AF) oku (gir) 3. Adım SF = AF * 1.25 işlemini yap 4. Adım Alış (AF) ve satış fiyatını (SF) yaz 5. Adım Dur Akış Şemasının Düzenlenmesi akış şemalarında semboller algoritmanın diyagram üzerindeki akışının ifade eder. Bir problemde neler yapıldığını anlamak için algoritma yerine akış diyagramına bakmak da yeterli olur. Hatta bu şekilde programın mantığının algılanması daha kolay hale gelmiş olur.

10 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama aşamaları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Programın El ile Çalıştırılıp Sınanması Programın doğru olup olmadığına ilişkin kontrollerin yapıldığı aşamadır. Uygun Programlama Dilinin Seçilmesi Bu aşamada programın yapısına uyan programlama dilinin seçilmesi gerekir. Örneğimizde söz konusu program için VISUAL-BASIC, BASIC, COBOL, FORTRAN, C gibi programlama dillerinden amaca uygun olan dil seçilir.

11 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama aşamaları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Problemin Kodlanması Çalışma şeklinin bilgisayara aktarılması için gerekli komut ve işlemlerin programlama dilinde olması gerekir. Her programlama dilinde kullanılan komutlar farklıdır. Örn (VB): AF$ = InputBox("Alis Fiyatini Giriniz") SF$ = AF$ * 1.25 Show Print "ALIS FIYATI="; AF$, "SATIS FIYATI="; SF$ Programın Bilgisayar ile Çalıştırılıp Sınanması Uygulama çalıştırılır ve örnek olay yöntemi kullanılır.

12 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Çözülecek problemin niteliğine göre seçilir Programlama dillerinin hepsi simgeseldir, Simgeler (kodlar) derleyici yardımıyla bilgisayarın anlayabileceği bir biçime (makine kodu, dili) çevrilirler Simgesel kodlar kaynak kod, makine diline çevrilmiş kod nesne kodu olarak adlandırılır insanların konuşma dilleri kadar programlama dili geliştirilmiştir.

13 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı A A+ A++ A#.NET A# (Axiom) A-0 System ABAP ABC ABC ALGOL Abel ABLE ABSET ABSYS Abundance ACC Accent ActForex Action! ActionScript Ace DASL ACT-III Ada Adenine Afnix Agda Agena Agora AIS Balise Aikido Alef Alef++ ALF ALGOL 58 ALGOL 60 ALGOL 68 Alice Alma-0 Ambi Amiga E AMOS AMPLE AngelScript Apex APL AppleScript Arc Arduino ARexx Argus ARLA Asp AspectJ Assembly language ATS AutoHotkey AutoIt Avaga Averest AWK Axum Ateji PX Autoit B B Babbage Bash BASIC bc BCPL BeanShell Batch (Windows/Dos) Bertrand BETA Bigwig Bistro BitC BLISS Blitz Basic Blue Bon Boo Boomerang Bourne shell (bash ve ksh dahil) BREW BPEL BUGSYS BuildProfessional C C C-- C++ - ISO/IEC C# - ISO/IEC C/AL Caché ObjectScript Caml Cat Cayenne Cecil Cel Cesil CFML Cg Ch interpreter (C/C++ yorumlayıcısı) Chapel CHAIN Charity CHILL CHIP-8 chomski CHR Chrome ChucK CICS CIL Cilk CL (Honeywell) CL (IBM) Claire Clarion Clean Clipper CLIST Clojure CLU CMS-2 COBOL - ISO/IEC 1989 CobolScript Cobra CODE Col Cola ColdC ColdFusion Cool COMAL Common Lisp (CL olarak da bilinir) COMPASS Component Pascal COMIT Converge Coral 66 Corn CorVision Coq COWSEL CPL csh CSP CSKA Csound Curl Curry Cyclone D D D# DASL (Datapoint's Advanced Systems Language) DASL (Distributed Application Specification Language) DataFlex Datalog DATATRIEVE dBase dc DCL Deesel (eskiden G) Delphi Dialect DinkC Dialog Manager DIBOL DL/I Dream Maker (BYOND) DotLisp Draco Dylan dylan.NET Dynace DYNAMO E E Ease EASY Easy PL/I Easycoder EASYTRIEVE PLUS eC (Ecere C) ECMAScript Ecol eDeveloper Edinburgh IMP EGL Eiffel Einstein ELAN elastiC Elena Elf Emacs Lisp Emerald (programlama dili) Englesi Epigram Erlang Escapade Escher ESPOL Esterel Etoys Euclid Euler Euphoria CMS EXEC EXEC 2 EXOL F F F# Factor Falcon Fancy Fantom Felix Ferite FFP FILETAB Fjölnir Flash FL Flavors Flex FLOW-MATIC Fly FOCAL FOCUS FOIL FORMAC Forth Fortran - ISO/IEC 1539 Fortress FoxBase FoxPro FP FPr Franz Lisp Frink F-Script Fuxi G G Gambas GameMonkey Script Game Maker Language GAMS GAP G-code GDL Gibiane GJ GLBasic GLSL GNU E GM Go Go! GOAL Gödel Godiva GOM (Good Old Mad) Goo GOTRAN GPSS GraphTalk GRASS Green Groovy GSL Shell H HAL/S Handel-C, Celoxica Harbour IBM HAScript Haskell Hemant HaXe High Level Assembly HLSL Hop Hope Hugo Hume HyperTalk I I IBAL IBM Basic assembly language IBM Informix-4GL IBM RPG ICI Icon Id IDL Idle IMP Inform Io Ioke IPL IPTSCRAE IronPython IronRuby ISPF ISWIM Ivy J J J# J++ JADE Jako JAL Janus JASS Java JavaScript JCL JEAN Join Java JOSS Joule JOVIAL Joy JScript Jython JavaFX Script K K Kaleidoscope Karel Karel++ Kaya KEE Kiev KIF Kite Kogut KRC KRL KRYPTON ksh KUKA L L L#.NET L++.NET (geliştirilmiyor) LabVIEW Ladder Lagoona LANSA Lasso LaTeX Lava LC-3 Leadwerks Script Leda Legoscript Limbo Limnor LINC Lingo Linoleum LIS LISA Lisaac Lisp - ISO/IEC Lite-C Lite-c Lithe Little b Logix Logo Logtalk LOTUS LPC LSE LSL Lua Lucid Lush Lustre LYaPAS Lynx M M M2001 M4 MAD (Michigan Algorithm Decoder)

14 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı MAD/I Magik Magma MapBasic Maple MAPPER (Unisys/Sperry) şimdi BIS'in parçası MARK- IV (Sterling/Informatics) şimdi VISION:BUILDER of CA Mary MASM Microsoft Assembly x86 Mathematica MATLAB Maxima ( Macsyma) MaxScript iç dili 3D Studio Max Maya (MEL) MDL MelloCOMPLEX Mercury Mesa Mesham Metafont MetaL Metalua Microcode MicroScript MIIS MillScript MIMIC min Mindscript Miranda MIVA Script ML Moby Model 204 Modula Modula-2 Modula-3 Mohol MOLSF Mondrian MOO Mortran Moto Mouse MQL - MeaTrader 3 programlama dili MQ4 - MetaTrader 4 programlama dili MQ5 - MetaTrader 5 programlama dili MPD MSIL - CIL MSL MSX BASIC MUMPS Murphy Language MXML Mythryl N Napier88 NATURAL NEAT chipset Neko Nemerle NESL Net.Data NetLogo NewLISP NEWP NewtonScript NGL Nial Nice Nickle Nomad2 NPL Nosica Not eXactly C (NXC) Not Quite C (NQC) Nu NSIS Nusa NetBean O o:XML Oak Oberon Object Lisp ObjectLOGO Object REXX Object Pascal Objective-C Objective Caml Objective-J Obliq Obol occam occam-π Octave OmniMark Onyx Opal OpenEdge ABL OPL OPS5 OptimJ Oracle Orc ORCA/Modula-2 Orwell Oxygene Oz P PARI/GP Pascal - ISO 7185 Pawn PCASTL PCF PEARL Perl Prajyot PDL PHP Phrogram Pico Pict Piet Pike PIKT PILOT Pizza PL-11 PL-6 PL/0 PL/B PL/C PL/I - ISO 6160 PL/M PL/P PL/SQL PL360 PLANC Plankalkül PLEX PLEXIL Pliant Plus POP-11 Poplog PostScript PortablE Powerhouse PowerBuilder PowerScript PPL Processing Prograph PROIV Prolog Visual Prolog Promela PROTEL ProvideX Pure Python Q Q (programlama dili) Q (Kx Systems programlama dili) Qi QtScript QBASIC QuakeC QPL R R R++ Racket RAPID Rapira Ratfiv Ratfor Rashed RBScript rc REBOL Redcode REFAL Reia Revolution rex REXX Rlab ROOP RPG RPL RSL RTL/2 Ruby RapidBATCH S SAY_key_language S S2 S3 S-Lang S-PLUS SA-C SabreTalk SAC SAIL SALSA SAM76 SAS SASL Sather Sawzall SBL Scala Scheme Scilab Scratch Script.NET Sculptor 4GL Sed Seed7 Self SenseTalk SETL Shakespeare Shift Script SiMPLE SIMPOL Simscape SIMSCRIPT Simula Simulink SISAL Slate SLEEP SLIP SMALL Small Basic Smalltalk SML SNOBOL(SPITBOL) Snow Snowball SNUSP SOAP SOL Span SPARK Spice SPIN SP/k SPS Squeak Squirrel SR S/SL Strand STATA Stateflow Subtext Suneido SuperCollider SuperTalk Swift SYMPL SyncCharts SystemVerilog T T TACL TACPOL TADS TAL Tcl TDL (Tally Definition Language) Tea TELON - Mainframe Online IMS/COBOL Generator TECO TELCOMP gt-Telon TenCORE TeX TEX TIE thinBasic Timber Tom TOM Topspeed TPU Trac T-SQL TTCN Turing Turtle TUTOR TXL U Ubercode Unicon Uniface UNITY Unix shell UnrealScript USE (Regency Systems) V Vala Genie VBA VBScript Verilog VHDL Visual Basic Visual Basic.NET Visual C++ Visual C++.Net Visual C#.Net Visual DataFlex Visual DialogScript Visual FoxPro Visual J++ Visual Objects Vvvv W WATFIV, WATFOR WebQL Winbatch X X++ X10 XBL XC XCODE xHarbour XL XOTcl XPL XPL0 XQuery XSLT - Bakınız: XPath

15 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dillerinin Sınıflandırılması Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Programlama dilleri şu şekilde sınıflandırılmaktadır: Makine dilleri: Doğrudan makine kodlarından oluşur Assembly dilleri: Anımsatıcı simgelerin kullanıldığı dillerdir Yüksek düzey diller: Komutlar yapılacak, işlemin yapılacağı İngilizce karşılığını anımsatıcı kodlardır Dördüncü kuşak diller: Daha esnek, çoğu kodu otomatik oluşturan dillerdir, az kod ile çok iş

16 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri – Makine Dili Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı

17 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri – Yüksek Seviyeli Dil Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Yüksek seviyeli diller, makine dili ve assembly diline göre makineye daha az bağımlıdır. Assembly dili veya makine dilindeki birçok satır tek bir komutla gösterilir. Böylece program daha kısa bir sürede yazılır. Bu dillerin komutları İngilizce bir kelimenin tamamından alındığından öğrenmek kolaydır.

18 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Ekrana “Merhaba!” yazan örnek program kodu: ASSEMBLY mov ax,cs mov ds,ax mov ah,9 mov dx, offset Git int 21h xor ax,ax int 21h Git: db "Merhaba!",13,10,"$" ALGOL begin print(("Merhaba!", newline)) end

19 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Ekrana “Merhaba!” yazan örnek program kodu: BASIC PRINT "Merhaba!" VISUAL BASIC Private Sub Form_Load() Print "Merhaba!" End Sub PASCAL Begin WriteLn('Merhaba!'); end. DELPHI Begin WriteLn('Merhaba!'); End.

20 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Ekrana “Merhaba!” yazan örnek program kodu: C #include main() { printf("Merhaba!\n"); return(0); } C++ #include main() { cout << "Merhaba!" << endl; return 0; } FORTRANCOBOL PROGRAM Merhaba WRITE(*,*) "Merhaba!" END PROGRAM IDENTIFICATION DIVISION. PROGRAM-ID. MERHABA. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. MAIN SECTION. DISPLAY "Merhaba!" STOP RUN.

21 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Ekrana “Merhaba!” yazan örnek program kodu: LISPJAVA.NETPHP (defun merhaba () (print "Merhaba!") ) class Merhaba { static public void main( String args[] ) { System.out.println( "Merhaba!" ); } } Imports System.Console Class Merhaba Public Shared Sub Main() WriteLine("Merhaba!") End Sub End Class

22 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Derleyici - Compiler Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Basitçe bir dilde yazılmış olan kodu istenilen başka bir kod haline dönüştüren programdır. Yüksek Seviyeli bir dilden daha düşük seviyeli bir dile dönüşümdür. Derleyici Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kullanılmaktadır. Bu üretim sırasında ya doğrudan işletim sisteminin anlayacağı ve çalıştıracağı kodları üretirler ya da işletim sisteminde bulunan veya yine dil bağımlı olarak çalışan bağlayıcı (linker) programların anlayacağı ara kodları üretirler.

23 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Derleyici - Compiler Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kullanılmaktadır. Bu üretim sırasında ya doğrudan işletim sisteminin anlayacağı ve çalıştıracağı kodları üretirler ya da işletim sisteminde bulunan veya yine dil bağımlı olarak çalışan bağlayıcı (linker) programların anlayacağı ara kodları üretirler. Derleyiciler bu kod üretmesi sırasında, üretilen kodun en verimli şekilde üretilmesi için kod iyileştirmesi (optimization) da yapmaktadırlar. Yani hedef dildeki çalışma süresi ve hafıza ihtiyacı en az olan kodu üretmek bir derleyicinin daha başarılı olma kriterlerinden birisidir. Aynı zamanda kaynak kodda (source code) bulunan hataların yakalanması bu hataların programcıya bildirilmesi de derleyicilerin diğer görevlerinden birisidir.

24 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Yorumlayıcı - Interpreter Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Bilgisayar dünyasında yorumlayıcı terimi bir programı veya bir komutu çalıştırmaya yarayan programlar için kullanılır. Genellikle derleyiciler ile karışan ve çoğu zaman aynı görevi icra eden yorumlayıcılar da derleyiciler gibi kodu bir dilden başka bir dile çevirme işlemini yerine getirirler. Basitçe görevleri ve tipleri aşağıdaki şekilde listelenebilir: 1. Kaynak kodu çalıştırmak 2. Bir kaynak kodu çalıştırılabilir farklı bir kod haline tercüme etmek 3. Daha önceden hazırlanmış olan (çoğu zaman önceden derlenmiş bir koddur) kodları yeri geldiğinde çalıştırmak

25 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Yorumlayıcı – Derleyici Farkları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Basitçe, bir kaynak kodu hedef koda çevirdikten sonra çalıştıran ve dolayısıyla koddaki hataları yakalama işlemini ve kodun iyileştirilmesini daha kod çalıştırmadan yapan çeviricilere derleyici, kodu satır satır veya bloklar halinde çalıştırıp sırası gelmeyen satırları hiç çalıştırmayan bu satırlardaki hataları hiçbir zaman göremeyen ve kodun bütününe ait iyileştirmeleri yapamayan çeviricilere de yorumlayıcı (interpreter) adı verilmektedir. Genel kanının tersine bir dilin derleyici veya yorumlayıcı özelliği yoktur. Yani C dili için sadece derleyicisi bulunan bir dildir demek yanlış olur. Bu durum bütün diller için geçerlidir. Her dil için bir derleyici veya yorumlayıcı tasarlanabilir. Ama daha genel bir bakışla, her dilin aslında yorumlayıcı (interpreter) yapısında bir çalışması olduğunu söylemek yanlış olmaz. Sonuçta bilgisayarın işlemcisinde anlık olarak tek bir işlem yapılabilmektedir ve çalışması istenen kod, işlemciye sırayla verilecek ve satır satır çalıştırılacaktır. Genelde bir ortam yazılan dilin çalıştırılmasına kadar geçen sürede ya bir derleyici yada bir yorumlayıcı kullanılmaktadır. Gelişmekte olan teknolojiyle iki programı birden kullanan diller de türemiştir. Örneğin JAVA dilinde kod önce derlenerek byte code adı verilen ve sadece java sanal makinelarında (java virtual machine) çalıştırlabilen bir kod üretilmektedir. Bu üretilen ara kod daha sonra java sanal makinasında bir yorumlayıcı yapısına uygun olarak çalıştırılmaktadır.JAVA

26 Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Yorumlayıcı – Derleyici Farkları Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Derleyiciler, yorumlayıcılara göre daha hızlıdır. Çünkü yorumlayıcılar ilk kod satırından son kod satırına kadar her satırını teker teker yorumlar ve kodun karşılığındaki işlemi gerçekleştirir. Derleyicilerse kodların tamamını bilgisayar diline çevirir. Eğer hata varsa, tüm hataları programcıya bildirir. Ancak yorumlayıcılar karşısına ilk çıkan hatayı bildirmektedir, ilk hata çözülene kadar diğer hataları bulamaz çünkü satır satır işlem yapmaktadır. Derleyiciler bilgisayarın anlayacağı bir dile çevirip işlemciye veriler gönderdikten sonra karşımıza sonuç/çıktı çıkarırken yorumlayıcılar kodun karşılığındaki işlemi karşımıza çıkarır. Derleyici kullanan program dillerine örnek olarak; Pascal, C++, Ada, Visual Basic, C gibi bir çok örnek verebiliriz. Yorumlayıcı kullanan program dillerine örnek olarak; HTML, XML, PHP, Script Dilleri gibi bir çok örnek verebiliriz. Hem Derleyicileri hemde Yorumlayıcıları kullanan program dillerinden biri de JAVA'dır.

27 BÖLÜM SONU - ÇALIŞMA SORULARI  Program, Programlama arasındaki farklar nelerdir?  Veri Türleri Nelerdir?  Veri yapıları çeşitleri nelerdir? Farkları nedir?  Örnek bir problemin programlamasında aşamalarda yapılan işlemleri örneklendiriniz?  Programlama dilleri ile performans arasındaki ilişki nedir?  Derleyici ile Yorumlayıcı arasındaki farkları maddeler şeklinde listeleyiniz.


"Öğr.Gör.Hüseyin TURGUT hturgut.com Programlama Temelleri Bölüm #2 Programlama Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama." indir ppt

Benzer bir sunumlar


Google Reklamları