Programlama Hayatın Kaçınılmazı

Programlama, Hayatın Kaçınılmazı

Bilgisayarların icat edilmesinden bu yana insanlar bu acayip makinenin kullanılacağı alanları genişletmeye ve hemen hemen her işlerini bilgisayarlar veya bilgisayarlar tarafından yönetilen makinelere yaptırmaya çalışıyorlar. Belki de insanın yapısal özelliklerinden birisi olan tembellik olgusunun daha da baskın çıkmasından dolayıdır bilinmez ama araştırmalar sonucunda hayatımızı kolaylaştıran binlerce faydalı ürünün ortaya çıktığı oldukça büyük bir gerçek. “Programlama Hayatın Kaçınılmazı”  başlıklı bu yazımda sizlere hem biraz programlama tarihi hakkında bilgi vermeye hem de neden hayatımızdaki kaçınılmazlardan olduğunu anlatacağım.

 

Bilgisayarın Kısa Tarihi

Matematiksel işaretlerin ilk kullanılmasından sonra insanların hesaplama ihtiyaçlarını karşılamak adına kullandıkları ilk bilgisayar temel olarak abaküstür. Dört işlemin insan hayatında her an olması gerçeği ile birlikte Blaise Pascal’ın muhasebeci olan babasına yardım etmesi için geliştirdiği ilk hesap makinesinin yeri ayrıdır.

Elbette bu icatları tarihsel olarak da belirtmekte fayda var. Abaküs ve bir benzeri olan Antikitera Makinesinin kullanıldığı dönemler M.Ö 150- MÖ 100 yılları arasındadır. Pascal’ın ilk mekanik hesap makinesini icat edip kullanmaya başladığı tarihler ise 1640-1645 yılları arasıdır ki Tarih kitapları Pascal’ın bu icadını 19 yaşında gerçekleştirdiğini yazarlar.

Elbette bu tür makineler dünyanın her yanında değişik bilim adamları veya mucitler tarafından icat edilmekle birlikte hepsinin temelinde Boole isimli meşhur matematikçinin adıyla anılan Boole Cebiri yatmaktadır.

Boole Cebiri değişkenlerinin değerinin DOĞRU veya YANLIŞ yani 1 veya 0 olduğu bir cebir alt koludur. Günümüzde sayısal devrelerin analiz ve tasarımı boole cebrini temel alır.

1837 yılında İngiliz Hükümetinin maddi desteğini alan Charles Babbage Analitik Makine isimli bilgisayarı yapmaya başlamış olsa da bitirememişti. Bitirseydi eğer –  ki günümüzde eski planlardan yola çıkarak makine bitirilmişti – 31 basamağa kadar matematiksel işlemlerin hatasız yapıldığını o dönemde insanlar göreceklerdi. Belki de akıllı telefon 1950’li yıllarda herkesin elinde olacaktı.

Elektrikli İlk bilgisayar ABD Ordusu tarafından geliştirilen ve 10’luk sayı tabanına göre işlem yapan ENİAC’tır. İlk genel kullanım amaçlı elektronik bilgisayar unvanına da sahip olan bu bilgisayar  1946 yılında icat edilmiş ve 165 m2 büyüklüğünde bir alana ancak sığıyordu. Ağırlığı 25 ton olan bu çılgın makine bir topun ağzından çıkan merminin 60 saniyelik yolculuğunu 15 saniyede hesaplayabiliyordu ki insan gücü ile bu 20 saatte ancak hesaplanabiliyordu.

1960 lı yıllarda transistör tabanlı bilgisayarlar yaygınlaşmaya başladı. Artık her ülke bu bilgisayarları kullanmak istiyordu.

 

Ülkemizde Bilgisayarın Geçmişi

Türkiye’ye ilk bilgisayar 1960 yılında yol yapımında gereken hesaplamaları daha hızlı yapabilmek için Karayolları Genel Müdürlüğü’ne gelmiştir. IBM-650 Veri İşleme Makinesi (Data Processing Machine) adlı bilgisayar 12 yıl kullanılmıştır ve elektrikle çalışan ve elektronik veri işleme kapasitesine sahip 167 m² bir alana sığan ve ağırlığı 30 tonluk ilk bilgisayar ENIAC’dan tam 15 yıl sonra edinilmiştir. İkinci bilgisayar ise akademik amaçlı kullanmak için İstanbul Teknik Üniversitesi’nin Taşkışla binasına geldi. Bu bilgisayar IBM 1620 idi.   İTÜ’den sonra ise Orta Doğu Teknik Üniversitesi bilgisayara sahip oldu. Türkiye’deki dördüncü bilgisayar ise Devlet Planlama Teşkilatı’na gelmiştir.

Bilgisayarların tarihinden bu kadar bahsetmek yeter diye düşünüyorum. Asıl konudan sapmaya da gerek yok. Programlama ile bilgisayar tarihçesi birbirine oldukça yakın olsa da yine de programlama tarihçesini e bilsek iyi olur.

 

Programlama Dillerinin Tarihçesi

Aslında bu konuda oldukça kapsamlı bir araştırma olmamakla beraber farklı kaynaklardan derlediğim bilgilere göre yaklaşık 500 adet programlama dili mevcut. Bu dillerin kendi içlerinde ayrıca bir sınıflandırması mevcut.

