You are on page 1of 17

PROGRAMLAMAYA

GİRİŞ

Dr. Nafiz Ünlü


Niçin bir programlama dili
öğrenmeliyiz?
l Bazıları yeni bilgisayar diline veya derleyici
teorisi geliştirmeye ihtiyaç olmadığını
söylerler

DOĞRU /YANLIŞ
Bir Programlama Dili Nedir?
l Hesaplamayı tanımlamak için biçimsel bir gösterim
l Bir bilgisayara bir “kullanıcı arayüzü” “user
interface”
l Herhangi bir doğal dilden daha fazla kusursuz araç
l Paradigmaların programlanması – Farklı anlamlı
güç
l Sözdizimi + anlamsal
l Derleme, veya çevirmen veya çevirme
Programlama Dillerinin
çekirdek yapısı
l Diller aklımızda organize ettiğimiz karışık bir
yol için bir çerçeve sağlar

l Diller
anladığımız şeylerle iletişim kurmamız
anlamına da gelir.
Programlama Dillerinin Kavramlarının
Öğrenilmesi İçin Nedenler
l Dil kavramlarının öğrenilmesi için potansiyel yararlar
ü Fikirlerin artırılması için kapasitenin artırılması

ü Uygun bir dilin seçimi için geliştirilmiş geçmiş.


Birçok programcı yeni bir proje için dil seçimi konusunda ,
o dilin bilinen bir dil olup olmadığına bakar

ü Yeni bir dilin öğrenilmesi, tasarımı ve uygulaması


yeteneğini artırır.
Programlama Dilleri Nasıl
Farklıdır?
Generasyonlar:
l 1GL: Makine Kodu
l 2GL: Sembolik assembler
l 3GL: (makinadan bağımsız) diller
l Fortran, Algol, Pascal, Smalltalk, C++, Java, Lisp, Haskell, Scheme,
Prolog
l 4GL: Özel alan uygulama generatörleri

Ortak yapılar:
Temel veri tipleri(sayılar vs.); değişkenler,ifadeler, deyimler, anahtar
kelimeler, kontrol yapıları ve prosedür ve açıklamalar…

Ortak Olmayan yapılar:


Deklarasyon tipleri; spesifik tipler(stringler, diziler, matrisler, …);
i; paketler/modüller; generik ve uzantılar; …
Anahtar Tezler
l Tez 1: İhtiyaçlarınıza uygun programlama dili
ile iş yapın;
l Her programlama dili özelliklendirilmiş hedefleri
karşılar.

l Tez
3: Programlama dilini anlamak işinizin
anahtarıdır.
Alanların Programlanması
Bütün programlama dilleri aklımızdaki farklı hedefler ile
geliştirilmiştir. Her dil uygun alanlar için tasarlanmıştır.

l Bilimsel uygulamalar: floating-point arithmetic (Fortran, Algol)


l İş uygulamaları: raporlar, desimal aritmetik (Cobol)
l Yapay zeka: Sembolik hesaplamalar (Lisp, Prolog)
l Sistem programlama: İşletim sistemi (C, Pascal)
l Skript diller: system configuration (sh, awk, Perl, Tcl)
Programlama Paradigmaları
l Imperative (Şartlı) stil:
program = algoritmalar + data
l Fonksiyonel stil:
program = fonksiyon · fonksiyon
l Logic programlama stili:
program = gerçekler + rules (kurallar)
l Object-oriented stili:
program = objeler + messages
Diğer stiller ve paradigmalar:
Olaylar, filtreler, listeler, sabitler..,
Imperative (Şartlı) Programlama
l Bu eski stil programlamadır. Hesaplama için algoritmalar ve
açıklamalar , deyimler ve dallanmalar ı içerir.

l Algoritmaların icrası için değişkenler tarafından tutulan veri


değerlerine ihtiyaç vardır.

l Diller assembler dillerini de içerecek şekilde sınıflandırılmıştır.


Fortran, Algol, Pascal, C ve Ada.

l Imperative programlama bilgisayar mimarisi için temel bir model


olarak kullanılmıştır. the von Neumann model.
Fonksiyonel Programlama
l Fonksiyonel Programlama daha fazla
matematiksel yaklaşımla lamda cebrine
dayanır
l Değişken kavramları pure Fonksiyonel
Programlamada kullanılmamıştır.Hesaplama
bir fonksiyon gibi tanımlanmıştır. (Giriş ve
çıkış verileri uygulanan)
l Bu stile uyan diller ; Lisp, ML, Scheme,
Haskell.
Logic Programming
l Matematiksel yaklaşıma sahiptir
l Kuralları vardır (Doğru veya Yanlış)
l Aksiyomlardan başlar , teoremlere kadar
gider ve sonuçlar doğrulanır.
l En iyi bilinen logic programlama dili Prolog
‘dır.
Object-oriented Programming
l Genelde OOP class (Sınıf) ve inheritance
(Kalıtım) özelliklerine dayanır. Pascal
dilindeki değişken tipleri ile karşılaştırılabilir.
l Bir class (sınıf) ortak özelliklerle tanımlanır.
( Pascal kaydı ve alanların set tanımı).
l Kalıtsal özelliklede daha önceki sınıfın bir
özelliği yeni sınıfa geçer.
l Çok bilinen object-oriented dilleri; Smalltalk,
C++, Eiffel, Java, ObjectPascal.
Sıralı Diller
l Emirler sırayla icra edilir
l Pascal, Haskell, Smalltalk, Java,
Parallel Languages
l Bu dilde program multi-processor (distributed
memory) mimarisne göre tasarlanmıştır.
l Parallel dilde communication ve
synchronization için özel bir yapı istenir.
l En çok bilinen diller; Occam, Actor.
Özel-amaçlı diller
Shell, Awk, Perl, Python,
l Rapid prototyping
l System administration
l Program configuration
Postscript, HPGL, Tex, RTF:
l Text setting
l Description of text, graphical shapes, and images
HTML, XML:
l Markup languages
KISA ÖZET

You might also like