Slayt 1 - WordPress.com

advertisement
PROGRAMLAMA DİLİ
Program kelime olarak şartlara ve düzene göre yapılması gereken
işlemlerin bütünü anlamına gelir.Program terimi ise bilgisayara
yada elektronik devrelere yaptırılması gereken işi bir dizi komutlar
olarak yazmaktır.
Programlama dilleri sayesinde bilgisayara hangi işi nasıl
yapması gerektiğini öğretiyoruz ve o da insan dan daha hızlı
olarak işlevi yerine getiriyor.
Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla,
bir bilgisayara ne yapmasını istediğini anlatmasının tektipleştirilmiş
yoludur. Programlama dilleri, yazılımcının bilgisayara hangi veri üzerinde
işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda
hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar.
Şu ana kadar 150’den fazla programlama dili yapılmıştır. Bunlardan
bazıları Pascal, Basic, C, C#, C++, Java, Cobol, Perl, Python, Ada, Fortra
n, Delphi ve 1C Enterprise'dır.
UYGULAMA
Donanım ve yazılımın bir veya daha fazla yapılandırması o programı çalıştırmak için bir
tür yol sağlar. Programlama dili uygulamasında iki yaklaşım
vardır:Derleme ve yorumlama.
Herhangi bir tekniği kullanarak bir programlama dili uygulamak mümkündür.
Genellikle donanım üzerinde çalışanlar yazılım üzerinde yorumlananlardan daha hızlıdır.
Yorumlanan programların performansını geliştirmek için anında derleme programları
kullanılır. Derleyiciden gelen çıktı ya donanım tarafından ya da yorumlayıcı diye
adlandırılan programlar tarafından çalıştırılır.
Cihaza komut göndermeyi sağlayan, verileri cihaza aktarma stilidir. Şu anda hemen hemen
tüm yazılım dilleri İngilizcedir. Bazı uygulamaların dili ise İspanyolca olarak kullanılmaya
başlanmıştır.
Programlama dilleri insanların algılamasına yakın olmasına göre üçe gruba ayrılır:
Alt seviye programlama dilleri: Makine koduna oldukca yakın
programlama dilleridir.Makina hakimiyeti oldukca gelişmiştir.Bu
programlama dillerini bilen kişilerin mikro işlemciler hakkında bilgi
sahibi olması gereklidir.(Assembly programlama dili gibi)
Orta seviye programlama dilleri: Oldukça esnek olan bu
diller hem üst hem alt seviye programlama yapabilirler. Alt
seviye dillere oranla biraz daha anlaşılırdır. (C programlama
dili gibi.)
Üst seviye programlama dilleri: Olay tabanlı programlama dilleri
olarak da adlandırılırlar yalnız bu programlama dilleri sadece belirli
fonksiyonlar etrafında çalışırlar ve programlama hakimeyitini azaltırlar.
En hızlı ve en etkili programlama dilleri bu kategoridedir. (visual basic
ve pic basic pro gibi) Diğer programlama dillerine kıyasla daha kolay
öğrenildiği ve uygulandığı için yeni başlayanlara en uygun diller üst
seviye programlama dilleridir.
Programlama dilleri uygulama alanlarına göre dörde ayrılır:
Bilimsel ve Mühendislik Alanında : Üniversitelerde ve bilimsel
kuruluşlarda mühendislik veya matematik hesapları için kullanılan bu
dillere örnek; Pascal, C, C++, Java dilleridir.
Veritabanı Kullanımında : Genellikle Personel kayıtları, fabrika
stok veya depo denetimi gibi veritabanı gerektiren işlemlerde
kullanılan diller;DBASE,SQL,FOXPRO,PARADOX gibi veritabanı
dilleridir.
Sistem Programcılığında : İşletim sistemlerinin ve
sistem programlarının yazılımında kullanılan dillere
örnek, C ,C++ ,Java ve makina dilleridir.
Genel Amaçlı kullanım : Çeşitli konularda uygulama
geliştirmek için kullanılan dillere örnek,C ,C++ ,Java ,VB
ve Pascal'ı verebiliriz.
Son yıllarda programlama dillerinde nesneye yönelik tasarımlar
yapılmış ve bu dillerin çoğunun nesneye yönelik programlama
yapabilen uyarlamaları çıkmıştır.
Nesneye yönelik programlama, programcının kendi sınıfını ve
nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak
sağlayan ve programlama dillerinin geldiği son aşamalardan birisidir.
Bu konu oldukça kapsamlı olup bunun geniş açıklamasını burada
yapmayacağım.
OOP(Object Oriented Programming) yani Nesneye
Yönelik Programlama'nın kullanılmasıyla ve Visual
programcılığın da gelişmesi ile beraber ortaya oldukça
güzel görünümlü ve kullanışlı programlar çıkmaya
başladı.
Bu bilgisayar programlarına olan ilgiyi arttırdı ve bu
konulardaki araştırmaları hızlandırdı. Sonuçta şu anda,
pekçok dilin artık nesneye yönelik olan ve visual
özellikler içeren sürümleri kullanılmakta ve tercih
edilmektedir. Örneğin: C++ ,Visual C++ ,C++ Builder
,Delphi ,Java...
İnternet'in de yaygınlaşmasıyla programlama dillerine yeni özellikler
eklendi ve internet'te kullanılabilecek nitelikte görsel özellikli diller
çıkarıldı. Örneğin HTML, kullanıcının dikkatini çeken renkli ve
hareketli arabirimiyle her geçen gün yeni ekler ile gelişmektedir.
JavaScript ve VBScript iki script dili olarak HTML'ye getirdiği ek
özelliklerle çokça kullanılır oldu. Ve asp ile veri tabanını aktif
kullanıma sunma, aktif sayfalar hazırlama olanağı elde edildi.
Görüldüğü gibi özellikle internet'in gelişmesi ile birlikte
programlama dillerinin yapılacak işe veya kullanılacak platforma
göre değişik özellikler gösteren uyarlamaları çıktı. Bu durumda web
teknolojisini izleyen ve internet üzerinde yazılım geliştirmek isteyen
bir programcının javascript ,vbscript ,java ,HTML gibi dilleri bilmesi
ve bu konularda kendini geliştirmesi gerekir.
Uygulama programlarına ,ticari programlara, veya işletim sistemlerinin
kullanımına yönelik yazılım geliştirmek isteyen programcıların da C++
,Java ,Delphi gibi son zamanların en popüler dilleri üzerinde çalışması,
bunları öğrenmesi gerekir.
Internet programcılığı, esnek mimari, OOP gibi konularda söylenmesi
gereken önemli bir nokta da Java'nın programlama dünyasına getirdiği
önemli bir özelliktir. Java nın çıkması ile atılan önemli bir adım da
platform'dan yani işletim sisteminden bağımsız olarak çalışan, her
sistemde çalışabilen, programların yazılabilmesidir.
İleriye yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının,
kablosuz cihazların, cep telefonlarının sıklıkla kullanılacağı ve artık
PC lerin döneminin kapanmaya başladığı düşünülürse birçok cihazda
çalışabilecek programların yazılmasının önemi anlaşılabilir.
Java son yıllarda programlama dünyasına gelmiş
en iyi programlama aracıdır ve yeni çıkacak
programlama dillleri de Java'nın birçok
özelliğinden esinlenmektedir.
PROGRAMLAMA DİLLERİNİN GELİŞİMİ
Birinci Nesil Programlama Dilleri – Makine Dilleri
Birinci nesil programlama dilleri ilk bilgisayarlarla birlikte ortaya çıkan programlama
ihtiyacını karşılakamk üzere geliştirilen ve tamamen geliştirildiği makinenin (machine)
özelliklerine odaklı (machine-level) makine seviyesi dillerdi.
Bilinen makine dillerinden örnekler:
•
ARM
•
Intel 80x86
•
IBM 360
•
MIPS R2000|R3000
•
MOS Tech 6502
•
Motorola 680x
•
Power Architecture - (POWER and PowerPC)
•
StrongARM
•
Sun SPARC, UltraSPARC
İkinci Nesil Programlama Dilleri – Çevirici Diller
İnsanlar tarafından makine dillerine oranla daha anlaşılır olan (human-readable) bu diller
assembly – çevirmen diller olarak bilinirler.
Bilinen bazı çevirici diller:
•
ASEM-51 [1]
•
BAL (Basic AssembLer)
•
COMPASS (COMPrehensive ASSembler)
•
Emu8086
•
FAP (FORTRAN Assembly Program)
•
FASM (Flat Assembler; IA-32, IA-64)
•
GAS (GNU Assembler)
•
HLA (High Level Assembly)
•
MASM (Microsoft Macro Assembler)
•
NASM (Netwide Assembler)
•
NEAT (National's Electronic Autocoder Technique)
•
TASM (Turbo Assembler, Borland)
Üçüncü Nesil Programlama Dilleri – Yapısal Diller
Programlama dillerinin günümüzde yaygın kullanılan ve bilinen
türlerinin geliştirildiği nesil, üçüncü nesildir. İngilizce ağırlıklı
olarak insanların kullandığı dillere yakın, yüksek seviyede (insana
yakın) yapısal dillerdir.
Yapısal dillerden örnekler:
•
Fortran
•
ALGOL
•
COBOL
•
BASIC
•
C
•
C++
•
Delphi
•
Java
Dördüncü Nesil Programlama Dilleri – Çözüme Yönelik Diller
Üçüncü nesil dillerin programlama anlalmında çok çiddi ilerlemeler sağlamasına
rağmen, ticaret ve iş yaşamında özel durumlara yönelik hızlı çözümler geliştirebilme
ihtiyacı dördüncü nesil programlama dillerinin gelişimine neden olmuştur.
Örnek araçlar:
•
Informix-4GL
•
Progress 4GL
•
SQL
•
Oracle Forms /Reports
•
PostScript
•
RPG-II
•
Gauss
•
ABAP
•
Mathematica
•
PL/SQL
•
Progress 4GL
•
SPSS
•
Borland Delphi
•
MATLAB's GUIDE
•
Windows Forms
•
Powerbuilder
•
Progress Dynamics
•
ColdFusion
Beşinci Nesil Programlama Dilleri
Beşinci nesil programlama dilleri programcının algoritma geliştirerek çözüm
geliştirmesinin ötesinde, koşulları ve kısıtları bilgisayara verdiğinizde,
bilgisayarın çözümü kendisinin bulmasına yönelik olarak tasarlanmaktadır.
PROGRAMLAMA DİLLERİNİN TARİHÇESİ
Programlama dillerinin nesil nesil gelişimini inceledikten sonra sıra tarihsel gelişimleri üzerinden
geçmeye geldi. Programlama dillerinin gelişimi, bilgisayarların gelişimine paralel olarak yol
almıştır. Bu noktada ilk elektronik dijital bilgisayarların ilan edilmesi 1940’lı yıllarda olmasına
rağmen, çok daha öncesinden bu alanda çalışmalar yapıldığını görüyoruz.
1940 Öncesi
1837 yılında bir İngiliz profösörü olan Charles Babbage, çok amaçlı kullanım için geliştirdiği
hesaplayıcısına bir sırılama/komut seti oluşturdu. Babbage ilk olarak 1837 yılında açıkladığı
“Analytical Engine Order Code” çalışmalarını 1871 yılına kadar sürdürdü. Her ne kadar araç
politik, ekonomik ve yasal sebeplerle yaygınlaşmasa da kayıtlara geçen ilk programlama dili
olarak kabul edilmektedir. Daha sonraları, 1950’li yılların sonlarında, Howard Aiken
Analytical Engine Order Code’u baz alarak “CPC Coding Schema” yı geliştirdi. Ve 1949’da
Robert Seeber CPC Coding Schema temellerinden yola çıkarak “Seeber Coding Schema” yı
açıkladı.
1940’lı Yıllar
“ENIAC Coding System” ilk elektronik dijital bilgisayarlardan olan Electronic Numerical Integrator and
Computer (ENIAC) için 1943 yılında geliştirilmiştir. John Von Neumann, John Mauchly, J. Presper Eckert
ve Herman Goldstine’in başını çektiği ekip tarafından geliştirilen dilin üzerine 1946 yılında “Eniac Short
Code”, 1947 yılında Kathleen Booth tarafından “ARC Assembly”, 1948’de Haskell Curry tarafından
“Curry Notation System” , 1949’da John Mauchly ve William F. Schmitt tarafından “Brief Code” ve yine
1949 yılında Betty Holberton tarafından “C-10” dilleri geliştirilmiştir.
1943 - Plankalkül (Konrad Zuse)
1943 - ENIAC coding system
1949 - C-10
1950’li ve 1960’lı Yıllar
Bu yıllar modern programlama dillerinin temellerinin atıldığı yıllardır.
1951 - Regional Assembly Language
1952 - Autocode
1954 - FORTRAN (FORmula TRANslator)
1958 - LISP (LISt Processor)
1958 - ALGOL (ALGOrithmic Language)
1959 - COBOL (COmmon Business Oriented Language)
1962 - APL (A Programming Language)
1962 - Simula
1964 - BASIC (Beginner's All-purpose Symbolic Instruction Code)
1964 - PL/I (Programming Language One)
1970’li Yıllar
Bu yıllarda programlama dilleri olgunlaşmaya, çeşitlenmeye
başladığı ve yapısal programlama dillerinin geliştirildiği
yıllardır.
1970 - Pascal
1972 - C
1972 - Smalltalk
1972 - Prolog
1973 - ML
1978 - SQL
1980’li Yıllar
1980’li yıllar daha geniş sistemler için
ölçeklenebilir uygulamalar geliştirebiliecek
dillerin doğduğu yıllardır. Bu yıllar nesne
yönelimli programlamanın (Object Oriented
Programming) çokça konuşulduğu yıllardı.
1983 - Ada
1983 - C++
1985 - Eiffel
1987 - Perl
1989 - FL (Function Level)
1990’lı Yıllar
İnternetin yaygınlaşmasıyla birlikte,
internetle çok ciddi anlamda bütünleşen
Java dilinin geliştirildiği ve yaygınlaştığı
yıllardı oldu 1990’lar.
1990 - Haskell
1990 - Python
1991 - Java
1993 - Ruby
1995 - PHP
1995 - Delphi
2000 - C#
Şimdi programlama dillerine özet bir bakış yapalım;
Pascal Yapısal bir dildir, C 'ye benzerlik gösterir. Öğrenilmesinin zor olmayışı ve
bilgisyar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı
genelde üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.
BASIC öğrenmesi ve yazılımları kolay olan bir dildir. Genelde amatörce ve hobi uğraşıları
için kullanılmıştır. Microsoft daha sonra Kişisel bilgisayarlar için Quick Basic derleyicisi
piyasaya sürmüştür. Bununla yazılan BASIC metinlerini makine koduna çevirilebilmiş
böylece sürat kazanmıştır. Bugün halen geniş bir kullanım alanına sahip olan Visual Basic dili
var olup bununla hatta Windows'un belirli bölümleri yazılmıştır. Her Microsoft Office
paketinde bir BASIC türevi var olup makro programlamada büyük kolaylıklar getirmektedir.
Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça
kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının
temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya
veya printer kontrolü yapmaya kadar her türlü işlem yapılabilir ve bu özelliği sayesinde
kullanım alanı çok geniş bir dildir.
Nesneye dayalıdır(OOP). C++ ın ve Java'nın pozitif yönlerini bünyesinde birleştirmiş yeni bir
dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar
getirmiştir. İleriye dönük olarak microsoft'un java teknolojisine rakip olarak ortaya sürdüğü bir
programlama dilidir ve microsoft'un bu konulardaki (internet uygulamaları) yelpazesini
genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#'ı
öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği
açıktır.
Nesneye yönelik programlama yapabilen diller
arasındadır. C'nin saydığımız tüm özelliklerine ek
olarak güçlendirilmiş nesne yönetim özelliği ile şu
anda bilgisayar dünyasının en çok kullanılan
dillerinden biridir
Nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil
olup modern ve yenlikçi altyapısı ve visual özellikleri ve
sürekli gelişen kütüphane (library) desteği ile gün geçtikçe
kullanımı artan bir dil olmuştur. Java dili hemen hemen her
alanda kullanılabilen esnek ve güçlü bir dildir.
Günümüzde COBOL'un bulunduğu konum çok önemlidir. Bunun nedenlerinden biri Microsoft
tarafından 2001 yılında piyasaya sürülen .NET Framework 1.1 versiyonu ile desteklenmeye
başlamış olmasıdır. Gelişen ticaret dünyasına ve bunun yanında gelişen yapay zeka teknolojisine
destek vermek amacı ile Microsoft tarafından destek verilmiştir.
Perl, bir dil bilimci olup NASA'da sistem yöneticisi olarak çalışan LARRY Wall tarafından
geliştirilmiş bir programlama dilidir. Yoğun şekilde metin işleme ve görüntü tanıma söz
konusu olduğunda kullanılabilecek en güçlü ve pratik programlama dilidir. 22 yıldır
geliştirilen ve özgür yazılım çerçevesinde kaynak kodu açık olarak sunulan Perl
programlama dili hemen hemen tüm işletim sistemlerinde çalışmaktadır.
Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek
seviyeli bir programlama dilidir.
Girintilere dayalı basit sözdizimi, dilin öğrenilmesini ve akılda kalmasını
kolaylaştırır. Bu da ona söz diziminin ayrıntıları ile vakit yitirmeden programlama
yapılmaya başlanabilen bir dil olma özelliği kazandırır.
Ada, yapısal, statik tipli, zorunlu, geniş spektrumlu ve nesne
yönelimli bir üst düzey bilgisayar programlama dilidir.
Fortran (önceleri FORTRAN), özellikle sayısal hesaplama ve bilimsel
hesaplama için uygun olan genel amaçlı, yordamsal, zorunlu programlama
dilidir.
Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır.
Öğreniminin çok zor olmayışı ve üniversitelerde pascal eğitiminin ağırlıklı verilmesi
nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir.Visual
programlama özelliği taşır.
KAYNAKÇA
http://tr.wikipedia.org/wiki/Programlama_dili
http://www.godoro.com/Divisions/Ehil/Mecmua/Magazines/A
rticles/txt/html/article_ProgrammingAndLanguage.html
http://www.robotiksistem.com/programlama_
dilleri_ozellikleri.html
http://www.bilgiustam.com/programlama-dilinedir-turleri-nelerdir/
http://www.elektrikport.com/teknik-kutuphane/hangi-programlama-dilinisecmeliyim-programlama-dilleri-ve-uygulama-alanlar/8080#ad-image-0
Download