Contemporary Design Issues in Modern Programming Languages (Modern Programlama Dillerindeki Tasarım Sorunları)

Ahmet Alp Balkan tarafından 28 Şubat 2010 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji)   2 Yorum »

Design Issues in Modern Programming Languages (Modern Programlama Dillerindeki Tasarım Sorunları)
Ahmet Alp Balkan <ahmet at ahmetalpbalkan.com>

Details of a programming language design is one the most controversial issue in the theory of programming languages. Many years ago, languages designed for programming computers have

a syntax such that only a machine can understand and translate. Such languages were called “low-level programming languages” and they were not providing any abstraction functionality while coding a new program using these languages. [1] These machine languages are evolved to assembler and many years later we have “high-level programming languages” which sometimes hide all details of computer architecture and language implementation details with abstracting many kinds of functionality.
People “create” something when they do need it. With evolution of computers and computer programming, many reasons triggered creation of new programming languages. Most of the time, these reasons are about efficiency, usability, style, functionality (capability) of usage of these programming languages. Let’s say if a company hires a software engineer and request a computer program does a particular job, if engineer would code this program in assembly language, it may take months; on the other side, most probably, it would take a few days using a new-generation programming language. That is about the efficiency and saving money for enterprise market in software engineering. To do particular jobs in computers, labs or people design new programming languages which developers can get rid of unnecessary parts of implementation.

Readability and ease of coding are also reasons behind appearance of new programming languages. Recall from low-level programming languages, the first languages i.e. FORTRAN, ALGOL, COBOL were not consist on good readable codes. This is a big deal since many software is created collaborated today, the code written on a language must be readable easily by other developers as well. However, major languages designed in last 15 years consist on a syntax which is human-friendly. In this issue, it is not all about programming language design but also developers’ coding style. [2] On the other hand language syntax is exactly a limiting factor for code readability. Any code written on a language may not be readable even it has been coded by a pretty good developer. Besides that, collaboration is limited by readability. When Hejlsberg released C# language, one of the important benefit was ease of coding and readability of code.[3] Devamını Oku »


Çankaya’da Java ve Kariyer Günü

Ahmet Alp Balkan tarafından 8 Şubat 2010 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji, Etkinlik)   5 Yorum »

Çankaya Üniversitesi’nde 19 Şubat 2010 10.30-17.00 arasında CETURK tarafından “Java™ ve Kariyer Günü” gerçekleştiriliyor. Kayıt olmak ve detaylı bilgi almak için etkinliğin sitesine gidiniz. Katılanlara da katılım belgesi verilecekmiş. Ankara’daki yazılım geliştiricilerin bilgisine sunarım. :)


Takip Ettiğim Development Blogları

Ahmet Alp Balkan tarafından 28 Ocak 2010 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji, Hayatın İçinden, Site İncelemeleri)   15 Yorum »

