Python'daki Classları Anlayamıyorum

“Vinç işleri kolaylaştırıyor ancak daha zor öğreniliyor”

bu önerme doğru değil.
Ben vinci daha kolay kullandım. Kürek zor. Belirli bir süre mavi yaka çalışmadan ehli olamazsın küreğin. El işi deyip geçmeyin, kaç milyon yıllık elin evrimi haberiniz var mı…(şaka şaka buraya girmeyeceğim, uzun sürer)

“Bunun üstüne motorlu testereyle ekmek kesilmez”

Bence el testeresi kullan, evrime saygınız olsun. El emeği göz nuru diye boşuna mı demiş atalarımız. Kaç milyon yıllık atalarımız…

Bence konuyu diğer programlama dillerinin çerçevesinde incelemek gerekiyor. Rust, Go gibi diller ilk bakışta OOP olmasa dahi OOP denecek pek özelliği içselleştirmişler ve kullanıma sormuşlar. OOP mantığı kurgulanabiliyor. C yazarken bile bir şekilde OOP mantığına dönüyorsunuz ki, kendi içinde ilkel de olsa inheritence destekleyen bir dil C.

Öğrenmesi zor ama tek bir cevap var, yazılımcıya bir yaklaşımı ve kod yazma tarzını benimsetiyor. Öğrenmesi tabii ki zor, yukarıda bahsettiğim gibi teknik bir detay olmaktan öte bir düşünüş şeklini benimsettiği için anlaması zor.

Burada bir nesnenin kullanımından bahsediyorsun. tarbetu da zaten işleri kolaylaştırıyor diyor.

Yani vinci küreğe göre daha kolay kullanabilmek ile vinç kullanımını ve imalatını öğrenmenin kolay olup olmaması arasında fark var.

Bir vinç, kavram olarak, bir kürekten daha karmaşıktır. Entity’yi oluşturan bileşenleri aşağı yukarı sayacak olursak:

  1. Vincin gövdesi,
  2. Makaralar
  3. Halatlar
  4. tornaçark
  5. motor
  6. dişli
  7. direksiyon
  8. kontrol paneli.

Ve daha niceleri, ve bu parçaların oluşabilmesi için uygun olan soyutlama becerisi seviyesi…

Kavramın kendisinin kürek kavramından ne kadar karmaşık olduğuna bakar mısın Shanyu? Bu parçaların her biri belirli bir zamansal ilişki içinde varlar. Yani makaranın ortaya çıkışı, vincin ortaya çıkışından önce oluyor…

Sen vinci rahat kullanıyor olabilirsin, ama mesele bu değil zaten. Sen sıfırdan bir vinç tasarlayamazsın. Çünkü vinç kavramı, kürek kavramı gibi basit bir kavram değildir. Dolayısıyla zorluk ve basitlik burada kullanmak ile ilgili değil. Zorluk ve basitlik bu entity’yi ortaya çıkartabilmek ile ilgili…

2 Beğeni

Ovv durum vahim. Tereyağ bıçağı nı tereyağ sürmek için kullanmak deyimiyle rastlaşmamışsın. Bu nedenle motorlu testere ironisini anlayamış olmamn mümkün değil. Kafan karışık sanırım.

Ekmeği neden testere ile keselim? Sınıflar konusunda çok şey yazmam gerekecek. Senin bu atalara takıntın bizi orta asyaya götürüp elimizle ekmek böldürecek ya dur bakalım. Vaktim kısıtlı yazacağım fırsat bulamıyorum.

1 Beğeni

Bir şeyin nasıl kullanıldığının bilgisini aktarabilirsin, ama bir şeye yönelik kavrayışını başka bir insana aktarabilmek için onun da zihninin, kavranmaya çalışılan nesneyi kavrayabiliyor olması lazım. Nesneyi kuşatabilmek demek şu demek: elindeki malzemeleri ne kadar tanıyorsun ve bu şeyler oldukları şey dışında başka ne olabilirler, bunun hakkında ne biliyorsun? Yani taş, taş olmaktan çıkıp senin için alet haline gelebiliyor mu? Sonra bu basit aletleri kullanarak, daha karmaşık aletler tasarlayabiliyor muyuz?

Zaten mevcut olan bir vincin kavramsal bilgisinden yoksunuz biz. Bir vincin ortaya çıkmasına olanak sağlayan her parçanın arkasında bir düşünce var aslında. Bu düşüncelerden yoksunuz biz. Yoksa vinç de kullanırız, bilgisayar da kullanırız, sondaj makinesi de kullanırız…

