Kendi meşrebinde hem blog, hem Türkçe dökümantasyon

Etiketler

11 Eylül 2010 Cumartesi

Herkes "KODIR" herkes "KOD YAZIYOR"

Evet, ben kıl ve gıcık biriyim. Neden mi? doğruları söylediğim için. Çok uzunca zamandır süper nefret ettiğim, sinir olduğum, hatta delirdiğim bir konu hakkında yazmak istiyorum. Pek çok kez de fikrimi çeşitli ortamlarda belirtmiş olmama rağmen, "söz uçar, yazı kalır" misali, bir kez daha bu konudaki fikirlerimi belirtmek istiyorum.

"KOD YAZIYORUM" demek havalıdır!

Öncelikle dünyanın oluşumuna kadar geri dönüyor ve "CODE" ( kod ) nedir kısaca bu konuya değinmek istiyorum.

Bilgisayarın ilk çıktığı dönemlerden gelen bir tabirdir. Günümüzdeki modern programlama dillerinin olmadığı çağlarda (!) bilgisayarı programlamak için kullanılan, gerçekten de "KOD"lardan oluşan yazım dilidir Assembly. ( Yani makine dili )

Benim şahsen tanışmam 1985-1986 yıllarına tekabül eder. 2010 yılı itibariyle ekrana bir yazı ( hello world ) yazırabilmek için yapmanı gereken;
// Commodore 64 BASIC ise
PRINT "HELLO WORLD"

// php ise
echo "hello world";

// asp ise
response.write "hello world"

// python ise
print "hello world"
şeklindedir. Ama bu işlemi, gerçekten "kod" yazarak Commodore 64'te yapmak için; önce hafızada bir yere bu yazıyı koymalı ve daha sonra ekranın ilgili koordinatına byte byte harfleri taşıyıp adreslemeniz gerekmektedir.

HAYDİ BİRAZ KOD YAZALIM


Hafızanın durumu: "M 2000 2020" yani $2000 ile $2020 arasındaki byte'lar görüntüleniyor. Gördüğünüz gibi 08-05-0C-0F gibi gerçektende "KOD"lar bulunuyor. Bunlar, 0-255 arasında ( yani $00-$ff arasında HEXDECIMAL yani 16'lık sayı sistemi ) ki byte'ları ifade eder. $0C aslında 10'luk sistemde 12, $0F'de 15'i ifade eder.

Hani bugün bu tarz şeyleri CSS renk kodlarında ( background-color: #ff0; )da kullanıyorsunuz... Hafızaya "I 2000 2020" komutu ile baktığımızda ( CBM-CODE olarak hafızaya bakarız ) HELLO WORLD yazdığını görürüz.
Yukarıdaki "CODE"da, minik bir loop ( döngü ) ile $2000'den önce 0. sonra 1. daha sonra 2., 3. ... harfi alıp, $0400'e, $0401'e $0402'ye yerleştiriyoruz. Ne zamana kadar, X 11 olana kadar. ( 11 = $0B )

Sonuç olarak ekranın sol üst köşesine "HELLO WORLD" yazdırıyorsunuz CODE yazarak.

Eğer bu işi Amiga'da yapmak isteseydik, iş çok daha korkunç boyutlara ulaşacaktı. Önce grafik ekranını açacaktık ( ekran moduna göre - hi/lo/med res ) daha sonra rom'dan ilgilili library'i kullanarak ekranın ilgili yerine byte byte harfleri taşıyacaktık. ( ki ben bile şuan bunu nasıl yaparım hatırlamıyorum (: )

Olur olmaz her duyduğunuz lafı kullanmayın!

Bugün 2010 itibariye, ne makine dili kaldı, ne makine kodu ne Assembly ne Assembler vs... Çünki bu şekilde "code" yazmak gerçekten de çok zahmetli ve gereksiz. Günümüzün modern programlama dilleriyle çok rahat yazılım geliştirmek mümkün...

PHP gibi, PYTHON gibi, JAVASCRIPT hatta C, JAVA, C++, C# vs vs vs bu yazılım dillerinin hiç biriyle yazılım geliştirdiğiniz zaman KOD YAZMIŞ OLMAZSINIZ! lütfen bunu unutmayın...

2005 yılında Gameboy Advance ( GBA ) ve Playstation Portable ( PSP ) için "INTRO" / "DEMO" yaparken ( Ansi-C dilinde ) örneğin çizgi çizdirme rutinlerini ( rutin lafı bile eski bir terimdir ve "code yazma" geleneğinden gelir ) çok daha hızlı olması için ASSEMBLY dilini kullanarak yapmıştım. Bunların dışında da son 5 yıldır ( Commodore 64 / Amiga dışında ) ne kod yazdım ne de etrafta "CODER" gördüm. ( 2010 Breakpoint Demoscene Party Commodore 64 Demo-Compo 1.si GLANCE grubunu hariç tutuyorum bu mevzulardan... Gerçek coder'lar halen yaşıyor! )

Zamanında, Amiga'da grafik işlerini, Blitter'ı DMA'yı Audio işlerini hızlı yapmak ve MULTI-TASK işlem yapabilmek için, arada YORUMLAMA olmadan, bilgisayarın, işlemcinin, ANA-DİLİNDE yazılım geliştirmek için kullanırdık makine dilini.

Amiga'da PASCAL, C vs vardı fakat bunların çalışması için önce derlenmesi ve daha sonra da makine diline çevrilmesi gerekiyordu. Demo/Intro gibi grafik/ses özelliklerini kullanmak ve hızlı işler yapmak için tek yok "CODE" yazmaktan geçiyordu.

Sonuç olarak "code" yazmak "coder" işidir. Lütfen herkes haddini bilerek kelime sarfetsin. Sırf havalı orijinal bişi diye, yada insanların anlamadığı ama "koool" bişi diye "KOD yazıyorum" denmesi benim delirmemi sağlıyor. Çünki hiç biriniz "CODE" yazmıyorsunuz!

Twitter'dan yüzlerce developer'ı takip ediyorum. Çoğu da çok acaip işlere imza atan, çığır açan insanlar... Objective-C'yi yemiş yutmuş, tonla framework yazmış onlarca API'da contributer olarak çalışıyor, işletim sistemi geliştiriyor filan... 2-3 yıldır takip ediyorum daha bir tanesi de kalkıp "kod yazıyorum" gibi bişi demedi...

Ey TÜRK YAZILIM GELİŞTİRİCİLERİ...

LÜTFEN haddinizi bilerek konuşun. Yaptığınız iş altı üstü script yazmak. ( keza ben de uzunca zamandır evime ekmeği script yazarak götürüyorum ve bundan da gurur duyuyorum ) Hava olsun diye, karizma olsun diye ulvi mertebe "CODER"lığı harcamayın lütfen!

Teşekkürler...

İzleyiciler

Blog Listem

Yazılacak Yazılar

  • Snow Leopard için service yazıyoruz!
  • MacPorts nedir?
  • Virtualbox , Ubuntu ve Host'da duran web folder'ı
  • Django'ya giriş?
  • Dashcode ile MobileSafari uygulaması
  • Quicklook için Plug-in yazalım?
View blog authority