programlama dili

Evet kesinlikle mümkün. Doğru yöntemlerle programlama öğretmenin önemini bir önceki yazımda vurgulamıştım. Şimdi de bu eğitim sürecini nasıl daha keyifli hale getirebiliz neler yapabiliriz onlara bir göz atalım.

Öncelikle yazının ilk bölümünde geniş geniş anlatmıştım ama tekrar kısaca bir vurgu yapmam gerek. Pek güzel yurdumda, İlköğretim düzeyinde BT derslerinin geçmişi pek yok. Geleceği de hala pek net değil. Şu an en azından seçmeli olsa da BT  dersimiz var. Ama yeterli mi? Kesinlikle hayır. Bilişim teknolojileri ile haşir neşir nitelikli ve bilinçli bir nesil yaratabilmek için programlama eğitimi vermek şart. Çünkü bizi yaşadığımız bu çıkmazlardan ancak bilgi teknolojileri alanında yapacağımız gelişmeler kurtaracak. Çünkü bizim toplumun teknoloji kabullenmesi kadar hızlı ve kolay kabullenebildiği başka bir şey yok.

Neyse ufak bir ara mesajdan sonra gelelim asıl mesele. Eğlenerek nasıl programlama öğrenebiliriz? Bunun için özel olarak hazırlanan ve süreci olabildiğince keyifli ve eğlenceli hale getiren çok sayıda online araç mevcut. Şimdi onlara bir göz atalım.

1.codecombat.com

Oynarak Python veya JavaScript öğrenebileceğiniz sitede, öncelikli olarak kendi karakterinizi yaratarak oyuna başlıyorsunuz. Oyun tamamen ücretsiz ayrıca, RPG tarzı oyunda, hiç programlama bilmeseniz bile hızlıca adapte olabileceğiniz bir kurguya sahip. 2013 yılında yayın hayatına başlayan oyunda seviyeler henüz sınırlı sayıda. Fakat arkasındaki geliştirme ekibi oldukça sıkı çalışıyor. 

2. codewars.com

Savaş sanatları ağırlıklı teması ile samuray ruhu eşliğinde programlama öğretmek için hazırlanan ortamda her bir seviye “Kata” olarak adlandırılmış. Oyunda puan kazanabilmek için size sunulan “Kata” ları tamamlamanız gerekiyor. Şu an var olan katalarla; Ruby, JavaScript, veya Coffeescript dillerini öğrenebiliyorsunuz. İlerleyen dönemlerde, Python, Java, PHP ve Objective-C gibi dillerde eklenecekmiş. Sistemde ayrıca kendi “Kata” ‘nızı da oluşturabileceğiniz bir modül mevcut. Böylece arkadaşlarınız ile yapacağınız mücadelenin kurallarının kendiniz de belirleyebiliyorsunuz. Böylece öğretmenler kendi öğrencileri için de özel “Kata”‘lar hazırlayıp ders esnasındaki etkinlikleri daha eğlenceli hale getirebilir.

3. codeschool.com

Benim en çok beğendiğim ve sevdiğim proje. Diğer bahsettiğim ilk iki proje gibi ücretsiz olmasa da sunduğu araçlar ve altyapı ile diğerlerinden farklılık gösteriyor ve kesinlikle aylık istenilen miktarı ($29′cı) fazlasıyla hak ediyor. Ciddi bir ekip tarafından hazırlanan bu projede size iki günlük süreyle tüm bölümleri Hall Pass adını verdiği bir seçenek ile ücretsiz olarak size açıyor.Ayrıca, site içerisinde oyunları ve etkinlikleri başarıyla tamamlayarak puan kazanabiliyorsunuz. Kazandığınız bu puanları da öğrenmek istediğiniz programlama dilinin ilerleyen seviyeleri için kullanabiliyorsunuz. Codeschool’un oyun tarafı biraz daha az.Yani diğer projelerdeki gibi oyun teması üzerine kurulmamış. Genel olarak sistemde oyunlaştırma var desek daha doğru bir tanım olur. Tüm eğitimler öncelikle olarak kısa bir video ile başlıyor. Bu videoyu seyrettikten sonra oyuna geçiyorsunuz. Her ne kadar oyun kurgusu zayıf olsa da şu an en fazla programlama dili seçeneğini barındırıyor. Codeschool ile Ruby, Javascript, HTML/CSS, and iOS geliştirme ortamını öğrenebiliyorsunuz. .

