PROGRAMLAMA DİLLERİNİN PRENSİPLERİ

Slides:



Advertisements
Benzer bir sunumlar
Sözcüksel Çözümleme/Analiz (Lexical Analysis)
Advertisements

YAYIN TARAMA VE VERI TABANLARI Tacettin İnandı. Kapsam Veri tabanı Sınıflandırmalar İndeksler Atıflar.
ODTÜ Bilgisayar Mühendisliği Tanıtım Günleri Temmuz 2005.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
MED 167 İnternette İstatistik. İnternetteki istatistik verileri, özellikle ülke hakkındaki makro istatistiklerden bahsediyorsak, çoğunlukla resmi kurumlardan.
T.C. ORDU VALİLİĞİ İlköğretim Müfettişleri Başkanlığı TAM ÖĞRENME MODELİ TAM ÖĞRENME MODELİ.
Yüksek Başarımlı Hesaplama Sistemleri ve Yapılan Çalışmalar Züleyha EZBER
BÖLÜM 1 TEMEL KAVRAMLAR. BÖLÜM 1 TEMEL KAVRAMLAR.
SUNUCU İŞLETİM SİSTEMİ Öğr. Gör. Ümit ATİLA.  1980’li yıllardan günümüze geldikçe, bilgi toplumuna yönelişte teknolojik rota, telekomünikasyon ve iletişim.
KISIM 3 Bilişsel Gelişimi Arttırma BÖLÜM 8 Problem Çözme ve Eleştirel Düşünme.
Bölüm Hedefi Programlama dillerinin tanımı, Dillerin kuşaklara ayrılması Programlama dillerinin sınıflandırılması, Programlama dilleri değerlendirilmesinde.
Makine Öğrenmesinde Yeni Problemler YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ.
Bağlam Arayüz Görev Kullanıcı Kullanılabilirliğin Ana Bileşenleri.
Zihinsel engellilerin sınıflandırılması
Arş.Gör.İrfan DOĞAN.  Bugün otizm tedavisinde en önemli yaklaşım, özel eğitim ve davranış tedavileridir.  Tedavi planı kişiden kişiye değişmektedir,
İŞLETİM SİSTEMLERİ ISE 206 DR. TUĞRUL TAŞCI. Dersin Amacı Bilgisayar sistemlerinin temel organizasyonunu tanımak İşletim sistemlerinin ana bileşenlerini.
İÇİNDEKİLER GRID COMPUTING NEDİR? NASIL ÇALIŞIR? GRID COMPUTING YAPISI
Bağlama ve Kapsam Kavramları
Yazılım Mühendisliği1[ 3.hft ]. Yazılım Mühendisliği2 Yazılım İ sterlerinin Çözümlemesi Yazılım Yaşam Çevrimi “ Yazılım Yaşam çevrimin herhangi bir yazılım.
ARDA KIRTASİYE. İ nsano ğ lunun ilk hesap makinesi abaküsdür ve abaküse benzeyen ilk araçlar bundan 3,000 sene önce kullanılmı ş tır. Otomatik hareketlerden.
BSM208 PROGRAMLAMA DİLLERİNİN PRENSİPLERİ Dil Çevrimi (Hafta4) 1.
ÜSTÜN ZEKALI VE ÜSTÜN YETENEKLİ ÇOCUKLAR
İnternet'e Bağlanmak İçin Neler Gereklidir?
ERP YAZILIMLARI ERKAN KARATAŞ
Üretim teknolojisi ve bilişim teknolojisindeki değişim
Fonksiyonel Programlama
C Programlama Dili Çağdaş Hakan Aladağ.
İŞLETİM SİSTEMLERİ ISE 206 Dr. Tuğrul TAŞCI.
İç Kontrol Standartlarına Uyum Eylem Planı Toplantısı
Problem Çözme ve Algoritmalar
PROGRAMLAMA TEMELLERİ
Bilgi ve İletişim Teknolojileri
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
Bilgisayar Donanım ve Sistem Yazılımı
MATEMATİK DERSİ ÖĞRETİM PROGRAMI
PROBLEM ÇÖZME VE ALGORİTMALAR
Yazılım Mühendisliği Ders 1: Giriş.
Bölüm 7 İfadeler ve atamalar.
Üst Düzey Zihinsel Özelliklerin Ölçülmesi
Bölüm1 İlk Bilgiler.
Meriç ÇETİN Pamukkale Üniversitesi Bilgisayar Mühendisliği Bölümü
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
Arduino Programlama Dili
EĞİTİME GİRİŞ Mehmet Akif Ersoy Üniversitesi
NİŞANTAŞI ÜNİVERSİTESİ
BÖLÜM 2 BİLİŞSEL GELİŞİM.
NİŞANTAŞI ÜNİVERSİTESİ
İÇERİK DÜZENLEME -Bilgi türleri- Fiziksel bilgi
ÖĞRENME STİLLERİ.
ÖLÇME-DEĞERLENDİRME 1.DERS
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Koşullu Durumlar.
Bilgi Teknolojileri Hafta 01
İşlemciler.
İcat, Buluş, Keşif, Endüstri ve Endüstri 4.0 Kavramlarını tanıyalım
EĞİTİME GİRİŞ Mehmet Akif Ersoy Üniversitesi
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Hata ayıklama da denilen programlama hatalarını bulma ve düzelme işlemine ne denir? a) Veri b) Yazılım c) Bug d) Debugging e) Donanım.
NİŞANTAŞI ÜNİVERSİTESİ
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
Sınıf Öğretmenlerinin Eğitsel Amaçlı İnternet Kullanım Öz Yeterlikleri
AÇIK UÇLU ÖĞRENME ORTAMLARI
2. HAFTA Bilimsel Araştırma Temel Kavramlar.
Örgüt Kuramı, Örgüt Tasarımı ve Örgütsel Değişim
Sunum transkripti:

