Swift с реального нуля

swift

#1

Привет. Расскажу ситуацию как она есть, очень надеюсь получить какой то отклик от здешнего комьюнити.
Мне 28 лет. Я никогда не занимался программированием, появилось желание научиться кодить на swift. Хочу изменить свою жизнь, мне реально хочется программировать, создавать нечто новое и писать красивый код.
Я оплатил подписку. Сейчас на курсе 1, досмотрел до 15 урока. Но проблема в том, что для меня все это слишком китайская грамота. Да, вроде бы изначально объясняется все с самого начала, но практических задач нет, и пока сложно понять зачем все это надо и как применить в реальной жизни на реальных задачах.
Не знаю как запоминать весь этот синтаксис. Понимаю, что только начал, но хочется делать это правильно, а пока нет такого ощущения.
Есть ли здесь люди, которые действительно начинали с нуля? (Представьте своего дедушку - вот у меня схожий уровень). Какие можете дать советы? (Кроме - терпение и труд все перетрут и если хочешь, то выучишь).
Пока думаю досмотреть все уроки до конца, а потом начать с начала и уже более вдумчиво сидеть над каждым. Но все осложняется тем, что приходится работать на основной работе, так что времени есть 1.5 часа вечером и примерно столько же утром. Встаю сейчас в 6 утра чтобы хоть что то успеть посмотреть и выучить. Буду очень признателен за дельные советы.


Изучение Swift с нуля
#2

Начинал с нуля. Смотрел уроки по 3-4 круга все и практиковал своё по мере изучения. Что не понятно записывал на листок и искал в интернете ответы. Делал все по программе помидорро 20 минут работы 5 отдыха по 4 раза потом отдых 20 минут и ещё 4 раза по той же схеме. Так лучше все усваивается. Главное практика,а там и все понимать начнёшь. И главное не бросать все


#3

С нуля учить проще. Я перехожу на swift с basic и приходится переучиваться. Начинать надо с Playground, изучение переменных и типов данных, условия (например: написать не просто “hello, World”, а получить текущее время и поздороваться “добрый день” или “добрый вечер”). Затем переходить к циклам. Потом изучить функции. И только после этого можно переходить к объектно-ориентированному программированию. А чтобы было еще интереснее - пишите программы на листке бумаги, там же их проверяйте, отлаживайте (это можно даже на работе делать), а потом можно проверить на компьютере.


#4

Пока самостоятельно код написать никакой я не могу, тем более на бумажке. Приходится только повторять за уроками. Есть ли способ запомнить весь этот синтаксис? Или просто зубрить?


#5

Пока будешь зубрить как раз придет понимание.


#6

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


#7

не пытайтесь охватить все, начинайте примитивно привет мир, диалоги, калькулятор, работа с массивами, заметки и тд и тп. все придет но позже.


#8

Привет. Мне тоже 28 лет и тоже я не профи в программировании. Очень помогают курсы Скутаренко, они бесплатные и очень подробные с домашними заданиями по каждому курсу. Лично по мне я очень хорошо себя чувствую в типах данных, массивах, множествах, тюплах - да это пока основы, но по каждому из курсов делаю домашку и она реально помогает. Также купил книгу SwiftBook от Айка Харазяна. Однозначно советую - крутое краткое пособие для начала. Вот у меня проблема в другом: Код я пишу и могу даже простейшие штуки уже сделать, к примеру посчитать что-нибудь, условие выполнить и так далее. НО. Понятия не имею как это сделать в виде приложения на айфоне/айпаде. Поэтому я пока только в песочнице(Playground). Думаю к концу месяца моими темпами я книгу дочитаю и курсы Алексея пройду. Но вот что дальше непонятно. Как этот код в приложение запилить непонимаю пока.


#9

Открыв первый раз Xcode 2 года назад я тоже не понимал как и что делать, сейчас это не кажется таким сложным, а даже наоборот, удобнее чем в других языках. А как сделать приложения на iPhone, так ничего сложного: перетащить кнопку, текст (и еще что-нибудь) создать связи и готово. Дальше почти как в песочнице. 2 года не пытался ничего учить, с появлением swift снова открыл Xcode и за пару недель написал простенькую игрушку.


#10