07 Temmuz 20140 commentsDevamı

Programlama öğrenmek ciddi bir süreç. Hele bir de hiç bilmiyorsanız nereden başlayacağınıza karar vermek çok daha kritik ve önemli bir dönüm noktası. Bizim eğitim dünyamızda Matematik gibi Programlama da ne yazık ki doğru yerden başlayarak öğretilmiyor. O nedenle Matematik düşmanı genç beyinler yetiştiği gibi Programlama bilmeyen/sevmeyen (hatta nefret eden) bilgisayar nesli yetişiyor. Oysaki anlamlı ve değerli bir hayat için Matematik neyse Bilgisayar Bilimleri için programlama da o.

Peki böylesine değerli bir konu nasıl öğrencilere aktarılmalı? Programlama sevdalı olmasa da, problem çözme yeteneği gelişmiş algoritmik düşünce ile yoğrulmuş gençler nasıl yetiştirilebilir? Öncelikle programlama dili eğitimi verilmeyerek başlanabilir. Evet yanlış okumadınız programlama dili bilmek veya öğrenmek demek programlama bilmek demek değil. Büyük yanılgı buradan başlıyor.

Programlamanın en temelinde aslında “problem çözme” eylemi var. O nedenle öncelikle problemi tespit edip analiz etme, onu parçalara ayırma işin ilk aşaması. Problemi doğru kavramadan programlamanan bir çok yazılım hayatımızı kolaylaştırmaktansa yeni problemler yaratıyorlar. Oysa ki doğru çözümlenmiş bir problem nereden nasıl başlanacağı konusunda önemli ipucuları vermektedir.

İkinci aşamada ise,  çözüm metodlarının karar verilmesi geliyor. Çözüm metodlarının kara verilmesi ve değerlendirilmesi ise tasarım disiplininin kapsamında değerlendirilebilir. İşte bu noktada, yazılım mimarisinin rolü başlar. Tabii tasarım süreci ile mimarisini birbirine karıştırmamak gerek. Mimari de meseleyi detaylıca hem teknik hem de içerik açısıından irdelemeye başlanır. (Tasarım kelimesini de sakın ha grafik arabirim tasarımı olarak algılamayın :) )

Yazılım geliştirme yerine yazılım tasarımı ve yazılım mimarisi ilkelerini öğrenmek ile yola başlamak çok önemli ve değerli. Böylece programlama dilinden bağımsız olarak yola nasıl çıkılacağı, bir fikrin nasıl yazılıma adapte edileceği konusunda deneyim elde etmek mümkün. Çünkü veri yapıları ve tipleri ile haşır neşir olmak yazılımın sağlıklı geliştirilmesi için de önemli bir unsur.

Yazılım mimarisi şunları içerir :

  • Sistemin organizasyonu hakkında önemli kararlar
  • Sistemin önemli yapısal elementleri ve bunların arayüzleri ile birbirleri arasındaki etkileşim
  • Sistemin önemli yapısal ve davranışal elemanlarının altsistem’lere dağılımı

Yazılım mimarisi yapı ve davranışların yanı sıra kullanılabilirlik , fonksiyonalite , performans , esnekllik , yeniden kullanım , anlaşılırlık , ekonomik ve teknolojik kısıtlar gibi özellikleri de yansıtır.

Tüm bu özellikleri ile “Yazılım Mimarisi” sistemin anayasasıdır. Tüm yazılım geliştirme sürecinin merkezinde durur ve her türlü faliyete kılavuzluk eder.

Kısaca, yazılım mimarisi bize sistemin karmaşıklığını yönetmek ve bütünlüğünü korumak için , kontrol edilebilir bir yapı sunar.

Ayrıca artık sadece bunlarla başlamak yeterli olmuyor. Modern programlama dillerin artık hepsi nesne tabanlı geliştirme olanakları sunuyorlar. O nedenle nesne tabanlı programlama yaklaşımını benimsemek ve öğrenmekte başlangıç sürecine dahil edilebilir.

En son elde edilen tüm bu tecrübeler nasıl bir programlama dili ile birleştirilecek ona karar verilmeli.

 

 .

02 Temmuz 20140 commentsDevamı

