Yazarlar Sözlük Makaleler Yardım Masası Gözlük Forum İstatistik

Tüm Başlıklar XML

1.  Sınıf kütüphanesi. Özellikle Java ve C#'ın binlerce sınıf içeren çok büyük kütüphaneleri vardır.

Örneğin bkz: .Net Framework
fizikci
23 Kasım 2005 12:28
2.  İlginç bir yazı: "Neden nefret ediyorum frameworklerden?" http://discuss.joelonsoftware.com/default.asp?joel.3.219431
mennan
04 Aralık 2005 23:30
3.  Why the frameworks shouldn't be hated. - Frameworklerden neden nefret edilmemelidir?

Bir programcı eğer isterse kendi framework'ünü (sınıf kütüphanesini, library'sini) oluşturabilir. Program yazarken belli bir amaç için yazdığı kod -eğer ileride de kendisine lazım olacaksa- daha generic yazar, librarysine koyar, oradan kullanır.

Örneğin bu programcı bir programında Hashtable'a ihtiyaç duydu. Bu işi gören bir sınıf yazar, kütüphanesine koyar, oradan kullanır. Bir başka programda HTTP request'i kapsülleyen bir sınıf lazım oldu diyelim, bu iş için de bir sınıf yazar kütüphanesine koyar. Bir başka programda ise XML parse etmesi icap edince, bir XMLParser yazar, kütüphanesine koyar oradan kullanır. Her geçen gün bu programcının kütüphanesi zenginleşir. Eğer azimle kütüphanesine yatırım yaparak kod yazarsa mermeri delebilir, pardon, Java'nın ya da .Net'inki gibi büyük bir kütüphaneye sahip olabilir.

Eğer sonuç Java'nın ya da .Net'inki gibi büyük ve kapsamlı bir kütüphaneye sahip olmaksa (ki bu bir programcının 300 senesine mal olabilir) neden bu programcı herşeyi kendisi yazmak için uğraşsın ki? Hazır frameworkler de eksik olan, yanlış olan nedir ki, programcımız tekerleği yeniden icat etme yoluna gitsin?

Java Framework, .NET Framework yada STL kullanmanın, eğer ne yaptığınızı iyi biliyorsanız, hiç bir sakıncası yoktur, hatta bir sürü faydası vardır. Bir kaçını yazayım:
- Frameworklerde programcıların sıklıkla ihtiyaç duyduğu sınıflar vardır, hazırdır.
- Bu sınıflar bin (belki yüz bin) defa test edilmişlerdir ve neredeyse sıfır bug içermektedirler.
- Frameworkler kodunuzun platform değişikliklerinden etkilenMEmesini sağlarlar. Mesela .NET ile Windows ortamında yazdığınız bir programı MONO ile Unix türevlerinde çalıştırabilirsiniz.
- Frameworkler gayet güzel organize edilmişlerdir, aradığınızı bulmakta zorlanmazsınız.
- Satırlarında binlerce programcının emeği vardır.
- Aynı frameworkü kullanan programcılar arasında ortak bir dil oluşur. Birbirlerini ve birbirlerinin kodlarını daha rahat anlarlar.
- vs. vs.

Bütün bu nedenlerden dolayı framework kullanmak çok faydalı ve gereklidir. Ama işin bir de diğer yüzü var: Frameworklerde hemen herşey hazır geldiğinden, tecrübesiz programcıların elinde bir felakete dönüşebilir.

Diyelim ki web programcısısınız. PHP ve HTML ile güzel şeyler yapabiliyorsunuz. Bir gün ASP.NET veya JSP'ye geçtiğinizde bu frameworkleri çok iyi anlar ve onlardan en iyi biçimde faydalanabilirsiniz. Lakin, HTML ve PHP (veya ASP) ile hiç ilgilenmeden direk ASP.NET frameworkünü kullanmaya başlarsanız çok yanlış işler yapabilirsiniz. İşin temelini bilmediğinizden bu frameworkleri sorumsuzca hor kullanabilirsiniz. Performansı berbat, kaynak tüketimi korkunç yazılımlara imza atabilirsiniz. Yani framework'ünüz ne kadar iyi de olsa, siz işin temelini bilmedikten sonra, onu doğru kullanamadıktan sonra hiçbir kıymeti yoktur. Örnek mi istersiniz? ASP.NET ile geliştirilen web sayfalarının kaynak koduna bakın. Bu sayfaların pek çoğunda viewstate'in yanlış kullanımından kaynaklanan yüzlerce satırlık şifrelenmiş data göreceksiniz. Bu durum performansı ve network trafiğini öldüren acemi programcı hatasından başka birşey değildir.

Kısacası ne yaptığınızı, işin temelini iyi bildikten sonra framework'ler çok çok faydalıdır.
fizikci
05 Aralık 2005 00:50 ~ 05 Aralık 2005 13:54
Bu konuda bildiklerinizi bizlerle paylaşabilirsiniz
Tabi bunun için yazarsanız giriş yapmalı, yazar değilseniz yazar olmalısınız.


Bu başlığa bkz veren girişlerin başlıkları nedir?

Bu başlığa bkz veren girişler başka hangi başlıklara bkz verdiler?
© 2005, Bilişim Kulübü. (1359 ms)
Ne yapabilirsin: SubtitleClick ile İngilizceni Geliştir, Çınar Framework ile kod yaz, Eglencelik.org'ta biraz eğlen