Çarşamba, Ağustos 31, 2005

Programcılık Nereye Gidiyor ?

Bazen düşünüyorum programcılık nereye gidiyor diye....


Linux-programlama listesinde bir süredir devam eden bir tartışma var. Bir arkadaşımız genetik ile ilgili bir proje için 2 bitlik bir veri tipni nasıl oluşturacağını ve bu işin kazançlı olup oladığını soruyordu. Tüm tartışmaya linux-programlama listesinden erişebilirsiniz. Ancak benim aklıma takılan serdar hocanın yazdığı bir iletiydi


Alıntı:
Selamlar...


İki bitlik değişken olur. Ama bu yanındaki diğer bitlerde doluysa bir anlam ifade eder. Bkz: struct, ":" vs.


10^7 ne eder 10 milyon mu? 2 bit olsa her değer ne olur ? 20 Milyon bit. Ne eder, kabaca 2.5 MB filan. Her biri 8 bit olsa, 10 MB eder.


Genel olarak çoğu mimaride "int" 32 bit uzunlukta. Bu da bir int içine 16 tane 2 bit saklayabileceğiniz anlamına gelir. Fakat bu bitleri buradan çıkarmak ve yerleştirmek için çok çok daha fazla zaman harcarsınız. Kabaca, bu bitleri karşılaştırmak 5 saat çevrimi sürse, bitleri çıkarmak 30 saat çevrimi, koymak 30 saat çevrimi filan eder. Toplam 65 saat çevrimi. Bu da 10 kat daha yavaş çalışacaksınız demek olur.


2 yerine 8 bit kullanmakta benzer bir yavaşlığa sebep olur. Genel kural olarak en hızlı işlenen değişkenler "int" olanlardır.


Görüldüğü üzere sorun optimizasyon sorunu. Seçim yapmanız lazım: "Optimize for size" yada "Optimize for speed" arasında. 256 MB RAM olan bir sisteme dudak büküldüğünü düşünürsek, bir kaç MB için bir sürü takla atmaya ihtiyaç olmaz sanıyorum. O kodu yazarken kullanacağınız elektrik/su parasına sisteme biraz daha RAM
alabilirsiniz nerdeyse.


Saygı ve sevgiler..



Yıl içinde java ile ilgili bir sunumda java için yaklaşık şöyle birşey deniyordu


Alıntı:
JIT


Java ilk çıktığında bytecode işletme hızı çok iyi değildi. yerine göre sistemin öz yazılımlarından 5-10 kat yavaş çalışıyordu. Bu nedenle bazı yazılım geliştirme şirketleri JIT yanı "Just-in-time compile", "anında derleme" araçları üretmeye başladılar. Yapılan şey byte kodu sanal makinenin kurulu olduğu gerçek sistemin diline anında derleme yaparak dönüştürmesiydi. Bu sayede performansta ciddi artışlar sağlandı. Ama 2000 yılından sonra HotSpot teknolojisinin gelişmesi ile JIT'in işlevi VM'içinde yer almaya başlamış, işlemci hızı ve bellek miktarının dramatik biçimde artması ile dış JIT yazılımları popülerliğini kaybetmiştir. Bugün halen bir kaç ürün pazarda bulunsa da genellikle bu yöndeki ihtiyaç yok olmuş gibi gözükmektedir.


Kaynak vikipedi



Yani sonuç olarak gelişen teknolojinin işçilerinin yerini alan robotları üretmesi gibi gelişen teknoloji ve görsel programlama araçları da biz programcıların (en azından kod optimizasyonu vs gibi konulara değer ve önem verenlerin) yerinimi alacak.


Şimdilik Büyük ölçekli projelerde kod optimizasyonu önemli olsada sıradan günlük kullanım için olan ve pc ler için yazılan programlarda önemini kaybetmekte gibi geliyor bana.


Teknolojinin bu hızda gelişimyle yakın gelecekte sunucular üzerinde yazılacak uygulamalar içinde önemini kaybedecek ve bizde hala burda lisp şöyle hızlı Ruby de şöyle kolay kod yazılıyor üstelik java dan da % bilmem kaç hızlı oluyor diye konuştuğumuzla kalacağız.


Bu gün sürekle bırak programcılığının yaygınlaşmasıyla yazdığı programın kodunun tamamını görmeyen (zaten görsede anlamayan) programcı sayısı o kadar fazla ki.


Üstelik bu adamlar bayağı ticari işlerde yapıyorlar. Mesela benim yarı-zamanlı çalıştığım kuruma gelip bizim sektör için son derece komik br fiyata komple çözüm öneren ve bayağı ciddi referanslar veren bir yazılım firması ile ilgili şefe sorduğum soru halen aklımdadır.


Ben : "Ne ile yazmışlar programı ? (Bahsettiğimiz program 300+ bilgisayar ve 100 bin doların üzerinde sunucularla çalışan bir kuruma kurulacak) "


Şef: "Visual Basic"


Ben : ..... ?!&%

Pazar, Ağustos 28, 2005

Tatil Bölüm 1

Tatile çıkabildim sonunda. Hesapta işten uzak duracaktım. Ama nerde gene jsp, jsf derken daldım işlere.

Hazır başlmışken biraz anlatayım. www.myeclipseide.com da bulabileceğiniz oldukça güzel bir ide var jsp,jsf,hibernate gibi ihtayacım olan pek çok teknolojiyi destekliyor. Ayrıca entegre bir görsel web tasarım aracı sayesinde jsp tasarımını oldukça kolaylaştırıyor. Kusursuz değil ama yıllık 29$ a sahip olabileceğiniz güzel bir ide.

Özelliklerini keşfettikçe yazacağım.

Bu arada en sonunda Kubuntu kurdum. Gerçekten güzel olmuş. Yalnız paket deposunda MidnightCommander olmamasını kınıyorum. Onun dışında güzel. Debianımın her seferinde sorun çıkardığı usb belleğimi sorunsuz tanıdı. Java ve Zemberek işini de halledersem babamı Linux a geçirmiş olacağım.

Perşembe, Ağustos 11, 2005

Hoş Geldin Galaksi

Otostopçunun galaksi rehberinin buradaki sinemaya gelişinin 3 hafta ertelendiği haberinin verdiği üzüntüyü. FM galaksi biraz olsun hafifletti. Netekim 100 ünlü türk büyğünden birinin dediği gibi "Fazlamesai zağmiağsı biır zağmia değil biır Zumğuriyettir".