8 Ağustos 2017 Salı

Programcılık Kavramları


Programcılık üzerine yazarken yeni bir kavramla karşılaştığımda biraz araştırıp söz konusu kavrama Türkçede ne ad verildiğine bakarım. Birden fazla Türkçe karşılığın olduğu durumlarda yaygın olanı kullanırım. Aynı davranışı Object Oriented Programming için de göstermiştim. Zamanında Object Oriented Programming karşılığı olarak “Nesneye Yönelik Programcılık” yaygın kullanıldığını fark edince bunda karar kılmıştım.

Birkaç blog sitesi dolaşsanız veya kitapların içindekiler sayfalarına baksanız, herkesin kafasına göre OOP’ye farklı bir Türkçe karşılık verdiğini görürsünüz. İşte bir kaçı:

Nesneye Yönelik Programcılık
Nesneye Dayalı Programcılık
Nesne Yönelimli Programlama
Nesne Tabanlı Programlama

Bu neden mi böyle?
Bakıyorsun henüz yolun başında olan öğrenci bir arkadaş blogunda programcılık üzerine yazarken İngilizce haliyle karşılaştığı kavrama Türkçe karşılık bulmaya soyunup çeviri yaparak bu kavrama kendince bir karşılık öneriyor. Belki de İngilizce kelimeye Türkçe karşılık aramak yerinde daha önce başkaları ne kullanmış bir baksalar bu kadar karmaşa olmayacak.
 

5 Ağustos 2017 Cumartesi

İndeksleyicileri Anlatırken Konuyu Uzatmak


C# üzerine çalışırken sıra indeksleyicilere gelince, konuyu gereğinden fazla uzattığımız sanısına kapıldık. Bu nedenle hemen yazmaya ara verip bu “uzatma sanısına” kafa yorduk. Sonunda hazırladığımız metne aşağıda verilen 2 paragrafı eklemeyi uygun gördük.

“Bazı okurlar konuyu uzattığımızı düşüneceklerdir. Daha önce C# uygulaması geliştirip bir şekilde bu kitabı inceleme imkanı bulanlar indeksleyicilerin anlatıldığı bu bölüme şöyle bir baktıklarında, konuyu gereksiz yere uzattığımızı düşünmeleri ihtimal dahilindedir. Bu nedenle yukarıdaki sayfaları kaleme aldıktan sonra acaba konuyu gereksiz yere fazla mı uzattık diye kendimizi sorguladık.

En kestirme değerlendirmenin mevcut kaynakları incelemek olduğuna karar verdik. Bu düşünce ile yıllardır el bile sürmediğimiz birkaç C# kitabında indeksleyicilerin anlatıldığı bölümlerin başlangıç açıklamalarına baktık. Bununla da yetinmedik, google ile arama yapıp blog sitelerinde birkaç indexer konulu makale bulup inceledik. En son olarak youtube’da birkaç video’yu izleyince indexer’ları anlatırken konuyu uzatma kaygımızın yersiz olduğuna karar verdik. Çünkü insanların indexer’ları anlatırken çok zorlandıklarını gördük. Tecrübeli kişiler indexer’ları anlatırken bu kadar zorlandıklarına göre henüz yolun başında olanların anlamaları da bir o kadar zor olmalıdır.“

 

Java 8 Kitabı İçin Örnek Bölüm


Java 8 kitabında konuların nasıl ele alındığını, anlatım dilinin nasıl olduğunu merak edenler için standart bir bölüm olan “Paket Hazırlamak ve Kullanmak” adlı 4. bölümünü PDF olarak düzenleyip turbobit.net’e yükledik. İsteyenler indirebilir.

http://www.seckin.com.tr/f/seckin/kitap_dosya/9789750242816.pdf


 

1 Ağustos 2017 Salı

2017 model “Programcılar İçin Yazarlık Notları”


Bundan yaklaşık 10 yıl kadar tecrübeli bilişim yazarı sıfatıyla “Programcılar İçin Yazarlık Dersleri” başlığı altında neredeyse küçük bir kitabı dolduracak 4 uzun makale yazmıştım. Bu makaleleri o günlerde bloğumda yayınlamıştım. Kısa bir süre sonra değişik nedenlerden dolayı bloğumla ilgilenmeyip kapanmasına seyirci kalınca yazdığım çok sayıda makale ulaşılmaz duruma düştü. Ötesi, blog için yazdıklarımı ben de unutmuştum.

“Programcılar İçin Yazarlık Dersleri” adlı makaleleri yazmak çok zamanımı almıştı. Bu nedenle yıllar sonra tekrar yazmaya başlayınca eski yazılarımdan ilk hatırladığım oldu. Eski diskleri karıştırınca bu 4 uzun yazının karşımda durduğunu fark ettim.

“Ders” sözcüğü çoktandır bana sevimsiz geldiği bu yazıların adını “Programcılar İçin Yazarlık Notları” olarak değiştirdim. Tekrar yayınlamadan okuyup elden geçireceğim. Olur ya, 10 yıl önce, şimdi katılmadığım görüşler ileri sürmüş olabilirdim.

"Konu ister programcılık ister edebiyat ister bilim ister siyaset olsun bazı yazarların yazdığı köşe yazısını, makaleyi, romanı veya incelemeyi kolay okursunuz. Yazıyı okuyup bitirdiğinizde harpten çıkmış gibi kendinizi yorgun hissetmezsiniz. Bazı yazarların yazdıklarını ise kendinizi zorlamanıza rağmen yazının sonunu getiremez ve yarıda kesersiniz. Kolay okunan, okuru yormayan yazılar yazmanın tek ve net bir formülü olmasa bile bizce en önemli nokta kurulan cümlelerin şeklidir."

