Microsoft, TypeScript derleyicisini JavaScript’ten Go diline taşıma kararı aldı. Rust veya C++ yerine Go’yu tercih ettiğini çeşitli kaynaklarda açıkladı. Bu karar, teknik gereksinimler ve pratik nedenlerin birleşimiyle şekillendi. 1. Mevcut Kod Tabanına Uygunluk TypeScript derleyicisi, JavaScript’te yazılmış ve işlevsel programlama tarzına sahip bir yapıya sahipti. Go’nun sözdizimi ve yapısı, bu mevcut kod tabanına daha yakın olduğu için, […]
Devamını Oku
1.Neden Yazdığınızı Açıklayın E-postanızın başında, alıcının neden bu mesajı aldığını belirtin. Bu, alıcının mesajın amacını hemen anlamasını sağlar. Örnek ifadeler: 2.Haberi Açık ve Basit Bir Şekilde Verin İyi ya da kötü haberleri doğrudan ve net bir şekilde iletin. Karmaşık ifadelerden kaçının. Örnek ifadeler: 3.Güven Oluşturun Dürüstlük ve şeffaflık, alıcıyla güven ilişkisi kurmanıza yardımcı olur. Örnek […]
Devamını Oku
Ustalaşma, Zanaatkârlık Kavramına Eleştirel Bir Bakış Liz Keogh, yazılım geliştirme dünyasında önemli bir figür olarak, yazılım zanaatkârlığı manifestosunu imzalamama nedenlerini detaylı bir şekilde açıklıyor. Keogh, programlamayı bir zanaat olarak görmek yerine, bir mesleğin veya ticaretin ifadesi olarak değerlendiriyor. Programlamanın, tıpkı yazılı iletişimde kullanılan bir kelime dağarcığı gibi, daha geniş bir mesleki pratiğin parçası olduğunu savunuyor. […]
Devamını Oku
“Zanaatkâr” Olmak Neden Şüpheli Bir Kimlik? Dan North’un 15 Ocak 2011 tarihli blog yazısı “On Craftsmanship”, yazılım dünyasında giderek popülerleşen “software craftsmanship” (yazılım zanaatkârlığı) akımına yönelik oldukça eleştirel ve düşündürücü bir bakış sunuyor. Yazısının ilk cümlesinde şöyle diyor: “Bu yazıyı uzun süredir yazmayı düşünüyordum, çünkü craftsmanship hareketiyle ilgili bir şey beni hep rahatsız etti.” North’un […]
Devamını Oku
“Artık kötü yazılım yazmak istemiyoruz.” Bu cümle, yazılım zanaatkârlığı (yazılımda ustalaşma, software craftsmanship) hareketinin özüdür. Robert C. Martin’in ifadesiyle, bu hareket bir isyan değil; bir uyanıştır. Bu yazı, yalnızca yazılım geliştiricilere değil, ürün sahiplerine, yöneticilere ve teknolojiyle ilgilenen herkese yazılmış dolaylı bir mektup niteliği taşıyor: Kalitesiz yazılımın sonuçlarına katlanmak zorunda değiliz. Yazılım Zanaatkârlığı Neye Tepkidir? Uncle […]
Devamını Oku
Yazılım Geliştirmenin Unutulan Yüzü: İnsanlar ve Etkileşimler Yazılım dünyasında Agile Manifesto, yıllardır bir pusula işlevi görüyor. Ancak bu pusula, bazen yanlış yorumlanarak bizi farklı rotalara sürükleyebiliyor. Robert C. Martin, nam-ı diğer Uncle Bob, 19 Ocak 2011 tarihli blog yazısında, Agile Manifesto’nun “Bireyler ve etkileşimler, süreçler ve araçlardan önce gelir” ilkesinin yanlış anlaşılmasına dikkat çekiyor. Software Craftsmanship Hareketi […]
Devamını Oku
Son yıllarda teknoloji şirketlerinden büyük holdinglere kadar herkesin dilinde aynı kelime: “Agile” yani çeviklik. Scrum toplantıları, Kanban tahtaları, sertifikalar, çerçeveler, SAFe eğitimleri… Ancak bir dakika duralım. Tüm bunlar gerçekten çevik bir organizasyon yaratıyor mu? Forbes yazarı Steve Denning’in kaleme aldığı dikkat çekici yazıya göre, birçok şirket kendini “Agile” ilan etse de aslında bu dönüşüm yüzeyde […]
Devamını Oku
Yazılım geliştirme süreçlerinde sıkça karşılaşılan, ancak çoğu zaman göz ardı edilen bir kavram olan teknik borç (technical debt), kısa vadeli çözümlerle hedeflere hızlıca ulaşma çabasının uzun vadede getirdiği maliyetleri ifade eder. Bu terim, yazılım geliştiricisi Ward Cunningham tarafından ortaya atılmıştır. Cunningham, teknik borcu, hızlı çözümlerle elde edilen avantajların, ileride daha büyük sorunlara yol açabileceği bir […]
Devamını Oku
Yazılım geliştirme ve proje yönetimi alanında, Kanban ve Scrum, ekiplerin iş akışlarını düzenlemek ve verimliliği artırmak için sıkça başvurdukları iki popüler yöntemdir. Her ikisi de çevik (Agile) prensiplere dayanır, ancak farklı ihtiyaçlara ve çalışma tarzlarına hitap ederler. Bu yazıda, Kanban ve Scrum yöntemlerinin temel farklarını ve hangi durumlarda tercih edilmesi gerektiğini inceleyeceğiz. Kanban ve Scrum: […]
Devamını Oku
Yazılım geliştirme sürecinde, teknik borç (technical debt), projelerin sürdürülebilirliği ve ekip verimliliği üzerinde önemli etkilere sahip olabilir. HackerNoon’da yayımlanan bir makaleye göre, teknik borç üç ana kategoriye ayrılabilir: bilinçli borç, kazara/eskimiş tasarım borcu ve bit rot (bozulma) borcu. Bu yazıda, her bir borç türünü ve bunları yönetme stratejilerini ele alacağız.(hackernoon.com) Teknik Borç Türü Açıklama Strateji […]
Devamını Oku