21 Aralık 2009 Pazartesi

31 Ocak 2009 Cumartesi

yazılım

Geçmişten Günümüze Programlama Dilleri
Sizce günümüze kadar geliştirilmiş programlama dillerinin sayısı nedir?
Wikipedia daki alfabetik programlama dilleri listesini kaynak olarak kabul ettiğimizde, yaklaşık 500 adet programlama dili mevcut. Doğal olarak bu dillerin bir çoğu günümüzde kullanılmıyor ve bir çoğu da nadiren kullanım alanı buluyor, ama yine de yüzlerle ifade edilen bir büyüklükten bahsediyoruz...

PROGRAMLAMA DİLLERİNİN GELİŞİMİ
Programlama dillerinden bahsetmeden önce genel olarak gelişimlerinden bahsetmek istiyorum. Literatüre göre programlama dillerini gelişim evrelerine göre 5 nesilde(generation) inceleyebiliriz. Bilgi teknolojilerinin ilk çağlarında bilgisayara (machine) yakın olan diller, her yeni nesille birlikte günlük yaşama ve insana (human) yakınlaşmış durumdalar. Araştırmalarıma dayanarak söyleyebileceğim 1837 yılında duyurulan “Analytical Engine Code Order” programlama diliyle başlayan macerayı öncelikle nesil ayrımında incelemek istiyorum.

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. Komutlar direkt olarak bilgisayar üzerindeki bir panel aracılığıyla herhangi bir derleyici ya da çevrime ihtiyaç duyulmadan giriliyordu. Birinci nesil programlama dillerinin işlemciye doğrudan verilen komutlarla çalışıyor olmaları hız ve yetenek açısından çok güçlü olmalarını sağlıyordu. Ancak öğrenilmeleri ve uygulanmaları zor, hata durumlarını yönetmek sıkıntılıydı. Diğer taraftan belirli bir işlemci/makine için yazılan kod, farklı yapıdaki başka bir makinede çalışmıyor, tamamen yeniden yazılması gerekiyordu.
Günümüzde halen çok eski makineler için kullanım alanı bulan makine dili aynı zamanda modern programlama dillerinin nihai halidir. Herhangi bir modern dille geliştirdiğiniz programı derlediğinizde (compile) ortaya çıkan şey birinci nesil bir makine dilinden başka bir şey değildir.
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. Direkt işlemciye/makineye özel kodların yerini komutlar ve kısaltmalar kullanılmaktadır. Fakat halen makineye özel programlama yapılması gerekmektedir. Ayrıca bu dillerle geliştirilen programların makinelerde çalışabilmesi için makine diline çevrilmeleri gerekiyordu. Bu noktada assembler yani çevirmenler devereye giriyordu.
Günümüzde halen özel donanımların progranlanmasında, işletim sistemleri çekirdeklerinde assembly dilleri kullanılmaktadır.
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 DillerProgramlama 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. Bu nesille birlikte yazılım geliştirme makine bağımlılıktan kurtarılmıştır. Yazılan programlar farklı makinelerdede kullanmaya başlanmıştır. Üçüncü nesil dillerin yüklendiklerini bilgisayarda çalışması için derleyici (compiler) ya da yorumlayıcı (interpreter) aracılığına ihtiyaç duyulur.
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.
Kullanımı çok daha kolay, daha az kod yazarak yönergeler, hazır şablonlar ve sihirbazlar sayesinde belirli ihtiyaçlarda uzmanlaşmış pratik çözümler geliştirmeye yönelik olan bu diller rapor üreteci (generator), form üreteci, vaka tasarımı, veri yönetimi, istatiksel analitik, vb alanlarda uygulamalar geliştirmeye yöneliktir.
Ö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. Açıkça kodlamanın yerine (imperative) bildirimsel (declarative) yöntemle çalışan ve özellikle yapay zeka alanında araştırmalarda kullanılan bu yeni programlama dillerine örnek olarak Prolog, OPS5 ve Mercury verilebilir.


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ı.
(Resim: CharlesBabbage.jpg) (Charles Babbage)

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.
(Resim: Eniac.jpg) (Electronic Numerical Integrator and Computer (ENIAC))
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#


PROGRAMLAMA DİLLERİNİN GELECEĞİ
Genel hatlarıyla geçmişten günümüze inceledğimiz programlama dillerinin geleceği için söylenecek çok şey var. İlk olarak yapay zeka üzerine yürütülen çalışmalarda bir taraftan programlama dilleri yapay zekanın gelişimine katkıda bulunurken, diğer taraftan yapay zeka çalışmaları programlama dillerinin gelişimine katkıda bulunmaktadır.

