Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Archive for the ‘Bilişim-Teknoloji’ Category

Spam (İstenmeyen İleti) Azalıyormuş

leave a comment

turk.internet.com’daki habere göre dünya çapında spam (istenmeyen, yığın ileti) miktarında düşüş yaşanmaktaymış.

Ama ben her gün yüzlerce spam ileti temizlemeye devam ediyorum. “Spam artık önemli bir sorun değil” diyen var mı? Ne yazık ki spam tespit algoritmaları akıllandıkça spam’ciler daha yaratıcı yöntemler buluyorlar.

Spam demişken, Türk Telekom’un 25 numaralı SMTP portunu kapatması kimin işini zorlaştırdı ve kimin işine yaradı acaba?

Written by vtunali

Ocak 10th, 2011 at 2:22 am

Posted in Bilişim-Teknoloji

Tagged with , ,

Hangi Programlama Dili Daha Popüler?

leave a comment

Programlama dillerinin dünya çapında popülerliklerini değerlendiren birkaç site var. Bu sitelerde 2010 itibariyle genel duruma grafiklerle bir bakalım.

www.langpop.com

Bu sitede popülerite için çeşitli kaynaklardan veriler derlenmiş. Bu kaynaklardan bazıları şöyle: Yahoo, Craigslist, Powell’s Books, Freshmeat, Google Code, Del.icio.us ve Ohloh. Her bir kaynaktaki popülerite ayrı ayrı görülebileceği gibi, aşağıdaki grafikte tüm kaynaklar eşit ağırlıklı kabul edilerek elde edilmiş genel durum görülmekte. Bu sonuçlara göre Java, C ve C++ oldukça popüler görünüyor. C# ise VB ve Delphi’ye göre epeyce popüler.

Popüler programlama dilleri

www.ohloh.net

Ohloh.net, açık kaynak yazılımlar ve yazılımcılar için bir dizin ve topluluk. Burada istediğiniz programlama dillerini seçerek birbiriyle karşılaştırmasını yapabiliyorsunuz. Aşağıdaki grafikteki değerler, buraya kayıtlı yazılımcılar tarafından “commit”lerin sayısından toplanmış (sitede, güncellenen kod satırı sayısı, proje sayısı vb. çeşitli kriterlere göre de değerlendirme yapılabiliyor ancak en makul yaklaşım “commit”lerin sayısı gibi görünüyor bana da). Bu grafiğe göre son 10 yıldır C++’ın popülerliği düşerken Java’nınki yükseliyor. C#, PHP ve Python’da da yükseliş görülürken, VB’nin çok değişmediği görülüyor.

Popüler programlama dilleri

www.tiobe.com

Tiobe’deki veriler de çeşitli kaynaklardan derlenerek oluşturuluyor. Aşağıdaki grafikte yaklaşık 10 yıllık bir karşılaştırma görülmekte. Bu grafikte öncekilerle paralel sonuçlar içeriyor.

Popüler programlama dilleri

Dünyada durum bu şekilde. Acaba Türkiye’de nasıl? Benzer çalışmaları Türkiye için de yapmak lazım aslında. Ya da en azından yazılım sektöründe çalışanlar arasında belirli periyotlarla anketler yapılsa ve bunlar yayınlansa çok güzel olur. Belki de yapılıyordur, benim haberim olmamıştır. Bu konuda bilgisi olan varsa yorumlarıyla katılırsa çok memnun olurum. Kariyer sitelerindeki ve gazetelerin İK sayfalarındaki iş ilanları, piyasadaki programcılık/yazılımcılık kursları ve kitapları da popülerlik bakımından belli bir fikir verebilir sanıyorum.

Benim kişisel gözlemlerim ve tahminlerim Türkiye’de son yıllarda C# dilinin yaygınlaştığı, Delphi’nin eski popülerliğini .Net desteğine rağmen büyük ölçüde kaybettiği, Java’nın da en popüler diller arasında olduğu yönünde. Siz ne dersiniz?


