Почему я не могу сохранить 2 языка в голове одновременно? [закрытый]

К вашему сведению, для тех, кто использует Python на стороне сервера: datetime.datetime (). Ctime () возвращает строку, которая изначально может быть обработана с помощью «new Date ()». То есть, если вы создаете новый экземпляр datetime.datetime (например, с datetime.datetime.now), строка может быть включена в строку JSON, а затем эта строка может быть передана в качестве первого аргумента конструктору Date. Я еще не нашел каких-либо исключений, но я также не проверял это слишком строго.

7
задан 6 revs, 5 users 62% 30 April 2012 в 13:08
поделиться

14 ответов

Если все так плохо, можете ли вы снова запустить проект на C #? Это может быть быстрее, чем ждать, пока вернется ваше java-настроение. Это должно быть быстрее, чем начинать с нуля, поскольку вы уже закодировали логику и предметную область, так что вы можете переводить и печатать свой путь через этот бит.

11
ответ дан 6 December 2019 в 04:47
поделиться
  1. Используйте хорошую (и сопоставимую) среду IDE в обоих. Я переключаюсь между C # и Java и нахожу сочетание Visual Studio с JetBrains ReSharper для C # и IntelliJ Idea для Java, которое упрощает эту задачу.

  2. Отметьте различия - я считаю, что заклинание на C # помогает моей Java, и наоборот. Различия, например, в структурах коллекций просто помогают вам глубже понять реализации на каждом языке.

  3. Используйте сходство в своих интересах. Синтаксически различия не велики. Вы должны писать код, а не писать C # или писать Java. Как сказал Стив МакКоннелл, «код в язык, а не в язык» (или что-то в этом роде - думаю, это из Code Complete ).

Фактически, прочтите Code Complete , если вы еще этого не сделали - отличная тренировка для переключения между языками.

9
ответ дан 6 December 2019 в 04:47
поделиться
6
ответ дан 6 December 2019 в 04:47
поделиться

Во-первых, если вы посвятили 8-часовой рабочий день программированию на любом языке, возможно, это не столько переключение языков, сколько просто перерыв в программировании. Я могу говорить только за себя, и я знаю, что некоторые SO'еры могут думать иначе, но мне часто нужен перерыв в программировании после полного рабочего дня, посвященного этому.

В настоящее время я предпочитаю программировать на Python, но моя работа требует мне делать сценарии оболочки, Java, JavaScript, PHP и IDL (это интерактивный язык данных, а не язык описания интерфейса). Итак, я пытаюсь заняться Python дома, чтобы эти навыки не атрофировались. Что я обнаружил (помимо того, что часто требуется перерыв, как упоминалось выше), так это то, что я сильно путаю свои языки, когда впервые переключаюсь с одного на другой. В этот момент легко сдаться, но я обнаружил, что по мере того, как я мысленно углубляюсь в программирование на данном языке, я делаю меньше ошибок из-за языковой путаницы. Так что, возможно, если вы сможете преодолеть это первое нежелание использовать Java, у вас все получится. YMMV, конечно, и удачи!

5
ответ дан 6 December 2019 в 04:47
поделиться

Это из-за того, что в психологии называется эффектом интерференции или эффектом Струпа. Эти две задачи тесно связаны (программирование), поэтому знания, полученные на одном языке, мешают знаниям, полученным на другом языке.

Вот симпатичный пример простой задачи, которую сложно выполнить из-за этого эффекта:

http://www.apa.org/science/stroop.html

5
ответ дан 6 December 2019 в 04:47
поделиться

Переключение между двумя разными фреймворками очень сложно. Это еще сложнее, если вы не выполняете их очень долго.

Я думаю, этот вопрос должен вернуться к вам, поскольку вы должны спросить себя, что вы предпочитаете сейчас. Если вам все еще нравится Java и вы хотите сохранить свои навыки в Java, вам, вероятно, придется проводить с ней больше времени на полудневной основе. Работая с ним по ночам и в выходные и следя за тем, чтобы между ними не было долгих перерывов.

Если вы предпочитаете C # сейчас и действительно не заинтересованы в убеждении Java, Я бы конвертировал проект дома на C #, так как это может только сделать вас лучшим программистом на C # и улучшить вашу повседневную работу.

4
ответ дан 6 December 2019 в 04:47
поделиться

Интересно, связано ли это со сходством между этими конкретными языками. Конечно, я на самом деле не использовал C #, но он очень похож на Java. Сходство может затруднить переключение контекста с работы на хобби. Возможно, вы могли бы изучить и переключиться на Python , Haskell , Lisp и т. Д. Для своего личного проекта.

4
ответ дан 6 December 2019 в 04:47
поделиться

В свободное время вы можете попробовать потратить некоторое время на программирование на совершенно другом языке. Например, напишите что-нибудь в Haskell , Prolog , Mercury , Oz или Factor .

Когда (если?) Вы вернетесь к Java, его сходство с C # будет гораздо более поразительным, чем его различия.

3
ответ дан 6 December 2019 в 04:47
поделиться

Это нормально. Это может быть проблема когнитивной гибкости и негибкости . То же самое и с человеческой речью.

Проверьте себя. Если вы слишком устали, чтобы работать дома после обычного 8-часового рабочего дня чтения кода C # , а также вы так сильно хотите завершить свой проект, а теперь вам сложно писать код на java, возможно, вы страдает от беспокойства. Если вы употребляете энергетический напиток, кофе или колу, тогда вы предпочитаете тревогу.

Существуют упражнения для поддержания когнитивной гибкости. Один из них - переключиться на время (пару минут) на Java вместо того, чтобы тратить столько времени на C #. Это похоже на программирование на Java и переход на SQL, а затем на HTML. Вы проявляете гибкость и переключаетесь.

Удачи.

2
ответ дан 6 December 2019 в 04:47
поделиться

Отвечая на этот вопрос, я чувствую, что мне нужно сделать некоторые предположения, основанные на личном опыте. Я пишу код на C ++ или C # в сторонних проектах, а на работе вынужден болтаться между php и python Было время, когда у меня не было постоянной дневной работы, и я был довольно занят побочными проектами.

Когда я получил свою дневную работу, мой энтузиазм по поводу побочных проектов уменьшился по двум основным причинам ... Как и вы, я был в моя работа с 8 до 9 часов в день.

Во-вторых, у меня был постоянно увеличивающийся источник дополнительного дохода, поэтому мотивация писать код просто для того, чтобы заработать на жизнь, резко снизилась, и я обнаружил, что все больше и больше предпочитаю не браться за какие-либо новые проекты после работы, потому что я был не в настроении .

Я также обнаружил, что с этим новым подходом я начал делать ошибки новичка при кодировании на C ++, в отличие от прежних. После изменения моего отношения все снова наладилось.

Я думаю, вы переживаете то же самое, что и я.

2
ответ дан 6 December 2019 в 04:47
поделиться

Вы знаете, когда вы перегружены работой: это когда вы пытаетесь найти клавишу F1 в кабине лифта, чтобы запустить его!

0
ответ дан 6 December 2019 в 04:47
поделиться

Я думаю, что java для прилежных, а .net для ленивых. Возможно, кто-то рассердится на это, но я хочу сказать, что я .Neter. Синтаксис .net менее строг, чем у java. На самом деле в исходном коде .net есть некоторые упрощения. например, мы можем использовать Convert.toDateTime (string) для прямого преобразования строки в DateTime. Но в java мы должны определить формат строки, такой как «гггг-дд-мм», после чего мы сможем преобразовать.

-1
ответ дан 6 December 2019 в 04:47
поделиться

У меня на работе есть похожая вещь. Я пишу код на JavaScript и C #, но дома я пишу код на Python и JavaScript.

Иногда я ловил себя на том, что пишу код в стиле Python на C #, а мои тесты терпят неудачу. Я согласен с Натом в том, что работа на языке, который полностью отличается от вашего рабочего, поможет вам увидеть сходства, и что они будут отличаться только там, где существуют библиотеки!

0
ответ дан 6 December 2019 в 04:47
поделиться

Я полагаю, вы могли бы назвать это обычным временем для восстановление ,.

Это может помочь обобщить на: знание логики программирования + синтаксис и API = знание языка ... потому что ...

люди являются порождением привычки и создают эффективные методы работы, воспоминания и психологию, основанные на среде и задачах, которые мы выполняем чаще всего. Это хорошая вещь.

Недавно я потратил много времени на программирование на Python после того, как долгое время был почти на 100% C. Я довольно легко освоил Python и теперь переключаюсь обратно на C. К моему удивлению , проблем, с которыми я думал, что я столкнусь (отсутствие точек с запятой, случайный импульс к отступу), не было.

Я пришел к выводу, что это потому, что:

  1. Когда я программировал Python, я часто (ежедневно) просматривал исходные коды C других проектов, чтобы вспомнить те, которые я не слишком хорошо документировал. Поскольку мои проекты на C соответствуют материалам Python.
  2. Я всегда смотрел на реализацию некоторых компонентов Python на языке C

. Думаю, уловка состоит в том, чтобы соотнести новые навыки со старыми , так что что когда вы выполняете задачи с новым набором навыков, ваш мозг все еще думает о старых навыках и о том, как они связаны. Многие предполагают, что обучение основано на этом реляционном фундаменте в вашем уме, и знание этого может помочь вам сократить кривую обучения и время до восстановления.

Думайте об этом как о реляционной базе данных. Когда вы делаете что-то новое, создайте чужой ключ и нормализуйте ситуацию. Не создавайте целую новую таблицу или базу данных.

Изучите обобщение логики программирования и используйте его только с изменениями между языками. Вы научитесь / переключаться быстрее.

Извините за плохую аналогию с РСУБД

7
ответ дан 6 December 2019 в 04:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: