Я знаю Java, C #, C ++. Я использовал Perl и собираю Python и Actionscript 3.
Это, конечно, путь, по которому шли другие, поэтому я спрашиваю, как вы держите все эти языки прямо в своей голове?
language-agnostic
syntax
programming-languages
Джон Робертсон
источник
источник
Ответы:
Ваш мозг помнит только то, что считает важным, с сильным уклоном в сторону недавнего. Так что, просто вращайте любимые проекты на этих языках, и все будет в порядке. Как и разговорные языки, вам будет лучше, если вы начнете рано и сохраните свое использование активным.
источник
Раньше я публиковал синтаксическую диаграмму в стиле железной дороги на 1 листе плюс краткий справочник по каждому языку на стене до тех пор, пока у меня не хватило памяти.
Тем не менее, это нужно делать для любых языков программирования, которые я не использовал много месяцев.
источник
Вы смотрели на шпаргалки для языков и библиотек, которые вы регулярно используете? У меня есть пара на стене, одна для VIM, другая для PL / SQL. Этот веб-сайт: http://devcheatsheet.com/, кажется, имеет много читов.
Я предлагаю шпаргалки, потому что мозг может запомнить только так много. Язык, который вы используете ежедневно, станет легко запоминающимся. Синтаксис, а затем и некоторые библиотеки, функции и структуры, если вы используете их достаточно часто, и вам не нужно ничего искать в любом справочном материале. Чем меньше вы используете что-то, тем труднее это запомнить, хотя вы, как правило, сможете восстановить свои прежние способности с небольшой практикой. Вот почему я держу некоторые шпаргалки на своей стене: для функций / функций я не использую достаточно часто, чтобы быстро запомнить.
источник
Человеческий мозг - удивительная вещь. Если вы достаточно хорошо выучите каждый из них, вы сможете взглянуть на код, распознать язык и довольно быстро набрать скорость. Для меня это никогда не было проблемой ... но требуется время, чтобы набрать скорость.
источник
У меня есть небольшие проблемы с разделением языков в моей голове, за исключением нескольких типов машинного ввода (таких как необходимость подавлять точку с запятой в конце строки в Python или VB).
Полагаю, что мне больше всего помогает то, что всякий раз, когда я изучаю язык (программирование или человек), я также пытаюсь понять культуру и экосистему, в которую он встроен. Я не просто переключаю языки, я меняю образ мыслей (что-то вроде популярной метафоры «носить шляпу X»).
источник
Помогает то, что все языки, о которых вы говорите, относительно похожи (т.е. обязательно)
Если вы только учитесь использовать эти языки, все они очень похожи. Все они в основном имеют одинаковые функции, и все, что вы изучаете, это немного другой синтаксис.
Теперь, когда вы начинаете изучать использование (а не только синтаксис), это становится намного сложнее. Научиться использовать Java как программист Java не так просто для программиста C ++ (синтаксис прост, идиомы использования сложны).
Теперь, если бы вы перечислили разные стили языка (декларативный / функциональный / логический), я был бы более сочувствующим. Поскольку перемещение между языками было полностью изменено, парадигма становится намного сложнее.
Но использование языка - это ключ. Если вы используете язык каждый день, у вас не будет проблем. Прекратите использовать язык, и он исчезнет (сначала не быстро). Но чем дальше язык от языка, который вы используете ежедневно, тем быстрее он исчезнет. Секрет в том, чтобы продолжать практиковать языки, которые вам нравятся (прекратите использовать те, которые вам не нравятся, ваш мозг освободит место для других вещей).
источник
Вот если бы IDE пришли на помощь ;-) единственное, что меняется во всех этих языках - это наличие if-then-else или if-else. у некоторых будет '(', а у некоторых нет. Это так просто :)
Все, что нас волнует, - это логика и простейшая читаемая реализация.
источник
Я не. Я все время путаю их, поэтому я разработал набор компенсирующих поведений и инструментов.
источник
Один из способов - использовать отдельный стиль для каждого языка, на котором вы пишете. По свободной аналогии, говоря по-испански или по-французски, можно попытаться подражать интонации носителей языка.
Я видел людей, которые будут поддерживать отличные скобки, отступы и т. Д. Для каждого языка, чтобы их мозг правильно переключал передачи при переключении между ними.
источник
Думайте об этом как о музыке. Языки, которые вы изучаете, - это просто разные инструменты в оркестре, которые в конечном итоге создают одинаковые ноты. Воспоминание о том, как играть на инструментах, требует практики, но в конечном итоге вы сможете подобрать тот, который давно не играл, и, как по волшебству, ноты просто встают на свои места. Точно так же, по мере того, как вы продолжаете расширять свои познания в музыке (программировании), вы все больше и больше приобретаете новый инструмент и учитесь играть на нем.
Дрянная аналогия, но в конце концов, практика делает идеальным. Время от времени проводите время с каждым инструментом в этом оркестре, чтобы ваша способность играть ноты не ослабла.
источник
Я в основном разработчик PHP. Так что прости мое пристрастное мнение.
Недавно я обнаружил, насколько похож код C на PHP (или наоборот, в зависимости от того, как вы себя чувствуете;))
Моим предложением было бы, возможно, придерживаться семейства языков (если они применимы к вашей работе или проектам), и, по мере того, как вы будете совершенствовать свои навыки, переходите к новым знаниям.
источник
Я использую javascript и HTML / CSS, в основном, также я люблю c ++, когда мне нужен небольшой инструмент помощи с использованием QT, и я использую VB и f #, иногда я знаю, что это немного сумасшествие, но когда я чувствую, что начал терять язык особенно когда они имеют разный синтаксис (VB и F # и c ++ / javascript), поэтому я взял своего брата и сказал ему, что научу его, тогда я просто начинаю делать примеры с нуля, и когда я обнаруживаю, что не помню, как именно это сделать кое-что (однажды я забыл, как сделать, ЕСЛИ ЕЩЕ в VB) я просто гуглю это;
источник
В последнее время я использую Google Codesearch . Я иду туда и набираю регулярное выражение, которое свободно описывает то, что я пытаюсь сделать, и нахожу десятки примеров производственного кода. Когда я забываю синтаксис языка, для меня это самый быстрый способ получить ответы.
Этот подход становится еще более мощным, если вы хорошо разбираетесь в регулярных выражениях. Примечание. Это отличный ресурс для обновления навыков регулярных выражений .
источник
На самом деле: я не сильно переживаю из-за явных попыток построить какую-либо структуру в моей голове.
Это не сильно отличается от других сценариев в повседневной жизни. Я должен помнить, как водить машину, как читать книги, как играть в теннис и так далее. Просто верь мозгу и не думай много о метауровне.
источник