1 Beğeni

Sıfırdan vinç tasarlayabilirim. Zaten ironi yaptım. Birazcık da espiri…

Mesele buysa eğer, mantıklı tartışayım;

Zorluk ve basitlik diye bir şey yok, bunlar insan yanılsaması. İnsanlar genel olarak amaçlarına uygun şeylere daha az zaman, mesafe ve yöntemle ulaşabildiklerine kolay, daha çok zaman, mesafe ya da yöntemle ulaşabildiklerine zor derler.

Hiçbir zaman varlık Hegel’in dünyası gibi başının üzerinde durmuyor. Aksine, Marx’ın dünyası gibi ayaklarının üzerinde duruyor.

Tıpkı deniz kızını, insanın yarısı ile balıkların yarısından düşünerek hayal etmesindeki gibi, insanın ürettiği bütün kavramlar gerçek dünyanın parça ya da bütün olarak, uzaysal olarak içerlemesine ve dıştalamasına gerçeklğini temsil etmek için üretilir. Bazı kavramlar başarılıdır, bazıları başarısızdır.

Genelde kavramların bu konudaki temsilinin başarısı ya da başarısızlığı toplumsal hafızadaki temsil ettiği anlamına(toplumsal hafızanın kavram setindeki bağlamına) göre değerlendirilse de; aslında bilimsel olup olmamasına göre değerlendirilmelidir.

Tıpkı insanlığın düşün dünyasının çok tanrılı dinlerden, tek tanrılı dinler, oradan teolojiye, oradan metafiziğe, oradan ampirizme, oradan materyalizm ve pozitivizme ve sonunda diyalektik materyalizme evrilmesi gibi, bütün düşün dünyasındaki kavramların amacı, gerçekliği olduğu gibi temsil etmektir.

Bütün mesele insan toplumlarının içinde kullanıldığı sıradaki kavram setinin bağlamının başarısıdır…

Mesela popüler tartışmları bilirsiniz “Almanca şu kelimenin mesela türkçe de karşılığı yok” gibi… Bu dilin yetersizliği değil, gerçekliğin, o toplumda, o kavramı yansıtmaya ihtiyaç duyacak şekilde henüz oluşmamış olması ile ilgilidir.

Bunu, Programlama dilleri açısından konuşacak olursak, bazı diller, o dilleri oluşturan programcıların ya da programcı çevresinin amaçlarına uygun şekilde gelişim izlemiştir. Çünkü gerçeklik onu öyle sürüklemiştir.

Mesela Python ile Veri Bilimi ve Makine öğrenmesi gibi kütüphanelerin gelişmesi ya da C++ gibi dillerde ise daha çok 3d kütüphaneler vs. gelişmesi…

C bilenler için, kapsüllemeyi anlamak daha kolay geliyor benim gördüğüm. Ama örneklemenin mantığını ise Python ile anlamak daha kolay. Bu işte bu dillerin kendi amaçlarına uygun gelişimi ile ilgili galiba.

İnsan toplumu için de bu durum böyledir.

El Hasıl kelam, gaybda bir şey yok. Sadece insanın kendi cehaletinin yarattığı “idealar dünyası” ya da “fenomenler” var. Her şey gerçektir. Ve sadece o bizi özgür kılacak.

(Bu da böyle bir anım.)

Ne diyeyim ki, çok iddialı laflar söylüyorsun gibi geliyor bana. “Ve sadece o bizi özgür kılacak.” İddia da oynuyordun değil mi? :slight_smile:

Bak Zen of Python’da şöyle bir ifade var:

In the face of ambiguity, refuse the temptation to guess.

Yani, kibarca “bilmediğin durumlar hakkında tahmin yapma” diyor.

“Ve sadece o bizi özgür kılacak.”

Yani şair diyor ki, sadece gerçek bizi özgür kılabilir, bu lafı ben değil, İncil’de kullanmışlar. Sonra bu haline Böyle Buyurdu Zerdüşt’te Nietzsche getirdi.

Ben sadece gerçeği kastediyorum.

bilmediğin durumlar hakkında tahmin yapma

Bu biraz anlamsız. Zira tahminleme(yani istatistiksel anlamda) belirsizlikleri ortaya çıkarmak içindir.

