Tüm bu dilleri doğrudan kafanızda nasıl tutuyorsunuz?


10

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.


14
Yapmıyorum. Bir hata ayıklayıcı ;-) kullanıyorum
PengOne

1
Pratik yapmak mükemmelleştirir. Diller genellikle aynı bilgisayar bilimi yapılarını kullanır, bu yüzden sözdizimsel farklılıkları ve özellik tekliflerini hatırlamak basit bir konudur.

17
sözdizimi vurgulama ile editör. renk değişene kadar düzenlemeye devam et ...
thorsten müller

2
Yapmıyorum. Google kullanırım.
Meslek

1
@John, diller arasında karıştırdığınız veya unutduğunuz şeylere bazı örnekler verin (yerleşik yöntem adları? Operatör önceliği? Kütüphaneler? Deyimler?) Diller arasında ne sıklıkta geçiş yapıyorsunuz (aylık? Saatlik?)
smci

Yanıtlar:


15

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.


8

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.


3
+1 olmadığı için, "Eğer gerçek bir programcıysanız, hiçbir sorun yaşamayacaksınız." Yeterli sayıda farklı dilde program yaparsanız, sözdizimi referansları olmazsa olmazdır.
Satanicpuppy

4
C ++ için "1 sayfalık demiryolu tarzı sözdizimi şeması artı hızlı başvuru" yazabilir misiniz? Gerçekten böyle bir canavarı görmek istiyorum.
sbi

Veya Perl için bir tane. Görmek için bir manzara olurdu.
Zhehao Mao

Bir sayfaya sığabileceğinizden daha fazlasına ihtiyacınız varsa, dili daha iyi hatırlayana kadar muhtemelen bu dil özelliklerini kullanmamalısınız.
hotpaw2

5

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.


3

İnsan beyni inanılmaz bir şey. Her birini yeterince iyi öğrenirseniz, koda bakabilmeli, dili tanıyabilmeli ve oldukça hızlı bir şekilde hızlanabilmelisiniz. Benim için hiç sorun olmadı ... ama hıza geri dönmek zaman alıyor.


3

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).


Bir dil için aşağıdaki sözleşmeler için +1. Her dili aynı stille kodlamak cazip gelebilir, ancak bu "yerlilere" çok "yabancı" görünmesini sağlar. Bir gün, kodumuzu koruyan bir "yerli" programcı olacak. Bu yüzden onlar için doğal hissettirecek şekilde yazmalıyız.
gMale

1
@gMale: Bu sadece başkalarına iyi davranma meselesi değil; dilin kültürünü kucaklamak, onu tam potansiyeline kullanmak için de gereklidir. Bir kültür bir dil etrafında büyür, çünkü bazı yollar diğerlerinden daha iyi çalışır ve kültürde katılaşır; bunları öğrenerek başkalarının hatalarından faydalanabilirsiniz.
tdammers

1

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).


1

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.


1

Yapmıyorum. Onları her zaman karıştırıyorum, bu yüzden bir dizi telafi edici davranış ve araç geliştirdim.

  • Büyük projelerin kod tabanlarında çalışıyorum, bu yüzden etrafımdaki kodu kontrol edeceğim.
  • Bir sözdizimi vurgulama düzenleyicisi kullanıyorum (hızlı, Perl elsif, elif kullanıyor mu yoksa başka bir şey kullanıyor mu? Hatırlamıyorum, ancak editör beni yolda tutacak.)
  • Dil deyimlerini kullanıyorum - C # 'da kodlama yapıyorsam lambdas, linq ve var kullanıyorum. Bu, yalnızca nesneleri ve sınıfları kullanmamdan daha az Java'ya benziyor.
  • Her dil için farklı bir ortam kullanıyorum: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Farklı görsel stiller beni yolda tutuyor.

0

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.


0

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.


0

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.


0

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;


0

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 .


0

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.

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.