К вашему сведению, для тех, кто использует Python на стороне сервера: datetime.datetime (). Ctime () возвращает строку, которая изначально может быть обработана с помощью «new Date ()». То есть, если вы создаете новый экземпляр datetime.datetime (например, с datetime.datetime.now), строка может быть включена в строку JSON, а затем эта строка может быть передана в качестве первого аргумента конструктору Date. Я еще не нашел каких-либо исключений, но я также не проверял это слишком строго.
Если все так плохо, можете ли вы снова запустить проект на C #? Это может быть быстрее, чем ждать, пока вернется ваше java-настроение. Это должно быть быстрее, чем начинать с нуля, поскольку вы уже закодировали логику и предметную область, так что вы можете переводить и печатать свой путь через этот бит.
Используйте хорошую (и сопоставимую) среду IDE в обоих. Я переключаюсь между C # и Java и нахожу сочетание Visual Studio с JetBrains ReSharper для C # и IntelliJ Idea для Java, которое упрощает эту задачу.
Отметьте различия - я считаю, что заклинание на C # помогает моей Java, и наоборот. Различия, например, в структурах коллекций просто помогают вам глубже понять реализации на каждом языке.
Используйте сходство в своих интересах. Синтаксически различия не велики. Вы должны писать код, а не писать C # или писать Java. Как сказал Стив МакКоннелл, «код в язык, а не в язык» (или что-то в этом роде - думаю, это из Code Complete ).
Фактически, прочтите Code Complete , если вы еще этого не сделали - отличная тренировка для переключения между языками.
Your brain is full.
Full Brain http://img146.imageshack.us/img146/2469/brainfull.gif
Во-первых, если вы посвятили 8-часовой рабочий день программированию на любом языке, возможно, это не столько переключение языков, сколько просто перерыв в программировании. Я могу говорить только за себя, и я знаю, что некоторые SO'еры могут думать иначе, но мне часто нужен перерыв в программировании после полного рабочего дня, посвященного этому.
В настоящее время я предпочитаю программировать на Python, но моя работа требует мне делать сценарии оболочки, Java, JavaScript, PHP и IDL (это интерактивный язык данных, а не язык описания интерфейса). Итак, я пытаюсь заняться Python дома, чтобы эти навыки не атрофировались. Что я обнаружил (помимо того, что часто требуется перерыв, как упоминалось выше), так это то, что я сильно путаю свои языки, когда впервые переключаюсь с одного на другой. В этот момент легко сдаться, но я обнаружил, что по мере того, как я мысленно углубляюсь в программирование на данном языке, я делаю меньше ошибок из-за языковой путаницы. Так что, возможно, если вы сможете преодолеть это первое нежелание использовать Java, у вас все получится. YMMV, конечно, и удачи!
Это из-за того, что в психологии называется эффектом интерференции или эффектом Струпа. Эти две задачи тесно связаны (программирование), поэтому знания, полученные на одном языке, мешают знаниям, полученным на другом языке.
Вот симпатичный пример простой задачи, которую сложно выполнить из-за этого эффекта:
Переключение между двумя разными фреймворками очень сложно. Это еще сложнее, если вы не выполняете их очень долго.
Я думаю, этот вопрос должен вернуться к вам, поскольку вы должны спросить себя, что вы предпочитаете сейчас. Если вам все еще нравится Java и вы хотите сохранить свои навыки в Java, вам, вероятно, придется проводить с ней больше времени на полудневной основе. Работая с ним по ночам и в выходные и следя за тем, чтобы между ними не было долгих перерывов.
Если вы предпочитаете C # сейчас и действительно не заинтересованы в убеждении Java, Я бы конвертировал проект дома на C #, так как это может только сделать вас лучшим программистом на C # и улучшить вашу повседневную работу.
Интересно, связано ли это со сходством между этими конкретными языками. Конечно, я на самом деле не использовал C #, но он очень похож на Java. Сходство может затруднить переключение контекста с работы на хобби. Возможно, вы могли бы изучить и переключиться на Python , Haskell , Lisp и т. Д. Для своего личного проекта.
В свободное время вы можете попробовать потратить некоторое время на программирование на совершенно другом языке. Например, напишите что-нибудь в Haskell , Prolog , Mercury , Oz или Factor .
Когда (если?) Вы вернетесь к Java, его сходство с C # будет гораздо более поразительным, чем его различия.
Это нормально. Это может быть проблема когнитивной гибкости и негибкости . То же самое и с человеческой речью.
Проверьте себя. Если вы слишком устали, чтобы работать дома после обычного 8-часового рабочего дня чтения кода C # , а также вы так сильно хотите завершить свой проект, а теперь вам сложно писать код на java, возможно, вы страдает от беспокойства. Если вы употребляете энергетический напиток, кофе или колу, тогда вы предпочитаете тревогу.
Существуют упражнения для поддержания когнитивной гибкости. Один из них - переключиться на время (пару минут) на Java вместо того, чтобы тратить столько времени на C #. Это похоже на программирование на Java и переход на SQL, а затем на HTML. Вы проявляете гибкость и переключаетесь.
Удачи.
Отвечая на этот вопрос, я чувствую, что мне нужно сделать некоторые предположения, основанные на личном опыте. Я пишу код на C ++ или C # в сторонних проектах, а на работе вынужден болтаться между php и python Было время, когда у меня не было постоянной дневной работы, и я был довольно занят побочными проектами.
Когда я получил свою дневную работу, мой энтузиазм по поводу побочных проектов уменьшился по двум основным причинам ... Как и вы, я был в моя работа с 8 до 9 часов в день.
Во-вторых, у меня был постоянно увеличивающийся источник дополнительного дохода, поэтому мотивация писать код просто для того, чтобы заработать на жизнь, резко снизилась, и я обнаружил, что все больше и больше предпочитаю не браться за какие-либо новые проекты после работы, потому что я был не в настроении .
Я также обнаружил, что с этим новым подходом я начал делать ошибки новичка при кодировании на C ++, в отличие от прежних. После изменения моего отношения все снова наладилось.
Я думаю, вы переживаете то же самое, что и я.
Вы знаете, когда вы перегружены работой: это когда вы пытаетесь найти клавишу F1 в кабине лифта, чтобы запустить его!
Я думаю, что java для прилежных, а .net для ленивых. Возможно, кто-то рассердится на это, но я хочу сказать, что я .Neter. Синтаксис .net менее строг, чем у java. На самом деле в исходном коде .net есть некоторые упрощения. например, мы можем использовать Convert.toDateTime (string) для прямого преобразования строки в DateTime. Но в java мы должны определить формат строки, такой как «гггг-дд-мм», после чего мы сможем преобразовать.
У меня на работе есть похожая вещь. Я пишу код на JavaScript и C #, но дома я пишу код на Python и JavaScript.
Иногда я ловил себя на том, что пишу код в стиле Python на C #, а мои тесты терпят неудачу. Я согласен с Натом в том, что работа на языке, который полностью отличается от вашего рабочего, поможет вам увидеть сходства, и что они будут отличаться только там, где существуют библиотеки!
Я полагаю, вы могли бы назвать это обычным временем для восстановление ,.
Это может помочь обобщить на: знание логики программирования + синтаксис и API = знание языка ... потому что ...
люди являются порождением привычки и создают эффективные методы работы, воспоминания и психологию, основанные на среде и задачах, которые мы выполняем чаще всего. Это хорошая вещь.
Недавно я потратил много времени на программирование на Python после того, как долгое время был почти на 100% C. Я довольно легко освоил Python и теперь переключаюсь обратно на C. К моему удивлению , проблем, с которыми я думал, что я столкнусь (отсутствие точек с запятой, случайный импульс к отступу), не было.
Я пришел к выводу, что это потому, что:
. Думаю, уловка состоит в том, чтобы соотнести новые навыки со старыми , так что что когда вы выполняете задачи с новым набором навыков, ваш мозг все еще думает о старых навыках и о том, как они связаны. Многие предполагают, что обучение основано на этом реляционном фундаменте в вашем уме, и знание этого может помочь вам сократить кривую обучения и время до восстановления.
Думайте об этом как о реляционной базе данных. Когда вы делаете что-то новое, создайте чужой ключ и нормализуйте ситуацию. Не создавайте целую новую таблицу или базу данных.
Изучите обобщение логики программирования и используйте его только с изменениями между языками. Вы научитесь / переключаться быстрее.
Извините за плохую аналогию с РСУБД