Ответы пользователя по тегу Swift
  • В чем отличие протоколов от абстрактных классов и интерфесов?

    LeEnot
    @LeEnot
    Енот-андроид
    Ну я, например, вижу отличия:
    - в протоколе, в отличие от интерфейса, возможно задание переменных, переназначаемых реализующим протокол классом
    - протокол расширяем
    А вообще, насколько я понял, протокол это миксин. Т.е. в нем можно прописать реализацию, в отличие от интерфейсов Java. Конечно, тут можно упомянуть статические методы в интерфейсах Java 8, но, как по мне, статические методы это зло и они должны умереть :) Я вот сейчас, наверное, разливаюсь мыслию по древу, но! Когда я читал описание Kotlin, авторы обещали "Если вам в Java что-то не нравится, то с вероятностью 50% мы в Kotlin это исправили." Опачки - подумал я, загадал static methods и checked exceptions и попал в десятку.
    Ответ написан
  • Какую тему выбрать для дипломной?

    LeEnot
    @LeEnot
    Енот-андроид
    Жизненный совет:

    1. Выбрать халявную тему и сделать диплом "на отвали"
    2. Найти себе занятие по душе, интересный проект, и развивать его.

    Честное слово, ваш диплом никому не нужен. От вас ждут не практической реализации, а горы бумажек подписанных. К защите вся эта бюрократия настолько вас вымотает, что даже тема опротивеет.
    Ответ написан
  • Swift vs GO vs?

    LeEnot
    @LeEnot
    Енот-андроид
    Вы неверно ставите вопрос. Сначала нужно выбрать цель - заработать денег, поиграться и т.д., а потом выбирать средство. Вообще говоря, "побаловаться с алгоритмами" так это любой язык сойдет. Swift по сравнению с Go очень заморочный, выбирайте Go. Для "заработать" варианты такие:
    1. Мобильная разработка - сейчас в тренде и количество рабочих мест будет только увеличиваться. Тут либо Java + Android, либо Swift + Objective C + iOS. Во втором случае придется учить два языка (с их особенностями), ибо на Obj C сейчас уже дофига легаси и вряд ли вас возьмут только с Swift. С другой стороны, на iOS проще заработать одиночке, ибо платящая аудитория больше.
    2. Бизнес разработка. Тут всегда бабла дофига - не пропадете. Пилить всякие CRM, банковский софт, базы... Тут есть выбор из Java EE, C# а так же всяких SAP. Но SAP я бы не рекомендовал, язык там больно специфичный.
    3. Как сказали выше, разработка системная - C, C++, Go вот еще. Тут тоже неплохо можно заработать с одним большим НО - если вы хороший спец. Для этого нужно знать не только язык, но и обширную предметную область - если хотите быстрого заработка, тут лучше мобильная разработка.
    4. Как вариант, попробуйте Python - на нем сейчас много что пишут, хотя я сталкиваюсь по работе, в основном, с плагинами и скриптами к программам на других языках.
    Ответ написан