PROGRAMLAMA DİLLERİNİN PRENSİPLERİ Hafta1

Bölüm Hedefi Programlama dillerinin tanımı, Dillerin kuşaklara ayrılması, Programlama dillerinin sınıflandırılması, Programlama dilleri değerlendirilmesinde kullanılan ölçütler, Temel programlama paradigmaları.

Bilgisayarların Gelişimi

Bilgisayar Karmaşık ve tekrarlı işlemleri hızlı ve etkin bir biçimde gerçekleştiren, veriler etkin ve tutarlı bir biçimde hızlı bir şekilde ulaşabilen elektronik cihazlardır.

Abaküs Basit toplama ve çarpma işlemleri için kullanılan bir alettir. Boncukların sayılması şeklinde çalışır.

Mekanik Bilgisayarlar Blaise Pascal Toplama Makinesi

Mekanik Bilgisayarlar 1694’de Gotfried Leibniz sayıları ikili sistemde gösterebilen bir hesap makinesi yaptı.

Mekanik Bilgisayarlar 1835’deCharles Babbage Analitik Motor adı verilen bir mekanik hesaplayıcı yaptı. 1ila 20 haneye kadar ondalık sayılarla işlem yapabilen ve aritmetik işlemleri peş peşe yapabilme ve karar verebilme kabiliyeti olan bir makinedir.

Mekanik Bilgisayarlar Charles Babbage’ın geliştirdiği Analitik Motor adı verilen sistem üzerinde ilk çalışmaları yapan Ada Lovelace ilk programcı olarak kabul edilmektedir. 1890’da Herman Hollerith delikli kartların kullanılarak verilerin işlendiği Hollerith Tabulatör(Listeleyici) tasarladı. ABD nüfus Bürosunun veri hesaplamaları böylece 10 yıldan 2.5 yıla düştü. https://www.youtube.com/watch?v=9ob3nNfuHlg (3:30 sn) https://www.youtube.com/watch?v=fnb7EqfykF4

Mekanik Bilgisayarlar 1896’da Herman Hollerith ‘Computing Tabulating Recording Company’ isimli bir firma kurdu. Bu firma daha sonra başka iki firma ile birleşerek International Business Machine (IBM) kurdu.

Elektrikle Çalışan Mekanik Bilgisayarlar 1941’de Konrad Zuze Z3 isimli elektrik motorları ile çalıştırılan mekanik bir bilgisayar yaptı. Bu (Z1, Z2, Z3 ve Z4 serisi) program kontrollü ilk bilgisayardır.

Elektrikle Çalışan Mekanik Bilgisayarlar 1944’de Harvard Üniversitesinde MARK I denilen bir bilgisayar geliştirildi. MARK 1, tamamı elektronik olmayan (Mekanik röleler v.b.) genel amaçlı bir bilgisayardı. Bu makine 23 haneli iki sayıyı 4.5 saniyede çarpabiliyordu ve 2.4m yüksekliğinde olup üzerinde 800km uzunluğunda kablo kullanılmıştı.