Привет! На самом деле, самое сложное это понять “всю картину целиком” и поверь, в первый месяц - два этот весь процесс можно назвать только как “слепой котенок пытается найти маму”. Я сам 4 месяца назад, начал в перый раз в жизни (даже в школе у меня не было информатики) изучать кодинг. 2 недели назад прошел собеседование на платную стажировку в студии разработки ПО. Главное - мотивация, не бросить все это и отвергать все мысли " Я слишком туп для этого, я никогда не смогу понять это и тд." И самое главное - есть гугл , он решит 99.99% твоих проблем , по крайней мере в первое время + еще форумы, если заходишь в тупик , пишешь сюда - обязательно ответят и решат твою проблему) Удачи тебе !


#11

Благодарю. Очень мотивирует.

Я бы с удовольствием оставил текущую работу и сутками бы сидел учился, но нет такой возможности - нужно платить за квартиру и что то кушать. Накоплений минимально, позволить уйти с работы не могу. В мыслях очень хочется дойти до такого уровня, чтобы хотя бы джунирором за копейки устроиться куда то. Немного удивлен такому сроку - 4 месяца. Можно узнать сколько вам лет и сколько времени вы тратили в сутки на обучение?


#12

Мне 21 год, проблема вся в том, что если вы не привыкли потре■■■■■ тонны информации в день и ее анализировать, запоминать и в дальнейшем использовать, то вы все делаете правильно: больше 3 часов в день вы это дело по началу не осилите, по крайней мере у меня было именно так , я сейчас даже на стажировке первые 5 часов активно работаю, остальные 3 часа смотрю wwdc, кстати о нем - для меня wwdc’s keynotes это единственные материалы, которые хоть как то “освещают в темном лесу” дают поверхностное представление как и что работает , советую их посмотреть. Один чувак даже написал для macOS удобный агрегатор можно скачать на гите. Если брать мой опыт: я 3 месяца, работая на моей старой работе изучал вот эту книгу после работы часик - два, она дико старая , но основы дает. После наткнулся на курсы Ивана и начал изучать Swift , через 2 месяца я накопил денег, переехал в комнату, в коммуналку, чтобы денег много не платить за аренду и 2 месяца днями на пролет проходил курсы и учил , 2 недели назад вот взяли на стажировку за минимальный оклад и теперь работаю над над этим проектом недавно заметил у себя в Apple ID такую информацию

и понял что не зря рискнул так в жизни и надеюсь дальше буду развиваться как специалист). А самая первая идея кодить появилась ровно в сентябре 2015.


#13

Не могу сказать, что я не привык, но эта информация слишком новая и “зацепок” в мозгу слишком мало, чтобы я реально что то запоминал и главное понимал зачем и что я запоминаю. Пока весь синтаксис выглядит как китайская грамота.
Все презентации Apple в том числе в рамках WWDC я смотрел на несколько раз, всегда смотрю в прямом эфире, все старые записи, еще с Джобсом пересматриваю регулярно. Но это больше к текущей работе относится. Все-таки маркетинг у Apple просто шикарен.
Сейчас у меня есть время вечером после работы, часов с 20:30 до 22:00, потом ложусь спать, чтобы проснуться в 6 и еще пару часов посидеть утром. Весьма непросто в таком режиме жить, но очень хочется научиться.
Буду делать все, что от меня зависит, а здесь, надеюсь, получу поддержку замечательного комьюнити :slight_smile:


#14

Первый раз начал учить свифт в феврале этого года. Заказал 2 книги, оплатил на 3 месяца за подписку на сфифтбуке. До этого подкопил денег и уволился с работы, и так как времени было много, я целыми днями читал книгу и смотрел видеоуроки. И скажу честно недели 2 я вообще ничего не понимал… тупо повторял за Иваном по урокам, без какого либо понимания логики что и для чего это нужно, и как это вообще работает) А еще через неделю я забил, так как решил что слишком тупой для этого. И так же внушил себе что у меня гуманитарный склад ума, и это просто не мое.

Прошло где то 4 месяца, и желания научиться меня не отпускало. И я решил вернуться попробовать все сначала. Но уже совсем с другим подходом. И начиная с 1 июля, я за 4 дня процентов на 80 запомнил весь синтаксис, хорошо в принципе освоил xCode. И так же освоил sketch 3. Возможно мне помогла база быстро освоить все это, которая у меня была за тот неудачный период. Но я понял что любой может стать кем хочет.