Bir süredir içimden takip ettiğim development bloglarını sizlerle paylaşmak geliyordu. Siz de rss readerınız ile takip edebilirsiniz. Herhangi bir sıralama yapmadım.

  • Base Teknoloji: Güzel makaleler geliyor arada, keşke daha sık yazılsa.
  • İleriSeviye Blog: Emre Sevinç tarafından tutulan güzel bir blog. NLP ve open source hakkında güzel şeyler çıkabiliyor.
  • Android Developers Blog: Android platformundan ve yeni SDK’lardan haberler.
  • Google Research Blog: Google’ın Computer Science disiplinlerine katkıda bulunduğu alanlar ve çıkardığı paper’lar hakkında ufak yazılar.
  • Google Code Blog: Her developer’ın takip etmesi gereken, Google API’ları ve developer tool’ları hakkında haberler.
  • Invalid Opcode: Orta yaşa yaklaşmış bir fizikçi abimiz tarafından yazılıyor. Daha düne kadar eleştiri ve yorumlara kapalıydı. Şimdi açılmış daha interaktif, daha iyi olmuş. Güzel makalelere ve projelere linkler verilebiliyor.
  • Karalamalar: Emre Erkan’dan güzel bir blog. Kulak dolgunluğu edinilebilir.
  • Bulutlararası: Cloud computing ile çok ilgisi yok ama piyasadan güzel gelişmeler bildiren bir blog.
  • Scripting News: RSS’nin ve podcast’in mucidi Dave Winer’dan güzel sohbetler.
  • InfoQ: Üye olup istediğiniz konularla ilgili feed’ler alabiliyorsunuz. Yazılım süreçleri ve enterprise konular içeren bir blog.
  • High Scalability: Ölçeklenebilirlik üzerine güzel bir blog. Sık ve güzel yazılar yazılıyor.
  • Bilal Akçay:  Kulak dolgunluğu.
  • Derin Deli Mavi: Yazanıyla (bluekid) henüz tanışmadığım ama tez zamanda tanışmak istediğim bir blog. Computer Vision ve AI üzerine güzel yazılar, makaleler, projeler yazılıyor. Okunası…
  • Facebook Engineering’s Facebook Notes: Facebook’un development blogu desek yeridir belki de. Güzel optimizasyon teknikleri düşüyor.
  • Abhi’s Weblog: Hindistanlı bir kardeşimizden PHP ve Memcached üzerine güzel yazılar.
  • Bilgisayar Kavramları: Her eve lazım, algoritmalar, trickler, süper şeyler blogu. Sadi Evren Şeker tarafından yazılıyor. Öğrenecek çok şey olduğunu hatırlatan 800+ yazıya sahip ciddi bir blog. Hep yazılsın, hiç kapanmasın.
  • void page: Nurettin Onur’un blogu. Kulak dolgunluğu olsun diye okumak gerek.

Ek olarak Burcu Doğan (Observed), Hüseyin Mert, Ahmet Kakıcı, Coding Horror takip etmekte de yarar var. Atladığım varsa kimse kusura bakmasın :)

Sizlerin de önerilerini duymak isterim. Sizler bunlara benzer hangi blogları takip ediyorsunuz?

Not: Resim “Coder girl” şarkısının klibinden. İzlemek için tıklayın.


Bilgisayar Alırken Windows Seçmemekte Özgürsünüz

Ahmet Alp Balkan tarafından 17 Aralık 2009 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji)   8 Yorum »

Bir çoğumuz dizüstü bilgisayar (notebook, netbook vb.) alırken satıcı firmaların içine Windows işletim sistemini yüklenmiş olarak sattıklarını biliyoruz. Bir yerde son kullanıcıya satış yapıldığını düşünecek olursak kullanımı (benim görüşüme göre) hâlâ en kolay ve en basit anlaşılır arayüze sahip işletim sistemi Windows. Bu yüzden kurulu olarak gelen bir işletim sistemi olacaksa Windows olması makûl oluyor.

Yine de profesyonel kullanıcının aldığı bilgisayara Linux dağıtımları gibi ücretsiz veya başk ücretli işletim sistemlerini yükleme isteği var ise bilgisayarı satın alırken farkında olmadan ödediği Windows lisans ücretini ödeyerek bilgisayarı alması zaten çok mantıklı değil. Linux Kullanıcıları Derneği  (LKD) e-posta listesinden bildiriyorum:

“Pardus Kullanıcıları Derneği başkanı ve LKD üyesi bir avukat Tüketici Mahkemesine açtığı dava sonucu bilgisayar ile birlikte alınması zorunlu kılınmış olan Windows işletim sisteminin ederini faiziyle birlikte geri alma hakkını kazandı. [...] Bu davanın sonucu olarak özgür işletim sistemi kullanıcıları gibi yasal işletim sistemi lisanslarına sahip kullanıcılar  dava açmak yerine, satıcı firmanın zorluk çıkarması durumunda, mahkemenin verdiği örnek karar ile tüketici heyetine başvurarak, masrafsız bir şekilde istemediği işletim sistemini iade ederek ederini geri alabilir. ”

Şimdi sırada farkında olmadan her bilgisayar alışında Windows lisansına 100$’a yakın (emin olmamakla beraber belki de daha fazla) para yatıran son kullanıcıyı bilinçlendirmek kalıyor. Ben de bu yazıyı okuyan blog sahibi arkadaşlardan özgür yazılımı destekleyenleri veya ülke ekonomisinin iyiliğini düşünenleri bloglarında bu konuyu dile getirmeye davet ediyorum.