Bilgisayar ile ilgili meslekleri düşünüldüğü zaman akla ilk gelen seçeneklerden biri her zaman programcı (diğer bir tabir ile geliştirici) olur. Kimilerine göre bir yaşam tarzı kimilerine göre ise bir kimliktir. Bu meslek erbabına sahip insanlar kimi zaman asosyal olarak yorumlanırken kimi zamanda kendilerini ifade etmekte zorlandıklarına dair düşünceler ortaya atılır. İşin müptelalarının ve duayenlerinin çeşitli metaformozlar geçirdiği ve katilden farksız olduğu bile iddia eden kimi uygulamalar mevcuttur. Ama işin özüne baktığınız zaman hayatın tam ortasında yatan bir derde çare bulmaya çalışır; problemlere çözüm üretebilmek”

İnsanoğlunun mayasında olan manayı bırakıp iskelete bağlanma çabası bu durumda da ayan beyan kendini gösterir. Programcıların bilgisayar başında harcadıkları saatleri, basit bir hatayı çözebilmek için sarfettikleri çaba gözleri korkutur. O nedenle bu bilişim dünyasına hayat veren bir ve sıfırların ete kemiğe büründüğü yazılım geliştirme alanı pek sevilmez.

Bu yazıyı da aslında o kadar korkulacak bir şey yok diyebilmek için yazıyorum. Hem modern tabiri ile yazılım geliştirmenin özünde programlamanın nereden nasıl başlanacağına dair giriş niteliğinde ısındırma yollarını tarif edeceğim.

1. Şu hayatta en azından bir tane bile problem çözdüyseniz, siz de bir programcısınız!

Evet acı ama gerçek olan bu. Hayat biz plan yaparken başımıza gelen olayların tümü ya, o nedenle problemsiz bir hayat düşünülemez. Yaşadığımız her gün onlarca sorun ve dert üzerine kafa yoruyoruz. Kimi zaman problemlerimiz ölçülebilir değerler barındırırken kimi zaman da sadece iç sıkıntısı ile manevi kaynaklardan ortaya çıkmış olabiliyor. Bir şekilde yaşamaya devam edebilmek için de tüm bunların üstesinden gelebilmek için gayret sarf ediyoruz. O nedenle size söylenen dilleri, yazım kurallarını unutun! Eğer hayatınızda en azından bir problem bile çözdüyseniz, demek ki için de canavar bir programcı yatmakta. Proglama yeteneğinin özünde saklı olan formül bize problem çözebilme yeteneği olarak tespit edebilme. Ne kadar hızlı ve doğru olarak problemi giderebiliyorsanız o kadar bu yolda yol kat edebilirsiniz. Türkiye’deki en büyük eksiklik yazılım alanındaki problemler gösterilmeden A,B,C dilleri ile yola çıkmak. Oysaki tüm dillerin çare bulduğu sorunlar hep aynı. Sadece söyleme şekilleri farklı. O nedenle algoritma dediğimiz sihirli bir yapı ile problemlerin nasıl çözebileceğimizi öğrenmemiz gerek. Daha sonra da bilgisayara doğru bir şekilde anlatabilmek için programlama dillerine başvurmalıyız.

Haydi bir de şu yöntemle problemlere bakalım; Günlük hayatta çözdüğümüz problemleri adım adım kağıda yazarak düzenleyin. Eğer problem gözümüze büyük geliyorsa problemi meydana getiren sorunları küçük parçalara bölelim. Tek büyük bir problemi parça parça bölelim. Her küçük parçayı çözümleyip büyük sorunu ortadan kaldırmaya gayret edelim. Tüm yaptıklarımızı da kağıt üzerine ister şekillerle, ister düz yazı ile not edelim. İşte hepsi bu!

2. Bir yerlerden başlamak için ısındırma kitapları

