Programlamaya meraklılar okusun...

Olszer

Üye
8 Ocak 2013
125
0
İstanbul
Bu forumdaki "yeni programım", "şöyle programım", "böyle programım" tarzı başlıkları görmekten gurur duyuyor, ancak bir yandan da tiksiniyorum. İnsanların programlamayla ilgilendiğini görmek cidden muhteşem bir şey ve kimsenin hevesini kırmak istemiyorum. Ancak bazı insanların, programcılığın getirdiği sorumlulukları kabul etmesi gerektiğini düşünüyorum.

CD Rom aç-kapa
Bas Bakalım(Çok saçma hiç açmasanız da olur)
Araba Yarışı
Bilgisayarı kapatan V1.0
4 işlem oyunu beta

vb. Programının ismini paylaştığım arkadaşlar lütfen yalnızca size hitap ettiğimi sanmayın lütfen, yanlış anlaşılmak istemem. Ancak dikkat edilmesi gereken birkaç nokta var ve bunları hep beraber okursanız, belki ileriye dönük bir programcılık hayatınız olabilir. Böyle bir durumda hem siz, hem ben mutlu olurum, çünkü Türkiye'nin programcılara ihtiyacı var.

Öncelikle, insanların Freehand, Google Chrome, Audacity, GTA Vice City tarzı programları indirmesinin sebebi talep. Programlarınızın indirilmemesinin sebebi de talep. Kimse, bilgisayarı kapatmak için veya 4 işlem oyunu oynamak için 2 MB'lik rar dosyaları indirip klasörlerini kirletmez. İnsanlar programlarınızı indirmiyor diye üzülmeyin, çünkü bir gün, geleceğin programını siz yazabilirsiniz. O program, insanların hayatlarının birer parçası olduğunda, o programa karşı deli gibi bir talep olduğunda, o zaman kaç kişinin indirdiği önemli olmayacak zaten.

İkincisi, programlarınızın çoğu, yalnızca bir adet ".vb" dosyasından oluşuyor ve bütün kod yalnızca bir klasörde tutuluyor. Kod, en fazla 2 dosyada yer alıyor ve iki dosyada toplam en fazla.. 300 satır kod var diyelim. Bu programları büyük ihtimalle buraya paylaştığınız günden itibaren ellemeyeceksiniz bile. O programlar, orada, sizin "Projeler" klasörünüzün altında bir biblo gibi kalacak, ve 30 yıl sonra, ihtiyarladığınızda, yeni evinize taşınırken yanınıza almak istemeyeceğiniz küçük eşyalar olarak kalacak. "Hatırası var", diyebilirsiniz; ama aslında o programı o kadar sevmiyorsunuz. Bırakın program uçsun gitsin. İndiren zaten indirdi. 2 sayfa kod, Google'dan araştırma yapa yapa yazmaya kalkışsanız en fazla 20 dakikada bütün projeyi tamamlarsınız. İşte böyle bir program yazıyorsanız, bkz. "Bilgisayarı Kapatan", bkz. "4 İşlem Oyunu Beta", programlarınıza versiyon numarası vermeyin. İkinci versiyon gelmeyecek. Diyelim ki geldi, orada kalacak.

Ben sırf eleştiri olsun diye yazmıyorum bu yazıyı, bu arada. Versiyon numaralandırması ELBETTE gerekli bir şey. Ancak doğru yapıldığı zaman. Küçükken, herhangi bir şey yaptığımda, Versiyon 1, Versiyon 1.1, Versiyon 1.1.1 tarzı şeyler kullanarak, ilkokuldaki arkadaşlarımın tabiriyle "inek" gibi takılırdım. Ancak hoş bir şey. Kendi eserinize bir versiyon numarası vermek, bir projenin ardından bütün yorgunluğu atıp, nihayet meyvesini yemenin vaktinin geldiğine olan ispattır. O zaman versiyon numaralandırması nasıl yapılır? Bunu öğrenmelisiniz. Herkesin farklı bakış açısı vardır bu olaya, ancak kabul gören sistem birazdan anlatacağım sistemdir. Bilgisayarımda "git" diye bir program var, ve bu programın an itibariyle versiyon numarası:

git version 1.8.1.1

Burada, sağdan sola teker teker bütün rakamların anlamlarını inceleyeceğim. En sağdaki "1", EN küçük detaylar. Yazım hataları, küçük buglar, vb. detaylardır. Bu versiyonlar, haftada bir çıkar. 1.8.1.1 versiyonu 11 GÜN önce çıktı, düşünün yani. Siz bu yazıyı okurken, 1.8.2 veya 1.8.1.2 versiyonun çıkması öngörülebilir.

Sağdan ikinci, "1" ise minör versiyondur. Küçük özellikler, ne bileyim, Minecraft'ı örnek alırsak mesela, en sağdaki sayının değişmesi benim için ne anlama gelir? Elmanın verdiği can değişmiş olabilir? Sandıklara animasyon gelmiş olabilir?

