53 puan yazan GN⁺ 2024-09-11 | 5 yorum | WhatsApp'ta paylaş
  • "Biz yazılım geliştirmeyi seviyoruz"; kod yazmak, problem çözmenin zikzaklı bir yolculuğudur ve varış noktası çoğu insanın düşündüğünden daha az önemlidir
  • Bize sık sık şu sorular sorulur:
    • "Bunu neden yapıyorsunuz?"
    • "Bu projenin amacı ne?"
    • "Bu projenin X'ten daha iyi olduğu taraf ne?"

Silikon Vadisi'nin yoğunluğu

  • Hacker News ya da startup odaklı başka haber sitelerinde çok zaman geçirirseniz, herkesin bir sonraki milyon dolarlık startup'a ya da exit stratejisine takıntılı olduğuna inanabilirsiniz
  • İnsanların tamamen eğlence için açık kaynak kod üzerinde çalıştığını hayal etmek zor olabilir
  • Yazılım inşa etme sanatını seven hacker'lar var. Bunu meydan okuma için, eğlence için yapıyorlar. Milyoner olmaya çalışmıyorlar

Tüketici kültürü

  • Ya da yalnızca başkalarının yazılımını tüketiyor, neredeyse hiç üretmiyorsanız, "Bu proje benim için ne yapabilir?" düşüncesine sıkışıp kalabilirsiniz. (Ve proje onlarla ilgili değilse neden var olduğunu merak edersiniz)
  • Yazılımlarını başkalarının tüketmesine ihtiyaç duymayan hacker'lar var. Elbette başkalarının yaptıkları işi sevmesi, takdir etmesi ya da minnet duyması hoş olur; ama bu kesin bir gereklilik değildir. Asıl eğlenceli olan şey, onu yapmanın kendisidir.

Biz bunu sadece eğlence için yapıyoruz. Gerçekten.

  • Son olarak, yalnızca gündelik işlerinde gereken programlama becerilerini öğrenmiş insanlar, sürekli yeni şeyler deneyen programcıları anlamayabilir
  • Kodla yaşayıp nefes alan hacker'lar var
    • Her kod satırının parasal değerini kanıtlaması gerektiği, klavye başında geçirilen her zorlu saatin açıklanması gerektiği fikri gerçekten üzücü
  • Sürecin kendisinde değer vardır. Kusurlu olsa bile, kendi başına değerlidir. Önemli olan yalnızca nihai ürün değildir
  • Programlama hakkında en sevdiğim alıntıyla bitireyim:

Programcı, şair gibi, neredeyse tamamen saf düşünce malzemesiyle çalışır. Hayal gücünü kullanarak havada şatolar kurar. Çok az yaratıcı ortam bu kadar esnek, bu kadar kolay cilalanıp yeniden işlenebilir ve bu kadar görkemli kavramsal yapıları bu kadar kolay gerçekleştirebilir. Ancak program yapıları, şairin sözcüklerinden farklı olarak, yapının kendisinden ayrı görünür sonuçlar üretmeleri; hareket etmeleri ve çalışmaları bakımından gerçektir.
— Fred Brooks, The Mythical Man-Month

Deneyin!

  • Eğer yolunuzu kaybettiğinizi düşünüyorsanız — kod yazmak eskiden eğlenceliydi ama artık sadece mesai yapıp maaş almak için katlanmanız gereken bir eziyete dönüştüyse, sizi yeniden davet ediyoruz!
  • Ya da tuhaf fikirlerle programlama yapmanın yalnızca profesyonellere ve akademisyenlere ait bir şey olduğuna inandırıldıysanız, bu sayfa sizin için. Kurcalama ve süreçten keyif alma hakkına sahipsiniz!
  • Bilgisayar içinde yaratmak, öğrenmek ve deneyimlemek istediğiniz bir şey düşünün. Sonra önce arayıp araştırmadan doğrudan dalın. Belki biraz eğlenirsiniz. Gerçekten.

Kulüp

Sırasız olarak, işte "sadece eğlence için" etiketini gururla taşıyan bazı projeler.

  • Natalie - eğlence için yapılmış bir Ruby derleyicisi
  • ZigSelf - eğlence için Zig ile yapılmış bir Self implementasyonu
  • php-parser-rs - eğlence için Rust ile yapılmış bir PHP ayrıştırıcısı
  • ex6502 - eğlence için Elixir ile yapılmış bir 6502 işlemci emülatörü
  • Piko-piko OS - eğlence için yapılmış bir x86 16-bit oyuncak OS
  • Folders2kt - eğlence için yapılmış esoterik bir programlama dili
  • GCC Rust - eğlence için yapılmış bir Rust derleyicisi
  • Soul - eğlence için yapılmış bir SQLite REST ve gerçek zamanlı sunucu
  • hssp - eğlence için yapılmış bir HTTP durum kodu CLI'ı
  • PyCraft - eğlence için Python ile yapılmış bir Minecraft launcher'ı
  • hashsearch - eğlence için yapılmış bir tersine görsel arama motoru
  • quackspeak - eğlence için ördek kullanan bir text-to-speech motoru
  • Quark - eğlence için yapılmış yüksek performanslı bir Lisp lehçesi
  • Whitecat - eğlence için yapılmış PHP geliştirme CLI'ı
  • eClient - eğlence için Python ile yapılmış bir Minecraft launcher'ı
  • CascadeOS - eğlence için yapılmış genel amaçlı bir OS
  • Kiesel - eğlence için Zig ile yapılmış bir JavaScript motoru
  • github-pewpew - eğlence için repository silen bir CLI aracı
  • dt - eğlence için yapılmış, concat tabanlı AWK benzeri bir dil
  • grab - eğlence için yapılmış hafif bir grep klonu
  • math-with-regexps - eğlence için regex ile matematik
  • noro - eğlence için yapılmış, pencere yöneticili bir metin editörü
  • Vox - eğlence için Elixir ile yapılmış bir statik site oluşturucu
  • jimson - eğlence için yapılmış bir JSON ayrıştırıcısı
  • txt2tufte - eğlence için yapılmış Tufte tarzı bir web sitesi oluşturucu
  • Azure Storage web explorer - eğlence için yapılmış bir Azure Storage web explorer'ı
  • renam - eğlence için yapılmış çok hızlı bir dosya yeniden adlandırma yardımcı programı
  • Funciton - eğlence için yapılmış, kutulardan oluşan bir programlama dili

GN⁺ görüşü

  • Bu yazı, programcıların yalnızca eğlence peşinde koşmasının değeri ve önemi hakkında konuşuyor. Günümüzün tüketici ve startup kültüründe her şeyin pratik ve kârlı olması gerektiği yönündeki baskı, programlamanın yaratıcılığını ve yenilikçiliğini zayıflatabilir.
  • Açık kaynak topluluğu, bu "sadece eğlence için" ruhunu somutlaştıran iyi bir örnek. Birçok önemli açık kaynak projesi başlangıçta birinin hobi projesi olarak başladı ve süreç içinde yeni fikirler ile yaklaşımlar keşfedildi.
  • Ancak bu tutum aşırıya kaçarsa pratikliği düşük projelerin çoğalmasına da yol açabilir. Sonuçta eğlence ile pratiklik arasındaki denge önemli görünüyor. Yine de bu yazı, sık sık unuttuğumuz saf eğlence ve merakın değerini hatırlatması bakımından anlamlı görünüyor.
  • Günlük işlerin yorgunluğunu yaşayan geliştiriciler için böyle hobi projeleri iyi bir ilham ve motivasyon kaynağı olabilir. Yeni bir dil ya da teknoloji öğrenmek isteyip de zamanı olmadığını hissedenlere de önerilebilecek bir yazı.

5 yorum

 
geekbini 2024-09-18

Bildiğim kadarıyla Python dili de yaklaşık bir haftalık tatil döneminde eğlencesine yapılmış bir dil.

 
joon14 2024-09-12

Eğlencesine bir şeyler geliştirmeyi seviyorum ama bu aralar işten çıkınca pert oluyorum, o yüzden hayal bile edemiyorum sanırım. Gerçekten harika insanlar var.

 
savvykang 2024-09-12

Sık kullandığınız açık kaynak projelerinin issue tracker'larında sorun gidermeye yardımcı olabilir ya da dokümantasyona katkıda bulunabilirsiniz. Mutlaka yeni bir proje başlatmanız veya kod yazmanız gerekmiyor gibi görünüyor.

 
halfenif 2024-09-11

94 yılına kadar sadece sıradan bir bilgisayar kullanıcısıydım; sonra bir dil öğrendim ve 95'te "bilişim" ile ilgili bir işte çalışmaya başladım.

Şimdi dönüp bakınca, inanılmaz derecede şanslı biriymişim.

Bazen şirkete gitmek için para ödemem gerekiyor mu diye düşünüyorum.

 
GN⁺ 2024-09-11
Hacker News görüşleri
  • Kod yazarak bir şeyler üretmekten keyif alıyor; bazen maddi kazancı da düşünüyor ama projeleri çoğunlukla eğlence için yapıyor

    • 6 hafta boyunca birlikte proje yürütülen bir grup işletiyor ve ikinci kohortu tamamlamış
    • Projeleri ve zorlukları birlikte çözme süreci çok keyifli
  • Bir röportajda kişisel projelerini anlattı ama görüşmeci neden böyle projeler yaptığını sürekli sorunca rahatsız oldu

    • Bunu sadece eğlence ve öğrenme için yaptığını açıkladı ama görüşmeci bunu anlayamadı
  • Yazılım üretme motivasyonunu, tek başına sahilde kumdan kale yapıp bundan tatmin olmakla karşılaştırıyor

    • Kimse fark etmese de, dalgalar onu silip götürse de tatmin duyuyor
  • Büyük dil modelleri (LLM), eğlenceli projelere başlamayı daha kolay hale getirdi

    • Uzun araştırma süreçleri ve araç kurulumu olmadan basit bir prototip yapılabiliyor
    • Yürüyüşe her çıktığında farklı müzikler çalacak konum tabanlı bir müzik web uygulaması yaptı
  • Kişisel projelere zaman ayırmak için yaşam giderlerini düşürüyor ve sözleşmeler arasındaki zamanı değerlendiriyor

    • Projeleri haftalık döngülerle yürütüyor ve hayalini kurduğu işlere zaman ayırıyor
    • Projeleri eğlence için yapıyor ama zamanını buna ciddi biçimde yatırıyor
  • Eğlence için yapılan projeler listesinin yalnızca tamamlanmış işlerden oluşması üzücü

    • Yarım kalmış ya da birkaç hafta uğraşılıp sonra unutulmuş projeler de buna dahil edilmeli
    • Kodlamanın eğlencesi sürecin kendisinden keyif almakta yatıyor
  • Dün iş arkadaşlarıyla yaptığı konuşmada, çok fazla iş üretmenin beceriyi geliştirmede önemli olduğu sonucuna vardılar

    • John Carmack örneğini vererek, çok sayıda oyun yaparken tekniğini geliştirme deneyimini paylaştı
    • Doğru dili ve portföy projesini seçmeye çalışmanın bazen sadece gecikmeye yol açtığını söyledi
  • Eğlence için yapılan ürünler de maddi kazanç için yapılan ürünler de düşük kaliteli olabilir

    • Eğlence ve kâr ikiliğinin ötesinde, iyi programlanmış sistemler ve ürünler üretmek önemli
  • Bu, tek başına harika bir yemek yapmak gibi içsel bir deneyim; ama yine de kendi başına değerli

    • Bu zihniyeti anlamayan insanlara bunu anlatmak zor
  • Hacker News gibi sitelerde birçok kişinin bir sonraki büyük startup'ı hazırladığını düşünmek mümkün

    • Ama açık kaynak kod üzerinde sadece eğlence için çalışan çok sayıda insan da var
    • HN, programcıların işlerini daha eğlenceli hale getirmesini gösteren başlıca kaynaklardan biri