16 Ağustos 2017 Çarşamba

Bilinçli mi bilinçsiz mi yoksa bilinçaltı mı?


Bu kısa yazı C#, Visaul Basic ve Java kodu yazanlar için yazıldı.

Saydığım bu dillerde yazılan kodlarda sıklıkla bir tip başka tipe dönüştürülür. Bazen bu tip dönüştürme derleyiciye bırakılır. Örneğin byte bir değişkenin içeriği int tipindeki değişkene aktarmak gibi. Bu dönüştürmede bilgi kaybı riski olmadığından programcının bir şey yapmasına gerek yoktur. Derleyici geri planda bu dönüştürmeyi yapıyor.
 
Ancak bazen dönüştürme işlemi derleyiciye bırakılmaz. Hatta derleyici, bu dönüştürmeyi bana bırakma sen yap der.

Özetle dönüştürme geri planda derleyici tarafından yapılıyorsa buna kapalı (implicit) dönüştürme, dönüştürmeyi derleyici değil programcı yapıyorsa (casting operatörü ile) buna açık (explicit) dönüştürme demek gerekir.
 
Birçok kaynakta nedense bu dönüştürmelerden “bilinçsiz” ve “bilinçli” diye söz ediliyor. Belki ben de bu adlandırmalardan etkilenip dönüştürmelerden bilinçli-bilinçsiz diye söz etmişimdir.

Çocuklara Kod Yazdırmak


Dün Chip Dergisinin sitesinde Türkiye’nin en eski bilişim dergicilerinden Cenk Tarhan, Microsoft’un Açık Akademi’nin Yaz Okulu adlı eğitimleri dolayısıyla Microsoft’un Türkiye merkezine gitmiş ve Microsoft çalışanı Behice Funda ile söyleşi yapmıştı.

Söyleşide, Behice hanım, bazı ülkelerde çocuklara 5 yaşından itibaren kod yazdırılmaya başlatıldığını söylüyordu. Bu görüşü duymaz, facebook hesabımda “5 yaşındaki çocuğa kod yazdırmak olsa olsa çocuğu geri zekalı yapmayı çalışmaktır. Bırakın çocuk oyun oynasın, masal okusun, çizgi film izlesin ve bilgisayardan tabletten uzak dursun.” demiştim.

Her 3-4 yılda bir mevcut teknolojilerin bazıları yok oluyorsa, bazıları ise köklü değişimler geçiriyorsa çocuklara ve gençlere kazandırılması gereken beceri, çabuk öğrenmedir, analiz becerisine sahip olmaktır, soyut düşünebilmektir ve hayal kurma alışkanlığını kazanmaktır.

* Soyut düşünme becerisi matematik ile kazanılır,
* Hayal kurma becerisi masal ve roman okumayla geliştirilir,
* Analiz becerisi ise öğrendiklerini, gördüklerini yaşadıklarını anlatmakla, yazmakla kazanılır.

Üzerinde çokça düşünülmesi, kafa yorulması gereken bir konudur bu. Bunlar ilk aklıma gelenlerdir.

15 Ağustos 2017 Salı

Kalıtım Interface’le mi sağlanır

C#, Visual Basic ve Java gibi nesneye yönelik programlama ilkelerine bağlı dillerde çoklu kalıtım desteği yoktur. Bu eksikliğin etkileri değişik şekillerde giderilmeye çalışılmaktadır. Örneğin Java’da inner class hazırlanarak.. Eğer herhangi bir yerde interface’lerle çoklu kalıtım yapıldığını duyar veya okursanız bir yanlış anlaşılma olduğunu düşünmekte bizce fayda vardır.

“Arayüz ile C# içerisinde bir nesneye birden fazla nesneden kalıtım yapabilme imkanı sunuluyor. Bunun adı ise çoklu kalıtımdır. Arayüz sadece bu maksatla  kullanılmamakla birlikte tek bir arayüz ile kalıtım yapılabilir. “

14 Ağustos 2017 Pazartesi

D&R'da Java 8 Kitabım

 
İlgilendiğim bir kitabı satın almak üzere D&R'ı ziyaret edince yakın bir zamanda yayınlanan Java 8 kitabımın oldukça indirimli olarak satıldığını gördüm.

Java 8 kitabını edinebileceğiniz sitelerden birisi.

Kitap İncelemeleri


Programcılık üzerine ilk yazılarımı bundan tam 25 yıl önce yazmış ve zamanın çok satan 2 dergisinde aylarca dizi halinde yayınlamıştım.

Programcılık üzerine yazmaya başlayınca ister istemez programcılık kitaplarıyla ilgili söylemek istediklerim oluyordu. O günlerde internet olmadığı için kitaplarla ilgili notlarımı derleyip dergilerde yayınlamaya başlamıştım. Yani Türkiye’de programcılık kitapları üzerinde ilk incelemeleri ve kitap eleştirileri tarafımdan yapılmıştı.

Sonra kendim programcılık kitapları yazmaya başlayınca etik olmayacağı düşüncesi ile başka yazarların kitaplarını incelemeyi bırakmıştım.

Bundan 12 yıl kadar önce yerli bir yazarla sorun yaşayınca programcılık kitaplarına tümden kayıtsız davranmaya, kitaplığıma sokmamaya başladım. Tabi buna, yayıncılar tarafından hediye edilen birkaç kitabı dahil etmiyorum.

Bundan birkaç gün önce bir programcılık kitabının “İçindekiler” tablosunun PDF haline rastlayınca meraktan biraz inceledim. Bana bu kısa metni yazdıran “İçindekiler” tablosunda çok sayıda yazım hatasını görünce...

Programcılık üzerine yazanların en eskisi olmama rağmen mevcut kitapları okumuyorum, üzerine yazmıyorum.
 

13 Ağustos 2017 Pazar

İş Başvurusu Soruları


İş başvurusu yapan programcılara mülakatta sıklıkla abstract sınıflar ile interface’lerin farklarının sorulduğu biliniyor. Bizce C#’ın this’i, Visual Basic’in Me’si ve Java’nın this’i de sorulmalıdır.

Elinizin altında Visual Studio veya C#/Java derleyicisi yokken birisi size "bize this'i anlatın" deseydi neler söylerdiniz?