Як ти тримаєш усі ці мови прямо в голові


10

Я знаю Java, C #, C ++. Я використовував Perl і збираю Python та Actionscript 3.

Це звичайно шлях, який пройшли інші, тож я запитую, як ти тримаєш усі ці мови прямо в голові?


14
Я не. Я використовую налагоджувач ;-)
PengOne

1
Практика робить ідеальною. Мови, як правило, використовують один і той самий набір конструкцій інформатики, тому це просто питання запам'ятовування синтаксичних відмінностей і пропозицій функцій.

17
редактор із виділенням синтаксису. продовжуйте редагувати, поки воно не змінить колір ...
thorsten müller

2
Я не. Я використовую Google.
Робота

1
@John, наведіть нам кілька прикладів того, що ви, як правило, плутаєте або забуваєте на різних мовах (вбудовані назви методів? Пріоритет оператора? Бібліотеки? Ідіоми?) Як часто ви перемикаєтесь між мовами (щомісяця?
Щогодини

Відповіді:


15

Ваш мозок пам’ятає лише те, що вважає важливим, із сильним ухилом до недавнього часу. Отже, просто обертайте проекти домашніх тварин на цих мовах, і у вас все буде добре. Так само, як і розмовні мови, вам стане краще, якщо ви: почнете рано та продовжуйте активно користуватися.


8

Раніше я розміщував 1-аркушну синтаксисну діаграму в стилі залізниць, а також швидку довідку для кожної мови на стіні, поки моя пам'ять не забилася достатньо.

Це все ще потрібно зробити для будь-яких мов програмування, якими я не користувався протягом багатьох місяців.


3
+1 за те, що не всі: "Ну, якщо ви справжній програміст, у вас не буде проблем". Якщо ви програмуєте достатньо різних мов, посилання на синтаксис є обов'язковими.
Satanicpuppy

4
Не могли б ви опублікувати цю "синтаксичну діаграму в стилі залізниці на 1 аркуші та швидку посилання" для C ++? Мені б дуже хотілося бачити такого звіра.
sbi

Або один для Perl. Це було б видовище побачити.
Чжехао Мао

Якщо вам потрібно більше, ніж ви вмістите на одній сторінці, ви, мабуть, не повинні використовувати ці мовні функції, поки ви краще не запам’ятаєте мову.
hotpaw2

5

Ви заглядали в шпаргалки для мов і бібліотек, якими ви регулярно користуєтесь? У мене тут є пара на моїй стіні, одна для VIM і одна для PL / SQL. Цей веб-сайт: http://devcheatsheet.com/, здається, має багато чіт-таблиць.

Я пропоную шпаргалки, бо мозок може легко запам'ятати. Мова, якою ви користуєтесь щодня, запам'ятовується дуже легко. Синтаксис і пізніші певні бібліотеки, функції та рамки, якщо ви використовуєте їх досить часто, і вам не потрібно буде шукати нічого в жодному довідковому матеріалі. Чим менше ви щось використовуєте, тим складніше запам’ятати, хоча зазвичай ви зможете відновити свої колишні здібності за допомогою невеликої практики. Ось чому я тримаю на своїй стіні кілька шпаргалок: для функцій / функцій я не використовую досить часто, щоб швидко запам'ятати.


3

Людський мозок - дивовижна річ. Якщо ви навчитеся кожного з них досить добре, ви маєте змогу переглянути код, розпізнати мову та скористатися швидкою швидкістю, щоб відновити швидкість досить швидко. Це ніколи для мене не було проблемою ... але потрібно час, щоб повернути назад на швидкість.


3

У мене мало проблем з розділенням мов у голові, окрім кількох автоматизмів набору тексту (наприклад, придушення крапки з комою в рядку в Python або VB).

Я думаю, що мені найбільше допомагає те, що коли я вивчаю мову (програмування чи людину), я також намагаюся підібрати та прийняти культуру та екосистему, в яку вона вбудована. Я не просто перемикаю мови, я перемикаю мислення (щось уздовж популярної метафори "носити капелюх X").


+1 для наступних умов для мови. Це може бути заманливо просто кодувати кожну мову з однаковим стилем, але це робить його зовнішнім виглядом "чужим" для "тубільців". Колись «рідний» програміст буде підтримувати наш код. Тому ми повинні писати це так, щоб вони почувались природними.
gMale

1
@gMale: Справа не тільки в тому, щоб бути добрим до інших; також необхідно використовувати культуру мови для її повного потенціалу. Культура зростає навколо мови, оскільки певні способи виявляються кращими, ніж інші, і твердіють у культурі; навчившись цим, ви можете скористатися помилками інших.
tdammers

1

Це допомагає, щоб усі мови, які ви згадували, були відносно схожими (тобто необхідними).

Якщо ви тільки навчитесь користуватися цими мовами, всі вони дуже схожі. В основному всі вони мають однакові особливості, і все, що ви вивчаєте, є дещо іншим синтаксисом.

Тепер, коли ви приїхали вивчити використання (а не лише синтаксис), то це стає набагато складніше. Навчитися використовувати Java, як програміст Java, не так просто для програміста C ++ (синтаксис простий, ідіоми використання складні).

Тепер, якби ви перерахували різні стилі мови (декларативні / функціональні / логічні), я би був більш симпатичним. По мірі переміщення між мовами парадигма повністю зміщується стає набагато важче.

Але використання мови є ключовим. Якщо ви користуєтесь мовою щодня, тоді у вас не виникне проблем. Перестаньте використовувати мову, і вона зникне (спочатку не швидко). Але чим далі мова буде від мови, якою ви користуєтесь щодня, тим швидше вона зникатиме. Секрет у тому, щоб продовжувати практикувати мови, які вам подобаються (припиніть використовувати ті, які вам не подобаються, і ваш мозок дозволить створити місце для інших речей).


1

Ось тільки IDE допоможуть допомогти ;-) Єдине, що змінюється на всіх цих мовах - це мати "якщо-то-інше", або "якщо-інше". у деяких буде "(", а у деяких немає. Це так просто)