Bu sıralama şöyle;

  • Birinci Nesil Programlama Dilleri –  Makine dilleri : (ilk bilgisayarlarla birlikte ortaya çıkan ve programlama ihtiyacını karşılamak amacı ile geliştirilen, tamamen geliştirildiği makinenin özelliklerine odaklı makine seviyesi diller) ARM, Intel 80×86, IBM 360, StrongARM, vb.
  • İkinci Nesil Programlama Dilleri – Çevirici Diller : (makine dillerine göre daha anlaşılır ve makineye özel kodların yerine komutlar ve kısaltmalar yer alıyor) ASEM-51, FASM, GAS, NASM vb. Genelde Assembler diller olarak bilinirler
  • Üçüncü Nesil Programlama Dilleri – Yapısal Diller : (günümüzde yaygın kullanılan, İngilizce ağırlıklı ve insanların kullandıkları dillere yakın, yüksek seviye diller) Fortran, Cobol, Basic, C ,C++, Delphi ve Java
  • Dördüncü Nesil Programlama Dilleri – Çözüme Yönelik Diller (üçüncü nesil dillerin gelişimine rağmen iş ve ticaret yaşamında özel durumlara yönelik ihtiyaçlara göre geliştirilen diller) SQL, PostScript, Gauss, SPSS, MATHLAB, ColdFusion vb
  • Beşinci Nesil Programlama Dilleri ( Bu diller komutlardan öte koşulları ve kısıtları bilgisayara vererek çözümü kendisinin bulmasına yönelik diller – yapay zeka) PROLOG, OPS5, Mercury

 

 

Programlama Tarihi

 

1940 öncesinde Charles Babbage nin çok amaçlı kullanım için geliştirdiği hesaplayıcısına bir komut set oluşturması ile başlar programlama tarihi. 1837 yılında açıkladığı bu “Analytic Machine Order Code” isimli çalışmalarını 1871 yılına kadar sürdürmüştür. 1950’li yılların sonunda Babbage’nin bu çalışmaları baz alınara CPC Coding Schema Howard Aiken tarafından geliştirildi.

 

1943 yılında ilk elektronik dijital bilgisayar olan ENIAC için ENIAZ coding system isimli programlama dili geliştirildi. 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.

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#

 

 

Programlama, Hayatın Kaçınılmazı

 

Evet, aslında programlamanın tarihçesine baktığınızda bir ihtiyaçtan dolayı diller geliştirilmiş ve ilerlemiştir. Günümüzde artık sadece işlemcilere komutlar yağdıran programlardan ve programcılık mantığından çok yapılacak işin parçalara ayrılarak birçok farklı departmanda çözülmesi yöntemine gidiliyor. Yazılım Geliştirme ortamlarında veri tabanı araçları, grafik araçları, sunucu araçları gibi yardımcı araçlar mevcut. Programcıların aynı anda birden fazla programlama dilini kullanabilecekleri çatılar mevcut. Bu çatılar ile hem görsel hem de donanımsal programlama aynı anda gerçekleştirilebiliyor. Programcıların sıkıntı yaşadıkları bir konuda düşüncelerini paylaştıkları, destek aldıkları sosyal araçlar mevcut. Ve Büyük bilişim firmaları programlamanın insanların hayatlarında çok önemli bir yere sahip olduklarını ve sosyal olarak da ekonomik olarak da programcılığı destekleyeceklerini her anlamda dile getiriyorlar.

25 tonluk devasa makinelerden bir saat büyüklüğündeki makinelere kadar küçülen bilgisayar donanımları yanında 15-20 sayfalık komut dokümanlarından milyarlarca GB kapasiteye ulaşan programlama verileri oldukça ironik bir tezat oluşturuyor. Biz bireyler her ne kadar anlasak ta anlamasak ta programlama ve sonuçlarına maruz kalmaktayız. Bu sonuçlar iyi de olsa kötü de olsa kaçınılmaz gibi duruyor.

Bindiğimiz otomobil, kullandığımız saat, çayımızı demleyen makine, evimizin ışıklarını yakan düğme, kapı zili, bisiklet… Aklımıza gelen her araçta programlamanın izlerini, etkilerini ve sonuçlarını görebiliyoruz.

O zaman kaçmaya ne gerek var? İçimize sindire sindire programlama öğrenebilir, onu bizden korkmasını sağlayabiliriz. Belki de hayatımızda en anlamlı şey de budur. Kim bilir?

 

Yazar: ishana

Programlama, Hayatın Kaçınılmazı” Hakkında 4 Yorum

    Ceyhun Aksakal

    (25 Temmuz 2018 - 01:49)

    Gerçekten çok faydalı bir yazı olmuş. Çoğumuz yazılım denildiğinde windows ve androidden ötesini bilmiyoruz. Bilgisayarın hangi evrelerden geçtiğini, programlama dillerini, kronolojik bir özet mahiyetinde okumuş oldum. Halt and catch fire adlı bir dizi var. yazılıma ilgi duyanlar için izlemesi eğlenceli olacaktır tavsiye ederim.

    Ro61

    (26 Temmuz 2018 - 20:15)

    Kaliteli içerikler üretip paylaşıyorsunuz,faydalı bir yazı olmuş böyle kaliteli yazılar yazmaya devam ederseniz çok iyi yerlere geleceksiniz.

    Doğu Baklacı

    (3 Ağustos 2018 - 01:16)

    Yazınızı “keyifle” okudum 😀 özellikle programlama kaçınılmaz kısmını bilgisayar ve programlama tarihiyle desteklemeniz çok uyumlu olmuş. Bu arada yazılımcılığa başlamayı düşünenler için Python veya c# düşünüyorum ben de

    Render

    (4 Ağustos 2018 - 23:02)

    Uzun ve detaylı bir yazı olmuş öğretici özellikle. Eskiden kaç programlama dili vardı şimdi kaç tane. İşi zorlaştırıyorlar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.