29.10.2010 tarihli ek: Bu konuyla ilgili şu makale gözüme çarptı 7 programming languages on the rise. Makalede özetle Python, Ruby, MATLAB, JavaScript, R, Erlang, Cobol ve CUDA dillerinin de yükselişte olduğundan bahsediliyor. Diğerleri tamam da Cobol’u bu listede görmek çok ilginç.

Written by vtunali

Ekim 23rd, 2010 at 12:41 pm

Çocuklar, Bilgisayar ve Internet

leave a comment

Çocuklar ve Bilgisayar
Profesyonel iş yaşamımın dışında “ailemizin bilgisayarcısı” olarak aile içinde PC toplama, Windows kurulumu, virüs temizliği, internete bağlantı ayarları yapma gibi görevlerimin yanı sıra zaman zaman çeşitli konularda da danışmanlık yapıyorum.

Birkaç yıldır özellikle internetin de yaygınlaşmasıyla birlikte en çok sorulan sorular aşağı yukarı şunlar oluyor:

  • Eve bilgisayar alalım mı? Oğlanın/kızın derslerine faydası olur mu? Yoksa oyundan başını kaldırmaz, derslerini aksatır mı?
  • Eve internet bağlatalım mı? Yoksa biraz daha bekleyelim mi?
  • Bilgisayar kullanımını kısıtlayalım mı? Günde kaç saatten fazla olmamalı?

Bu konularla ilgili olarak çocuk gelişimi ve psikolojisi açısından herhangi bir görüşümün olması mümkün değil; işin o tarafını alanının uzmanlarına bırakmalı. Ancak ben konuya daha çok çağın getirdiği teknolojik olanaklar ve bunların yararları ve/ya zararları açısından bakıyorum ve gelen soruları bu doğrultuda yanıtlıyorum.

Kişisel görüşüm çok net: bilgisayar ve internet bağlantısı artık olmazsa olmaz durumunda ve ailenin imkanları ölçüsünde iyi bir bilgisayar alınması ve internet bağlantısı kurulması taraftarıyım.

Aileler elbette ki çocuklarının okul dışındaki bütün zamanını bilgisayar başında geçirmesinden ve bu nedenle de en temel görevleri olan derslerini ihmal etmesinden endişe ediyorlar. Bu endişeye özünde katılıyorum. Ancak şunu düşünmek lazım, bilgisayar yokken aynı endişeyi evdeki TV için duyuyor muyuz? Evde TV seyretmeye kısıtlama getiriyor muyuz?

Ayrıca, çocuğun vaktini evde bilgisayar başında oyun ile ya da internet’te geçirmesi, dışarıda ne olduğunu bilmediğiniz internet kafelerde geçirmesinden iyidir (internet kafe sahipleri hemen kızmasınlar, yasaların koyduğu yaş sınırlamasına kaç tanesi uyuyor, kaç tanesi temiz ve düzgün bir ortam sağlıyor, kaç tanesi çocukların zararlı sitelere girmemesi için teknik donanıma sahip???).

Bence bilgisayar ve internet kullanımı için doğrudan kısıtlama getirmek yerine bu olanakların derslerini aksatmaması koşuluyla sağlanacağı konusunda bilinçlendirme yoluna gidilmeli ve tabii bu durum izlenmeli. Günlük kullanım süresini limitleme taraftarı değilim. Derslerini aksatmayan bir öğrenci zaten oyun oynasa da, MSN’de ve Facebook’ta zaman geçirse de bunun dengesini kurabiliyor demektir. İlk zamanlar büyük eğlence konumunda olan ve bilgisayarı kullanma “amac“ı olan oyunlar ve sosyal ağ siteleri bir süre sonra “araç” haline gelecektir. Bilgisayar ve internet zamanla TV gibi olağan bir hale gelecek, çocuk bunları okulu için ya da kişisel gelişimi doğrultusunda bireysel ve sosyal gereksinimlerine göre kullanmaya başlayacaktır. Dolayısıyla zararından çok yararı olacaktır.

