You are on page 1of 42

Programlama Dilleri

Yrd. Do. Dr. Altan MESUT

Programlama Dili Nedir?


Programlama Dili, istenilen hesaplamalar yapmak iin, elde edilen veriyi saklamak iin ve girdi/kt aygtlarna veri gnderme/alma gibi ilemleri yapmak iin kullanlan dildir. Doal dillerde olduu gibi programlama dillerinde de belirli bir yazm kural (sentaks) vardr. Programlama dilleri ile sadece bilgisayarlar zerinde alan uygulamalar deil, ilemcisi ve bellei bulunan dier elektronik cihazlarda alan uygulamalar da yazlr.
2

Derleyici Nedir?
Derleyici (Compiler), bir bilgisayar dilinde yazlm olan kodu, bilgisayarn (yada elektronik cihazn) donanmna uygun makine diline eviren bilgisayar programdr. Derleyici ncelikle yazlan program kodunun doru yazlp yazlmadn kontrol eder, eer hatalar varsa bunlar programcya bildirir. Eer kod doru ise derleme yaplan sisteme uygun olan 0 ve 1lerden oluan makine kodunu retir (EXE dosyas).
3

Yorumlayc Nedir?
Yorumlayc (Interpreter), bir programn kaynak kodunu derlemek yerine dorudan satr satr yrten bir programdr. BASIC gibi baz diller hem derleyici hem yorumlayc programlar ile kullanlabilir. JAVA dili, yorumlayc kullanmas nedeniyle tanabilir (platform bamsz) bir yapya sahip olmutur.
4

Programlama Dillerinin Tarihesi 1800ler


Ada Lovelace, Bernoulli saylarnn Charles Babbagen Analitik Makinesi (Analytical Engine) ile hesaplanmasn salayan bir yntem gelitirmitir. Bu hesaplama yntemi, birok tarihi tarafndan dnyadaki ilk bilgisayar program olarak deerlendirilse de, buhar enerjisi ile alan analitik makine iin gelitirilen bu yntem, aslnda bir programlama dili ile gelitirilen bir program deildir.
5

Programlama Dillerinin Tarihesi 1940lar


40l yllarda gelitirilen ilk elektronik bilgisayarlar iin assembly dili ile programlar gelitirilirken, bu dilin kullanmnn zor olduu grlm ve sentaks doal dile daha yakn olan programlama dilleri gelitirilmitir. Konrad Zuse 1943-1945 yllar arasnda Plankalkl adnda bir programlama dili gelitirmitir. Fakat o yllarda bu dil iin bir derleyici tasarlanmamtr. Alan Turing, John von Neumann, John Mauchly, J. Presper Eckert ve Herman Goldstine tarafndan gelitirilmi olan ENIAC Coding System ilk programla dillerinden biri olarak kabul edilir.
6

Programlama Dillerinin Tarihesi 1950ler


1951 ylnda UNIVAC I projesinde alan Grace Hopper ilk derleyiciyi tasarlamtr (A-0). FORTRAN (FORmula TRANslator) John W. Backus liderliindeki bir grup tarafndan 1954-1955 yllarnda IBM 704 bilgisayar iin tasarlanmtr (ilk derleyicisi 1957de). LISP (LISt Processor) John McCarthy tarafndan 1956-1958 yllar arasnda gelitirilmitir (ilk derleyicisi 1959da). ALGOL (ALGOrithmic Language), FORTRANdaki baz eksik noktalar gidermek iin 1958de gelitirilmi, 1960 ve 1968de iki farkl uyarlamas yaplmtr. COBOL (COmmon Business Oriented Language) Grace Hopper tarafndan 1959 ylnda gelitirilmitir (ilk derleyicisi 1961de).
7

Programlama Dillerinin Tarihesi 1960lar


