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?
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?
Odpowiedzi:
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.
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ć.
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”).
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).
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ę.
Ja nie. Cały czas je mylę, więc opracowałem zestaw zachowań i narzędzi kompensujących.
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
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.
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.
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;
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 .
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.