Bilgisayar ve internetin insanları yıllardır korkulduğu gibi asosyal hale getirdiğini hiç düşünmüyorum. Olayları çağın teknolojisi ve olanakları içerisinde değerlendirmek gerekir, gelenekler açısından değil. “Bizim zamanımızda bilgisayar/internet/cep telefonu/vs. yoktu” şeklindeki cümleler artık çok anlamsız. Dünya değişirken beşeri ilişkilerin şeklinin değişmesi, başka bir hal almasından doğal ne olabilir. Bilgiye erişim ve haber alma şekillerinin farklılaşmasından doğal ne olabilir? Çocuklarımızın kendilerinden bir önceki nesile göre bile bambaşka bir dünyada yaşadağını kabul etmeliyiz. Onların bilgisayar, bilişim, iletişim ve küresel ağ kültüründen yoksun bırakılmasının mantıklı bir yanını göremiyorum.

Internet bağlayalım ama çocuğumuzun zararlı sitelere girmesini istemiyoruz” diyen aileler; bu konuda pek çok ücretli ve ücretsiz yazılım mevcut. Bunlardan birini kullanarak gerekli ve yeterli önlemleri almak mümkün. Ayrıca çok çeşitli ücretli ve ücretsiz antivirüs yazılımları ile zararlı yazılımların bilgisayarı kullanılamaz duruma getirmesini büyük ölçüde engellemek mümkün. Zararlarından korkarak son derece yararlı teknolojik olanaklardan çocuklarımızı mahrum etmemeliyiz.

Bu konuyla ilgili görüşlerinizi ve varsa deneyimlerinizi lütfen yorumlarınızla paylaşın. Gözden kaçırdığım, atladığım şeyler olabilir, yorumlarınız sayesinde ben de öğrenmiş olurum.

Written by vtunali

Mayıs 28th, 2010 at 11:48 pm

Test! Test! Test!

leave a comment

Programdaki bir hatanın farkedildiği zamana göre geliştirici şirkete hem maddi olarak hem de prestij olarak verdiği zararın boyutu değişiklik gösterir.

  1. Programcının kendi testleri sırasında: Hatanın en zararsız olduğu, en çabuk ortadan kaldırıldığı aşamadır. Keşke bütün hatalar bu aşamada farkedilse.
  2. (Varsa) Test ekibinin testleri sırasında: Müşteriye ulaşmadan önce programınızı bir veya daha fazla aşamada test eden ve kalite kontrolünden geçiren bir ekip varsa kendinizi şanslı sayabilirsiniz. Bu aşamada farkedilen hatalar genelde rutin çalışma programınızda aksamalara neden olmak ve tekrar o konuya dönüş yapmanızı gerektirmek dışında zararsız sayılabilirler. Yine de can sıkıcı; keşke en başında farkedilseydi bu hata.
  3. Takım arkadaşları tarafından başka bir çalışmanın testleri sırasında: Bunu da 2. maddeye benzetebiliriz.
  4. Müşteriye yükleme ve eğitimler sırasında operasyon ekibi tarafından: Müşteride henüz ciddi boyutta veri girişi yapılmadığı ve dolayısıyla hata nedeniyle veri bozulması, işlerin aksaması gibi bir soruna neden olmadığı için çok ciddi boyutta bir zararı olmamakla birlikte operasyon ekibini zor durumda bırakan bir hata sinir bozucu olabilir.
  5. Müşteri tarafından erken bir zamanda: Farkedilen bir hatayı kodda arayıp bulmak ve düzeltmek işin en kolay tarafı. İşin zor tarafı ise müşterinin işine bir an önce devam edebilmesini sağlamak ve varsa bozuk verilerin düzeltilerek sorunlu iş süreçlerinin düzene sokulmasıdır. Operasyon ve müşteri destek ekibine yardımcı olmakla geçen saatler ve belki de günler programcının normal çalışma programının bir hayli aksamasına neden olur.
  6. Müşteri tarafından uzun bir kullanım süresinden sonra: Bu aşamada genellikle tonlarca hatalı veri oluşmuş ve kimsenin de dikkatini çekmemiştir. Bu hatalı veriler üzerinden hatalı raporlamalar yapılmış ve hatta resmî kayıtlara bu haliyle geçmiştir. Sorunlu verileri düzeltmek gerekir ama eskiye dönük tutarsızlık yaratacağı için düzeltmemek bazen yapılacak en iyi şey olabilir. Hatanın müşteriye maliyeti yanında geliştirici şirkete prestij ve güven kaybı olarak da ciddi yansımaları olabilir.

Son birkaç maddede yer alanlara benzer senaryolar deneyim sahibi her yazılımcının başından mutlaka geçmiştir. Deneyimli yazılımcılar bu nedenle hatalardan ders alırlar, hataya düşülecek noktaları çok iyi bilirler, yılların deneyimine ve sahip oldukları derin yazılımcılık bilgisine güvenmek hatasına düşmeyip, yazdıkları programları ayrıntılı ve düzenli bir şekilde test ederler. Gerçek şu ki herkes hata yapabilir, herkesin gözünden kaçan şeyler olabilir; bunları yakalamanın yolu test etmekten geçer.

Programcılığın yarısı programı yazmak/kodlamak ise yarısı da ortaya çıkan programı sağlıklı bir şekilde test etmektir. Yani, tasarlamaya ve kodlamaya zaman ayrıldığı kadar programın testine de zaman ayrılmalıdır. Yazılımcılar genelde testi sıkıcı bulurlar, işlerinin programlamak olduğunu, test etmek olmadığını düşünürler ve teste sıra geldiğinde üstünkörü bir çalışmayla işlerini sonlandırırlar. “Test ekibi ne güne duruyor, bir sorun varsa test ekibi nasıl olsa geri dönüş yapar.” düşüncesinden hareketle ve bazen de projenin zaman baskısı nedeniyle test sürecine hakettiği zamanı ve eforu ayırmazlar. Oysa ki sonradan farkedilen bir hatanın düzeltilmesi için normalden çok daha fazla zaman ve efor gerekir.

Yazılımcının görevi fonksiyonellik ve kullanışlılık bakımından gereksinimleri sağlayan bir yazılımı planlanan sürede oluşturmak olduğu kadar bu yazılımı en az kusurlu şekilde oluşturmaktır. Başarılı yazılımcılar çabuk ve çok iş çıkaran değil, en az hatayla dönüş olan işler çıkaran yazılımcılardır.

Written by vtunali

Nisan 20th, 2010 at 10:46 pm

Linaks, Laynaks, Laynuks, Linüks!!!

leave a comment

Türkçe sözcükleri bile ımerikın ya da inglişş (*) aksanıyla söylemeye meraklı bir sürü insanın olduğu bir Türkiye’de bilişimciler arasında Linux’un da çeşitli şekillerde telaffuz edildiğini duymak çok şaşırtıcı değil. Öyle ki İngilizce’nin İ’sini bilmeyenler bu konuda daha bile ısrarcı; benden duydukları şekliyle söylemek ve hatalarını düzeltmek yerine kendi bildiklerinde o kadar inatçılar ki.

Çok önemli bir mesele değil ama yine de birşeyin doğrusunu bilmek her zaman daha iyidir. Ayrıca bu konu pek çok defa, pek çok sitede işlendi, ama yine de görmeyenler, bilmeyenler için bir kez de ben yazmış olayım.

YANLIŞ okunuşlara örnekler:
Linaks, Laynuks, Laynaks, Linüks!!!

DOĞRU okunuş:
Linuks ya da Linıks

(Yabancı dilde bir sözcüğü Türkçe harflerle yazmak çok doğru değil ama aşağı yukarı böyle. Ben dosdoğru Linuks diye okumayı tercih ediyorum.)

Bir de Linus Torvalds’ın sesinden duyalım bakalım nasıl okunmalıymış:
torvalds-says-linux.wav (82K)

Bu ses kaydında Linus şu cümleyi seslendiriyor:

Hello, this is Linus Torvalds, and I pronounce Linux as Linux!

Ses kaydı yetmez, görmem lazım diyenler, o zaman Google Video sitesindeki şu videoya bir gözatın:
http://video.google.com/videoplay?docid=1061159908534146317

Written by vtunali

Şubat 27th, 2010 at 1:59 am