Oslodaki Norve Hesaplama Merkezi tarafndan 1962-1967 yllar arasnda gelitirilen Simula ilk nesneye-ynelik programlama dilidir. 1964 ylnda John George Kemeny ve Thomas Eugene Kurtz tarafndan BASIC (Beginner's Allpurpose Symbolic Instruction Code) dili gelitirilmitir. PASCAL dili Niklaus Wirth tarafndan 1968-1969 yllar arasnda gelitirilmi ve 1970te yaynlanmtr.
8

Programlama Dillerinin Tarihesi 1970ler


C programlama dili 1972 ylnda Bell Laboratuarlarnda Dennis Ritchie tarafndan gelitirilmitir (Dennis Ritchie daha nce Ken Thompson ile birlikte UNIX iletim sistemi ve B programlama dili zerinde de almtr). Prolog dili de yine 1972 ylnda Alain Colmerauer ve Phillipe Roussel tarafndan Fransada gelitirilmitir.
9

Programlama Dillerinin Tarihesi 1980ler


1979 ylnda Bjarne Stroustrup tarafndan gelitirilmeye balanan C++ dili 1983 ylnda tamamlanmtr. 1986 ylnda Bertrand Meyer tarafndan gelitirilen Eiffel programlama dili C++ gibi nesneye-ynelik bir dildir. 1987 ylnda Larry Wall tarafndan gelitirilen Perl dili, metin ileme ve grnt tanma sz konusu olduunda kullanlabilecek en gl dillerden biridir.
10

Programlama Dillerinin Tarihesi 1990lar


Windows tabanl uygulama gelitirmeyi salayan Visual Basic 1.0, Microsoft tarafndan 1991 ylnda piyasaya srld. (1998 ylna kadar 5 fakl srm daha gelitirildi). Java dili, Sun Microsystems mhendislerinden James Gosling tarafndan gelitirildi ve 1995 ylnda ilk srm (1.0) yaynland. Dinamik web sayfalarnn yaratlmasnda kullanlan PHP (Personal Home Page) dili Rasmus Lerdorf tarafndan 1995te yaratld.
11

Programlama Dillerinin Tarihesi 2000ler


2000li yllarda Web Tabanl Programlama giderek yaygnlam, ASP, JSP ve PHP dilleri srekli olarak yenilenmitir. .NET ats altnda alan C# (C Sharp), VB.NET ve ASP.NET programlama dilleri 2001 ylnda Microsoft tarafndan piyasaya srlmtr.
.NET ats (.NET Framework), Microsoft tarafndan gelitirilen, ak nternet protokolleri ve standartlar zerine kurulmu komple bir "uygulama" gelitirme platformudur.
12

FORTRAN
FORTRAN, IBM tarafndan IBM 704 bilgisayar zerinde fen ve mhendislik uygulamalarn programlamak amacyla 1950li yllarda gelitirilmeye balanm, 1960larda farkl uyarlamalar gelitirilmeye devam etmitir (Fortran I: 1957, Fortran II: 1958, Fortran IV: 1962, Fortran 66: 1966, ) Sadece IF, GOTO, DO ifadelerini ieren basit bir dil olduu iin Pascal ve C gibi programlama dilleri gelitirildikten sonra kullanm azalmtr.
13

FORTRANda Merhaba Dnya


Bir dilin szdizimine rnek olarak yaygn biimde bir "Merhaba Dnya" program gsterilir. Aada Fortran ile yazlm bir "Merhaba Dnya" program verilmitir:
PROGRAM HELLO PRINT*, 'Hello World!' END
14

COBOL
Saysal ilemlerin gerekletirilmesinde avantaj salayan FORTRAN dili giri/k (I/O) ilerinde yeterli deildir. Giri/k ilemlerinin olduka nemli olduu ticari uygulamalar iin 1959 ylnda COBOL dili gelitirilmitir. Saysal ve metin tr verilerin diziler ve kaytlar gibi veri gruplar haline organize edilmesini salamtr.
15

BASIC
BASIC (Beginner's All-purpose Symbolic Instruction Code) renmesi ve yazmas kolay olan bir dildir. Bu nedenle genellikle bilgisayar bilgisi az olanlara programlama dili retmek iin kullanlr. Microsoft irketi tarafndan gelitirilen QBASIC (QuickBasic), MS-DOS iletim sisteminin belli srmlerinin paras olarak sunulmutur
16

rnek bir QBASIC program


'Belirtilen ki Sayy Toplar CLS INPUT "Birinci Sayy Giriniz:";A% INPUT "kinci Sayy Giriniz:";B% PRINT A% + B% END

17

Yapsal Programlama Nedir?


1960l yllarn sonunda ortaya kan yapsal programlama (structured programming) kavram ile uzun ve karmak programlarn, bloklara ayrarak daha kolay biimde yazlabilmesi mmkn olmaktadr. Yapsal programlamada programn belirli bir satrna gitmeye yarayan GOTO ifadesinin kullanlmamas, yordamsal (prosedrel) bir yapnn tercih edilmesi esastr.
18

ALGOL
ABD ve Alman bilim insanlarnn evrensel bir programlama dili stnde birlikte almalar sonucunda 1958de ortaya kmtr. John Backus ve Peter Naur tarafndan yaratlan BNF (Backus-Naur form) olarak bilinen formal dilbilgisine sahip ilk dildir. ALGOL dili kullanm zorluu nedeniyle yaygn olarak kullanlmam olsa da; BCPL, B, C, Simula, Pascal ve PL/I gibi birok dile nc olmutur.
19

PASCAL
PASCAL programlama dili pek ok renciye bilgisayar programlamay reten ve eitli versiyonlar bugn hala yaygn olarak kullanlmaya devam eden en nemli programlama dillerinden biridir. Bilgisayar bilimcisi Niklaus Wirth 1970'te yapsal programlamay derleyiciler iin daha kolay ilenir hale getirebilmek amacyla PASCAL' gelitirmitir. Adn matematiki ve dnr Blaise Pascal'dan almtr. Wirth, PASCAL'dan baka Modula-2 ve Oberon programlama dillerini de gelitirmitir. Bu diller Pascal'a benzerler ve ayrca nesneye ynelik programlamay da desteklerler.
20

C
AT&T Bell laboratuvarlarnda, Ken Thompson ve Dennis M. Ritchie tarafndan UNIX letim Sistemi'ni gelitirebilmek amacyla B dilinden tretilmi yapsal bir programlama dilidir. Gelitirilme tarihi 1972 olmasna ramen yaygnlamas Brian W. Kernighan ve Dennis M. Ritchie tarafndan 1978de yaymlanan "C Programlama Dili" kitabndan sonra olmutur. letim sistemleri, gml sistemler, src yazlm ve hz gereken her trl ilemde kullanlan bir dildir. 70li ve 80li yllarda birok farkl uyarlamas gelitirildikten sonra, 1989da ANSI tarafndan standart bir C dili tanmlanmtr (ANSI C).
21

Pascal & C (1)


Pascal ve C dilleri yaklak ayn zamanlarda gelitirilmilerdir ve aralarnda nemli benzerlikler vardr. Orijinal Pascal ile C'nin ikisi de yapsal programlama fikrini gerekletiren kk ve prosedrel dillerdir. kisinde de dinamik bellek ayrma ve iareti (pointer) ileme mmkndr. Ancak, bu iki dil dardan bakldnda farkl grnrler (C programlar genelde Pascal programlarndan ksadr).
22

Pascal & C (2)


Tartma yaratan farkllklardan bir tanesi;
Pascalda atama iin := , karlatrma iin = kullanlr. C'de ise atama iin = , karlatrma iin == kullanlr. C'nin tasarmclar atama ileminin karlatrma ileminden daha sk kullanldn, dolaysyla ksa olan iaretin atama ilemi iin kullanlmas gerektiini savunurlar. Pascal'n savunucular ise, yanllkla atama yapmann yanllkla karlatrma yapmaktan ok daha tehlikeli olduunu savunurlar. Bu savunma, eer, C'de olduu gibi, bir if ifadesi iinde atama yaplabiliyorsa, kesinlikle dorudur.
23

Pascal & C (3)


Pascal, en azndan ksmi olarak, bir eitim dili olarak tasarlanmtr. Yanllklara yol aabilecek szdizimi yaplarndan kanlm, szdiziminin anlalmas kolay olmasna dikkat edilmitir. C'nin tasarmclar ise dili programlarn ksa olmas iin tasarlamlardr. Bu iki dil arasndanki baka bir fark da, Pascal'n "strongly typed" olmasdr. Yani, bir deiken kullanlmadan nce belirli bir tipe sahip olmak zere tanmlanmaldr, ve fakl tiplerden iki deiken birbirlerine atanamazlar. Bu snrlama pek ok programlama yanln nler.
24

Pascal & C (4)


C'nin tersine, Pascal'da iie fonksiyon tanmlamak mmkndr. Orijinal Pascal'da program paralar ayr ayr derlenemezler, ve derleme annda boyutu bilinmeyen diziler kullanmak mmkn deildir. Ancak bu snrlamalar, Pascal'n baz versiyonlarnda kaldrlmtr.

25

PASCAL ve Cde Merhaba Dnya


Program HelloWorld; uses wincrt; begin writeln('Merhaba Dnya'); readln; end. #include <stdio.h> main() { printf("Merhaba Dnya"); getchar(); }

26

Nesneye Ynelik Programlama


NYP'nn altnda yatan ana fikir; her bilgisayar programnn, etkileim ierisinde olan birimler veya nesneler kmesinden olutuu varsaymdr. Bu nesnelerin her biri, kendi ierisinde veri ileyebilir, ve dier nesneler ile ift ynl veri alveriinde bulunabilir. NYP'dan nce var olan yaklamda (yordamsal programlama), programlar sadece bir komut dizisi veya birer ilev (fonksiyon) kmesi olarak grlmekteydiler.
27

C++
Simula dili ile ortaya kan nesneye ynelik yaklam Bjarne Stroustrup tarafndan C diline uyarlanm ve ortaya C++ kmtr (1983). Gnmzde en ok kullanlan dillerden biri olan C++, C dilinin hz ve esneklik gibi tm iyi zelliklerini korumutur. 1998 ylnda ANSI/ISO tarafndan Standard C++ yaynlanmtr.
28

JAVA
Java, Sun Microsystems mhendislerinden James Gosling tarafndan gelitirilmeye balanm ak kodlu, nesneye ynelik, ortamdan bamsz, yksek verimli, ok ilevli, yksek seviye, adm adm iletilen (interpreted) bir dildir. Interaktif TVler ve kk cihazlarda kullanlmak zere tasarlanan JAVA, platform bamszl sayesinde geni kullanm alan buldu. JAVAnn senktaks C ve C++ dillerine benzemekle birlikte daha basit bir nesne modeli ve daha az alt seviye olanaklar ierir (iareti kullanm yoktur).
29

C#
C++ ve JAVAnn iyi ynlerini bnyesinde barndran yeni bir dildir (2001). Bu dilin tasarlanmasna Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarmlaryla bilinen Anders Hejlsberg liderlik etmitir. Microsoft tarafndan .NET ats zerinde gelitirilen (eski Visual J++n yerini alan) C#, JAVAya en nemli rakip olarak grlmektedir. C# grsel programlamaya da olanak salar.
30

C# ile Merhaba Dnya


class MerhabaDunya { // Programn ilk girdii nokta static void Main(/*string[] args*/) { System.Console.WriteLine("Merhaba Dnya!"); } }
31

Grsel Programlama Dilleri


Grafik Kullanc Arabirimi (GUI: Graphical User Interface) kullanan Windows, Linux gibi iletim sistemleri iin uygulama gelitirmeye yarayan yeni nesil programlama dilleridir. Pencere iinde yer alan metin kutular, butonlar, tablolar gibi elemanlar program kodu yazarak deil, grsel olarak pencereye yerletirmeye olanak salar. Grsel dillerin ou, sk kullanlan baz yaplarn kodunu programa kendisi ekleyerek programcya kolaylk salar.
32

Visual Basic (VB)


BASIC dilinden tretilen Windows tabanl program yazmay salayan bir dildir. BASICten farkl olarak yapsal (yordamsal) bir programlama dilidir. Kullanc says az olan veya ksa srede bitmesi gereken kk lekli projelerde tercih edilir. VB.NETten nceki son srm 1998de kan Visual Studio 6.0 paketinde yer almtr.
33

VB.NET
Microsoft 2001 ylnda .NET adn verdii uygulama gelitirme ortamn tantm ve bu yapy (.NET Framework 1.0) kullanan VB.NET, C# gibi programlama dillerini Visual Studio .NET uygulama gelitirme paketiyle birlikte piyasaya srmtr. VB.NET, VBden farkl olarak nesneye ynelik bir dildir.
ok biimlilik (polymorphism), kaltm (inheritance), veri soyutlama (data abstraction ) ve sarmalama (encapsulation) gibi tm NYP zelliklerini ierir.
34

Delphi
PASCAL dilinden tretilen grsel programlama dilidir. Borland firmas tarafndan gelitirilen Delphinin ilk srm 1995 ylnda piyasaya srld (VBde olduu gibi neredeyse her sene yeni bir srm yaynland). 2003 ylndan sonra .NET atsn kullanan Delphi srmleri piyasaya srlmtr.
35

Web Tabanl Programlama


Sunucunun sadece duraan (statik) sayfalar istemciye (ziyareti) gndermesi yerine, ziyaretiden veri kabul edilmesi (dinamik yaklam) gerekliliinin sonucunda ortaya kan programlama yaklamdr. Web tabanl uygulamalarn byk lde platform bamsz olmalar ve kurulum gerektirmeyen yapda olmalar (her yerden eriilebilir ve bakm kolay) gnmzde bu tr uygulamalara olan ilgiyi arttrmtr.
36

PHP (Personal Home Page)


PHP ilk kez Rasmus Lerdorf tarafndan, web sayfalarn ziyaret edenleri izlemek amacyla bir dizi Perl Script (betik) kullanlarak gelitirilmiti. Ksa sre sonra baka insanlarnn ilgisini ekmeye balaynca, Rasmus bir script motoru oluturdu ve web formlarna da destek verdi ve bylece PHP/F1'i biimlendirmi oldu. Adn duyurduka bir gurup yazlmcnn dikkatini ekti ve ortak bir alma sonucu PHP3 ortaya kt. Daha sonra Zend motoru kullanlarak PHP4 yaratld.

37

ASP (Active Server Pages)


ASP ilk olarak 1996 ylnn sonunda Microsoftun web sunucu uygulamas olan IIS (Internet Information Services) iin bir eklenti olarak ortaya kt. ASP.NET 2002 ylnda .NET Framework 1.0 ile birlikte piyasaya srld. .NET ats sayesinde ASP.NET kodu CLR (Common Language Runtime) kullanan herhangi bir dil ile yazlabilmektedir.
38

JSP (Java Server Pages)


JSP 1.0 srm 1999 ylnda Javann ASP ve PHPye cevab olarak Sun Microsystems tarafndan piyasaya srld. 1.2 srmnden sonra JSP Java Community Process tarafndan gelitirilmeye baland. Mays 2006da JSP 2.1 srm Java EE 5in bir paras olarak piyasaya srld.

39

Yapay Zeka Programlama


Aslnda uzman sistemler ve doal dil ileme gibi yapay zeka uygulamalar BASIC'ten Pascal'a, C'den Java'ya kadar var olan programlama dillerinin hemen hemen hepsi ile yaplabilir. Fakat yapay zeka uygulamalar sz konusu olduunda daha pratik ve daha hzl program gelitirmemizi salayan baz diller vardr. Hatta baz diller zellikle yapay zeka uygulamalar iin tasarlanmlardr.
40

LISP
1958de MITde alan John McCarthy tarafndan gelitirmitir. Alanzo Churchn lambda calculus yaklamn temel alan LISP, ksa srede yapay zeka aratrmalar iin en ok kullanlan dil haline gelmitir. erdii tek veri tr parantezler ile birbirinden ayrlm olan listelerdir (bu nedenle ismi LISt Processor kelimelerinden tretilmitir). lk programlama dillerinden biri olmas nedeniyle; aa yaplar, otomatik saklama ynetimi ve i-derleyici gibi birok fikre nc olmutur.
41

PROLOG
1970'li yllarn balarnda Fransa'nn Marseille Aix niversitesi'nde Alain Colmerauer ve alma grubu tarafndan icat edilmitir. Franszca "Programmation en Logique" kelimesinden gelmektir. Prolog mantksal ve sembolik dnmeye uygun yapsyla , problemin tanmlanmas ve zm iin gerekli yntemlerin gelitirilmesi aamalarnda programcya yardmc olan bir dildir.
42

You might also like