İlk başlarda direkt işlemciye komut göndermek anlamına gelen programalama, zamanla algoritma geliştirme düzeyine gelmiş, arkasından alanlarında uzmanlaşan programcılara zaman kazandırabilmek için ekran tasarım üreteçleri, veritabanı geliştirme araçları gibi proje geliştirmeye hız katan bileşenlerle donatılmıştır. Zamanın ve hızlı sonuçlar almanın çok değerli olduğu günümüzde kurumlar ihtiyaçlara mümkün olan en kısa zamanda ve en etkin biçimde cevap vermek durumundadır. Bu nedenle bazı programlama süreçleri uzman yazılımcılığın dışına taşarak departman bazında raporlama, analiz, basit arayüzler geliştirerek veri toplama gibi işlemleri üretmeyi gerektirmiş ve program dili geliştiriciler de bu yönde ürünler geliştirmişlerdir. Biraz daha ileriye baktığımızda beşinci nesil programlama dillerinde hedeflenen, bazı kısıtları ve gerekli bilgileri verdiğinizde ihtiyacınız olan uygulamanın geliştirilebilmesi fikri hiç de uzak değil.

Kadir Çamoğlu,
Microsoft MVP
kadir.camoglu@hotmail.com

14 Ocak 2009 Çarşamba

sinema

Yes Man
Bay Evet - Yes Man’de Jim Carrey, kendi kendine yardım programına yazılan Carl Allen adlı bir adamı canlandırıyor. Söz konusu program tek ve basit bir ilkeye dayanmaktadır: Her şeye evet demek. İlk başta, evet gücünü açığa çıkarmak Carl’ın hayatını inanılmaz ve beklenmedik biçimlerde değiştirir, ama çok geçmeden anlar ki hayatını sonsuz olasılıklara açmanın bazı olumsuzlukları da olabilmektedir.

13 Ocak 2009 Salı

haber

İşten kovuldu, hacker'lığa soyundu
Kendi halinde bir bilgi sistemleri yöneticisi, işten çıkartılınca hacker'lığa soyundu ve...
İşten kovuldu, hacker'lığa soyundu
3 haftalık çalışma süresinde bekleneni veremeyen Oladiran'ın asıl hedefinin farklı olduğu sonradan ortaya çıktı.
İngiltere'de 46 yaşındaki Julius Oladiran, iş arıyordu ve pek çok firmaya başvuruda bulundu. Sonunda bir firma özgeçmişi ile ilgilendi ve kendisini işe almayı kabul etti. Aslında Oladiran'ın özgeçmişi göz önüne alındığında daha çabuk iş bulmaması şaşırtıcı bile sayılabilirdi. Çünkü özgeçmişte üniversitede master yapmış olduğu ve devlet kurumlarında üst düzey görevler aldığı yazılıydı. İsmi açıklanmayan firma Oladiran'ı işe aldıktan sonra ise bazı problemler çıkmaya başladı. Bunlardan ilki Oladiran'ın özgeçmişinde yazılı olan becerilere pek de sahip olmayan bir görüntü çizmesiydi. Kendisine verilen görevleri düzgün şekilde yerine getiremiyordu.

Firma bunun üzerine 3 haftalık bir süreç sonunda Oladiran'ın işine son verdi. Ama asıl ne olduysa bundan sonra oldu. Her şey bir çalışanın bilgisayarındaki fare imlecinin kendi kendine hareket ettiğini fark etmesiyle başladı. Bu konuyu amirlerine ileten çalışanın bilgisayarı incelemeye alındı ve pek çok yasa dışı casus yazılım ile dolu olduğu ortaya çıktı. İncelemeler devam edince bu işte Oladiran'ın parmağı olduğu ortaya çıktı.

Oladiran, eski iş arkadaşlarının kendisi hakkındaki konuşmalarını takip etmek istemiş ve casus yazılımlar yüklemişti. Hakkında hemen dava açılan Oladiran'ın bazı şirket yazışmalarını da sildiği anlaşılınca 3 ay hapis ve 3200 sterlin (yaklaşık 7500 TL) cezasına çarptırıldı.

10 Ocak 2009 Cumartesi

Pc Oyun