Java 8 Kitabımızın İçindekiler Tablosu

Java 8 kitabımızda hangi konuların işlendiğini ve bu konulara kitapta ne kadar yer verildiğini merak edenler için "içindekiler" tablosunun az ayrıntı içeren halini buraya aktardık. Yakın bir zamanda, bu kitapta Java'nın nasıl anlatıldığı konusunda fikir edinmek isteyenler için bir bölüm PDF olarak yayınlanacak.
                                                                                                                                                                                                   
1. Bölüm
JAVA İLE ÇALIŞMAYA BAŞLAMAK---------------------------------- 1
2.Bölüm
NETBEANS İLE JAVA UYGULAMASI GELİŞTİRMEK-------------- 41
 3.Bölüm
ECLIPSE İLE JAVA UYGULAMASI GELİŞTİRMEK----------------- 65
4. Bölüm
PAKET HAZIRLAMAK ve KULLANMAK----------------------------- 83
5. Bölüm
OPERATÖRLER------------------------------------------------------ 97
6. Bölüm
BLOK KONTROL DEYİMLERİ------------------------------------- 107
7. Bölüm
DEĞİŞKEN TANIMLAMAK ve KULLANMAK--------------------- 115
8. Bölüm
DİZİ DEĞİŞKENLER----------------------------------------------- 139
9. Bölüm
STRING İŞLEMLERİ ve MATH SINIFI--------------------------- 151
10. Bölüm
TARİH ve ZAMAN İŞLEMLERİ----------------------------------- 165
11. Bölüm
CLASS’lar ve NESNEYE YÖNELİK PROGRAMCILIK------------ 175
12. Bölüm
METOT HAZIRLAMAK ve KULLANMAK-------------------------- 209
13. Bölüm
INTERFACE’ler - ARAYÜZLER------------------------------------- 223
14. Bölüm
INNER CLASS’lar---------------------------------------------------235
15. Bölüm
GENERIC SINIFLAR---------------------------------------------- 251
16. Bölüm
ENUM HAZIRLAMAK ve SCANNER SINIFI---------------------- 261
17. Bölüm
HATA YAKALAMAK  ve EXCEPTION SINIFLARI--------------- 273
18. Bölüm
KOLEKSİYONLAR - ARRAYLIST, STACK, QUEUE SINIFLARI - 287
19. Bölüm
DOSYA ve KLASÖR İŞLEMLERİ----------------------------------- 317
20. Bölüm
STREAM SINIFLARI İLE DOSYA İŞLEMLERİ-------------------- 327
21. Bölüm
CLIPBOARD SINIFI İLE PANO İŞLEMLERİ---------------------- 343
22. Bölüm
GRAFİK ve ÇİZİM İŞLEMLERİ------------------------------------ 351
23. Bölüm
LAYOUT SINIFLARI - YERLEŞİM DÜZENLEYİCİLERİ--------- 359
24. Bölüm
JFRAME ve JDESKTOPPANE SINIFI ----------------------------- 371
25. Bölüm
JBUTTON ve JTEXTFIELD SINIFLARININ BAZI OLAYLARI-- 399
26. Bölüm
DİYALOG KUTULARI --------------------------------------------- 421
27. Bölüm
SIK KULLANILAN KONTROLLER -------------------------------- 433
28. Bölüm
JTEXTFIELD, JTEXTAREA ve JFORMATTEDTEXTFIELD------- 453
29. Bölüm
JCOMBOBOX ve JLİST KONTROLÜ ----------------------------- 479
30. Bölüm
PANELLER, JLAYEREDPANE ve JSPLITPANE SINIFI-------- 505
31. Bölüm
MENÜ ve ARAÇ ÇUBUĞU HAZIRLAMAK ---------------------- 521
32. Bölüm
JTABLE KONTROLÜ---------------------------------------------- 547
33 Bölüm
SERİLEŞTİRME İŞLEMLERİ ------------------------------------ 555
34. Bölüm
DERBY VERİTABANLARI --------------------------------------- 565
35. Bölüm
MYSQL VERİTABANLARI ÜZERİNDE İŞLEM YAPMAK------- 579
36. Bölüm
SQL SERVER VERİTABANLARINI KULLANMAK--------------- 615

C# 3.0 ve Visual Basic 9 Kitaplarımız



Visual Studio 2008'in dolayısıyla .NET Framework .3.5 release olduğu aylarda önce C# 3.0, sonra Visual Basic 9.0 kitabını yazmıştım. Her ikisi de o günlerde yaklaşık 1000'er sayfaya sahiptiler. Henüz yeni bir teknoloji olan LINQ ve LINQ için dile eklenen yeni özellikler yeteri ayrıntıda incelenmemişti.
 
Bunun birinci nedeni, LINQ teknolojisinin tutup tutmayacağının henüz belli olmaması, ikinci nedeni ise kitabın sayfa sayısını daha fazla arttıramayışımızdı. Yeni de 2008-2009 yıllarında bu kitaplarla ilgili görüşüm değişmedi: O günün şartlarında Türkçe yazılmış en iyi C# ve Visual Basic kitapları bunlardı.