Yola devam etmek için bir nebze uzman desteği almak her zaman iyidir. Malesef programlama becerisi ve yazılım geliştirme teorileri üzerine çok sayıda Türkçe kitabımız yok. Özellikle basit bir dil ile neyin nasıl yapıldığını anlatan bir kitabımız yok. Bu noktada biraz İngilizce bilmenizin paha biçilmez olacağının altını kuvvetle çizmek isterim. Çünkü bu alanda yapacağınız çalışmalarda size destek olacak tüm doyurucu kaynaklar hepsi ama hepsi İngilizce. Örneğin, programlamaya başlamak istiyorum ama nereden nasıl olacağını bilmiyorum diyorsanız, O’Reilly başucu kitabı sayılacak Code Simplicity‘i bir an olsun yanınızdan ayırmayın derim. Programlama düşüncesi ve sanatını hiç derinlere inmeden size anlatan bu kaynak manayı çöze bilmenize yardımcı olacaktır. Kitabın konularından yola çıkarak yapacağınız küçük çaplı bir amazon araştırmasında bile başka yayınevlerinin birçok benzer nitelikle kitabı olduğunu an be an görebilirsiniz. Onlara da bir göz atmanızı tavsiye ederim.

3. Sevdiğiniz ortamı ve medyayı belirleyin!

İlk projenizi gerçekleştirebilmek için oturup ANSI-C ile makina dilinde geliştirme yapmanız gerekmiyor! Gelişen teknoloji ve büyüyen komüniteler sayesinde programlama dilleri de gelişti ve çoğaldı. Eskiden low-level diyebileceğimiz 1-2 dil varken artık onlarca dil ve platform arasından size en uygun olanını seçebiliyorsunuz. Bu karışıklık ve çeşitlilik içerisinde en doğru yolu bulabilmek için ilk yapmanız gereken; projenizi hangi medya veya aygın için geliştirmek istediğinize karar vermek olacaktır. Bu seçimi yaptıktan sonra o aygıt veya medya için özelleşmiş geliştirme ortamlarını incelemeye başlayabilirsiniz. Bu noktada yazılım geliştirme uzmanları için verilen iş ilanları da size yol gösterebilir. Örneğin, projeniz web tabanlı bir sistem ise, sizin için uygun olan sunucu dillini tespit edebilmek için bu konuda verilen iş ilanlarına bakmak oldukça yol gösterecektir. Türkiye ekseninde günümüzde sunucu dili için verilen ilanlara baktığınız zaman “.net platformu” ve “php ortamının” yaygınlığı gözünüze çarpacaktır. Buradan hareket ile İnternet üzerinde ufak bir araştırma ile sizin için en doğru dili bulabilirsiniz. Bu seçimi yaparken faydalanabileceğiniz bir diğer yöntem ise sizin projenize benzer nitelikteki projelerin altyapılarını ve kullandıkları teknolojileri incelemek olacaktır. Bu sayede hangi programlama platformundan başlayacağınıza hızlı bir şekilde karar verebilirsiniz.

4. Programlama dilini öğrenmeye çalışmayın, proje geliştirin!

Yapılan tüm araştırmalar gösteriyor ki programlama için en iyi öğrenme metodu sadece ve sadece oturup proje geliştirmektir. Bu işin başka bir yolu yok malesef. Eğer farzedelim, php öğrenmek için video derslerini takip edeceğim kitaplar okuyacağım derseniz, “çöpe atacak bol bol vaktiniz var demek ki” derim. Çünkü bir programlama diline hakip olabilmek için çılgınca not tutmak veya onlarca kitap okumak hiçbir anlam ifade etmez. Eğer öğrenilen yabancı dilde olduğu gibi kullanılmayan bilgi, kelime, ifade zihni yoran çöpten başka bir şey olmayacaktır. O nedenle bir dile hakim olabilmek için o kadar çok kullanmanız yani proje geliştirmeniz gerekmektedir. Ancak dilin sınırlarını ve kabiliyetlerini bu şekilde görebilecek ve fark edebileceksiniz.

5. Çalışacağınız ortam için şartları belirlemek

Bir programcının en büyük gücü sahip olduğu IDE’dir. IDE programlama serüveninin gerçekleştiği ortamdır. “integrated development environment”, “integrated design environment ” veya “integrated debugging environment” gibi açılımlara sahip yazılım geliştiricilerinin proje geliştirmesinde onlara yardımcı olan yazılımlara, ortamlara verilen addır. En basit haliyle; notepad’dir, word’dür. Zamanı gelince saatlerinizi, günlerinizi başında geçireceğiniz bu ortamın en iyi koşullara sahip olması gerekir. Bu koşullar kişiden kişiye beklentileri ölçeğinde değişir. Başka bir yazının konusu olan IDE seçimi önemli ve göz ardı edilmemesi gereken bir iş ortağı seçimidir.