Skate 2
Kaykay kaymaya her zaman hevesli bir çocukluk dönemi atlattım ben. İçimde uhde kalmadı gerçi, kendi imkânlarımla bir kaykay sahibi oldum ve bu sporu yapmama karışan birisi olmadı çevremden. Ama sanırım sorun bendeydi, yoksa şimdi hala kayıyor olurdum… Sorun şuydu; asla cesaret edip o rampaya tırmanamamışım ve yüzümde rüzgâr hissedecek kadar hızlı bir şekilde U rampanın diğer ucuna doğru yol alamayışımdı. Aslına bakarsanız bir süre sonra, o rampaya çıkamadığımı kabullendiğim zaman, bunun zevkli ve havalı olmadığını fark ettim. Ollie yaparak bir yere kadardı; Hız kaykayı da çekici gelmedi ülkemizin jeolojik (!) yapısı yüzünden… Neyse, işin hikâye kısmını bitiriyorum ve olaya psikolojik olarak bakmaya başlıyorum. Durun, hemen kaçmayın! Fazla abartmayacağım, çünkü bu rampa ile ilgili bastırılmış duygularım kaykay oyunları ile vuku bulmaya çoktan başladı bile! Yani işin psikolojik yönü sadece burası.
Çok uzaklara gitmeye gerek yok, Tony Hawk’s Pro Skater serisi ile tanıştı birçoğumuz kaykay oyunlarıyla. Oldukça da zevkliydi bu oyunu oynamak. Tony Hawk’s Pro Skater serisi dallandı budaklandı ve bir sürü oyunu barındıran bir seri haline geldi. Ve Activision ısıtıp ısıtıp öne koyduğu bir seri yaratmış oldu böylece. Geçtiğimiz Kasım ayında THPS serisinin dokuzuncu oyunu piyasaya sürüldü fakat THPS oyunlarının tahtı da sallanmaya başlanmıştı Skate geldikten sonra. Skate, PlayStation 3 ve Xbox 360 konsollarında, başarılı bir tanıtım politikası sayesinde tanındı ve en az THPS kadar çok sevildi. Bu arada Activision ile Electronic Arts bir kez daha aynı arenada karşı karşıya geliyorlardı…
Mesaj kaygılı kaykay oyunları mı?

Kaykay oyunlarında belli bir konsept var. Yani bu işin bir jargonu, usulü; argo tabirle ise bir raconu var. Mesela, yazının başında yazdığım “ollie” kelimesi size anlamsız geliyorsa. Daha önce kaykay kaymadığınız veya kaykay oyunu oynamadığınız düşünülebilir. Ancak bu kesinlikle sorun değil. Zira Skate 2 de, Skate kadar kolay ve anlaşılabilir olacak şu ana kadar gösterilen oyun içi videolarda görüldüğü kadarıyla. Gerçi klasik olacak ama Skate gibi öğrenmesi kolay, ustalaşması zor bir tarz bekliyorum. Oyun motorunda köklü bir değişiklik yok. Grafikler konusunda da beklentileri arttırmak, şu ana kadar yayınlanan tüm görsellerden sonra hiç mantıklı değil. Skate 2’nin vaatlerini bir liste halinde toplamak gerekirse, yeni mekânlar listenin hemen başında gözümüze çarpıyor. Kaykay oyunlarında çevre çok önemli bir faktör, yeniden oynanabilirliğe etkisi yadsınamaz. Listenin devamında, artık oyunda bayan karakterlerin de bulunması ve artık EA’nin başarısını yedi cihana kanıtladığı müzikler geliyor. Electronic Arts’ın seçimleri her zaman olduğu gibi başarılı. Çünkü kaykay seslerinin ardından gelen müzikler de sizi gaza getiriyor ve insan coştukça daha çok hırslanıyor bir hareketi yapmaya, daha iyi sarıyoruz ellerimdeki kontrolörü ve daha sıkı basıyoruz tuşlara… Bu da ilk oyunda artı haneye yazılan bu faktörün, Skate 2’de de bulunacağını gösteriyor. Genel olarak baktığımızda Skate 2’nin vaat ettiği çok köklü ve büyük bir devrim niteliğinizde özelliği yok.

Skate 2 de Electronic Arts’ın şişirme işlerinden olmayacak ve serinin ilk oyunu Skate’in yakaladığı başarıyı devam ettirecek gibi gözüküyor. Üçü, dördü, beşi olursa; Electronic Arts yine tarafımdan her zaman olduğu gibi eleştirilmeye devam edilecek ama şimdilik seri çok iyi gidecekmiş gibi manasız bir hissiyat var benim içimde, nedeni bilinmez. Öncesinde 2008’in sonu olarak açıklanan çıkış tarihi, 2009’un ilk çeyreğine ertelenmişti. Son haberler ise Skate 2’nin Şubat ayında ellerimizin arasında olacağını söylüyor… Tekrar ertelenmediği takdirde, yeni yılın Şubat ayındaki Skate 2 incelemesinde görüşmek üzere.
Skate serisinin ikinci oyunu Skate 2, Şubat ayında THPS’nin dokuzuncu oyununa rakip olarak gelecek. Daha tecrübesiz seri ama daha kurnaz bir yapımcıdan piyasaya sürülen Skate 2, bakalım ofisi Skate kadar işgal edebilecek mi?

