Я и сам хотел написать несколько постов на тему перехода из .NET на Java, но, не дочитав до конца спецификацию Java, заявлять о чем-то не решался.
Вообще, эта тема мало рассмотрена. Об обратном переходе говорится везде, и книги тоже выходят. А здесь такие вот пробелы.
По теме нашел лишь следующее:
- Java VS. C#
- IBM developerWorks: Getting on the open road Migrate to the Java platform (не про переход с .NET, но на безрыбье...)
А тут вот Эрик Синк представил серию постов (пока 3 штуки) на эту тему. Ниже представлен перевод части первой.
Пару недель назад я начал еше один проект. Мои регулярные читатели, знают, что в основном я использую C#. Тем не менее, для этого проекта я решил воспользоваться Java и Eclipse.
Я не писал на Java уже несколько лет. Версия JDK в то время была 1.1.7. Средой разработки была Symantec Café, Supercede и Emacs. Понятие рефакторинг значило не более чем тема диссертации Билла Оупдайка (файл PostScript). Eclipse появилась несколькими годами позже.
Я думаю, настало время освежить свои взгляды.
Фигурные Скобки.
Моя младшая дочь спит. Время от времени она встает посреди ночи и начинает ходить во сне. Я найду ее внизу в семейной комнате бормочащей о животных в зоопарке. Я возвращаю ее назад в кровать. А с утра она уже ничего не помнит. Почему она делает это? Я не знаю, но предполагаю, что у любого будут проблемы со сном после двухчасового просмотра The Suite Life of Zach and Cody.
Или, возможно, это наследственное. Видимо, на прошлой неделе я встал посреди ночи, поехал к O'Hare, полетел в Сан-Хосе, взял такси в штаб-квартиру Sun, наплевал на их газон, поехал домой и вернулся в кровать.Я не помню ничего из этого.
Что я помню, так это то, на что я обратил внимания в Java - что фигурные скобки располагаются на предыдущей строке, и мое умственное здоровье стало стремительно ухудшаться.
Мне заметно полегчало, когда я открыл диалог настроек Eclipse и сделал следующее:
Ах да, и это тоже:
Эти изменения настроек возымели для меня огромное значение. По-видимому, естественный стиль в мире Java - располагать фигурные скобки на одной строке с предшествующей ей конструкцией. Но в любом случае я не смог бы к этому привыкнуть. я не говорю, что мой стиль объективно лучше. Я лишь говорю, что не могу справиться.
К счастью, Eclipse обладает невероятными функциами кастомизации. После вышеизложенных изменений я лишь нажал "Ctrl-Shift-F" и весь мой код стал намного привлекательней для меня.
Я надеался, что это работало и за пределами IDE. Я приобрел Head First Java и Java in a Nutshell. Обе книги были великолепны, но я продолжал обнаруживать свою левую руку жмущей "Ctrl-Shift-F" в надежде отворматировать книжную страницу.
Этим утром по пути на работу я заметил чью-то попытку свернуть с неверной полосы. Моя левая рука жала "Ctrl-Shift-F".
Раскладки Клавиш.
Замечательная кастомизируемость Eclipse пришла на выручку снова для раскладок клавиш. Разница между Visual Studio и Eclipse значительна.
Например, три наиболее часто используемые мной команды отладчика: Debug, Step Over, и Step Into.
- Для Visual Studio клавиши по умолчанию: F5, F10 and F11.
- Для Eclipse это: F11, F6, and F5.
Правда в том, что я ищу раскладку Visual Studio и могу набрать указанное выше. Сознательно я не знаю, что они значат. Они лишь запрятаны где-то в моей бессознательной памяти. Это автоматизм. И когда я впервые запустил отладку в Eclipse, кое-что работало совсем не так хорошо.
В действительности, комбинации клавиш настолько различны по сравнению с Visual Studio, что я заподозрил их умышленное происхождение из недоброжелательных причин. Тем не менее, пока я не нашел сочетание клавиш, означающих "Go to Declaration" в одной среде и "Reformat my Hard Disk" в другой, я собирался отложить все подозрения и принять свою излишнюю параноидальность.
До сих пор я делаю знать, что значит "Ctrl-Shift-F" в Visual Studio?
В Итоге.
Обычно я не люблю делать излишнюю кастомизацию своей рабочей среды. В конце концоа, я пользователь Windows. Все мои измененные настройки теряются после переустановки системы. Легче научиться пользоваться вещами в из естественном состоянии.
Но если я собираюсь использовать Visual Studio и Eclipse одновременно, мне определенно нужно, чтобы один из них был немного сходен с другим.