Что легче понять из опыта C #: Objective C или Java?

1

Я использовал С# довольно много, это был мой основной язык программирования во время университета, и я подумал, какой из двух языков для разработки для Android или iPhone проще всего понять, учитывая это.

Меня интересуют мнения людей на двух языках, я немного потрудился в обоих, но не более, чем через пару часов. Меня также интересуют мнения людей о Windows Phone 7 как платформе приложений/игр, так как это использует С#, поэтому было бы очевидным выбором для перехода в эту область.

мнения?

Теги:
iphone

8 ответов

2
Лучший ответ

Ваш выбор языка будет зависеть от ваших мотивов. Если вы намереваетесь писать коммерческое программное обеспечение, которое хотите продать, лучше всего пойти на Objective-C и нацелиться на iPhone/iPod Touch/iPad. Objective-C - более крутая кривая обучения для программиста на С#, чем Java, но это ничто по сравнению с фактическим придумыванием приложения, которое люди захотят купить и получить его для коммерческого качества. И люди, которые владеют iDevices, по-прежнему более многочисленны, чем люди с устройствами Android, и у них, вероятно, больше ожиданий платить за приложения.

Если вы делаете это как хобби, тогда вам захочется выбрать ту платформу, на которой работают ваш текущий смартфон/планшет или что-то другое. Вы будете основным пользователем ваших приложений. Имеет смысл разрабатывать приложения, которые вы можете использовать. Еще одно соображение, если вы любитель: для разработки приложения для iPhone вам понадобится Intel Macintosh и электронный сертификат от Apple за 99 долларов США для развертывания приложений на iPhone даже для тестирования.

Фактический язык является относительно небольшим рассмотрением. Достаточно компетентный программист может забрать Objective-C через пару недель. Структуры будут занимать немного больше времени, но если вы делаете это как опыт обучения, это будет более полезный опыт, чем изучение Java, которое сравнимо с С#.

  • 0
    Спасибо, это отличный ответ! Поскольку в настоящее время у меня есть устройство Android и компьютер под управлением Windows, для меня гораздо больше смысла разрабатывать для Android. Если бы деньги не были фактором, я думаю, что Objective-C определенно будет подходить. Есть ли у вас мнение о разработке для WP7 вообще? Мне было бы интересно услышать, что вы хотите сказать.
  • 0
    @Zachary Markham: Я скептически отношусь к способности WP7 проникнуть на рынок. Однако я также думал, что iPhone никогда не будет продаваться, iPad был слишком дорогим, и никто не хотел бы иметь музыкальный плеер с сенсорным экраном.
Показать ещё 1 комментарий
6

Это будет Java, но вы пропустите LINQ много.

Вы можете разрабатывать в С# для iPhone с MonoTouch, но это не бесплатно, и вы никогда не узнаете, отправит ли Apple их в холодный (маловероятный). Вскоре вы даже можете использовать С# для разработки Android с MonoDroid, но я чувствую, что меньшая победа для программиста на С#, чем отсутствие узнайте Objective-C. Java и С# настолько близки, что переход, скорее всего, будет плавным.

Как программист на С#, я считаю, что платформа разработки Windows Phone 7 выглядит очень многообещающе, но мой опыт подсказывает мне подождать и посмотреть. У Microsoft есть ужасная репутация в мобильном бизнесе, и у них также есть тенденция делать большие изменения между ранними выпусками.

  • 0
    Это именно то, что я думаю о WP7, как указано в комментарии выше. У него есть потенциал, чтобы преуспеть, но, как вы сказали, Microsoft и Mobile просто не ладят. Однако, будучи ранним разработчиком для платформы, вы могли бы выпустить первую большую вещь для платформы!
  • 0
    Я собирался опустить голосование за комментарий о том, что Mono Touch не является бесплатным (я думал, что это был открытый исходный код), но я решил сначала проверить свои факты и был поражен, обнаружив, что это не бесплатно и на самом деле, это довольно дорого ,
Показать ещё 5 комментариев
4

Java, я думаю. Семантическая модель для С# ближе, а ObjectiveC для iPhone, по-видимому, не собирает мусор. Вероятно, вы пропустите некоторые из функций С#, но большинство людей справится с этим.

  • 0
    Какие функции вы упускаете? В то время как баловство с Objective CI заметил отсутствие сборки мусора, и это было довольно бесит!
