Jak trzymać wszystkie te języki prosto w głowie

10

Znam Java, C #, C ++. Użyłem Perla i zbieram Python i ActionScript 3.

Jest to z pewnością ścieżka, którą podeszli inni, więc pytam, jak trzymać wszystkie te języki prosto w głowie?

John Robertson
źródło
14
Ja nie. Używam debuggera ;-)
PengOne,
1
Praktyka czyni mistrza. Języki zazwyczaj wykorzystują ten sam zestaw konstrukcji informatycznych, więc po prostu pamiętaj o różnicach składniowych i ofertach funkcji.
17
edytor z podświetlaniem składni. edytuj dalej, aż zmieni kolor ...
thorsten müller,
2
Ja nie. Używam Google.
Job
1
@John, daje nam kilka przykładów rzeczy, które wydają się mylić lub zapomnieć różnych językach Jak często przełączać się między językami (wbudowane nazwy metody pierwszeństwa operatora bibliotek idiomów??) (Miesięcznie godzinowa?)
smci

Odpowiedzi:

15

Twój mózg pamięta tylko to, co uważa za ważne, z dużym uprzedzeniem w stosunku do ostatnich. Po prostu zmieniaj projekty zwierząt w tych językach, a wszystko będzie dobrze. Podobnie jak języki mówione, zrobisz to lepiej, jeśli: zaczniesz wcześnie i utrzymasz aktywność w użyciu.

yan
źródło
8

Kiedyś publikowałem na ścianie 1-arkuszowy schemat składni w stylu kolejowym oraz szybkie odniesienie do każdego języka na ścianie, dopóki moja pamięć nie włączyła się wystarczająco.

Nadal muszę to zrobić dla wszystkich języków programowania, których nie używałem od wielu miesięcy.

hotpaw2
źródło
3
+1 za brak bycia wszystkim: „Cóż, jeśli jesteś prawdziwym programistą, nie będziesz mieć żadnych problemów”. Jeśli programujesz w wystarczająco różnych językach, odwołania do składni są koniecznością.
Satanicpuppy
4
Czy możesz napisać „1-arkuszowy schemat składni w stylu kolejowym plus szybki przewodnik” dla C ++? Naprawdę chciałbym zobaczyć taką bestię.
sbi
Lub jeden dla Perla. To byłby widok do zobaczenia.
Zhehao Mao,
Jeśli potrzebujesz więcej niż zmieścisz się na jednej stronie, prawdopodobnie nie powinieneś jeszcze używać tych funkcji językowych, dopóki nie zapamiętasz języka lepiej.
hotpaw2
5

Czy sprawdziłeś ściągawki dla języków i bibliotek, których regularnie używasz? Mam tutaj parę na ścianie, jedną dla VIM i jedną dla PL / SQL. Ta strona: http://devcheatsheet.com/ wydaje się mieć wiele ściągawek.

Sugeruję ściągawki, ponieważ tylko tyle mózgu może łatwo zapamiętać. Język, którego używasz na co dzień, stanie się bardzo łatwy do zapamiętania. Składnia, a później niektóre biblioteki, funkcje i frameworki, jeśli używasz ich wystarczająco często i nie musisz szukać niczego w żadnym materiale referencyjnym. Im rzadziej czegoś używasz, tym trudniej jest to zapamiętać, chociaż zwykle będziesz w stanie odzyskać swoje poprzednie umiejętności po odrobinie praktyki. Dlatego na mojej ścianie trzymam kilka ściągów: dla funkcji / funkcji, których nie używam wystarczająco często, aby szybko zapamiętać.

FrustratedWithFormsDesigner
źródło
3

Ludzki mózg jest niesamowitą rzeczą. Jeśli nauczysz się każdego z nich wystarczająco dobrze, powinieneś być w stanie spojrzeć na kod, rozpoznać język i dość szybko przyspieszyć. To nigdy nie było dla mnie problemem ... ale powrót do prędkości zajmuje trochę czasu.

Patrick87
źródło
3

Nie mam problemów z rozdzielaniem języków w mojej głowie, oprócz kilku automatów do pisania (takich jak tłumienie średnika końca wiersza w Pythonie lub VB).

Myślę, że najbardziej pomaga mi to, że ilekroć uczę się języka (programistycznego lub ludzkiego), staram się także wychwytywać i przyjmować kulturę i ekosystem, w którym jest on osadzony. Nie zmieniam tylko języków, zmieniam sposób myślenia (coś w stylu popularnej metafory „noszenia kapelusza X”).

tdammers
źródło
+1 za następujące konwencje dla języka. Może być kuszące, aby po prostu kodować każdy język w tym samym stylu, ale to sprawia, że ​​wygląda na „obcy” dla „tubylców”. Pewnego dnia „rodzimy” programista będzie utrzymywał nasz kod. Musimy więc napisać to w sposób, który jest dla nich naturalny.
gMale
1
@gMale: To nie tylko kwestia bycia miłym dla innych; przyjęcie kultury języka jest również konieczne, aby wykorzystać go w pełni. Kultura rośnie wokół języka, ponieważ niektóre sposoby okazują się działać lepiej niż inne, a te utrwalają się w kulturze; ucząc się ich, możesz korzystać z błędów innych.
tdammers
1

Pomaga to, że wszystkie wymienione języki są względnie podobne (tzn. Konieczne).

Jeśli dopiero uczysz się używać tych języków, wszystkie są bardzo podobne. Zasadniczo wszystkie mają te same funkcje i uczysz się tylko nieco innej składni.

Teraz, kiedy przyszedłeś nauczyć się obsługi (nie tylko składni), staje się to o wiele trudniejsze. Nauka obsługi języka Java jak programisty Java nie jest tak prosta dla programisty C ++ (składnia jest łatwa, a idiomy użycia są trudne).

Teraz, jeśli wymieniłeś różne style języka (deklaratywne / funkcjonalne / logiczne), byłbym bardziej życzliwy. Ponieważ przemieszczanie się między językami paradygmatu całkowicie się zmienia, staje się znacznie trudniejsze.

Ale używanie języka jest kluczem. Jeśli używasz języka codziennie, nie będziesz mieć problemu. Przestań używać języka, a on zniknie (na początku nie szybko). Ale im bardziej język pochodzi z języka, którego używasz codziennie, tym szybciej zaniknie. Sekret polega na tym, aby nadal ćwiczyć języki, które lubisz (przestań używać tych, których nie lubisz w swoim mózgu, aby zrobić miejsce na inne rzeczy).

Martin York
źródło
1

To właśnie IDE przyszły na ratunek ;-) Jedyną zmianą we wszystkich tych językach jest albo „jeśli-to-inaczej” albo „jeśli-inaczej”. niektórzy będą mieli „(” a inni nie. To takie proste :)

Dbamy tylko o logikę i najłatwiejszą do odczytania implementację.

Arvind Chinniah
źródło
1

Ja nie. Cały czas je mylę, więc opracowałem zestaw zachowań i narzędzi kompensujących.

  • Pracuję w bazach dużych projektów, więc sprawdzę kod wokół mnie.
  • Używam edytora podświetlania składni (szybko, czy Perl używa elsif, elif, a jeśli nie? Nie pamiętam, ale edytor będzie mnie śledził).
  • Używam idiomów językowych - jeśli koduję w C #, używam lambdas, linq i var. To sprawia, że ​​wygląda mniej jak Java niż gdybym tylko używał obiektów i klas.
  • Używam innego środowiska dla każdego języka: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Różne style wizualne utrzymują mnie na drodze.
Sean McMillan
źródło
0

Jednym ze sposobów byłoby użycie odrębnego stylu dla każdego języka, w którym piszesz. Przez luźną analogię, mówiąc po hiszpańsku lub francusku, można spróbować naśladować odmienność rodzimego użytkownika języka.

Widziałem ludzi, którzy będą utrzymywać odrębne wzmocnienia, wcięcia itp. Dla każdego języka, aby pomóc mózgowi „odpowiednio zmienić bieg” podczas przełączania się między nimi

jonsca
źródło
0

Pomyśl o tym jak o muzyce. Języki, których się uczysz, to po prostu różne instrumenty w orkiestrze, które ostatecznie wytwarzają te same nuty. Pamiętanie, jak grać na instrumentach, wymaga praktyki, ale w końcu będziesz w stanie wybrać taki, na którym od dawna nie grałeś i jak magia nuty po prostu się układają. Podobnie, w miarę pogłębiania wiedzy o muzyce (programowanie), wybieranie nowego instrumentu i nauka gry na nim staje się coraz łatwiejsze za każdym razem.

Tandetna analogia, ale pod koniec dnia trening czyni mistrza. Od czasu do czasu poświęć trochę czasu na każdy instrument w tej orkiestrze, aby twoja umiejętność gry na nutach nie osłabła.

Cᴏʀʏ
źródło
0

Jestem głównie programistą PHP. Więc wybacz moją stronniczą opinię.

Niedawno odkryłem, jak podobny jest kod C do PHP (lub na odwrót, w zależności od tego, jak się czujesz;))

Moją sugestią byłoby być może trzymanie się rodziny języków (jeśli dotyczą one twojej pracy lub projektów), a gdy będziesz rozwijać swoje umiejętności, odejdź i naucz się nowych rzeczy.

MattyD
źródło
0

używam javascript i HTML / CSS głównie uwielbiam c ++, gdy potrzebuję małego narzędzia pomocniczego przy użyciu QT i używam VB i f # czasami wiem, że to trochę szalone, ale kiedy czuję, że zacząłem tracić język te, zwłaszcza gdy mają inną składnię (VB i F # oraz c ++ / javascript), więc dostaję mojego brata i powiedziałem mu, że go nauczę, wtedy zaczynam tworzyć przykłady od zera i kiedy stwierdzę, że nie pamiętam, jak dokładnie to zrobić coś (raz zapomniałem, jak zrobić JEŻELI ELSE w VB), po prostu google;

achmas
źródło
0

Ostatnio często korzystam z wyszukiwarki kodów Google . Idę tam i wpisuję wyrażenie regularne, które luźno opisuje to, co próbuję zrobić, i znajduję dziesiątki przykładów kodu produkcyjnego. Gdy zapomnę składni języka, jest to najszybszy sposób na uzyskanie odpowiedzi.

To podejście staje się jeszcze potężniejsze, jeśli jesteś dobry w wyrażeniach regularnych. Uwaga: Jest to świetny zasób do odświeżania umiejętności wyrażania regularnego .

gMale
źródło
0

Właściwie: nie martwię się zbytnio o próbę zbudowania jakiejkolwiek struktury w mojej głowie.

Nie różni się to zbytnio od innych scenariuszy w życiu codziennym. Muszę pamiętać, jak prowadzić samochód, czytać książkę, grać w tenisa i tak dalej. Po prostu zaufaj swojemu mózgowi i nie myśl dużo o metalevel.

perdian
źródło