6. Deadline ile erken tanışmayın, acele etmeyin

Programcının en büyük düşmanı deadline’lardır yani teslim zamanları. Bu o kadar kabus hale dönüşür ki, programcıların durmadan çalışmasına sebep olan en büyük ve kritik etken halini alır. Programlamaya başladığınız ilk adımınızda bir öğrenci olduğunuzu unutmayın, kendinizi kesinlikle bir ticari yazılım geliştirme süreci içerisine dahil etmeyin. Öğrenim sürecinde olabildiğince emin ve sakin olarak ilerleyin. Çözümlediğiniz problemleri iyi tespit edin ve doğru bir şekilde öğrene bildiğinizden emin olun. Sakin olun, sabırlı olun, detayları görebilmek ve çözümleyebilmek için olabildiğince ter dökün.

7. Son bir öneri; Janki Method

En son ipucu bir metod önerisi olacak; Janki Method. Ünlü ve yetenekli bir Ruby programcısı olan Jack Kinsella’nın beyin mıncıklayıcı metodu Malcolm Gladwell’ın Outliers adlı kitabında söylediği ustalaşmak için geçirebileceğiniz 10.000 saati üretken bir programcı olabilmeniz için tarif ediyor. En azından ufuk çizginizi yeniden biçimlendirmenize olanak sağlayacak bu metoda bir göz atmanızı tavsiye ederim.

8. Soru sormaktan çekinmeyin

Soru sormak hayatın merkezinde olan bir olay. Programcı için de can simiti niteliği barındırıyor. O nedenle hiçbir zaman soru sormaktan çekinmeyin, daima sorun. Sorulan soruları inceleyin. Bunun için muhteşem bir kaynak olan stackoverflow.com sık sık ziyaret edin. Sizin yaşadığınız problemin bir benzerini bir başkası da yaşamış olabilir, o nedenle daima sorulan soruları incelemeniz de fayda var.

 

Son cümleler…

Öğrenme çok kişisel bir süreç. Burada bahsettiğim metodlar, benim gözlemlerimden ve araştırmalarım kapsamında tespit ettiğim notlar. Tamamı veya bir kısmı sizin için uygun olabilir. Ama programlama ve program geliştirme önemli bir davranış şeklidir. Herkesin bir miktar sahip olması hayatına büyük bir renk katacaktır.

Sizde neden programlamayı sevmediğinizi? ya da nerelerde zorlandığınızı? ya da öğrenme süreçlerinizden bahsederseniz çok mutlu olurum.

 .

23 Ocak 20132 commentsDevamı

Geçen yazımda processing’de programlama konusunda değinmiştim. Bu yazımda yine başka bir açık kaynak programlama dili olan Qt üzerine söz edecegim.

Qt, platform bağımsız kullanıcı grafik arabirimi için geliştirilmiş bir araçtır. 2008 yılında Nokia’nın satın alması ile artık tam anlamıyla bir açık bir ortamda geliştirilmese de hem LGPL lisanslı hem de ticari lisanslı olarak 2 ayrı lisans ile dağıtılmaktadır. İlk geliştiricisi Trolltech adlı firmadır. Bu firma Qt’u ilk başta ticari ortamda çıkarsa da geçen süreç içersinde özgür ortam şartlarına göre lisanslamak zorunda kalmıştır. Nokia’nın satın almasıyla birlikte de yukarda bahsettiğim gibi 2 farklı lisansla dağıtılır hale gelmiştir. Nokia, uzunca bir zamandır Qt geliştirme ortamı için büyük yatırımlar yapmakta. Tüm yeni nesil telefonlarında Qt framework’ü yüklü olarak geliyor. Eski modellerde ise ovi mağazası üzerinde Qt framework’ü indirilip yine Qt uyumlu hale getirilebiliyor. O nedenle Nokia’nın geniş skalada ürettiği telefon modelleri arasındaki en büyük standardizasyonu bu araç ile sağlamakta.

Çoklu platform destekleyen bir GUI (Graphic User Interface) olduğu için birçok programlama diliyle uyumlu çalışır. Genel olarak ama C++ ile birlikte kullanılmaktadır. Nokia uygulama geliştirme ortamı için hazırlanan Nokia Qt Creator editörü de C++ için optimize edilmiştir. Ancak Qt yi sadece bir görsel uygulama kütüphanesiymiş gibi düşünmek de yanlış olur. Qt bünyesinde her türlü araç ve kütüphaneyi barındıran çok geniş bir ortamdır.

