Что учить swift или java
Перейти к содержимому

Что учить swift или java

  • автор:

iOS или Android: что выбрать начинающему разработчику?

Если вы только пришли в разработку, невозможно заняться iOS и Android одновременно. Разработка под эти операционные системы ведется на разных языках программирования. Для iOS необходимо владение Swift и Objective-C. Для Android — Kotlin или Java. Больше того, вам потребуется разная техника. Для iOS — Mac или iPhone. Для Android подойдет любой компьютер и смартфон. Существуют эмуляторы, но для постоянной работы и тестирования этот вариант не подходит.

Оба направления разработки перспективны. Однако если посмотреть на статистику, по данным Statcounter.com, Android лидирует среди всех операционных систем на мировом рынке. Он установлен на 40% всех устройств. Среди мобильных телефонов доля Android — 70%, iOS — 29%. Среди планшетов: Android — 40%, iOS — 60%. По России картина немного отличается, но тренд совпадает с общемировым. Среди смартфонов Android — 80%. На планшетах: Android — 48%, iOS — 52%. Есть региональные различия. Так, в Москве и Красноярске более популярен iOS, в Петербурге и Новосибирске — Android.

Покупательская способность аудитории Android и iOS разнится так же сильно, как их популярность. Но в обратную сторону. По данным techrocks.ru, пользователи iOS покупают через мобильные приложения в три раза активнее. Впрочем, это имеет значение для владельцев бизнеса, создателей стартапов. На зарплаты разработчиков это не влияет: они на одном уровне.

Прежде чем выбирать операционную систему и делать ее своим полем деятельности, стоит освоиться в IT-разработке в целом. Если это новая для вас сфера, можно записаться на бесплатный курс для новичков или заняться изучением основ самостоятельно. Например, в открытом доступе есть гарвардский курс «CS50. Основы программирования» на русском языке. Ориентируясь на ту технику, что у вас есть, выберите программное обеспечение и язык. Осваивайте их, экспериментируйте. Попробуйте для начала сделать несколько проектов для портфолио, по фану. Можно найти заказчиков для своих пробных проектов среди друзей. Ваши шансы на успех повысит владение английским языком (на нем написаны многие материалы, необходимые для работы) и готовность постоянно учиться, следить за трендами.

Android

  • для работы подойдет любой компьютер;
  • большое сообщество разработчиков;
  • язык программирования Java может быть использован при написании не только мобильных, но и веб-приложений, игр;
  • на Android работают не только приложения для смартфонов, но и для умных часов, Smart TV, VR/AR;
  • среда разработки анализирует код и может автоматически формировать некоторые его части;
  • хороший фреймворк;
  • можно найти готовые модули под самые разные цели;
  • платформу можно адаптировать под любую специализированную задачу;
  • исходный код Android открыт для всех;
  • есть платформа Android Open Source Project, где компания публикует все данные, и разработчики тоже могут это делать;
  • публикация приложений в Google Play происходит практически мгновенно, обычно без участия модераторов — не нужно долго ждать подтверждения;
  • небольшая плата за размещение приложений в Google Play ($25 один раз, при регистрации).
  • многообразие устройств и их параметров создает почву для багов, неодинаковой работы приложения на разных смартфонах;
  • многообразие версий операционной системы: в отличие от iOS, у Android остаются актуальными и могут работать без обновлений устаревшие версии;
  • не все обучающие материалы и ответы на форумах актуальны: система существует давно, нюансы разработки меняются;
  • приложение и аккаунт могут быть заблокированы без объяснения причин, на жалобы в техподдержку отвечает бот.

В базе вакансий HeadHunter на момент написания этого материала открыто 2773 вакансии по запросу «Android developer» в России.

По данным «Хабр Карьера», на 2020 год средняя зарплата разработчика на Java — 130 тыс. рублей, на Kotlin — 125 тыс. рублей.

Что выбрать начинающему, Java или Swift?

Решил сменить стезю. В море ходить тяжело, здоровья стало не хватать.
Что имеется, 31 год, среднее знание английского, никакого опыта, но большое желание дойти до конца и добиться успеха. И теперь вопрос, какой язык выбрать, с чем можно теоретически быстрее устроиться джуном, Java или Swift?

  • Вопрос задан более трёх лет назад
  • 2772 просмотра

2 комментария

Простой 2 комментария

А какова цель то?

myjcom

с чем можно теоретически быстрее устроиться джуном, Java или Swift?

Давайте будем откровенны 600-700 часов. это если по 5-6 часов в день продуктивного обучения без перерывов с нуля, с наставником, без наставника и хоть какого-то бэкграунда смело умножаем на два., это возможно, если нет других забот. Учитывая, что это не столько сам язык сколько все остальное.

А сколько это будет если в менее жестком графике, предположим по 2 часа и не каждый день.

Что там будет Java, Kotlin, Swift, C#, Python и т.д. не столь важно, +/- одинаково. (хотя на счет Swift не уверен)

Решил сменить стезю

Решения вопроса 0
Ответы на вопрос 3
Ответ написан более трёх лет назад
Нравится 3 6 комментариев

Vlatqa

swift или java!
Денис Загаевский @zagayevskiy Куратор тега Java

Vlatqa

Денис Загаевский, выбор между java и swift, откуда взялись плюсы?
Денис Загаевский @zagayevskiy Куратор тега Java

Владислав Лысков, lol. Да это тред троллинга, ну серьёзно что ли такой вопрос? Когда человек хочет писать, он берёт и пишет, материалов море. А тут фундаментальный вопрос что выбрать. Человек услышал, что погромистам хорошо платят и решил «а чё бы нет?». Так это не работает.

myjcom

выбор между java и swift, откуда взялись плюсы?

Папа, общий. Плюсы старший брат. Все логично.

Vlatqa

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Попробуйте сами разные языки и решите, что вам нравится. Вам же нужно ДОЙТИ до черты, когда навыков будет достаточно для работы джуном. Вам каждый по разному посоветует. Мне вот было достаточно легко и интересно начинать учить Java, потому-что небольшое количество конструкций языка. Я мог уже спустя неделю-другую читать исходные коды стандартной библиотеки и, в основном, понимать, что там происходит. Но откуда знать, не возникнет ли у вас непреодолимое желание бросить все из-за каких-то минусов Java? Кому-то из моих знакомых больше нравится JS, кому-то питон. Им, конечно, будет гораздо проще дойти до джуна именно на эти позиции, как бы много разработчиков не требовалось для Android.
Я думаю выбор языка поспособствует достижению цели и получению удовольствия от программирования. Но кроме программирования придется ещё решать задачи (алгоритмы и структуры данных, хотя бы основы ООП и т.д.), эти навыки в случае чего перейдут с вами в другой язык или экосистему и дадут не мало при трудоустройстве, какой бы язык не требовался работодателю.

Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

java

  • Java

Как удалить первый элемента листа java?

  • 1 подписчик
  • 8 часов назад
  • 33 просмотра

java

  • Java
  • +1 ещё

Почему не работает PostMapping 404?

  • 1 подписчик
  • вчера
  • 36 просмотров

6 ПРИЧИН, ПОЧЕМУ SWIFT — ЛУЧШИЙ ЯЗЫК ПРОГРАММИРОВАНИЯ

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

Если конечно вы не решили изучать Swift, чтобы создавать лучшие в мире приложение для самой популярной платформы! Любой другой язык сложен, непрактичен, а Swift . он прекрасен! Еще несколько лет развития, и код написанный на «яблочном» языке можно будет сыграть даже на музыкальном инструменте!

В этой статье я расскажу о том, почему вы должны перейти на Swift, забросив всякие там непрактичные Python, Java и PHP.

Причина 1. Скорость Swift поражает воображение

Если вы программируете на Swift, то ваши приложения начинают работать еще до того, как вы напишите их код целиком! Вы видели такую особенность у других языков и сред разработки? Очень сомневаюсь!

Правда, отмечу, что все это актуально только если вы пишите код в Xcode Playground. Пережив мучительно долгий запуск симулятора вы сможете с легкостью писать код и моментально видеть результат его работы. Без необходимости делать заученную web-программистами комбинацию «Ctrl+S», «Alt+Tab», «Ctrl+R», чтобы увидеть, что же делают внесенные изменения.

Swift — 1 балл 15%
Остальные языки — 0 баллов 0%

Спасибо Xcode Playground

Причина 2. Для Swift используется быстрейший компилятор

Код, написанный на Swift, компилируется значительно быстрее, чем код, написанный на других языках, к примеру интерпретируемых PHP и JS! И это не удивительно, у этих языков даже компилятора нет! Ха-Ха! Скорость их компиляции стремится к бесконечности. Вот какая неловкость, из-за этого вам приходится хранить программы в виде исходного кода, а не в виде набора исполняемых файлов, как в случае со Swift.

Swift — 2 балла 30%
Остальные языки — 0 баллов 0%
Причина 3. У Swift отличное комьюнити

Попробуйте попросить совета или помощи в решении той или иной задачи у старожил сообщества языка Python. Тут же незамедлительно без лишних вопросов будете отправлены в далекую дорогу к Google. Попробуйте задать вопрос сообществу любого другого языка — ситуация будет аналогичная.

Со Swift такой проблемы не существует. Язык настолько молод, что в рунете просто нет достаточного количества мануалов и примеров решения. А в купе с тем, что Apple ежегодно вносит в синтаксис языка корректировки, в следствии чего старый код отказывается работать, ну а мануалы конечно же никто не обновляет, для каждого программиста остаются только две надежды: официальная документация Apple и приятное дружелюбное сообщество.

Члены Swift-сообщества не умничают, вроде «иди, гугли», а стараются искренне помочь. Каждый из Swift-разработчиков знает, что грубить нельзя, так как ему самому вот-вот потребуется помощь товарищей.

Swift — 3 балла 45%
Остальные языки — 0 баллов 0%
Причина 4. При обучении на Swift у вас не будет мук выбора

Помню, как я стоял перед книжной полкой в магазине и выбирал учебник по PHP. Их были «миллионы». И каждую из книг было нужно взять в руки, пощупать, почитать… Я тратил на выбор литературы бесценное время, которое могу тратить на изучение языка.

Со Swift все проще. У вас всего один выбор — книга В. Усова «Swift. Основы разработки приложений», после которой можно осознанно приступать к выбору и изучению онлайн-курсов.

Swift — 4 балла 60%
Остальные языки — 0 баллов 0%

Нет выбора — нет проблем.

Причина 5. Xcode предсказывает будущее и пишет код за вас, прямо «из коробки»

Не успеете вы начать писать код, а Xcode уже предложит вам вариант его продолжения. Функция автодополнения так же прекрасна, как и сам язык. А совместно с кодовыми сниппетами можно с уверенностью заявить, что среда разработки Xcode и язык Swift опережают ваши мысли и руки!

Автодополнение — это именно то, чего не хватает популярнейшему IDE Notepad.exe.

Swift — 5 баллов 75%
Остальные языки — 0 баллов 0%
Причина 6. Учишь Swift? На самом деле ты учишь 2 языка

Сегодня в рунете сейчас крайне мало (в сравнении с другими «более старыми» / «менее молодыми» языками) мануалов по решению тех или иных задач, возникающих в ходе разработки. Часто вам придется работать с официальной англоязычной документацией и справочной информацией, а так же потребуется стать активным читателем иностранного сообщества.

Для всего этого вам нужен английский язык. Со временем замечаешь, что как-то невзначай начинаешь понимать написанное без использования Google Translator.

Swift — 6 баллов 90%
Остальные языки — 0 баллов 0%

Думаю, что после этой разгромной статьи для вас стало очевидно, что с выходом Swift необходимость учить другие языки постепенно отпадает. Со временем появится IDE под Windows и возможность разработки под Android, а вы всегда останитесь в тренде, всегда сможете найти себе высокооплачиваемую работу.

Нужно ли вам учить Swift?

Swift — это язык программирования, разработанный в компании Apple. На нем можно писать приложения для десктопа, мобильных приложений, серверов. У него есть среда Playground, в которой можно увидеть результат программирования на лету. Ну и вообще — язык Apple. Должен быть хорошим, разве нет?

Немного матчасти

Во всех наших предыдущих статьях мы использовали JavaScript, называя его языком программирования. Технически это верно, но настало время немного прояснить, сравнив со Swift.

Когда вы пишете на JavaScript, ваш код исполняется построчно в браузере, как будто актер на сцене читает реплики по телесуфлеру. Поэтому JavaScript принято называть скриптовым языком.

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

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

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

iOS, macOS и деньги

В Swift есть библиотеки для разработки приложений для Маков, Айфонов и Айпадов. Это большой и богатый рынок (все еще), а зарплаты программистов на Swift высоки.

Но важно понимать, что Swift пока что не язык мобильной разработки, а именно язык экосистемы Apple. Существуют решения, чтобы компилировать код Swift на Андроид, но они скорее костыльные.

Идеальный сценарий для Swift — программа для Мака, для Айфона и Айпада, написанные в одной и той же логике. Но не программа для Айфона, Андроида, Мака и Виндоуса — до такого Swift еще не дошел.

Производительность

Это именно то, чего хотели добиться разработчики Swift — скорость работы программ и выполнения кода. Как заявляет Apple, Swift в 2,5 раза быстрее Objective-C и в 8 раз быстрее, чем Python 2.7.

Цель, к которой стремятся разработчики языка — сделать его быстрее, чем С++, который часто признаётся самым быстрым языком программирования.

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

Лаконичный синтаксис

Если брать за критерий количество строк кода, которые нужно написать для решения задачи, то Swift идёт в первой десятке по минимализму. Это легкочитаемый язык, так же как и Python, но с фигурными скобками вместо отступов.

Такой код легко читается даже теми, кто не знает Swift, но знает любой другой язык программирования. В нём всё логично, структурно и понятно.

Посмотрите на пример кода на Swift:

let myPeople = ["Аня": 67, "Паша": 8, "Коля": 33, "Женя": 25] for (name, money) in myPeople

Вот так можно выбирать одно из множества значений (пример из документации Swift):

let vegetable = "красный перец" switch vegetable

Видимый результат

Для Swift есть специальный инструмент Playground — своего рода интерактивная песочница, где программист сразу видит результаты работы программы. Иногда это в несколько раз увеличивает скорость разработки и помогает быстро разобраться с проблемным участком кода.

Безопасный код

Идеология языка такая: меньше уязвимостей и больше безопасности для самого кода и системы. Разработчики исходили из того, что программист не должен держать всё в голове и предусматривать каждую нештатную ситуацию. Пусть за него это делает компьютер. Например, не нужно специально следить за доступом и утечкой памяти, потому что Swift берёт это на себя.

Ещё он защищает от ошибок, связанных с неправильным управлением железом и от несанкционированного доступа к участкам памяти, которые не задействованы в программе. Штатные ошибки Swift тоже обрабатывает эффективнее того же С++, где каждое исключение нужно прописать вручную.

Что учить сейчас?

Если вы уже программируете на разных языках — определенно рассмотрите Swift. Ничего лучше для разработки под Apple сейчас нет.

Если Swift будет вашим первым языком, начните лучше с Python. Он более универсальный и разносторонний. Потом сможете перейти на Swift и другие языки.

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

Получите ИТ-профессию

В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *