10 Aralık 2016 Cumartesi

Rakip Kardeşler Python ve Ruby Programlama Dillerinin Benzerlikleri ile Farkları

Bir yandan yazılmaya çalışılan bir kurgu roman bir yandan aslında Manga olarak çıkması planlanmış ama gerçekleşmemiş "Kızıl Karanlık" isimli projenin devam çalışmaları ve diğer işler güçlerin arasında mümkün olduğunca bilgilendirici olmasını umduğum yazılar paylaşmaya çalışacağım her gün. Yeterince ilgi görürse ücretsiz olarak Gitbook üzerinde kitaplaştırılıp özgür bir lisans ile paylaşılacak bir projedir bu. Blog üzerindeki ilk paylaşım da hazır yeni başlayanlara tavsiye niteliğinde iken bu yazıda da ülkemizde çok popüler bir dil olan Python ile Ruby'nin hikayeleri, misyonları ve benzeyen yanları ile birbirinden ayrılan yanları hakkında birikimim yettiğince bilgi vermeye çalışacağım.

Başlamadan önce önemle belirtmem gerekir ki, ben bir Python gurusu değilim. Yakın dönemde olmayacağım da inkar edecek olsam bile aşikar.

Bilmeyenler ama merak edenler için bir kez daha tekrar edelim: Python, nesne yönelimli, yorumlanan, modüler ve etkileşimli bir yüksek seviyeli programlama dilidir.

Söz dizimi sade ve kodlama bloklarının hiyerarşisinin girintilerle belirleniyor olması öğrenilmesini ve akılda kalmasını bir hayli kolaylaştırmaktadır.  Vikipedi üzerinde de belirtildiği gibi:

"Modüler yapısı, sınıf dizgesini (sistem) ve her türlü veri alanı girişini destekler. Hemen hemen her türlü platformda çalışabilir. (Unix , Linux, Mac, Windows, Amiga, Symbian). Python ile sistem programlama, kullanıcı arabirimi programlama, ağ programlama, uygulama ve veritabanı yazılımı programlama gibi birçok alanda yazılım geliştirebilirsiniz. Büyük yazılımların hızlı bir şekilde prototiplerinin üretilmesi ve denenmesi gerektiği durumlarda da C ya da C++ gibi dillere tercih edilir."

9 Aralık 2016 Cuma

Atom ve Sublime Text 3 Metin Editörlerini bir IDE imişçesine Etkin Kullanmak (Ruby ve Python İçin)

Hangi alanda geliştirme yapıyor olursak olalım metin editörleri işimizin vazgeçilmez bir parçasıdır ve her konuda olduğu gibi bu konuda da fanatizm sahibi kişilerle karşılaşmanız mümkündür.
Ben bu yazıda tek bir editöre odaklanmaktan ziyade hakkında bilgi sahibi olduğum bir kaç editör konusunda faydalı olabileceğini düşündüğüm bilgiler paylaşacağım.

8 Aralık 2016 Perşembe

Hangi Programalama Dilini Öğrenmeliyim?

Kimse her şeyi bilemez elbet ya da kimsenin her şeyi öğrenecek vakti yok, ama, herkes bir şekilde bir yerden başlamalı sonuçta. Kuşkusuz her programlama veyahut bilgi teknolojisi odaklı sosyal medya grubunun tekrar tekrar sorulan yegane sorularından biridir başlıktaki soru. 
Herhangi bir geliştirici grubu da kendi güvenli alanlarını ve tabularını yarattıkları dil ile cevap vereceklerdir bu soruya. Görüleceği üzere direkt sorulduğunda ben dahil pek çok kimseden objektif bir cevap alınması da bir hayli zor. Peki o zaman ne yapacağız?

- İnternet üzerinde trend olmuş dil listerini mi baz alsak?
- En populer grubu olan dilleri mi?

Hayır!.. kesinlikle yeni sorularla kafamızı karıştırmayacağız. Öncelikle 'dil' sözcüğünün -ve aracının- en basit tanımına odaklanacağız. Dil bizim iletişim ve etkileşim aracımız ve bir programlama dili de bizim bilgisayar ile iletişim kurarak taleplerimizi ileteceğimiz ve bu taleplerin karşılığının nasıl sunulacağını belirleyeceğimiz bir araç.

Bu durumda iletişim kısmına odaklanırsak kendi anadilimizde bir makale, bir şiir ya da kompozisyon yazarken dilin ne olduğunun bir önemi yoktur. Önemli olan bizim o dile hakimiyetimiz ve dilin kalıpları, cümle yapısı, noktalama işaretlerinin kullanımı ve dil içinde anlamlara erişebilmemizi sağlayacak kelime dağarcığı bilgimizdir. Tıpkı bilgisayar ile iletişim kurduğumuzda olduğu gibi.

Öncelikle bilmeniz gereken bilgisayarların çok sayıda işlemi büyük hızla yaparak sonucunu sunabilmeleri ancak sandığımız manada da akıllı olmadıklarıdır. Bu yüzden başlangıç olarak bilgisayar algısına odaklanan dillere adapte olabilmek biraz daha zaman alabilir.

Öğrenmeye ilk başladığınızda insan algısı tarafına odaklanan bir dil tercih etmek süreci ve kavramları oturtup çalışma prensiplerini anlamanızı hızlandıracaktır. Bir programlama dilini seçip öğrenmeye başlamadan önce öğrenmenizi tavisiye edeceğim dil İnglizce'dir bu yüzden.

Temel bir İngilizce bilgisi dahi size bir hayli ivme kazandıracaktır.

İnsan dili ve algısına daha yakın populer dilleri araştırırsanız ulaşacağınız sonuçlar:

* Python
* Visual Basic.NET
* PHP
* Javascript
* Ruby

Dilleri olacak büyük olasılıkla. Özellikle Python, Php ve Javascript dilleri ülkemizde de bir hayli kalabalık ve aktif sosyal medya gruplarına ve komüniteye sahip.
İstihza.com sitesi aracalığı ile python dilinin orjinal dökümanının çevirisinden tutun da gayet kapsamlı ve ücretsiz Türkçe bir kitaba erişebilmeniz de mümkün.
Benim ağırlıklı olarak tercih ettiğim Ruby dilinde ise biraz daha fazla İngilizce bilgisi ve ilgisi gerekecektir. Her ne kadar Türkçe kaynaklar olsa da yeterlilik ve kalite bakımından diğer üç alternatifteki kaynakların (Python, PHP, Javascript) avantajını itiraf etmem gerekiyor.