Soldan ikinci, "8", versiyondur. Yani, git 1.0.0.0'dan sonraki SEKİZİNCİ git olarak düşünebilirsiniz. Büyük özellikler, devrimler, dizayn değişiklikleri, vb. bu kategoriye girer.

En soldaki, "1" ise, majör versiyondur. Yani, CİDDİ değişiklikler burada yer alır. İşte bu yüzden, 15 yıldır kullandığımız program "git" hala birinci majör versiyonda. Henüz devasa bir uçurum yaşanmadı ama şöyle düşünebilirsiniz. Windows 7 ile 8 arasında ne kadar büyük bir fark vardı?


Üçüncü dikkat etmeniz gereken şey ise, kullanışlı programlar yapmanız. Programın ismini; "Bas Bakalım(Çok saçma hiç açmasanız da olur)" yaparsan, açmam. Önce, programın kullanışlı olduğuna kendin inanmalısın, ve sonra programı kendin kullanmalısın. Eğer programı bizimle paylaşmaya değer görüyorsan, paylaşırsın ve biz de sana teşekkür ederiz! Yeni başladığınız için direk "Bas Bakalım" tarzı projeler yapmak zorunda değilsiniz. Programcı dünyasında size destek olmak için can atan binlerce insan var. Siz yeter ki istekli olun ve insanların kullanacağı bir şey üretmek için çalışın. Önce plan yapın, sonra üretin. Proje yönetimini size öğretemem, ama bu konu hakkında çok güzel kitaplar var. Plan yapmalısınız.

Son madde: açık kaynak kodlu projeler üretin. Programcılıkta milyon yıl geçse de değişmeyecek gerçek şudur: kimsenin, senin yaptığın herhangi programın kaynak kodunu çalıp kendi programını yapmaya hakkı yoktur. Böyle bir şey yaparsa, programına açık açık, "Bu program, Falanca tarafından yazılan Filanca Programının kaynak kodlarından bir parça kullanmaktadır." Sizin programlarınız, istediğiniz her türlü lisansla korunabilir ve PARA ÖDEMENİZE GEREK YOK. GPL v3, v2 lisansları, BSD lisansları, MIT lisansları sizin hakkınızı korumak için buradalar. Kimse emeğinizi çalamaz, çalanlar fikir hırsızlığından dolayı suçlanır. Emin ellerdesiniz.

Ha, ayrı bir detay da var: sen yeni nesil bir işletim sistemi de hazırlasan, "bas bakalım" da hazırlasan, "4 işlem oyunu" da hazırlasan farketmeyecek. Kimse, senin programının kodunu merak etmiyor. Açık kaynak kod demek, bu demek değildir.

Açık kaynak kod demek, demin altını çizdiğim kalın ve kırmızı yazıdan ibarettir: Programcı dünyasında size destek olmak için can atan binlerce insan var.

Kodu kapattığınız sürece, programcılar da sizle olan muhabbetlerini kapatırlar. "CD aç/kapa" programının yazılma hikayesinin ardında eminim ki, bir Google'dan araştırma seansı yer almakta. Eğer, sen, Google'a

"visual basic cd insert eject"

yazıp, adam akıllı sonuçlar alabiliyorsan, tamamını açık kaynak koda borçlusun. StackOverflow, LearnProgramming tarzı topluluklarda insanlar sana BU yüzden yardımcı olabiliyorlar. Binlerce kişi, senin sorunlarını çözmek için bir araya geliyor ve gerektiğinde adam sana 20 satırlık örnek yazıp veriyor, KULLAN diye. O adam, hiç soruyor mu sence? "Kullan ama ismimi yaz. Kullan ama benim reklamımı yap." diye? Hayır. Adam, kodu sana teslim ediyor, ve unutup gidiyor. Kod, sandığından daha önemsiz bir şey. Önemli olan insani değerlerin korunması ve fikirlerin özgürce ifade edilebilmesi. Bu yüzden sen, kodunu paylaşmayarak bencilliğini sergilemiş oluyorsun.

Ayrıca eminim ki programcılığa yeni başlamış olan arkadaşlarım da vardır ve onlara da desteğimi şöyle bildirmek isterim: kodlarınızı açın, ki sizin gibi, yeni başlayanlar okuyup kendileri bir şey üretsinler. Veya tecrübeli insanlar kodunuzu okuyup, hatalarınızı ve düzeltmeniz gereken yerleri gösterip size yardımcı olsunlar. Bunu yapın.
 

yuski

Uzman üye
1 Şub 2011
1,010
0
Gerçekten Çok Bilgilendirici Ben bu Konuda sana katılıyorum yaptıgım her programın kodunu kim isterse veriyorum ben tamamen açıkk kaynağım bu konuya değindigin için san çok teşekkür ederim
 

TeleLife

Üye
27 Haz 2012
194
0
Hiç sıkılmayıp üşenmeden okudum gerçekten açıklayıcı ve yararlı bi açıklama dikkate alınması gerek bölümler var
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.