Aynı Anda Birden Çok Dil Öğrenme [kapalı]


35

Yeni diller öğrenirken, kendinizi% 100'le bir dile adamak ve bir başkasına geçmek için "ustalaşana" ya da aynı anda farklı dilleri öğrenmeye çalışmak için beklemek daha iyi olur mu?

Önemli olursa, şu an C ++ öğreniyorum ve Java ve Python'u da bilmek istiyorum.


12
Genellikle% 100 akıcılık diye bir şey yoktur. Ne Jon Skeet, ne de Eric Lippert, C # 'nın% 100'ünü bilmiyor.
İş


3
Dil öğrenmeyin, belirli bir programı uygulamak için bir dilin nasıl kullanılacağını öğrenin. Yani, eğer bir programcıysanız, o zaman hangi dili kullandığınız önemli değildir, çünkü aynı sonucu elde edebilirsiniz. Daha da kötüsü, bir dili diğerine “öğrenmek” için kullandığınızda, önceki dili unutmaya başlayacaksınız.

Her iki dili de gerçekten ÖĞRENİN.
Tulains Córdova

@Maxpm Bir kerede çoklu dil öğrenme konusundaki deneyiminizin nasıl olduğunu söyleyebilir misiniz ...
Rahul Patil

Yanıtlar:


31

Sadece bir seferde birden fazla dil öğrenmekle ilgili bir problem görmüyorum, aynı zamanda bir dilde bir şeyin başka bir dilde sahip olabileceğiniz bir problemi çözebileceği konusunda doğrudan fayda sağlayabileceğini düşünüyorum. Örneğin, ana dilim C # ve LINQ ile uğraşırken SQL formatını kullandım (ki, sorun değil, onu çalmıyorum ama bunu yapmak için "iyi yol" gibi görünmüyordu). Lambdas'tan uzak durdum, çünkü dürüst olmak gerekirse, onları anlamadım ve gördüğüm C # belgelerinin (benim için) net bir tanımı yoktu. Sonra F # ile ilgili bazı kitaplar almaya başladım ve öğrenmeye başladım, bu bana Lambda'nın nasıl olduğunu anlamanın "ah ha!" Anını verdi.

Diğer dillerle (ve çerçevelerle) gittikçe daha fazla tecrübe ettikçe C # (ve ASP.Net) 'te daha iyi olduğumu öğrendim. Bu yüzden aynı anda birden fazla dil öğrenmenin hiç de kötü bir şey olmadığını düşünüyorum!


1
Tamamen katılıyorum ve ayrıca C # ile başladım. Bu dilde karşılaştığım pek çok şey vardı, benim açımdan bakış açımdan kavramak çok zordu ve eğer onları kavradıysam ne için olduklarını ya da neden kullanıldıklarını anlamak zordu. O zamandan beri birkaç başka dil öğrenmiştim ve dünyadaki bütün farkı yarattı. Özellikle, her dil farklı olduğu için, programlamanın her dilinden farklı yönlerini öğrenebilirsiniz.
fender1901

49

Bu sizin ilk dilinizse, bir programlama dilinin nasıl çalıştığını anlamak için yeterince iyi öğrenmenin daha iyi olacağını düşünüyorum.

İyi bir temeliniz olduğunda, istediğiniz kadar çok seçim yapabilirsiniz.


2
+1 Dördüncü, beşinci, altıncı vb. Gibi ilk üç dilinizi öğrenip öğrenmemeniz büyük bir fark yaratıyor.
keithjgrant

12

Programcılar için önemli bir becerinin, yeni programlama dillerini öğrenme yeteneği olduğunu düşünüyorum. Dolayısıyla, önce birinin tek bir dil öğrenmeye çalışacağını ve sonra başkalarını da ekleyebileceğini öne süreceğim.

İlk diliniz ne olursa olsun, ek dil öğrenme süreci:

  • Yeni dil için iyi bir sözdizimi referansı bulun
  • Yeni dilin güçlü yönlerini tanımlayın, yalnızca yeni dilde zaten bildiğiniz bir dil kodunu yazmayın (aksanla programlama)
  • Yeni dilin, daha önce kullandığınız önceki dillerle eşleşmeyen alanlarını keşfedin
  • Kod örnekleri bulun ve bunları incelemeden aynı şeyi sıfırdan kodlamaya çalışın ve uygulamanızın örnekten ne kadar farklı olduğunu görün

Dilleri biriktirirken zamanla, bildiğiniz diller arasında çeviri yapmanıza yardımcı olacak kendi dahili soyut sözde kod dilinizi oluşturacaksınız. Bu iç dil, yeni dilleri hızlıca öğrenmek için kullanacağınız çerçevedir.


1
"Yeni dilin gücünü tanımla ..." için +1. Çok hoş
Nick Burns,

8

Paralel olarak dil öğrenmek oldukça normal bir şey. Örneğin web programlama. En az üç dille uğraşıyorsunuz: sunucu tarafı (php, java, .net, ruby, python ...), müşteri kodu (java betiği ve html), veritabanı (sql).


ne htmlde sqlprogramlama dilleri.
52'de

l harfi, dil anlamına gelir
Boris Pavlović

7

Aynı anda birden fazla dil öğrenirken bir sorun görmüyorum. Aslında, hiçbir zaman gerçek bir dil ustası olmadınız, yani gerçekten, birden fazla dille çalıştığınız zaman, muhtemelen ikisini de öğreniyorsunuzdur.

Sadece iki dilin karışmasını önlemek için temelleri aşmak için bir dile odaklanmak isteyebilirsiniz. Java ve C # gibi benzer dilleri öğreniyorsanız, bu özellikle doğrudur.


JavaScript / Python, farklılıkları nedeniyle iyi bir seçim olabilir. Örnek olarak.
nick indiessance,

6

Birkaç yıldır programlama dersi veriyorum, bu yüzden deneyimlerimi sizinle paylaşabiliyorum. C # 'un sizin ilk diliniz olduğunu farz ediyorum, bu yüzden daha önce hiç programlanmayan insanlara programlama öğretme deneyimim faydalı olabilir.

Öncelikle, birden fazla dil öğrenmenin her tecrübeli programcının yapması gereken bir şey olduğunu söyleyeyim. Ancak bu, yeni başlıyorsanız, aynı anda birkaç dili öğrenmeniz gerektiği anlamına gelmez.

Yıllar boyunca, öğrenciler bir dilin zihninde katılaşmasının (en azından birincisi), bazen biraz daha fazla, bazen biraz daha az sürdüğünü göstermiştir. Bir yılda birden fazla dil öğretmeye çalışırsanız, öğrenciler bunları bir araya getirir ve kavramları ve dilleri karıştırırlar. Her ne kadar öğrenciler ilerleme kaydetse de, daha sonra çıkarması zor olan birçok kötü alışkanlığa girerler. Kendi başınıza öğreniyorsanız, bu risk daha yüksektir.

Ancak, iki dili çok farklı bir sözdizimiyle öğretirseniz bunun yardımcı olacağını fark ettim. İki programlama dilleri zaman bakmak gerçekten farklı birbirine kirletmeden gerçekten farklı varlıklar olarak onları görmek için zihin yardımcı olur. (Bir programlama dili zor kavramları başka bir dilde anlamanıza yardımcı olduğunda, bu iyidir; bir dil sizi kötü dilde başka bir dilde yazdığında, bu kötüdür).

Bu nedenle benim tavsiyem, ilk yılınız için bir programlama diline bağlı kalmak olacaktır. Alternatif olarak, iki dili öğrenmek, aynı anda / farklı görünmeleri şartıyla aynı anda öğrenmek iyi bir fikir olabilir. Eğer ilk diliniz C # ise, kesinlikle C, C ++, Objective C ve Java'dan uzak duracağım; ve muhtemelen Python, Ruby ve Javascript. C # ile Haskell, Scheme, F #, Erlang, Clojure veya belki Scala gibi işlevsel bir dili birleştirmenizi tavsiye ederim.


5

Bence bir defada birden fazla dil öğrenmek, bir seferde bir tane öğrenmekten daha iyidir, çünkü eğer diller yeterince farklıysa, her biri size diğerinden bir mola verir. Onları şaşırtmaya çalışın, böylece bir öncekinin “mutlak acemi” aşamasını geçtikten sonra yeni bir taneye başlayabilirsiniz; Bu şekilde, yalnızca dil hakkında öğrendiklerinizi değil, yeni bir dili nasıl öğrendiğinizi elde etme şansınız da artacaktır . (Genelleştirilmiş dil öğrenme becerisi, programlama hayatında daha sonra için minnettar olacağınız bir şeydir.)

Bununla birlikte, ilk dilinizi öğrenmek çok büyük bir zaman ve enerji yatırımı gerektirir ve bu süreçte başka bir büyük projeye başlayacak zamanınız olmayabilir. C ++ 'dan bıktığın için başka bir dil kurmayı düşünüyorsun - yapma! Ertelemenizi teşvik edecek. Eğer başka bir dile başlamayı düşünüyorsanız, çünkü (örneğin) Java ile yazılmış projelerden bahsetmeye devam edersiniz ve kodu kolayca okuyamayacağınız ve analiz edemediğiniz için hayal kırıklığına uğrarsınız - yap! Bu, herhangi bir zamanda başka bir dil öğrenmek için harika bir nedendir.


2

Aynı anda birden fazla dil öğrenmenin, belli bir dili öğrenmenin daha uzun sürdüğünü (gerçekten söylemedikçe devam edebileceğini) buldum. Ancak benim durumumda hangi dilleri tercih ettiğime ve kodlama tarzından en çok zevk aldığım karar vermeme izin verdi.

Benim durumumda C # ile başladım sonra Python ve F # 'ya girdim. F # 'nin işlevsel stilini gerçekten çok sevdim, bu da Scala ve Clojure'u denememe neden oldu. Şimdi tüm bu dilleri öğrendiğim için Scala'nın yaptığım işe uygun olduğunu gördüm. Artı, şimdi OOP'a ve işlevsel stillere gerçekten güveniyorum ve birkaç dili ustalıkla okuyabilir ve yazabilirim. Sahip olmak harika bir beceri.

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.