22 Şubat 2006

MIS 590 başlıyor

Geçen sene MIS 534 başarılı bir deneme olmuştu.
Bu sene MIS 590 -- Topics in MIS (Object Oriented Design)
Birazdan, saat 19'da ilk toplantı.

Dersin amacı Object Oriented programlamanın temellerini program yazmadan öğrenmek. Laboratuvarda makine başında yapılacak. Her hafta küçük ödevler olacak.

Kullanacağımız program dili: Yok
(dil kullansaydık, Java olurdu: Neden Java?)

Kullanacağımız ana yazılım: Small Simple Safe

Java Class Library içinde bazı sınıfları çalışacağız:

  • String
  • File & URL
  • Collections: ArrayList
  • InputStream
  • Encoding & Reader
  • Collections: HashMap
  • Date & Calendar
  • 2D Graphics
  • GUI: windows & containers
  • GUI: swing components
  • Jar files
Notlar haftalık küçük ödevlerle verilecek.

Haberleşme grubu: MIS 590

1 Şubat 2006

Unicode'a Övgü

Damlaları yazmaya Önce IBM vardı diye başlamıştım. Benim için çok anlamlı bir söz, çünkü 35 senelik bilgisayar tecrübemin en başında, Boğaziçi Üniversitesinde koca bir salonu dolduran IBM 1620 vardı. Delikli kartlarla Fortran programları yazar, konsolun üstündeki düğmelerle kontrol ederdik. Sadece büyük harfleri içeren 64 karakterlik özel bir alfabesi vardı. Dünyada Fortran'dan başka bir dil olduğunu da bilmezdik.


1974 yılında bizim IBM emekli oldu, müzeye kaldırıldı. Yerine gelen Univac için özel bir bina ve daha büyük, klimalı bir salon yapıldı. Yeni makinemiz zaman paylaşımı (time sharing) ilkesi ile tasarlanmıştı, Algol ve Cobol dillerini anlıyordu, ASCII kullanıyordu. Artık küçük harflerle yazabiliyorduk. Birçok arkadaşımız yeniliklere hemen karşı çıktı: Ne gerek vardı başka dillere, ne gerek vardı küçük harflere...

Sonra 1986'da Macintosh ile tanıştım. Grafik ekranı vardı, metin ve resim belgeleri kendi pencereleri içinde gösteriliyordu ve, en önemlisi, Türkçe klavyesi vardı. 95 sembol içeren ASCII sadece İngilizce harfleri tanıdığı için, Türkçe harfler sonra gelen 128 karakter içine kodlanmıştı. Yeniliklere şüphe ile yaklaşanlar, bu sefer de grafik ekranları, pencereleri ve, elbette, Türkçe yazmayı da gereksiz buldular.

Kısa bir süre sonra Windows ortaya çıkınca hiç de hoş olmayan bir sürpriz getirdi: Türkçe harfler bambaşka kodlara atanmıştı. Bizim Mac belgeleri Windows'a taşınınca pek bir tuhaf görünüyordu. Oturup bir Converter programı yazmıştım, iki tarafın belgelerini uyumlu yapabilmek için.

1993, ilk web sayfalarını gördüğümüz sene. Henüz standartlar yaygın olmadığı için, o yıllarda Türkçe harfleri kullanmaktan kaçınıyorduk. ISO-8859 çıkıncaya kadar. Bunun dokuzuncu kısmı sadece Türkçe'ye özel altı harfi tanımlıyordu: Ğ, ğ, İ, ı, Ş, ş. Artık web sayfalarında Türkçe görebiliyorduk. Bu standardın özelliği, bir web sayfasında (ya da bir belgede) tek bir dili kodlayabilmesi. Çünkü, her karaktere karşılık bir tek bayt kullanılıyor, her dil için ayrı charset tanımları gerekiyor.

Unicode'un ortaya çıkışı aynı yıllarda oldu, ama çok yavaş bir şekilde. En çok kullanılan UTF-8 encoding yönteminde, ASCII karakterleri tek bayt ile kodlanırken, diğerlerine iki yada üç bayt gerekiyor. Böylece, birçok dili aynı ekranda birlikte göstermek mümkün oluyor. Ama küçük bir maliyeti var: belgeler daha çok yer kaplıyor. Java programlama dili Unicode standardını destekleyerek önemli bir adım atmıştı. Google da Gmail yazılımı ile aynı desteği sürdürüyor.

Türkçe harflerle yazılmış bu sayfayı iki dilde kodlanmış selamla bitirelim:
안녕하세요Anyonghaseyo
سَلَامٌ عَلَيْكُمْSelamun aleykum
Ref: