İyi yazılmış bir dokümantasyon bir programlama dilini öğrenmek için yeterince iyi bir sebep midir? [kapalı]


14

Şu anda üniversite müfredatımın bir parçası olmayan Python'u öğreniyorum. Bir röportajda neden Python'u seçtiğimi sordum ve öğrenmenin kolay olduğunu ve belgelerin çok iyi yazıldığını söyledim. Görüşmeci, bunun yeterince iyi bir neden olup olmadığı konusunda cevap vermedi. İkna olmuş görünüyordu ama emin olamıyorum.

İyi yazılmış bir dokümantasyon ile birlikte öğrenme kolaylığı bir senaryo dili seçmek için yeterince iyi bir sebep midir? Yoksa Python kitaplıklarının kullanılabilirliği ve Python'un daha büyük kullanıcı tabanı hakkında daha fazla ayrıntıya girmiş miydim?

Sadece bir not. Python iş için gerekli değildi. Şirket Ruby on on rails üzerinde çalıştı. Python özgeçmişimdeydi ve bence görüşmeci bir programlama dili seçerken daha taze olarak hangi düşünceleri yaptığımı bilmek istedi.


12
Muhtemelen röportajda değil, ama sizden başka bir şey öğrenmek için bir nedene ihtiyacınız olup olmadığını sorgulayacağım.
jk.

2
@jk C'yi şimdiye kadar tanıyorum. Ben büyük bir uzman değilim ama sentaks biliyorum, veri yapıları ve benzeri uygulayabilirsiniz. Fikirleri daha hızlı uygulayabileceğim bir dile ihtiyacım vardı. Bu yüzden bir senaryo dili seçtim. Dokümantasyon, kullanım kolaylığı ve kullanıcı tabanı Perl ve Tcl ile karşılaştırdığımda başlıca avantajlardı. Her üç dile de uygulanmadı ama google Python kullanarak bulabildiğim kadarıyla bunlardan daha iyiydi. Bu yüzden Python'u seçtim. İstediğim için öğrenmek yeterince iyi bir neden ama ilgilendiğim Python değildi. Fikirler ana şeydi.
Aseem Bansal

1
[Kolay olduğu için bir şey yapmak] neredeyse [zor olduğu için bir şey yapmak] kadar etkileyici değildir. Aslında zor ve sadece gösteriş sürece. ;)
TimG

5
Python'da yeni olduğunuz için, ona atıfta bulunmayı bırakmayı ve bunu bir betik dili olarak düşünmenizi öneririm. Bu bir dil . İnsanlar web siteleri, masaüstü uygulamaları, küçük komut dosyaları, büyük kütüphaneler, katıştırılmış denetleyiciler vb. Buna "betik dili" demek benim için uygun görünmüyor.
Chelonian

@Chelonian Point kaydetti. Bunu işaret ettiğiniz için teşekkürler.
Aseem Bansal

Yanıtlar:


20

Hayır, iyi yazılmış belgeler bir dil öğrenmek için yeterince iyi bir neden değildir.

Kötü yazılmış belgeler, öğrenmemek için iyi bir nedendir.


Bir dil öğrenmek için dört neden vardır:

  1. Çünkü kariyerinizde faydalı bir araç olabilir

    Dil bir araçtır. Kişi, belirli bir bağlamdaki faydalarından ötürü diğerinden ziyade bir dil kullanır. Bir dilin yüksek kalitede belgelere sahip olması onu daha iyi bir araç yapmaz ya da sadece marjinal olarak yapar¹.

    Dil tercihi önceki deneyime, paradigmalara (örnek: Haskell için fonksiyonel programlama), yaklaşımlara (örnek: Node.js ile sunucu tarafı programlama dili olarak JavaScript için tamamen eşzamansız mod), birlikte çalışabilirliğe ( örnek: Java için hemen hemen her işletim sistemiyle uyumluluk) vb.

    Bir aracı günlük yaşamınızda kullanabilmek, bir dil öğrenmenin nedenlerinden biridir.

  2. Çünkü kültürünüzü ve bilginizi genişletiyor

    Bir dil öğrenmenin bir başka nedeni, yeni kavramlar, paradigmalar ve zarif kod yazmanın yollarını öğrenmektir (örnek: Haskell). Burada yine dokümantasyon yardımcı olur, ancak bir dil öğrenmek için tek neden değildir.

  3. Çünkü öğrenmek için minimum çaba gerektirir

    Bir dili öğrenmenin bir başka nedeni de öğrenmesi kolay olmasıdır (örnek: PHP). Yine, dokümantasyon çok katkıda bulunur, ancak dilin kendisi hala daha önemlidir. Dahası, bir röportaj sırasında bir dili öğrendiğimi basitçe öğrenmesi kolay olduğunu söylemekten kaçınırım.

  4. Çünkü eğlenceli.

    Bir dili öğrenmenin son nedeni, iyi tasarlanmış bir dili (örnekler: Haskell, Ruby) veya meraklıları için bir dili (örnek: Brainfuck) öğrenmek sadece heyecan vericidir.

