Bu soru son derece öznel ve açık uçlu. Hatta kendim için araştırmam ve kendi kararımı vermem gereken bir şey gibi gelebilir. Ama oraya koymak ve başkalarından bazı düşünceler almak istiyorum.
Uzun lafın kısası - Sıçan yarışı ile yandım ve bu yıl kendi kendini finanse eden bir sabbatikal'dayım. Bunların çoğu, kurumsal Grind'den bir mola vermek ve dolaşmak, ancak aynı zamanda yeni teknolojilerle oynamak ve bazı kendi kendine öğrenme projeleri yapmak, programlamada hızlanmak ve iyi olmak istiyorum - sadece baskı yokken programlama!
İşte bir şey: Ben bir ömür boyu C/C++/Java programcısıyım. Programlama kariyerimin tamamı için bu diller ailesiyle çalıştığımdan beri kıvrımlı bir köşeli aygıta sahibim. Bu yüzden bu grupla sözdizimsel olarak çok yakından ilgili olmayan bir dil öğrenmek istiyorum. Temelde aradığım şey nispeten genel amaçlı, öğrenmesi eğlenceli, C++/Java'dan farklı yeni kavramlara sahip ve iyi bir topluluğa sahip bir dildir. İkincil bir husus, iyi bir web geliştirme çerçevesine sahip olmasıdır. Üçüncül bir düşünce, tamamen akademik olmadığıdır (okuma: orada kullanan gerçek dünya işleri vardır).
Ben Ruby veya Python için daralttım. Ruby benim izlenim son derece web odaklı olduğunu - tek gerçek uygulama olduğu gibi web şeyler yapmak için bir sunucu tarafı komut dosyası dili (çoğunlukla Ruby Rails üzerinde). Python hiç hariç, bir izlenimim yok tutkulu bir hayran kitlesine sahip gibi görünüyor ve oldukça çok yönlü bir dil gibi görünüyor.
TL; DR ve mümkün olduğunca kısa bir şekilde söylemek gerekirse: C++/Java adamlarının programlama hakkında yeni perspektifler edinmeyi öğrenmesi için bunlardan hangisi daha iyi olur? Ve hangisi daha açık ve genel amaçlıdır ve daha geniş bir uygulama grubu için geçerlidir? Şu anda Ruby) doğru eğiliyordum, ancak bir sunucu tarafı web dilinden başka bir şey olarak kullanılmadığı anlaşılıyor.
Ruby ifadesinin büyük ölçüde Rails (web uygulama çerçevesi) sizi kandırması nedeniyle ortak parlaya yükselmesine izin vermeyin. Genel amaçlı bir programlama dilidir ve başka bir dili kullanabileceğiniz herhangi bir şey için kullanabilirsiniz.
Ruby ile oynayın ve ona aşık olup olmadığınızı görün. Ya yapacaksın ya da olmayacaksın. Sanki Grateful Dead'in müziği gibi; ya seviyorsunuz ya da dayanamıyorsunuz.
Ruby beynini gerecek. Birçok açıdan, alabildiğiniz kadarıyla C++/Java'dan uzaktır. C ve C # arka planından geliyorum ve Ruby'nin dinamikliği ve meta programlama gücünün oldukça sarhoş edici olduğunu gördüm.
Bununla birlikte, Python kesinlikle göze çarpan bir dildir ve sizi kıvırcıklığınızdan uzaklaştırır.
Neden ikisini de öğrenmiyorsun? Her ikisini de düzenli olarak kullanıyorum: Ruby ve Rails ile Google AppEngine ile çalışmak için Python.
Kuşkusuz Ruby'i kullandım, ama Python hakkındaki izlenimlerim:
Bu iki şey bana dikkat çekiyor.
Bir yıl boyunca sabbatikal kullanıyorsanız, o zaman her birini bir veya iki hafta öğrenmeyi ve ardından hangisini en çok seveceğinize kendiniz karar vermenizi öneririm. Her ikisiyle de deneyime sahibim ve bence ikisi de o kadar yeteneklidir ki, hangisini tercih edeceğinize gerçekten karar vermeniz gerekir.
IMO, Python ile gitmelisin. Nedeni daha çok yönlü olması, neredeyse her şey için kullanabilirsiniz. Ruby, fark ettiğiniz gibi, web çerçeveleri nedeniyle web geliştirmede daha çok kullanılır. Python'un aksine, Ruby gui masaüstü uygulamalarının geliştirilmesi için iyi değildir , sayısal, istatistiksel veya görüntü işleme programları.
Ruby Rails 'dan çok daha uzun zamandır var, bu yüzden onu orada
Ruby != web, buna rağmen çok iyi yapıyor. Yapabileceği ve yapabileceği şeylerle ilgili bir dizi sistem var. Görünüşe göre bütün Rails çerçeve Ruby dünyasının geri kalanını yuttu. Ve evet, ben bir Ruby = fan.
Python ise bunun için çok şey yapıyor ve Linux'ta neredeyse her şeyle entegre edildi. Bu bana daha büyük programlara (Ruby, Java, vs. ile karşılaştırıldığında) dahil olmanın oldukça kolay olduğunu söylüyor. Python ile yazılmış oldukça fazla miktarda Ubuntu Linux altyapısı var, bu da bana Python sistem programlamasında uygulama olduğunu söylüyor. Web çerçevesinin gerçekten güzel olduğunu duydum, henüz oynamadım.
Bununla birlikte, hem Ruby ve Python eşit derecede yetenekli dillerdir) ve hayatınızı daha kolay hale getirdiklerini göreceksiniz. Ruby topluluğunda çok daha fazla web yöneticisi var, ama bu topluluğun tamamı değil.Bunu bir dizi altyapı projesinde de kullandım.
Bu, " İdeal Programlama Dili Öğrenme Sırası" ve benzer sorular özel bir durumudur. İhtiyacınız olan şey "tek mükemmel dil" değil, zihninizi açmak için birden fazla dil paradigmasına ve çoklu öğrenme deneyimlerine ihtiyacınız var.
Bunu Ruby ve Python'a daralttığını söylediğini biliyorum, ama Racket (popüler bir Şema) ile başlamanı öneririm. Öğrenmek için tasarlandı ve beynini işlevsel programlamaya doğru güzelce esnetecek, etkileşimli programlama ve dinamik yazım.İş (tam anlamıyla sıfır), çok küçük, parçalanmış bir topluluk ve büyük bir web çerçevesi yok, bu yüzden tam olarak neden takılmıyorsunuz; bir süre beyninizi kızartın ve devam edin .
İkincisi, Ruby veya Python olası işler için. Her ikisini de öğrenmenizi öneririm.) Bu ikisinden ikincisini öğrenmek, Olası işlere gelince, bağırsak hissim, Raylar nedeniyle daha fazla Ruby iş var, ancak bu alanda bazı Zope çalışmaları olduğunu biliyorum. bunlardan birini değil, diğerini de en azından küçük bir şey inşa edecek kadar uzun süre kontrol edin.
Dürüst olmak gerekirse, muhtemelen işinizdeki ilk haftanızı, kendiniz öğrendiğinizden daha fazla öğreneceksiniz; her ikisinde de çok sayıda araç, kültür ve deyim içeren büyük ekosistemler var.
tl; dr: Her ikisi de ve Şema.
Ben de Java/C++ geçmişinden geldim ve Python Django) ile son 4 ay içinde programlama yapıyorum ve gerçekten harika. bir sorun ya da soru var Ben mevcut gönderiler hakkında açıklamalar bulabilirsiniz. Ruby henüz kullanmadım çünkü ben kefil olamaz, ama biraz zaman zaman kesinlikle deneyeceğim .
Ben şahsen Python yerleşik yararlı fonksiyonları bir sürü var gibi şeyler gerçekten hızlı nasıl yapabilirsiniz gibi.
Ruby için id oyu. Net ve C # arka planından geldim, denedim Python, ama Ruby sadece beni büyüledi =)
İçine bir sürü sistem yazıyorum ve bazı Rails dev için. Sistem programında Python) ve ve bana daha parlak geliyor ..