Elektronik Bilgisayarlar 1946’da Pensilvanya Üniversitesinde ENIAC (Elektronics Numerical Integrator and Calculator) geliştirildi. Anahtar setlerinin, fişlerin ve soketlerin değiştirilmesi esasına göre çalıştığından ilk genel amaçlı bilgisayardır. 70 bin direnç, 10 bin kondansatör, 18000 lamba ve bu elemanların harcadığı 150-200 kilowatt enerji ve sadece 20 sayıyı depolama özelliğine sahipti ve 30 tondu.

Elektronik Bilgisayarlar 1946’de Dr. Von Neumann ve arkadaşları programı bellekte saklayabilen ilk bilgisayar olan EDVAC (Elektronic Discrete Variable Automatic Computer) geliştirdi. 4096 bellek gözü bulunmaktaydı ve veriler ile programlar aynı bellekte saklanmaktaydı. 1948’de ilk transistor Bell lâboratuarlarında geliştirildi. 1951’de UNIVAC 1 adlı ilk ticari amaçlı olan bilgisayar geliştirildi. Bütün komutlar ve veriler 0 ve 1 şeklinde depolandı.

Elektronik Bilgisayarlar 1958’de Entegre devreler geliştirildi ENIAC

Bilgisayarlar Mimarileri Von Neumann Mimarisi Harvard Mimarisi

Programlama Programlama Dili