Meşhur MIT fizikçisi Walter Lewin’in çok güzel bir sözü vardır: “Belirsizliği, belirtmeksizin yaptığınız herhangi bir ölçümün hiçbir anlamı yoktur.”
(bunu daha önce de söylemiştim Keşişen Doğruların Sınırladığı Alanın Hesabı - Shanyu tarafından #8)

Bilmediğimiz durumları bilmenin başka bilimsel bir yolu yok ki…

Sanki istatistik elde 0 bilgiyle tahmin yapmaya çalışıyor. Neyse…

0’dan vinç tasarlayabilirim demiştin değil mi? Abartı yok elbette bu iddiada, yeteneklerinden eminsin ve yapabilirsin bunu değil mi?

Bak şu siyasilerin olayına benzemesin sonra?

“Burdayım be burdayım, burrrrdaaaaayımmmmm, siz de buradasınız…”

1 Beğeni

Yok biz oralı değiliz.
Genciz biz.
Daha rindelerin akşamı sökmedi.
Ama sökecek.
Göreceğiz o zaman kim nerede…

İddia üstüne iddia geliyor. :slight_smile:

Neyse, kendinize iyi bakın.

Top henüz orta yuvarlağın kendi yarı sahasına bakan diliminde olabilir. Ama ben Kağıthanespor’da da sağ açık ya da kontrpiyede oynamıştım. Alışığım.
Ender gelişen Osasuna atakları gibi görünsem de, bir gece ansızın Watford’un efsane kontra atağı gibi maçı çevirebilirim. O potansiyel var bende.

Görüşmek üzere…

Biraz vakit bulabildim nihayet hemde sabahın 5:00’ında.

Bahsettiğim hangi dilin OOP’ye nasıl yaklaştığı değil. Sizin de ilk başladığınızda ne gerek var buna şimdi şeklindeki yeni başladığınızdaki görüş. Yani evet yeni başlayan biri hakikaten ne gerek var buna diyebilir. Bence gayet mantıklı. Peki gerekli olduğunu nasıl hissettirmeyliz ki OOP ve sınıflar konusunda ne gerek var demesinler.

Yani sorunun öğrenende değil öğretende olduğunu düşünüyorum. Yani gerekliliği doğru şekilde anlatmak kısmına olacak sanırım vurgum.

Öğrenmesi zor olduğunu düşünmüyorum, ihtiyacı olduğu farkettirilememiş diyorum kanaatimce.

Ben de buna benzer bir görüşteyim. Mesele zorluk kolaylık değil. Öğrenip öğrenememek, öğretip öğretememek.

Olayın felsefesine girmeyeceğim ama, dünya havada savruluyor haberin olsun :slight_smile:

Leküm diniküm veliyedin.

Tam da anlatmak istediğime uygun bir paragraf. İhtiyaç. İhtiyaç oluşmazsa kavrayamazlar sanırım.

Aslında o kadar farklı boyutu oluştu ki konunun neresinden tutmak gerekiyor bilemedim.

Yani burada oturup kalıtım soyutlama miras alma anlatmak istemiyorum.

Konu çok dağılacak. Bu konuya dahil olmamın asıl sebebi. Yeni öğrenen birine nyp öğretmek önemli mi? nyp öğrenmek zor mu? yeni öğrenen birine nasıl nyp anlatılmalı.

Söyledim aslında uzunca sonra yazarım diye. Sanırım kafamda anlatacaklarım henüz kelimeye dökülmeye hazır değildi.

Yada henüz canım yazmak istemedi.

Onun için bir ipucu daha vereceğim kendime belki sonra tekrar denerim yazmayı.

Bence;

NYP öğrenmeyi kolaylaştıracak, ihtiyaç duyduğunu farkettirecek, görsel olarak zihninde canlandırmasını sağlayacak en güzel yapı, arayüz programlaması.

Yani bir butonun davranışlarının yazılması, niteliklerinin belirlenmesi, birden çok butonun oluşturulması gibi konulardaki uygulamalar aslında sınıfların görsel olarak zihinde canlandırılmasını çok çok kolaylaştıracaktır.

Bunun üzerinde örneklemek varken, nyp iyidir, nyp güzeldir, class ların kullanılması şöyle faydalıdır demek yeni başlayanlara çok anlamlı durumuyor. Notum burada dursun. Fikirler tartışmaya açık.

1 Beğeni

Olayın felsefesine girmeyeceğim ama, dünya havada savruluyor haberin olsun :slight_smile:

Dünya havada savrulmuyor, hava molekülleri dünyanın çekim kuvveti ile savruluyor. Dünya bir yıldızın kütle çekiminin etrafında, ağırlıkla gaz halindeki hidrojenin ve nadiren eser elementlerin ve bazı tanımlanmamış parçacıkların içinde kendi kendine ve yıldızının kütle çekimi etrafında dönüyor, tıpkı yıldızının da kendi kendine ve başka büyük kütle çekimin etrafında döndüğü gibi…

Leküm diniküm veliyedin.

Bir dinden ziyade, insanın düşün dünyasının gelişim sürecini özetledim, bir ideoloji ya da perspektifi dayatmadım yani. Somut ve tarihsel gelişim süreci bu.

Tam da anlatmak istediğime uygun bir paragraf. İhtiyaç. İhtiyaç oluşmazsa kavrayamazlar sanırım.

Evet, bu önemli bir sosyolojik konudur. Ama “kavrayamazlar” kısmı doğru değil. Evet, toplumsal hafızada bağlam olarak ve “entitiy” olarak oluşmayabilir. Ama bazı toplumlarda özel olarak bu işle uğraşmayı dert edinen kişi ya da gruplar çıkıp, bunu yapabilirler(yani genel toplumsal kurumsallaşmanın dışında, nadir olarak da olsa böyle bir durum olabiliyor. Mesela Chomsk’nin, Ollman’nın bazı ürettiği kelimeler var, ABD zaten her şeyin üretilebileceği potansiyel olduğu için, başka yerden örnek vermek gerekirse, Sovyet Ruslarının İstatistik ve Sibernetik terimlerini yaratması, ya da Oktay Sinanoğlu’nun mesela bazıları gerçeğe çok yakın kavramları üretmesi, ya da mesela yeterince kurumsallaşmadığı zamanlarda Antikite toplumlarında bazı geometrik, bilimsel ve felsefi kavramların toplumsal kurumsallaşmanın dışında özel kişiler tarafından tanımlanmış olması vs. vs.)

Bunların dışında,

NYP öğrenmeyi kolaylaştıracak, ihtiyaç duyduğunu farkettirecek, görsel olarak zihninde canlandırmasını sağlayacak en güzel yapı, arayüz programlaması.

Elbette görsellik önemli, zira insan hafızasının büyük kısmı görsel olaylarla işlenmiş verilerle dolu. Fakat şunu da belirtmek isterim.
Programlama, her şeyden önce matematik ve algoritma(yani sıra)dır.
Buyüzden hangi dilde olursa olsun, matematik ve programlamada en öğretici şey örnektir. Sıkıcı gelebilir ama, gerçek bu. Ne kadar örnek yaparsanız, o kadar iyi öğrenirsiniz.

Ah, bu tıpkı istatistiksel öğrenme gibidir, gözlem sayısı arttıkça, tahminlemeniz(ya da bilmeniz) gerçeğe daha yakın, daha az sapmalı olur.

Aslında, bir ipucu vermek gerekirse, “tıpkı” ya da “gibi” değil, bu, tam olarak böyle.

Tahmin ettiğim şangyu, konudan çok felsefeni seviyor. Keyfim yerine geldi.

Galaksimz bile komple savruluyor, yiğidim :slight_smile:

Ben de dinden ziyade, benim fikrim bana senin fikrin sana maksadıyla kullandı. İslami usullerle de kesim yapabiliyorum göresin diye :wink:

Diğerleri…

Bildiğin gibi işte.

Artık kesim yapmana da gerek yok, helal et kurumu var, gerçi Polonya’dan ithal edecekmişiz bu sefer, ama yine de iktidara her şey caizdir.

Bu ülkede sırp kasaplardan et yediler de rahatsız olmadılar. Niye dert edeyim ki :wink:

Özletme kendini ak buralarda…

Özletmem mümkün mü, buna Türkiye Gündemi müsaade etmez bir kere…
Memleket, kendisi dışında bir şeyle uğraşmaya imkan vermiyor zaten.
Bir şekilde alır ve beni burada sıkıcı sıkıcı konuşturur, dont worry.

Sırp Kasaplardan et yediler demişken, Sırp Mafyasının uyuşturucu ticaretine aracılık yapmaya can atan, etini yiyince buna da şükür der, normal. :slight_smile:

Gençliğe dair ümidimsin…