2

Я знаю, что это было сказано раньше, я подумал, что я бы указал на факт, С# появился из-за судебного иска, окружающего Microsoft Java Virtual Machine. Я бы описал С# как сына Java и С++, по крайней мере, в ранних версиях. В С# 4.0 добавлены функции, которые ни один из них не имеет, он действительно созрел на свой родной язык.

Итак, если вы исходите из фона С#, вы можете легко забрать Java. Конечно, Objective-C - это С++ на трещине, поэтому все равно быть может, то, что вы пропустите, - это Visual Studio и все функции, которые он приносит. Причина, по которой С# так легко развивается, - это все функции Visual Studio, и большинство функций языка поддерживаются.

  • 0
    Существуют ли какие-либо дружественные среды для разработки на Java, которые вы лично порекомендовали бы? Похоже, что общее согласие заключается в том, что Eclipse царит в этой области. Есть ли другие великие, которые были омрачены?
  • 1
    Objective-C меньше похож на C ++, чем на Java или C #. Это, конечно, нет C ++ на кряке.
Показать ещё 1 комментарий
2

У меня есть сотрудник, который попытался изучить Objective C для разработки I-телефона. Мы оба .Net-разработчики работают в основном на С#. У него была очень длинная кривая обучения и, наконец, он отказался от изучения Objective C не только из-за языкового барьера, но и из-за установки. Исходя из фона С#, ожидайте, что длинный путь будет обниматься с Objective C. Java, с другой стороны, больше похож на С# и может быть лучше начать с. Я нахожусь в той же лодке, что и вы, и на самом деле решил сначала разработать Windows Phone 7, потому что это С#. Я бы пошел дальше на рынок дроидов, так как я думаю, что было бы легче учиться.

  • 0
    Я думал о разработке WP7, но я просто знаю, взлетит ли платформа так же, как и другие. Если он имеет тот же эффект, что и Android, и хорошо поддерживается, тогда я могу представить, что для него было бы неплохо развиваться!
1

Я переключился с С# на Java, потому что мне нужно было кодировать много системной интеграции. С# был просто недостаточно мощным/ограниченным для систем .NET. Я согласен с тем, что LINQ - отличная функция, и что дженерики на С# намного более просты, но если вы начнете смотреть на всю экосистему Java, я думаю, что это просто незначительные потери.

Просто подведем итоги, которые вы получите при переключении на Java: Eclipse IDE, maven build system, Spring инъекции зависимостей и аспектно-ориентированное программирование + OSGi, сервер приложений GlassFish, Grizzly, Jetty, Hadoop, apache commons библиотеки,.... Все это происходит на Java и очень полезно при запуске программных сервисов.

Я не знаю о Objective-C

Надеюсь, это поможет, J.

  • 0
    Вы использовали какую-либо IDE, кроме Eclipse? Или Eclipse действительно эквивалентен Visual Studio для Java?
  • 0
    @ Zachary - я ничего не слышал, кроме Eclipse, но я также очень ограничен в экспозиции на Java. Я бы предупредил вас об ограниченном введении в «Затмение», которое я испытал, если не сказать больше. Конечно, я использовал это для совершенно другой цели (пытался написать что-то на JavaScript), я был в затруднении. Я только что посмотрел на IntelliJ IDEA и только что понял это от тех же ребят, что и от ReSharper, которые, как я обнаружил, отличного качества.
Показать ещё 2 комментария
1

Как вы можете видеть, С# частично основана на Java, так что шаг будет намного проще. Я также знаком с Java, С# и ObjC и начал с С#, затем сделал Java и теперь использовал Objective-C..

И часть С# → Java была связана с тем, что мое образование так и было. -)

И потому что WEBAPPS - это вещь, которая сейчас HOT. Я бы сказал. Java - более безопасный выбор, потому что вы могли бы основать webapp на этом.. хотя ObjC может также иметь эти возможности, я просто не хочу знать об этом..

Изображение 174551

  • 0
    Это изображения вредит моему мозгу LOL. Я, конечно, думаю, что наличие Java в моем репертуаре было бы более полезным, чем Objective C, и потенциально могло бы иметь большее будущее использование!
0

Считаете ли вы использование MonoTouch?

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню