Java, C #, C ++ biliyorum. Perl kullandım ve Python ve Actionscript 3'ü alıyorum.
Bu kesinlikle başkalarının zorladığı bir yoldur, bu yüzden tüm bu dilleri doğrudan kafanızda nasıl tuttuğunuzu soruyorum.
Java, C #, C ++ biliyorum. Perl kullandım ve Python ve Actionscript 3'ü alıyorum.
Bu kesinlikle başkalarının zorladığı bir yoldur, bu yüzden tüm bu dilleri doğrudan kafanızda nasıl tuttuğunuzu soruyorum.
Yanıtlar:
Beyniniz sadece neyin önemli olduğunu hatırlıyor, son zamanlara yönelik ağır önyargılarla. Yani, sadece bu dillerde evcil hayvan projelerini döndürün ve iyi olacaksınız. Tıpkı konuşulan diller gibi, şunları yaparsanız daha iyisini yaparsınız: erken başlayın ve kullanımınızı aktif tutun.
1 sayfalık demiryolu tarzı sözdizimi diyagramı ve hafızam yeterince yeterli olana kadar duvardaki her dil için hızlı referans gönderirdim.
Bunu aylardır kullanmadığım programlama dilleri için yapmak zorundayım.
Düzenli olarak kullandığınız diller ve kütüphaneler için hile sayfalarına baktınız mı? Burada benim duvarımda bir tane var, biri VIM, diğeri PL / SQL. Bu web sitesi: http://devcheatsheet.com/ birçok hile sayfasına sahip gibi görünüyor.
Hile sayfaları öneriyorum çünkü beynin kolayca hatırlayabileceği çok şey var. Günlük olarak kullandığınız bir dili hatırlamak çok kolay olacaktır. Sözdizimi ve daha sonra belirli kütüphaneleri, işlevleri ve çerçeveleri yeterince sık kullanırsanız ve herhangi bir referans materyaline bakmanıza gerek kalmaz. Bir şeyi ne kadar az kullanırsanız, hatırlamak o kadar zor olur, ancak genellikle eski yeteneklerinizi biraz pratik yaparak geri kazanabilirsiniz. Bu yüzden duvarımda bazı hile sayfaları tutuyorum: fonksiyonlar / özellikler için hızlı hatırlamak için yeterince sık kullanmıyorum.
Birkaç yazım otomatizmi dışında (Python veya VB'de satır sonu noktalı virgülünü bastırmak gibi) kafamdaki dilleri ayırmada çok az sorun yaşıyorum.
Bana en çok yardımcı olan şey, bir dili (programlama veya insan) her öğrendiğimde, içine yerleştirildiği kültürü ve ekosistemi de almaya ve kucaklamaya çalışmamdır. Sadece dilleri değiştirmiyorum, zihniyetleri değiştiriyorum (popüler 'X şapkası takıyor' metaforunun çizgileri boyunca bir şey).
Bahsettiğiniz tüm dillerin nispeten benzer (yani zorunlu) olmasına yardımcı olur.
Eğer sadece bu dilleri kullanmayı öğreniyorsanız hepsi çok benzer. Temelde hepsi aynı özelliklere sahiptir ve öğrendiğiniz tek şey biraz farklı bir sözdizimidir.
Şimdi (sadece sözdizimini değil) kullanımı öğrenmeye geldiğinizde, bu daha da zorlaşıyor. Java'yı bir Java Programcısı gibi kullanmayı öğrenmek bir C ++ programcısı için o kadar basit değildir (sözdizimi kolay kullanım deyimleri zordur).
Şimdi farklı dil stilleri (beyan edici / işlevsel / mantıksal) listelemiş olsaydınız daha sempatik olurdum. Diller arasında hareket etmek paradigma olduğu için tamamen geçiş yapmak çok daha zorlaşıyor.
Ancak bir dil kullanmak anahtardır. Her gün bir dil kullanırsanız, sorun yaşamayacaksınız. Bir dili kullanmayı bırakın ve solmaya başlar (ilk başta hızlı değil). Ancak dil, günlük kullandığınız dilden ne kadar uzak olursa, o kadar hızlı sönecektir. İşin sırrı, sevdiğiniz dilleri uygulamaya devam etmektir (beyninizden hoşlanmadığınız dilleri kullanmayı bırakın, başka şeyler için yer açacaktır).
Bu IDE'lerin kurtarmaya gelmesi idi ;-) Tüm bu dillerdeki tek şey ya 'eğer-öyleyse' ya da 'if-başkasına' sahip olmaktır. Bazıları '(' ve bazıları olmayacak. Bu kadar basit :)
Tek önemsediğimiz mantık ve en kolay okunabilir uygulama.
Yapmıyorum. Onları her zaman karıştırıyorum, bu yüzden bir dizi telafi edici davranış ve araç geliştirdim.
Bunun bir yolu, yazdığınız her dil için farklı bir stil kullanmak olacaktır. Gevşek analoji ile, İspanyolca veya Fransızca konuşulurken, anadili İngilizce olan bir kişinin taklidini taklit etmeye çalışılabilir.
Her dilin, aralarında geçiş yaparken beyninin "vites değiştirmesine" yardımcı olması için farklı bir destek, girinti vb. Koruyacak insanlar gördüm.
Müzik gibi düşünün. Öğrendiğiniz diller bir orkestrada nihayetinde aynı notaları üreten farklı enstrümanlardır. Enstrümanların nasıl çalınacağını hatırlamak pratik gerektirir, ancak sonunda bir süredir çalmadığınız bir şeyi seçebilir ve sihir gibi notlar sadece yerine oturur. Benzer şekilde, müzik bilginizi genişletmeye devam ettikçe (programlama), yeni bir enstrüman almak ve çalmayı öğrenmek her seferinde daha kolay ve daha kolay hale gelir.
Sevimsiz benzetme, ancak günün sonunda uygulama mükemmelleştirir. O orkestrada her enstrümanla arada sırada zaman geçirin, böylece notaları çalma yeteneğiniz kaybolmaz.
Ben esas olarak bir PHP geliştiricisiyim. Bu yüzden taraflı görüşümü affedin.
Geçenlerde sadece PHP için nasıl benzer C kodu olduğunu keşfettim (Ya da nasıl hissediyorum bağlı olarak etrafında;))
Benim önerim belki de bir dil ailesine bağlı kalmak (eğer işlerinize veya projelerinize başvuruyorlarsa) ve becerilerinizi daha da geliştirdikçe dallanıp yeni şeyler öğrenin.
JavaScript ve HTML / CSS ağırlıklı olarak kullanıyorum ayrıca QT kullanarak küçük bir yardım aracına ihtiyaç duyduğumda C ++ seviyorum ve VB ve f # kullanıyorum bazen biraz çılgınca biliyorum ama bir dili kaybetmeye başladığımı hissediyorum özellikle thay farklı sözdizimi olduğunda (VB ve F # ve c ++ / javascript) bu yüzden kardeşimi aldım ve ona öğreteceğim o zaman sadece sıfırdan örnekler yapmaya başladım ve tam olarak nasıl yapacağımı hatırlamadığımı bulduğumda bir şey (bir kez i nasıl VB ELSE YAPMAK unuttum) i sadece google;
Son zamanlarda google kod aramasını çok kullanıyorum. Oraya gidip ne yapmaya çalıştığımı gevşek bir şekilde anlatan düzenli bir ifade yazıyorum ve üretim kodunun düzinelerce örneğini buluyorum. Bir dilin sözdizimini unuttuğumda, cevap almanın en hızlı yolu budur.
Düzenli ifadelerde iyiyseniz, bu yaklaşım daha da güçlü hale gelir. Not: Bu, normal ifade becerilerini yenilemek için harika bir kaynaktır .
Aslında: Kafamın içinde her türlü yapıyı açık bir şekilde inşa etmeye çalışmaktan endişe etmiyorum.
Bu, günlük yaşamdaki diğer senaryolardan pek farklı değil. Araba sürmeyi, kitap okumayı, tenis oynamayı vb. Hatırlamalıyım. Sadece beyninize güvenin ve meta seviyede fazla düşünmeyin.