Araya girip ufak bir açıklama yapacağım; peki, belli bir platforma bağımlı kalmadan derken neyi kastediyoruz? Qt kullanarak geliştirdiğiniz uygulamaları üzerinde herhangi bir değişiklik yapmadan pek çok masaüstü bilgisayar ve gömülü işletim sistemlerinde kullanabilirsiniz. Qt, MacOS 10.2.8+, X11 ile UNIX (Linux, FreeBSD, Solaris) ve Windows 98/NT/2000/XP ve üzerini desteklemektedir. Qt ile yazmış olduğunuz kodları bu platformlar arasında rahatça taşıyabilirsiniz.

Qt arayüz geliştirme konusunda gelişmiş araçlara sahip olsa da aynı zamanda veritabanı ve ağ işlemleri konusunda da epeyce bir yeteneklidir. Özellikle veritabanı konusunda Qt çok büyük kolaylıklar sağlamaktadır. Qt,  Oracle,Ms Sql Server, Sybase Adeptive Server, IBM DB2, PostgreSQL, MySQL, Borland Interbase, SQLite, ve ODBC-uyumlu tüm veritabanlarını desteklemektedir.

Qt üzerine yazmaya devam edeceğim..

07 Mayıs 20110 commentsDevamı

Uzun zamandır varlığından haberdar olduğum ve 1-2 kişisel çalışma yaptığım processing’i artık kişisel tarihimin tozlu raflarından çıkartıp tekrar gündemime almam 2011′in en iyi olaylarından biri oldu. Hem öğrenmesi son derece kolay hem de bir o kadar görsel olduğu için çokta keyifli olan processing biraz daha yakından tanıtabilmek için bir yazı derledim. Türkiye’de henüz o kadar yaygın olmasa da yurtdışında özellikle sanatçıların çok sıklıkla kullandıkları bir programlama dili. Java üzerine geliştirildiği ve 100′den fazla kütüphane içermesiyle çok güçlü. Programlamaya da başlangıç için güzel bir nokta.

Processing Nedir?

Processing, resim, animasyon ve etkileşim yöntemleri geliştirebileceğiniz açık kaynak bir programlama dili ve ortamıdır. Çokluortam malzemeleriyle (resim, video ve ses gibi) sorunsuz çalışabilir, işleyebilir. Görsel bir çıktı üzerinden hareket ederek bilgisayar programlamanın prensipleri ve temellerini disiplin dışı kişilerinde çok rahat ve hızlı bir şekilde öğrenmesine olanak sağlar. O nedenle birçok araştırmacı, öğrenci, tasarımcı ve sanatçı tarafından tercih edilen bir programlama dilidir. Kendi yaptıkları profesyonel işlerinde prototip uygulama, sergi öğesi veya işlerinin niteliklerini artıracak nitelikte kullanmaktadır. Processing bu kadar farklı amaçlarda farklı insanların tercih etme sebeplerini sıralayacak olursak;

  • Açık kaynak ve tüm işletim sistemleri ile sorunsuz çalışabilmesi
  • 2D ve 3D ile sorunsuz çalışabilme bu görüntüler üzerinde kolay ve hızlı etkileşim yaratabilme (gelişmiş 2D ve 3D kütüphaneleri)
  • Uygulama içersinden basit ve kolay PDF çıktılar alabilme (zengin PDF kütüphaneleri)
  • OpenGL entegrasyonu ile 3D motor kullanımı
  • Ses, video başta olmak üzere 100’den fazla kütüphane ile birçok çoklu ortam öğesi ile sorunsuz çalışabilme
  • Web ve masaüstü’de çalışabilir uygulamalar yaratabilme
  • Sadece processing için özelleştirilmiş bir programlama ortamı (PDE – Processing Development Enviroment)
  • Geniş kaynak erişimi (Güncel ve eksiksiz dokümantasyon ve özel gereksinimler üzerine yazılmış çokça sayıda kitap)

Bu sebeplerden ötürü processing her geçen gün daha fazla kişi tarafından kullanılmaktadır. 2001 ilkbahar’ında basit bir toplantıda sohbet arasında proje geliştirme süreçlerinde hızlı ve kolay prototip geliştirme için tasarlanan bu programlama dili günümüzde birçok niteliğe sahip yurtdışında yaygın tercih edilen bir programlama dili haline gelmiştir.