Programlama int sum(int[] x) { int sum = 0; n = 0; while (n < x.length) { sum += x[n]; } return sum; 00101010101010 10101011111010 11101010101110 ...

Derleme Compilation program gcd(input, output); var i, j: integer; begin read(i, j); while i <> j do if i > j then i := i – j; else j := j – i; writeln(i) end. Compilation

Makine Dili Bir programlama dilinin bilgisayar tarafından anlaşılması için, o dilin sözdiziminin ve anlamının makine diline çevrilmesi gereklidir. Makine dili, bir bilgisayarın doğrudan anladığı gösterim olup, bilgisayarların ana dili olarak nitelenebilir.

Derleme

Makine Diline Çevirme

Dillerin kuşaklara ayrılması Düşük düzeyli programlama dilleri Yüksek düzeyli programlama dilleri

Düşük düzeyli programlama dilleri Dilin özellikleri bilgisayar donanımına bağlıdır Makine dili ve Asembler dili Makine dili sadece o ve 1’lerden oluşur ama makinenin ana özelliklerini içerir. Asembly dilinde ise işlemler, değerler ve bellek yerlerinin yerini isimler ve bazı senboller almıştır. (ADD R1 24)

Yüksek düzeyli programlama dilleri Bu diller bilgisayar donanımına bağlı özellikler taşımaz Okunabilir bir gösterim vardır Donanımdan bağımsızdır. Program kütüphaneleri sağlanmaktadır.

Programlama Dillerinin Gelişimi Programlama dili tasarım ve gerçekleştirimleri, 1950'li yıllarda tanıtılan ilk yüksek düzeyli diller olan FORTRAN, COBOL ve LISP'den beri sürekli olarak gelişmiştir. Günümüzde hızla değişen bilgisayar teknolojileri, yeni gereksinimleri ortaya çıkarmaktadır. Bunun sonucu olarak, gelecekte de yeni programlama dillerinin geliştirilmesi kaçınılmazdır.

Örnekler FORTRAN COBOL ALGOL PASCAL BASIC ADA JAVA C. C++, C# PROLOG

Programlama Dillerinin Sınıflandırılması (Seviyesine göre) Çok Yüksek Seviyeli Programlama Dilleri (İnsana en yakın) VISUAL BASIC, Access….(Dekleratif Diller) Yüksek Seviyeli Programlama Dilleri (PASCAL, COBOL) Orta Seviyeli Programlama Dilleri (C, ADA) Alçak Seviyeli Programlama Dilleri (Sembolik Makine Dilleri Makine Dilleri (Bilgisayara en yakın) Dillerdeki seviye yükseldikçe programcının işi daha kolay hale gelirken genel olarak esneklik ve verimlilik azalmaktadır.

Programlama Dillerinin Sınıflandırılması Programlama dilleri, her dil grubunu diğerlerinden ayırt eden özellik olduğu kabul edilen bir özelliğe göre sınıflandırılırlar. Bu sınıflandırmalar birbirini dışlayan sınıflar oluşturmaz ve gruplar birbirleriyle çakışabilirler.

Uygulama Alanlarına Göre Sayısal Uygulamalar için programlama dilleri Ticari Uygulamalar için programlama dilleri Yapay Zeka Uygulamaları için programlama dilleri Sistem programlama için programlama dilleri

Sayısal Uygulamalara Yönelik Programlama Dilleri Bilgisayarların ilk olarak kullanıldıkları alan sayısal uygulamaların ağırlıklı olduğu bilimsel çalışmalar olmuştur. Bu nedenle ilk geliştirilen programlama dilleri, sayısal programlama özelliklerini vurgulamışlardır.

Ticari Uygulamalara Yönelik Programlama Dilleri Ticari uygulamalardaki veri işleme, sayısal hesaplamalardan sonra ilk olarak gelişen uygulama alanıdır. COBOL (COmmon Bussiness Oriented Language) : A.B.D. Savunma Bakanlığı'nın, birçok şirketle birlikte İngilizce'ye yakın ve ticari uygulamalara yönelik bir dilin geliştirilmesi çalışmalarını desteklemesi sonucu, 1959 yılında COBOL tanıtılmıştır.

Ticari Uygulamalara Yönelik Programlama Dilleri COBOL dili, özellikle yoğun miktarda veri işleme kolaylıkları sağlayan deyimleri ve yapıları nedeniyle ticari uygulamalar alanında yazılım geliştirmek için popüler olmuştur. COBOL, hiyerarşik veri yapıları gibi birçok yeni kavram içeren ve özellikle raporlama açısından çeşitli olanaklar sağlayan bir dildir. 1961 ve 1962'de yenilenen dil, 1968'de standartlaştırılmış ve 1984'de tekrar yenilenmiştir.

Yapay Zeka Uygulamaları İçin Programlama Dilleri LISP : LISP 1950'li yılların sonunda, liste işleme amaçlı fonksiyonel bir dil olarak, John McCarthy tarafından IBM 704 bilgisayarları için geliştirilmiştir. LISP, diferansiyel ve integral hesaplamalarında, sayısal mantık ve yapay zekanın diğer alanlarında sembolik hesaplamalar için kullanılmıştır. Sonraki yıllarda, birçok kez yenilenen LISP'ten başka, Scheme (1975) ve ML (1988) de LISP'i izleyen yapay zeka alanındaki fonksiyonel dillere örnektir.

Yapay Zeka Uygulamaları İçin Programlama Dilleri PROLOG: Prolog, temel denetim yapısı sembolik mantık kavramlarına dayanan özel amaçlı bir dildir. 1972 yılında tanıtılmış olan Prolog'un temel uygulama alanı, doğal dil işlemedir. Günümüze kadar Prolog, veritabanlarından uzman sistemlere kadar çeşitli uygulama alanlarında kullanılmıştır.

Sistem Programlama Dilleri Sistem programlama dillerine en tanınmış örnek C programlama dilidir. Sistem programlaması alanında etkinlik gereksinimi nedeniyle,birleştirici dilleri yaygın olarak kullanılmıştır. 1970'li yılların başında C dilinin geliştirilmesi ile sistem programlama alanında da diğer uygulama alanlarında olduğu gibi yüksek düzeyli programlama dillerinin kullanımı yaygınlaşmıştır.

Programlama Dillerinin Sınıflandırılması (Uygulama Alanlarına göre) Bilimsel ve Mühendislik Dilleri:Fortran, PASCAL, C, C++ Veritabanı Programlama Dilleri:DBASE, PARADOX, FOXPRO, SQL Yapay Zeka Dilleri:LISP, PROLOG Genel Amaçlı Diller: C, PASCAL… Sistem Programlama Dilleri:C, Sembolik Makine Dilleri

Dil Değerlendirme Ölçütleri İfade Gücü (Expression Power) Veri Türleri ve Yapıları (Data Types and Structures) Giriş/Çıkış Kolaylığı (Input/Output Facilities) Taşınabilirlik (Portability) Altprogramlama Yeteneği (Modularity) Verimlilik (Efficiency) Okunabilirlik (Readability) Esneklik (Flexibility) Öğrenme Kolaylığı (Pedagogy) Genellik (Generality) Yapısallık (Structrulness) Nesne yönelimlilik (Object Orientation)

İfade Gücü Algoritmayı tasarlayan kişinin niyetlerini açık bir biçimde yansıtabilmesine olanak tanıyan bir dil, ifade gücü yüksek bir dildir. Bir matematikçi kendi alanındaki sembolleri kullanmak isteyebilir C ve PASCAL dillerinin ifade gücü yüksektir.

Veri Türleri Ve Yapıları Çeşitli veri türleri (tamsayı, gerçek sayı, karakter…) ve veri yapılarını (dizi, kayıt, stack ve kuyruk..) destekleme yeteneği olmalıdır. C ve PASCAL veri yapısı bakımından oldukça zengin dillerdir.

Giriş/Çıkış Kolaylığı Sıralı, indexli ve rastgele dosyalara erişme, veritabanı kayıtlarını geri alma, güncelleştirme ve sorgulama yeteneği olarak tanımlanabilir. C dili bu bakımdan zayıftır. Genel olarak veritabanı programları bu bakımdan güçlüdür.

Taşınabilirlik Taşınabilirlik terimi kaynak kod için kullanılır. Bir programlama dilinde yazılmış kaynak kodun başka sistemlerde de sorunsuz derlenerek çalışabilmesine taşınabilirlik denir. Seviye düştükçe taşınabilirlik azalır.Taşınabilirliği en az olan diller makine dilleridir. C dili taşınabilirliği en yüksek dildir. BASIC derleyicileri arasında büyük farklılıklar olduğundan taşınabilirliği yüksek değildir. Hiçbir dil için mükemmel taşınabilirlik mümkün değildir

Altprogramlama Yeteneği Kaynak programların altprogramlara ayrılarak parçalanabilme özelliğidir. Altprogram kullanmanın faydaları: Altprogram kodu küçültür Algılamayı daha kolay hale getirir Test imkanlarını arttırır Kaynak kodun güncelleştirilebilirliğini Ve yeniden kullanılabilirliğini (reusability) Birden fazla kişinin program için çalışabilirliğini sağlar

Verimlilik Bir dilde yazıldıktan sonra amaç koda dönüştürülmüş programların hızlı çalışabilmesine verimlilik denir. Verimlilik derleyici, dil seviyesi ve dilin genel yapısına bağlıdır. C programları hızlı çalışır ve az yer kaplar. Çalışabilir kodun küçüklüğü ile çalışma hızı arasında doğrusal bir ilişki vardır.

Okunabilirlik güncelleştirmeyi kolay kılar Kaynak kodun çabuk ve kuvvetli bir biçimde algılanabilmesi anlamına gelir. Okunabilirlik güncelleştirmeyi kolay kılar Okunabilirlik birçok kişinin ortak kodlar üzerinde birlikte çalışabilmesine imkan sağlar OKUNABİLİRLİK HİÇBİRŞEYE FEDA EDİLMEMELİDİR

Esneklik Bir programlama dilinin programcıyı kısıtlamamasına esneklik denir. Esnek bir dilde derleme hataları daha azdır. Esnek bir dilde birçok işlem hata riskine rağmen programcı için serbest bırakılmıştır.(İyi bir programcı bunu kullanabilir, deneyimsiz ise zararı olabilir) C esnek bir dildir. Karakter türü ile tamsayı türü karşılıklı olarak birbirine atanabilir.

Öğrenme Kolaylığı Her dilin öğrenme zorluğu farklıdır. Yüksek seviyeli dillerin öğrenimi daha kolaydır. BASIC kolay öğrenilebilen C ise öğrenimi kolay olmayan bir dildir C++, C# öğrenimi kolay değildir ve önkoşullar gerektirebilir

Genellik Bir dilin çok çeşitli uygulamalarda etkin olarak kullanılabilmesine genellik denir. C, PASCAL, BASIC genel dilleri iken COBOL, FOXPRO, CLIPPER genelliği olmayan dillerdir.

Yapısallık Burada bloklar halinde yazım ön plandadır. Yapısal programlamanın etkin olarak kullanıldığı diller yapısal dillerdir. Burada bloklar halinde yazım ön plandadır. Yoğun olarak altprogram kullanılmaktadır. Program akışında atlamaların yapılması okumayı ve algılamayı zorlaştırabilir. Altprogramlar sayesinde soyutlama söz konusudur.

Nesne Yönelimlilik Veri+program=nesne yapısına uygun olarak çalışan ve programların nesnelerle yapıldığı dillerdir. C# tamamen nesne yönelimli bir dildir. C dilinin nesne yönelimli programlama tekniğini destekleyen uyarlaması C++ dilidir.

Dil Seçimini etkileyen Etkenler Karekteristik Okunabilirlik Yazılabilirlik Güvenilirlik Sadelik(Simplicity) X Kontrol Yapısı Veri tip ve yapısı Syntax tasarım Soyutlama desteği İfade gücü Type Checking Exception handling Restricted aliasing

Programlama Paradigmaları  Bir paradigma, bir grubun konuya bakış biçimini ve metodunu tanımlayan kavramsal şemadır. Programlama paradigmaları, bir programcının problemlere çözüm üretmesini önemli derecede etkilerler. Farklı paradigmalar, farklı programlama stilleri getirir ve programcıların algoritmalara bakış şeklini değiştirirler.

Programlama Paradigmaları Emir Esaslı programlama paradigması Bildirim Esaslı programlama paradigması Nesne yönelimli paradigma Mantık esaslı paradigma

Imperative Paradigmayı Destekleyen Diller Emir Esaslı (Imperative) paradigma'daki programlama dilleri işlem tabanlı olup, bir program, bir dizi işlem olarak görülür. Programlardaki deyimler, birbirleri ile değişkenler aracılığı ile iletişim kurar.

Imperative diller, yaygın olarak kullanılan ilk dil grubudur ve günümüzde de yoğun olarak kullanılmaktadır. Imperative programlama paradigması, C, FORTRAN, PL/I, Pascal, COBOL, Ada gibi birçok dil tarafından desteklenmektedir.

FORTRAN ve Pascal, imperative paradigmayı desteklerler.

Bildirim Esaslı Diller Burada bilgisayara bir işlemi nasıl yapacağı bildirilir. Veriler ve sonucu elde etmek için veriye uygulanacak fonksiyonel dönüşümler, paradigmanın temelini oluşturur. Excel bildirim esaslı bir dil olarak düşünülebilir.

Nesneye Yönelik Paradigmayı Destekleyen Diller Nesneye yönelik programlama paradigmasının temeli SIMULA 67 programlama dilindedir. Nesnelerin sınıf ve alt sınıflara gruplanması, nesneye yönelik programlamanın temel noktasıdır. Smalltalk ve Eiffel gibi diller nesneye yönelik programlama paradigmasını desteklerler. SIMULA 67, Smalltalk , C++ ve Java

Mantık Paradigmayı Destekleyen Diller Mantık programlama paradigmasında programlama, bir işin nasıl yapılacağının belirtilmesi yerine, ne yapılması istendiğinin belirtilmesi olarak görülür.  Mantık programlama paradigmasını destekleyen diller, belirli bir koşulun varlığını kontrol ederek ve koşul sağlanıyorsa, uygun bir işlem gerçekleştirerek çalışırlar. Bu modeldeki dillere en tanınmış örnek, Prolog programlama dilidir. Mantık tabanlı bir dilin çalışması imperative bir dilin çalışmasına benzemekle birlikte, deyimler sıralı olarak işlenmez.

Bu dillerin sözdizimi genel olarak şu şekildedir:

Paradigma-Yönelik Diller Bu bağlamda, bazı diller paradigma bağımsız olup, birden çok paradigmayı destekleyebilirler. Örneğin, C++ hem imperative hem de nesneye yönelik programların geliştirilmesini destekler.

C nasıl bir dildir? C orta seviyeli bir dildir Sistem programlama dilidir Algoritmik bir dildir Taşınabilirliği en yüksek bir dildir İfade gücü yüksek bir dildir Okunabilirliği yüksektir Çok esnektir Verimli bir dildir Atomik bir dildir Tasarım özellikleri iyi (Güçlü) bir dildir Eğitimi zor bir dildir Yapısal bir dildir

Özet Bu bölümde programlama dillerinin sınıflandırılması çeşitli yönleriyle incelenmiştir. Programlama dillerinin değerlendirilmesinde kullanılan kriterler açıklanmıştır. Emir esaslı, nesneye yönelik, fonksiyonel (bildirim esaslı) ve mantık programlama paradigmaları açıklanmıştır.