it-swarm-tr.com

Aynı Anda Birden Çok Dil Öğrenmek

Yeni diller öğrenirken, kendinizi bir dile% 100 taahhüt etmek ve başka bir dile geçmek için “ustalaşana” ya da aynı anda farklı dilleri öğrenmek için çalışmak kadar beklemek daha mı iyi?

Eğer önemliyse, şu anda C++ öğreniyorum ve Java ve Python) da bilmek istiyorum.

36
Maxpm

Sadece bir seferde birden fazla dil öğrenmekle ilgili bir sorun görmüyorum, aynı zamanda bir dilde bir şeyin başka bir dilde sahip olabileceğiniz bir problem alanını temizlemesinde size 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 (bu iyi, hiç vurmuyorum, ama bunu yapmanın “harika bir yolu” gibi görünmüyordu). Lambdas'dan uzak durdum çünkü dürüst olmak gerekirse, onları anlamadım ve gördüğüm C # belgeleri net bir tanım sağlamadı (benim için). Sonra F # hakkında bazı kitaplar almaya başladım ve bana “ah ha!” Lambdaların nasıl olduğunu anlayabilme anı.

Diğer diller (ve çerçeveler) ile daha fazla deneyim yaşadığım için C # (ve ASP.Net) daha iyi hale geldiğini bulduk. Bu yüzden aynı anda birden fazla dil öğrenmenin hiç de kötü bir şey olmadığını düşünüyorum!

31
Jetti

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

İyi vakıflara sahip olduğunuzda, istediğiniz kadarını seçebilirsiniz.

49
OscarRyz

Programcılar için önemli bir beceri, yeni programlama dillerini öğrenme yeteneğidir. Bu nedenle, önce tek bir dil öğrenmeye ve sonra başkalarını eklemeye çalışmayı öneriyorum.

İ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 dili zaten bildiğiniz gibi kodlamayın (aksanla programlama)
  • Yeni dilin daha önce kullandığınız önceki dillerle eşleşmeyen alanlarını keşfedin
  • Kod örneklerini bulun ve gözden geçirmeden aynı şeyi sıfırdan kodlamaya çalışın ve uygulamanızın örnekten nasıl farklı olduğunu görün

Zaman içinde dil biriktikçe, bildiğiniz diller arasında çeviri yapmanıza yardımcı olacak kendi dahili soyut sahte kod dilinizi oluşturacaksınız. Bu dahili dil, yeni dilleri hızlı bir şekilde öğrenmek için kullanacağınız çerçevedir.

12
Jason Aller

Dilleri paralel olarak öğrenmek oldukça normal bir şeydir. Örneğin web programlama. En az üç dil ile uğraşıyorsunuz: sunucu tarafı (php, Java, .net, Ruby, python ...), istemci kodu (Java komut dosyası ve html), veritabanı (sql).

8
Boris Pavlović

Aynı anda birden fazla dil öğrenirken bir sorun görmüyorum. Aslında, hiçbir zaman gerçekten bir dil konusunda ustalaşmazsınız, bu yüzden gerçekten, birden fazla dil ile çalıştığınızda, muhtemelen her ikisini de öğreniyorsunuzdur.

Sadece iki dili karıştırmamak için temelleri öğrenmek için tek bir dile konsantre olmak isteyebilirsiniz. Bu, özellikle Java ve C # gibi) benzer diller öğreniyorsanız geçerlidir.

7
Paul Whitehurst

Birkaç yıldır programlama dersleri veriyorum, böylece deneyimimi sizinle paylaşabiliyorum. C # 'ın ilk diliniz olduğunu varsayıyorum, bu yüzden daha önce hiç programlanmamış insanlara programlamayı öğretme deneyimim yararlı olabilir.

Her şeyden önce, size birden fazla dil öğrenmenin her deneyimli programcının yapması gereken bir şey olduğunu söyleyeyim. Ancak bu, yeni başlıyorsanız aynı anda birden fazla dil öğrenmeniz gerektiği anlamına gelmez.

Yıllar boyunca, öğrenciler bir dilin zihninde (en azından birincisi), bazen biraz daha fazla, bazen biraz daha az katılaşmasının yaklaşık bir yıl sürdüğünü gösterdiler. Bir yılda birden fazla dil öğretmeye çalışırsanız, öğrenciler bunları karıştırmaya ve kavramları ve dilleri karıştırmaya eğilimlidir. Öğrenciler ilerleme kaydetmesine rağmen, daha sonra ayıklanması 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 öğretmenin yardımcı olduğunu fark ettim. İki programlama dili bak gerçekten farklı olduğunda, zihnin birbirlerini kirletmeden onları gerçekten farklı varlıklar olarak görmesine yardımcı olur. (Bir programlama dili başka bir dildeki zor kavramları anlamanıza yardımcı olduğunda, bu iyidir; bir dil sizi başka bir dilde kötü kod yazmanıza neden olduğunda, bu kötüdür).

Bu nedenle, tavsiyem ilk yıl için bir programlama diline bağlı kalmak olacaktır. Alternatif olarak, çok farklı oldukları/çok farklı oldukları sürece iki dili aynı anda öğrenmek iyi bir fikir olabilir. İlk diliniz C # ise, C, C++, Objective C ve Java kesin; ve muhtemelen Python, Ruby ve Javascript'ten uzak dururum. Haskell, Scheme, F #, Erlang, Clojure veya belki de Scala gibi bir dil.

6
sergut

Sanırım bir seferde birden fazla dil öğrenmek aslında her seferinde bir dil öğrenmekten daha iyidir, çünkü eğer diller yeterince farklıysa, her biri size diğerinden bir ara verir. Onları sendelemeye çalışın, böylece bir öncekinin "mutlak acemi" aşamasından geçtikten sonra yeni bir tanesine başlayabilirsiniz; bu şekilde sadece dil hakkında öğrendiklerinizi değil, nasıl yeni bir dil öğrendiniz. (Genelleştirilmiş dil öğrenme becerisi, daha sonra programlama hayatında minnettar olacağınız bir şeydir.)

Bununla birlikte, ilk dilinizi öğrenmek için büyük bir zaman ve enerji yatırımı gerekir ve bu süreçte başka bir büyük projeyi üstlenecek zamanınız olmayabilir. C++ 'dan bıktığınız için başka bir dil başlatmayı düşünüyorsanız - yapma! Sizi ertelemeye teşvik edecektir. Başka bir dil başlatmayı düşünüyorsanız, çünkü (say) Java) dilinde yazılmış projelerden bahsetmeye devam ediyorsanız ve kodu kolayca okuyamayacağınızdan ve analiz edemediğinizden hayal kırıklığına uğruyorsanız yapın! Bu, herhangi bir zamanda başka bir dil öğrenmek için harika bir nedendir.

5
Arkaaito

Aynı anda birden fazla dil öğrenmenin belli bir dili öğrenmenin daha uzun sürmesine yol açabileceğini buldum (gerçekten söylemeden geçiyor). Ancak benim durumumda hangi dilleri tercih ettiğime ve en çok keyif aldığım kodlama stiline karar vermeme izin verdi.

Benim durumumda C # ile başladım ve sonra Python ve F # 'a girdim. F =' nin = Scala ve Clojure. çünkü tüm bu dilleri öğrendiğim için Scala yaptığım iş için iyi bir uyum buldum. Ayrıca şimdi OOP ve fonksiyonel stillere gerçekten güveniyorum) ve birkaç dili yetkin bir şekilde okuyabilir ve yazabilir.

2
Richard Todd