2002 yılından 2005 yılına kadar alpha sürümü ile yayında olan programlama dili 2008 yılına kadar beta olarak hizmet verdi. Bu zaman içersinde binlerce kişi tarafından indirilip kullanılan processing, Java ve C++ gibi dillerdeki katı kurallardan ve gereksinimlerden arındırılarak son haline kavuştu. Bunun için de dahili bir sistem üzerine geliştirildi ve processing’e yeni özellikler katmayı kolaylaştırmak için kütüphane yapısı kullanıldı. Bu yapı sayesinde de processing çok kısa zamanda 100’den fazla kütüphaneye sahip oldu.

Processing’de kod yazma işlemi ilk çıkış noktasındaki prototip noktasına hep bağlı kaldı. O nedenle de processing’de kodlama yaparken aslında sketching (eskiz) hazırlanmakta. Processing’de yeni bir sayfa açtığınızda, yeni bir sketch yaratmış oluyorsunuz. O nedenle klasik programlama dillerindeki yapı ve teorinin önemi ikinci plana düşürüldü denebilir. Çünkü processing ile kod yazmak için kütüphanedeki hazır fonksiyonları ve nesneleri kullanmanız yeterli oluyor. Ekstra hiçbir komuta veya yapıya gereksinim duymuyorsunuz. Tüm bu öğrenme sürecinizi de bilgisayar grafikleri ile beraber yaptığınız içinde bilgisayar mimarisine hiç bulaşmadan görsel öğeler ve etkileşim metodlarıyla bilgisayar programlamayı kavrayabiliyorsunuz.

Bu esnekliği sayesinde processing’de kod yazma ile kağıt üzerinde eskiz yapmak için harcayacağınız performans nerdeyse aynı niteliklerdedir. Kağıt üzerinde çizdiğiniz bir karakteri hızlı bir şekilde processing’e aktarabilir ve hareketlendirebilirsiniz. Böylece size esnek ve hızlı çalışabileceğiniz bir ortam yaratabilir. Ayrıca, yukarda da bahsedildiği gibi zengin kütüphane seçeneklerinden faydalanarak profesyonel nitelikler barındıran bilgisayar programları yazabilirsiniz.

Processing’in diğer programlama dilleriyle ilişkisel yapısına baktığımız zaman ise bir tür java olduğu görebilirsiniz. Fakat etkileşim metotları ve bilgisayar grafikleri üzerine özel nitelikler barındırmaktadır. Processing’in grafik yapısı da PostScript ve OpenGL ile ilişkilendirilmiştir. Böylece kompleks niteliklerdeki programlama dilleri basit bir altyapı ile harmanlanarak daha anlaşılır ve daha öğrenebilir bir hal kazandırılmıştır.

Genel Dil Özellikleri

  • Processing için özel olarak hazırlanmış Processing Development Enviroment (PDE) adı ile bir geliştirme ortamı vardır. Bu ortam tamamen processing için tasarlanmıştır. O nedenle sade ve basit bir arabirimidir. Bu sade ve basit arabirim üzerinden processing kodları yazılabilir.
  • Procesing uygulamalarını yayımlamaya hazır hale getirmek için PDE’deki Export seçeneğini kullanmanız yeterlidir. Bu işlem sonucunda uygulamanızı ister masaüstünde çalıştırabilir isterseniz internette yayınlayabilirsiniz.
  • Dilin söz dizimi (syntax kuralları) gayet basit ve anlaşılabilir. Sizi katı kurallara boğmaz.
  • Processing ile ürettiğiniz uygulamaları video ve ses editing ile tekrar işleme sokabilirsiniz.
  • İster nesne tabanlı programlama yapmanıza izin verir. Zaten dil mimariside bu programlama metodu üzerine kurulmuştur.

Processing hakkında detaylı bilgi için kendi sitesini ziyaret etmenizi öneririm. Ayrıca sitedeki sergi bölümüde processing’in gücü gösteren nitelikli işleri barındırıyor. Processing şu an 1.2.1 sürümünde. İndirip bir göz atmanızı tavsiye ederim..

25 Mart 20110 commentsDevamı
View Sidebar