http://www.level.com.tr/index.php/ilkbakis/52-ilkbakis/254-skate-2

teknoloji

Bu buluş ayaklarınızı yerden kesecek
Sihirbazlık değil gerçek: Amerikalı bilim adamları, cisimleri havada tutmanın yolunu buldu.

Henüz bir cismin havada tutulması gerçekleştirilmedi ancak bilimciler, doğadaki en küçük parçacıkları yöneten ilkelerden oluşan "kuantum mekaniğinin" sır dolu güçlerini kullanarak, bunun nasıl başarılabileceğinin yolunu keşfetti. Harvard Üniversitesi uygulamalı fizikçi Federico Capasso ve ekibinin yaptığı bu çalışma, Nature dergisinde yayımlandı.

Küçük nanoteknolojik makineler yapılmasını sağlayabilecek olan bu yöntemde, moleküllerin belirli birleşimleri oluşturularak, birbirlerini itmeleri sağlandı. Bu "yeni gücün" keşfinin, moleküllerin havada tutulmasını sağlayabileceği, sürtünmenin sıfır olduğu küçük, yeni kuşak cihazların yapılmasını sağlayabileceği kaydedildi.

Bu yeni güç, çok küçük cisimlerin birbirlerine yaklaştıklarında birbirlerini çekmeleri esasına dayanıyor. Bir Rus ekibi, moleküllerin doğru bileşimi elde edildiğinde bu gücün tersine dönebileceğini, yani cisimlerin birbirini itebileceğini öne sürmüştü.

Amerikalı bilimcilerin yaptığı deney de Rusların bu varsayımını kanıtladı. Deney sırasında bir sıvı üzerindeki ince altın yüzey, metalik bir yüzey tarafından çekildi ancak silisyumdan yapılan bir başka yüzey tarafından itildiği gözlendi.

http://www.chip.com.tr/konu/Bu-bulus-ayaklarinizi-yerden-kesecek_10396.html

8 Ocak 2009 Perşembe

sinema

KADRİ'NİN GÖTÜRDÜĞÜ YERE GİT(YAKINDA)
Kadri ve Cem birbirinden vazgeçemeyen iki yakın dosttur. Cem yaşadığı ve hayal kırıklığıyla sonuçlanan büyük aşkından bunalıma girmiş ve onu hayata döndürmek yine Kadri’ye düşmüştür. Kadri, onu bunalımdan kurtarmak için Antalya’ya götürür. Cem’in eski sevgilisi Betül de, yeni sevgilisi Hakan ile aynı tatil köyüne gelirler. Bir dizi sürprizlerle karşılaşan Kadri ve Cem, kendilerini hiç tahmin etmedikleri birbirinden komik olayların içinde bulurlar.


sinema

VALİ
"Vali", yaşamnı ve ölümüyle çok konuşulan bürokrat Faruk Yazıcı’nın yaşamından yola çıkarak çekilen "Köprü" dizisinin başarısı üzerine, aynı ekip taraından hayata geçirilen bir sinema filmi. Yazıcı’nın son görev yeri Denizli merkezli olan filmin ana eksenine bir dünya ve Türkiye meselesi olan 'enerji' konusu oturuyor.

Denizli valisi Faruk Yazıcı (Erdal Beşikçioğlu), bölgesindeki sorunlara farklı yaklaşımı ve iş bitirici tavrıyla pek çok değişikliğe imza atan ve sistemin işleyişini değiştiren başarılı bir yöneticidir. Çocukluk arkadaşı maden mühendisi Ömer Uçar da (Uğur Polat), aynı bölgede Maden Tetkik Arama'da (MTA) çalışmaktadır. Ömer Uçar ve ekibi bölgedeki uranyum madeni yatağının zenginliğini ispatlayan rapor için çalışırken, yabancı bir şirket de valilikten aynı bölgeye yatırım yapma izni almaya çalışmaktadır. Arkasına, enerji kaynaklarının yabancılara verilmesi için çaba sarf eden, güzel ve akıllı bürokrat Ceyda Aydın'ı da (Şebnem Dönmez) alan bu şirket, karşısında Faruk Yazıcı ve Ömer Uçar'ı bulunca yasadışı yollara başvurur. Hem İstanbul hem Denizli'de şüpheli ölümler başlayınca, diplomasi trafiği hızlanır. Vali ve ekibi kendilerini akıl almaz bir maceranın içinde bulurlar.