Еще меня хорошо за мотивировала книга - ХАЛЯВЫ НЕТ: НАЧАЛО ПУТИ. Которая мне помогла не прыгать с темы на тему. А двигаться в одном направлении, даже если не получается что то и сложно. (книга бесплатная, и ее можно скачать с оф. сайта )


#15

Саня, я тебя по нику вычислил! :slight_smile:


#16

Лучшая теория, это практика. Бери примеры кодов с интернета. Попробуй написать обычный калькулятор. Потом идеи сами пойдут.


#17

Благодарю за совет. Стараюсь как можно продуктивнее быть. С работы лечу домой чтобы скорее сесть за уроки. Купил местную книгу. Сегодня должны уже доставить. Идея калькулятора на сегодня кажется слишком сложной, но я понял к чему нужно стремиться в ближайшее время.
Я чувствую, что занимаюсь реально тем, что мне интересно. Как же жаль, что раньше не взялся за это. Но я не отступлю и обязательно стану разрабом. Мне действительно очень нравится это. Спасибо большое комьюнити за поддержку новичков :slight_smile:


#18

Чтобы не плодить тонну тем, решил спросить здесь. Очень путаюсь в разных кавычках. Я уже встретил:

()
[]
{}
<>

Когда какие использовать совершенно непонятно. Может кто-нибудь разжевать для нуба? Буду очень признателен.


#19

-()

используются в заголовке функции, внутри обозначаются входящие значения функции
func print() func print(text: String)

-[]

используются в основном для массивов и словарей
let array = ["first", "second", "third] -массив let dict = ["name": "Alex", "age": 22] let array2: [Int]

-{}

ограничивают тело функции или замыкания

``
func print() {

}
``

-<>

используется для generics


#20

Продолжу тему.
Занимаюсь с горем пополам SWIFTom 3 месяца. Успевал и возвращаться назад что забывал и сомневался. Сейчас начал заниматься по книге:
Raywenderlich The iOS Apprentice 5th Edition и остановился на второй части, в месте где появились делегаты. Очень трудно понять мне их. Логику понимаю, но синтаксис мне не поддается. Кажется каким-то неправильным, поэтому и не могу запомнить. Начал перечитывать русскоязычные объяснения и т.д.
Вроде более менее понял, но решил по ходу еще пройти по моментам которые подзабывал, или не уверен был.
Понимаю что тот код который написал по книге, озвученной выше, сам с нуля не повторю, по при этом хотя бы его понимаю.

Сейчас решил купить подписку и посмотреть уроки с этого сайта (по свифт 3).

Также захотел найти репетитора, но он мне очень странное сообщение написал относительно свифт. Мне показалось что он сам урезанный, а не swift:
"Ну смотрите , я конечно могу попробовать вам рассказать все на swift , но не уверен что из этого выйдет что то хорошое, язык с одной стороны легкий (но для тех кто знает ООП и работал на похожих языках , проблема не в синтаксисе , а в понимание сути программирования), с другой стороны он очень строгий на нем изучать программирование очень сложно.
Я вам могу предложить на выбор два языка для изучения ООП (JAVA или c#), без ООП нечего делать в мире программирования современного.
После изучения ООП, вы сможете легко сами уже на любой язык перейти без преподавателя.

Ну не совсем , просто swift урезанный язык ( в плане доступа к Элементам ) и продемонстрировать в нем ооп не реально в полную силу ! И ооп это не так как лучше работать , это то как работает современное программирование !
Это из разряда , не умеете ездить на 3 колесном велосипеде , пытаетесь сразу сесть на 2 колесный и поехать !
Вы хотите сразу взять язык , у которого нельзя вскрыть капот и посмотреть как он работает!
На swift ни кто не учится , на него переходит , после изучения базы, тк он состоит из других языков

Если бы он был так легок как вам кажется , то все бы на нем программировали .

Просто приведу пример, зная программирование , но не зная ооп, два года назад не смог изучить Свифт , после изучения ооп , могу почти любой язык изучить за неделю до хорошего уровня"

Ведь он же бред написал…или нет?