Programmer, Hacker ve Developer Arasındaki Farklar ve Yazılım Sektöründeki Yerleri
Öncelikle altını kalın çizgilerle çizmek istediğim:
Hacker ve Cracker birbirine zıt iki kavramdır. Hacker (kültürü) yeni bir şeyler üretirken, Cracker, bir şeyleri bozar, sistemlere zarar verir.
Maalesef hem Türkçe, hem de İngilizce — tâbir-i câizse halk arasında— bu iki kavramın birbirine karıştırıldığını veya birbirinin yerine kullanıldığını görüyoruz. Hacker tabirinin sistemleri bozanlar için kullanılmaması gerektiğini irdeleyen Wikipedia yazısına ait kısım aşağıdadır:
There is a longstanding controversy about the term’s true meaning. In this controversy, the term hacker is reclaimed by computer programmers who argue that it refers simply to someone with an advanced understanding of computers and computer networks, and that cracker is the more appropriate term for those who break into computers, whether computer criminal (black hats) or computer security expert (white hats) — but a recent article concluded that: “…the black-hat meaning still prevails among the general public”.
Hacker ve Cracker farkını, İTÜ kütüphanesinde bir şekilde denk gelip okuduğum kitaptan öğrendim.
Programmer
Herhangi bir programlama diline hakim olan bütün kişileri kapsar. HTML, Javascript, CSS, vb dillerde yazan önyüz tasarımcıları da, Java, C#, C++, Ruby, Python ve diğer dillerde web uygulamaları yazanlar, Fortran, MATLAB ve diğer diller ile hesaplamalı mühendislik veya ismini bile bilmediğimiz script dillerinde kod yazan diğer mühendisler— buradan onlara selam olsun 😉 — veya RaspberryPI, Ardunio ve diğer gömülü sistemler ile uğraşan herkes birer programcıdır.
Hacker
Hacker, bir şeyler yapar. Issız bir adaya sersefil bıraksanız, önce kendine bir çakı yapar. Sonra ip bulur, odun toplar ve kendine bir barınak yapar.
Hacker, bazı sistemlerin davranış biçimini değiştirir. Tabi bu cracker gibi bozmak değildir. Bunu yaparken de bir amacı vardır.
Asıl amacı iletişim kurmak olan Android İşletim sistemli telefonunu Rootlayarak onu minik bir web-server, bilgisayarında harici bir webcam, yardımcı bir penetration testing aracı veya ev müzik sistemine çeviren kişi hacker sayılabilir.
Hackerlar bir şeyler yapar dedik. Bir şeylerden hoşnut değilse kendi çözümünü üretir ve kullanır dedik. Kullandığı editörde düzgün bir eklenti bulamaz eklenti yazar. Kullandığı framework, kendi hızına yetişemez, framework yazarlar. Hatta yazdığı dilleri beğenmez veya sırf macera olsun diye kendi dillerini yazalar.
Bir tanesi Olivier Breuleux, Earl Grey adında bir dil geliştirmeye karar vermiş ve HN üzerinde tanıtarak yaşadığı maceraları, zorlukları burada anlatmış.
Günümüz yerli hackerlarından aklıma gelenler aşağıda. Atom’a, VIM’e ve diğer editörlere eklenti yazanlardan, Grid Sistemleri yazanlara, kendi frameworklerini geliştirenlerden, kendi araçlarını yazanlara, kendi verimlilik araçlarını, tarayıcı eklentilerini yazanlar, hatta aralarında neredeyse kendi dilini yazdı diyebileceğimiz kişiler bile var.
- Serdar Dogruyol
- Fatih Kadir Akın
- Osman Yüksel
- Uğur “vigo” Özyılmazel
- Fatih Arslan
- Fatih Erikli
- Doğukan Güven Nomak
- Adem ilter
Hacker kültürü ve hacker ile alakalı daha detaylı bilgiyi dipnotlardaki [2] veya [3] numaralı bağlantılardan edinebilirsiniz.
Developer
Zurnanın zırt dediği yer. Önce tanımını yapalım:
Profesyonel eğitimli bir programcıdır. İşlerini belirli kural ve prensiplere göre yapan kişidir. İşi mevcut problemlere çözüm üretmek, tasarım ve uygulama yapmaktır. Bunu yaparken çoğunlukla mevcut araçları kullanır. Performans, güvenilirlik (reliability, robustness) ölçeklenebilirlik ve hatta güvenlik de developer sorumluluğundadır.
Kısaca “Developer” yazılım sektöründeki çoğu zaman istenen, sevilen iş bitirici yazılımcılardır.
Sonsöz:
Yazılım sektöründe “Yazılım Mühendisleri”, “Bilgisayar Mühendisleri”, “Bilgisayar Bilimcileri” de mevcut. Bunlardan bahsetmedim. Bir de gizli silahları olan, çok iyi kamufle olmuş, düşmanın ruhu duymasın diye yalın ayak hızlı ve sessizce yol alan Ninja’lar var tabi. Dikkat edin.
Hacker ve Developer kavramları birbirinden kesin çizgilerle ayrılmadığını birbirleriyle kültür alış-verişi yapmış iki ülke gibi olduklarını özellikle belirtmek istiyorum.
Dış Linkler
- Hackers: Heroes of the Computer Revolution — 25th Anniversary Edition [Amazon]
- How To Become A Hacker [Eric Steven Raymond]
- Nasıl Hacker Olunur? [Eric Steven Raymond’a ait yazının Belgeler.org’daki çevirisi]
- Hacker (computer security) [Wikipedia]
- The Difference Between a Programmer, a Hacker, and a Developer [Daniel Miessler’s Blog]
- Developers vs. Engineers vs. Scientists [Jeremy Kahn’s Blog]
- The Difference Between A Developer, A Programmer And A Computer Scientist