11 Temmuz 2010

Re: Java Programcıları Geleceğin Pizza Dağıtıcılarından Farksız mı Olacak?

Eskiden bir tartışmada yazdığım yanıtı burada paylaşmak istedim:

Programlama dilleri de aynı konuşma dillerinde olduğu gibi birer araçtır. Anlatmak istediğinizi hangi dilde daha rahat anlatıyorsanız o dili kullanmayı tercih edebilirsiniz. İsterseniz birden fazla dil de öğrenebilirsiniz. İsterseniz de dildeki edebiyatla ilgilenirsiniz o zaman dili araç olarak değil amaç olarak kullanmaya başlarsınız.

Ben web programlama alanıyla ilgileniyorum ( Php Mysql JQuery). Önemli olan işi istenen şekilde yapmak olduğu için bazen hazır bileşenler yada kodlar kullanıyorum bazen de bunu araştırmaktansa o konudaki bilgim yeterli düzeydeyse (yada öğrenme hevesim yerindeyse) yeniden yapmayı tercih edebiliyorum. Örneğin ben şu ana kadar mvc yapısını kullanan birkaç php framework sistemini öğrenmeye başlayıp bir süre sonra çeşitli nedenlerden yarım bıraktım ve herbiri için vakit harcadım. Bırakma nedenlerimi öğrenme sürecinin uzun olması, beklentilerimi karşılamaması, aradığım bazı özelliklerin ancak eklentiler yoluyla elde edilebilmesi, yavaş olması, çok katı kurallarla çalışması (esnekliğin az olması) vb. olarak sıralayabilirim. Daha sonra kendi framework sistemimi yazmaya başladım ve bugün istediğim gibi ihtiyacım olan özellikleri ekleyebildiğim ve daha da önemlisi kullanım yapısını kendim geliştirdiğim için daha rahat kullanabildiğim bir framework sistemim var. Kodlarını kendim yazdığım için istediğim zaman sistemde değişiklik yapabiliyorum, yeni özellikler ekleyebiliyorum ve bunları yaparken kendimi daha da geliştirebiliyorum. Bunun yanında sistemin kullanımını öğrenmek için herhangi bir belge okumam gerekmiyor. Bu sistemde mutlaka eksikler ve hatalar vardır ancak kontrolü ele almanın yukarıda saydığım avantajları var.

Demek istediğim hazır kütüphane/ortam kullanmak yada tekerleği yeniden icad etmek tamamen programcının kendi tercihidir. Programcı yüzlerce/binlerce işlevin nasıl kullanıldığını ezberleyip robot gibi çalışan biri olmamalı. Yaratıcılık ve probleme farklı yönlerden yaklaşma gibi konularda kendini geliştirmeye çalışmalıdır. Ancak bunun yanında elbette pratik olmayı da ihmal etmemelidir. Programcı kullandığı dili amaç olarak değil araç olarak gördüğü sürece hangi dil/ide/framework/kütüphane/işletim sistemi kullandığının bir önemi yoktur. Eğer programcı java kullanmak istiyorsa java kullanır. Bir dili kullanan programcının ileride ne olacağını bilemezsiniz çünkü bunun için o programcının o dili kullanarak ne yaptığını bilmeniz gerekir. Tekrar ediyorum dil amaç değil bir araçtır.

Kripto paralar hakkında

Kripto paralar, merkezi olmayan, şifrelenmiş ve dağıtılmış bir veritabanı olan blok zinciri teknolojisi kullanılarak oluşturulan dijital par...