NOT: Bilinçlendirme kampanyası içeren bu yazıyı bu notla beraber aynı şekilde blogunuzda/sitenizde kopyalayarak yayımlayabilirsiniz.

Bu davanın sonucu olarak özgür işletim sistemi kullanıcıları gibi yasal
işletim sistemi lisanslarına sahip kullanıcılar  dava açmak yerine,
satıcı firmanın zorluk çıkarması durumunda, mahkemenin verdiği örnek
karar ile tüketici heyetine başvurarak, masrafsız bir şekilde
istemediği işletim sistemini iade ederek ederini geri alabilir.

Kullanıcılarınızı Servisinize Kayıt Olmaya Teşvik Edin

Ahmet Alp Balkan tarafından 13 Aralık 2009 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji, Müşteri-Kullanıcı Algısı)   5 Yorum »

xkcd-20080602Bugün internet pazarında var olan on binlerce yeni nesil web sitesinin önemli bir kısmı üyelik kaydı alarak kullanıcılarına hizmet sunuyor. Fakat yeni açılan servislerde, kullanıcıyı servise kayıt olmaya ve sürekli kullanmaya teşvik etme konusunda çok ciddi strateji hataları olduğunu düşünüyorum.

Yeni nesil web servislerinin çoğunun kaderi, büyük bir sitede/blogda duyurulduktan sonra 1-2 günde binlerce ziyaretçi tarafından akına uğraması, çok şanslıysa slashdot & digg effect gibi durumlara düşmesi, daha sonradan bir önceki günün  karekökü şeklinde azalan ve nihayetinde 1 ay sonra iki basamaklı ziyaretçi sayılarına ulaşıyor olması oluyor. Google Analytics kullananlar da bilir ki bu servislerde en çok ziyaret edilen sayfa ana sayfa olup kullanıcıların %90′dan fazlası sadece ana sayfaya bakıp çıkarlar.

Elbette bu kısım biraz da üzerine çok düşülmemiş ve gelecek planı iyi kurgulanmamış web servislerinin yaşadığı kaderdi. Üzerine belli bir yatırımda bulunulan ve emek gösterilerek pazarlama & tanıtımıyla uğraşılan bir projenin kaderi böyle olmaz. Fakat yine de kullanıcıyı servisinizden kaçırmak için elinizden geleni yapabiliyorsunuz. Devamını Oku »


Silverlight’ı Kaldırmak ve Eski Sürümlerini Kurmak

Ahmet Alp Balkan tarafından 19 Haziran 2009 tarihinde yazılmıştır.  (Bilgisayar & Teknoloji)   1 Yorum »

Microsoft zımbırtılarını düzeltmeyi anlatan yazılar yazmaktan ben de bıktım ama Microsoft Silverlight ürünü öyle bir ürün ki kimi zaman çok güzel sürprizlerle bizi yüz yüze getirebiliyor :)

Ben Vista kurulu bilgisayarımda Silverlight 2 yüklü iken Windows 7 RC’ye yükseltme yaptım ve Silverlight kayıplara karıştı. Silverlight kullanan sitelere girdiğimde kurulu olmadığını söylüyor, kurmak istediğimde ise “zaten daha yeni bir sürümü kurulu” gibi bir uyarı alıyordum :) Umarım Microsoft da bu bug’ın yakında farkına varır. Çözümüne gelince, aldığımız hata mesajı:

“#1052 A newer version of Silverlight is already installed on this machine.”

Çözüm adımları:

  1. Windows Installer Cleanup utility‘i indirin ve (all users)Microsoft Silverlight’ı bulup tüm kalan artıklarını silin.
  2. Bu hata sayfasında yazdığı gibi Başlat-Çalıştır-’regedit’ altından “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight” kaydını bulup sağ tıklayıp silin. (zararsızdır)
  3. İndirdiğiniz Silverlight’ı kurun. Eski sürümünün bulunduğunu iddia etmeyecektir.