Bugün biraz Alt.Net (alternatif Dot Net) oluşumundan bahsedelim. Nisan 2007’de David Laribee tarafından ortaya atılmış bir terimdir. Aslında yeni bir şey yok. Özgür Yazılım mentalitesinin .NET dünyasında oturmasıyla birlikte Java dünyasından esinlenilerek geliştirilmiş projeler ve kod yazarken kolaylık sağlayan yardımcı programlar zaten günlük olarak kullandığımız ürünler. Microsoft bir takım patternler ve standartlar oluştursa da .NET yazılım dünyasında bunların hepsinin kullanıldığını düşünmek yanlış olur. üstelik bazı işleri Microsoft standartlarına uymadan kolayca yapmanın yolları da var.
Alt.NET oluşumu benim anladığım kadarı ile; kendi işine gelen araçları ve yardımcı kütüphaneleri bir araya getirerek yazılım üretmeyi kolaylaştırmak ve belli bir standartlaşma çabası gütmek amaçlıdır diyebilirim. İster MS olsun ister özgür yazılım olsun, ürünleri kendi yararları doğrultusunda kullanır ve yazılım üretmede kullanılan metod ve araçları sürekli olarak günceller. Tabii burada önemli olan yazılım geliştirme prensipleridir; araçlar sadece bu prensipleri desteklemek amaçlıdır. Aşağıdaki listede yer alan araçlar yarın değişebilir fakat prensipler değişmez. Bir işi başarmanın bir kaç yolu olduğu gibi yazılım dünyasında da pek çok yol yordam var. Alışık olduğunuzu kullanmaya devam edebilir veya farklı projeler için farklı araçlar kullanabilirsiniz.
David’e göre Alt.NET yazılımcısı
- Ne işine gelirse kullanan ve sürekli daha iyiye gitmeyi hedefleyen
- Kendi alanı dışına çıkıp diğer grupların neler yaptığını tetkik eden (Özgür Yazılım, Java, Agile, Ruby vs.)
- Alışılagelmiş dogmaların dışına çıkmayı başarmış. İşlerin daha hızlı, sade, değiştirilebilir ve yüksek kaliteli hale gelebileceğine inanan, bunun için çalışan
- Kullandığı araçların süper olduğunu düşünebilir ancak araçlar sizi belli bir yere kadar götürür. Önemli olan bu araçların bilgi ve prensipleri ne kadar uyguladıkları ve destekledikleridir.
“Profesyonellik” Alt.NET akımında önde tutulur ve “Basitlik”, “Birlikte çalışma” ve “Hizmet” gibi kavramlarla desteklenir. Alt.NET akımında popüler kullanılan teknolojiler ise
- Sürekli Entegrasyon, Otomatik inşa ve kurulum
- Sürüm kontrolü
- Test Güdümlü Geliştirme (TDD), Behavior Driven Development, Fit Testing
- Nesne Tabanlı Geliştirme
- Tasarım Patternleri, Domain Driven Design
- Design By Contract
- Scrum, Extreme Programming, Crystal, Lean Manufacturing, Agile
- Inversion of Control, Object Relational Mapping
- Kolektif Kod Sahipliği
Ortaya atılan araç listesinden bir kesit ve benim eklentilerim aşağıda. Listede pek çok tanıdık var, hiç duymadıklarınızın yaptığı işleri de başka bir araç ile yapıyor olabilirsiniz. Unutmayın Önemli olan araç değil prensiplerdir. Araçların tek tek açıklamasına girmeyeceğim. Yorumlarınızda sizin kullandığınız araçları linkleri ile beraber belirtirseniz sevinirim.
- Paint.NET – http://www.getpaint.net
- VS2008 – http://msdn.microsoft.com/en-us/vstudio/default.aspx
- VMWare/VPC
- KeePass – http://keepass.info
- CastleWindsor – http://www.castleproject.org
- Monorail – http://www.castleproject.org/MonoRail
- Windbg+SOS/CLRProfiler
- http://www.microsoft.com/whdc/devtools/debugging/default.mspx
- WinDbg / SOS Cheat Sheet – http://geekswithblogs.net/.netonmymind/archive/2006/03/14/72262.aspx
- SOS Debugging Extension (SOS.dll) – http://msdn.microsoft.com/en-us/library/bb190764.aspx
- AnkhSvn – http://ankhsvn.open.collab.net
- Test Driven.NET – http://www.testdriven.net
- Process Explorer – http://technet.microsoft.com/en-us/sysinternals/default.aspx
- VIM – http://www.vim.org
- CygWin – http://www.cygwin.com
- Lucid Spec – http://www.elegancetech.com/ls/ls.aspx
- CodeRush – http://www.devexpress.com/Coderush
- Windows Live Writer – http://windowslivewriter.spaces.live.com
- Launchy – http://www.launchy.net
- TextPad – http://www.textpad.com
- Notepad++ – http://notepad-plus.sourceforge.net
- XMLSpy – http://www.altova.com
- DotTrace – http://www.jetbrains.com/profiler
- Reflector – http://www.red-gate.com/products/reflector/index.htm
- HawkEye – http://www.acorns.com.au/Projects/Hawkeye
- LinqPad – http://www.linqpad.net
- LLBLGen – http://www.llblgen.com
- Firebug (for FF) – http://getfirebug.com
- Fiddler (for IE) – http://www.fiddlertool.com
- git – http://git.or.cz
- Tam Rehber (İngilizce) – http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html
- Günlük Kullanım (İngilizce) – http://www.kernel.org/pub/software/scm/git/docs/everyday.html
- Hızlı Kurslar (İngilizce) – http://git.or.cz/course
- Git Kullanıcı Rehberi (İngilizce) – http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
- Windows Kurulumu – http://code.google.com/p/msysgit/downloads/list
- TortoiseSVN – http://tortoisesvn.tigris.org
- FXCop – http://msdn.microsoft.com/en-us/library/bb429476(VS.80).aspx
- SandCastle + HelpFileBuilder
- Regulator – http://sourceforge.net/projects/regulator
- RegEx Buddy – http://www.regexbuddy.com
- Snippet Compiler – http://www.sliver.com/dotnet/SnippetCompiler
- GhostDoc – http://www.roland-weigelt.de/ghostdoc
- Unlocker – http://ccollomb.free.fr/unlocker
- IE Developer tool bar – http://www.microsoft.com/downloads/details.aspx?familyid=e59c3964-672d-4511-bb3e-2d5e1db91038
- Log4Net – http://logging.apache.org/log4net/index.html
- MS Natural 4000 – http://www.microsoft.com/hardware/mouseandkeyboard/productdetails.aspx?pid=043
- SQL Compare – http://www.red-gate.com/products/SQL_Compare/index.htm
- WinMerge – http://www.winmerge.org
- PerfectStorm – http://www.codeplex.com/PerfectStorm
- MyGeneration – http://www.mygenerationsoftware.com/portal/default.aspx
- Sourceforge – http://www.sourceforge.net
- SQL Server 2008 Express – http://www.microsoft.com/express/sql/default.aspx
- 7-Zip – http://www.7-zip.org
- Daemon Tools – http://www.daemon-tools.cc
- Foxit Reader – http://www.foxitsoftware.com/pdf/rd_intro.php
Listede son günlerde ortaya çıkan ve Subversion sürüm kontrol sistemini tahtından indirebilecek nitelikteki “git sürüm kontrol” hadisesi de var. Linux’un yaratıcısı Linus Torvald’ın bir şeylere kafası bozulup bir ay gibi kısa bir sürede ortaya çıkardığı ve tüm kernel geliştirme platformunu üstüne taşıdığı sistem. http://github.com sitesinde kendinize yeni bir hesap açabilir, ve git sürüm kontrol sistemini (aynen Sourceforge.net sistemi gibi) kullanabilirsiniz.
Bu hafta sonu yapacak oldukça fazla şey çıktı sanırım sizin için. Tüm bunları araştırıp, indirip, kurmak ve oynamak epey bir zamanınızı alır. Yorumlarınızı da ihmal etmeyin ;-).