Python örneğinde, cevaplayabileceğiniz şey şudur:

  1. Dinamik bir dildir. Dinamik diller, koşullar güçlü türleri önemli hale getirmediğinde prototip oluşturmayı ve daha hızlı gelişmeyi kolaylaştırır.

  2. Zarif. Belki Haskell kadar zarif değil, ama yine de PHP gibi genel web tabanlı dillerle karşılaştırma yapmak kolaydır.

  3. Birçok ana akım dilin girintiyi sadece IDE tarafından yönetilmesi gereken bir yük haline getirdiği göz önüne alındığında, anlamlı girinti kullanımı ilginçtir. Haskell derleyicisi ve tercümanı bu arada girintiye de güveniyor.

  4. Python'un listelerle çalışmak için zarif bir yolu vardır. Liste kavrayışları ve jeneratör ifadeleri, daha önce hiç işlevsel programlama kullanmamış biri için ilginç kavramlardır.

  5. Django, kodu oldukça temiz tutarken hızlı bir şekilde web uygulamaları oluşturmayı kolaylaştırır. Bu, diğer birçok programlama diline göre büyük bir avantajdır.

  6. Büyük ölçekli web uygulamaları için yeterince hızlı ve yeterince güçlü. Örneğin, Dropbox Python'da yazılmıştır. YouTube ağırlıklı olarak Python'a güveniyor. Reddit, iyi hatırlarsam, Python'a da güvenir.


Well İyi yazılmış bir dokümantasyon hala doğru ve hızlı bir şekilde yapılmasına yardımcı olur.


C.'yi biliyorum. Python'u öğrendim çünkü fikirleri daha hızlı uygulamak istedim. Bu ilk noktayı dışlıyor. İşlevsel paradigmayı sadece Python aracılığıyla tanımaya başladım, böylece 2. nokta da çıktı. O zaman bu durumda sadece 3. noktadan ayrıldım. Cevabımın vurgusu ne olmalıydı? Daha fazla bilgi bu soruya soru
Aseem Bansal

@AseemBansal: Neyi cevaplayabileceğinizi göstermek için sorumu düzenledim. Ayrıca, "işlevsel paradigmayı sadece Python aracılığıyla tanımaya başladınız" tam olarak bahsettiğim şeydir: Python'u öğrendiniz ve tam olarak bir dil öğrenmenin amacı olan FP'yi keşfetmenize yardımcı oldu.
Arseni Mourzenko

1
Dropbox'ı youtube ve Reddit yerine örnek olarak kullanabilirsiniz. Tamamen Python'da yapılır. Doğru hatırlıyorsam Guido, Dropbox'ın ürünlerini oluşturmasına yardımcı oldu ve yakın zamanda tekrar katıldı.
Aseem Bansal

Atladığınızı düşünüyorum dördüncü bir neden var: Çünkü dil eğlenceli görünüyor!
martiert

Bir şekilde martiert çizgisinde, ama ya eğlence? Belirli bir dili öğrenmek istiyorsanız, bu yeterince iyi bir nedenden daha fazlasıdır. Becerilerinizi en üst düzeye çıkarmak için her şeyin kariyer gelişimi ve stratejileri ile motive edilmesi gerekmez.
Gilles

7

Eğer benim gibiyseniz, rahat bir sapı olduğu için çekiç kullanmazsınız. Bir şey almak için gerekli olmadığından bir çekiç kullanmak yapılır dövülmüş.

Bu nedenle, hayır, iyi belgeler kesinlikle yardımcı olsa da , kendi başına bir programlama dili öğrenmek için bir neden değildir .


1
Yapmak istediğim şeyleri ekledim ve Python kullanarak yapıyordum ama sanırım işlerin dokümantasyondan daha çok yapılmasına önem vermeliydim.
Aseem Bansal

3
çekiç kullanıyorsunuz çünkü dövülmüş bir şey almanız gerekiyor ... tornavida daha uygun olduğunda çok fazla insan çekiç kullanıyor.
gbjbaanb

@gbjbaanb: Kesinlikle! Daha hassas olduğunuz için teşekkürler.
stakx

1

Yeni bir dil öğrenmem için başlıca nedenlerim:

  1. birlikte çalıştığınız ekibin geri kalanı bunu kullanır ve siz ekibin bir parçası olacak yeni sizsiniz.

  2. bir sorunu çözmek istiyorsanız ve X dili veya X dili için kütüphaneler / çerçeveler bu görev için en iyi desteği sağlıyor gibi görünüyor

  3. Bunu sadece kendi eğitim amaçları için yaparsınız.

Genellikle durum 2 için sorunu çözmek için uygun birden fazla dil veya çerçeve vardır. Daha sonra iyi yazılmış belgeler dikkate alınması gereken faktörlerden biri olabilir (ancak diğer faktörler de). 3. nokta için, iyi dokümantasyon daha önemli olabilir, ama dürüst olmak gerekirse, sadece öğrenmek için yeni bir dil öğrenmek istiyorsanız, önce çözülmek istediğiniz bir sorun bulun, aksi takdirde yakında motivasyonunuzu kaybedersiniz, yazılı belgeler mevcut ya da mevcut değil.


1

Evet neden olmasın? Ne kadar çok dil öğrenirseniz, bir sonraki dili o kadar kolay öğrenirsiniz. Birçok programlama kavramı çeşitli dillerde öğrenilebilir. Böylece, öğrenim için en iyi materyallere sahip olanla başlayabilirsiniz.

Ayrıca çoğu görev çeşitli dillerde gerçekleştirilebilir. Genellikle, bir süre sonra, temel dil kavramları ve araçlarında ustalaşacaksınız, ancak çoğu kütüphaneyi gerektiği gibi öğreneceksiniz. Belirli bir uygulama etki alanında hızlı bir şekilde hızlanabilmeniz için kitaplıkların iyi belgelenmesi bir dil lehine bir argüman.


0
  • Hayır, iyi yazılmış belgeler bir dil öğrenmek için yeterince iyi bir neden değildir.

  • Görüşmeci bu soruyu ona python'un iyiliğini anlatmanız için sordu.Python ve ruby'yi karşılaştırmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.