Все, що нам нас цікавить, - це логіка та найпростіша версія для читання.


1

Я не. Я весь час їх плутаю, тому я розробив набір компенсуючої поведінки та інструментів.

  • Я працюю в кодових базах великих проектів, тому перевіряю код навколо себе.
  • Я використовую редактор виділення синтаксису (швидкий, чи Perl використовує elsif, elif чи інше? Якщо я не пам'ятаю, але редактор буде тримати мене на шляху.)
  • Я використовую мовні ідіоми - якщо я кодую в C #, я використовую лямбдаси, linq та var. Це робить його менш схожим на Java, ніж якби я використовував лише об'єкти та класи.
  • Я використовую інше середовище для кожної мови: C # -> Visual Studio, Java -> Eclipse, Perl -> Vim. Різні візуальні стилі ведуть мене на шляху.

0

Один із способів - використовувати окремий стиль для кожної мови, якою ви пишете. За слабкою аналогією, говорячи по-іспанськи чи по-французьки, можна спробувати наслідувати перемін носія мови.

Я бачив людей, які підтримуватимуть чітке закріплення, відступ тощо для кожної мови, щоб допомогти їхньому мозку належним чином перемикати передачі при переключенні між ними


0

Думайте про це як про музику. Мови, які ви вивчаєте, - це лише різні інструменти в оркестрі, які в кінцевому підсумку випускають однакові ноти. Пам’ятати, як грати на інструментах, потрібна практика, але врешті-решт ви зможете підібрати той, який ви не грали протягом певного часу, і як магія, ноти просто стають на місце. Так само, як ви продовжуєте розширювати свої знання про музику (програмування), підбираючи новий інструмент і навчаючись грати, щоразу стає простіше і простіше.

Сирна аналогія, але наприкінці дня практика робить ідеальною. Приділяйте раз у раз інструменту в цьому оркестрі, щоб ваша здатність грати на нотах не згасала.


0

Я в основному розробник PHP. Тож пробачте мою необ’єктивну думку.

Нещодавно я виявив, наскільки схожий C код на PHP (Або навпаки, залежно від того, як ви себе почуваєте;))

Моя пропозиція полягатиме в тому, щоб, можливо, дотримуватися сімейства мов (якщо вони стосуються вашої роботи чи проектів), і коли ви розвиватимете свої навички, потім відгалужуйтесь та вивчайте нові речі.


0

я використовую JavaScript та HTML / CSS, головним чином, я також люблю c ++, коли мені потрібен невеликий інструмент допомоги з використанням QT, і я використовую VB та f # іноді я знаю, що це трохи божевільно, але коли я відчуваю, що почав втрачати мову ті, особливо, коли у них різні синтаксиси (VB і F # і c ++ / javascript), тож я отримую свого брата і сказав йому, що я його вчу тоді, я просто починаю робити приклади з нуля, і коли я знаходжу, що я не пам'ятаю, як саме робити щось (колись я забув, як це зробити, якщо ЯКЩО ВІД ВБ) я просто гугл;


0

Останнім часом я дуже багато використовую пошуковий код Google . Я заходжу туди і набираю звичайний вираз, який вільно описує те, що я намагаюся зробити, і знаходжу десятки прикладів виробничого коду. Коли я забуваю синтаксис мови, це найшвидший спосіб отримати відповіді.

Такий підхід стає ще сильнішим, якщо ти добрий з регулярними виразами. Примітка. Це чудовий ресурс для оновлення навичок регексу .


0

Насправді: я не дуже хвилююся, коли якраз намагаюся побудувати будь-яку структуру в моїй голові.

Це мало чим відрізняється від інших сценаріїв повсякденного життя. Я маю пам’ятати, як керувати автомобілем, як читати книгу, як грати в теніс тощо. Просто довіряйте своєму мозку і не думайте багато на метарівні.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.