Is it better to start education from course or book?

Help pls to find the right learning path in Swift. I think it's cheaper to start from some books, then go to courses like these or any offline.

There is no "right path". Rather there are a number of approaches people use, on top of those you've mentioned. Some people take an existing project, pull it apart and re-assemble it to do what they want. Some look at source code and samples and build their knowledge and own projects out of that. Some read books, some follow courses.

You can use any combination of these. I've tended to decide what I want to do then look at sample code for examples and building blocks I can use. For the language and APIs I have a references to hand. Previously I would buy books, now I'll use a digital or online reference. I don't need a 100% comprehensive reference (so no 3 or 4 books covering everything) as I can search or ask if I can't find an answer myself.

1 Like

As John says above me, "there is no 'right path'". Personally I find myself benefited greatly from reading the entire TSPL first, because it allows me to have a decent foundational knowledge and understanding before diving into projects. However, reading is not the best way to learn for everyone, so it really all depends on what media you find the most suitable for you. The only concrete advice that I can give is that if you want to learn the language itself, then it might be best not to start with platform-specific (such as iOS or SwiftUI, which seem to be the most popular ones) educational materials first. Because that would be akin to studying thermodynamics by entering into an air-conditioner repair course.

1 Like

Personally, I prefer to read a bit of basic intro tutorials or watch the first bits of free courses, and then dive straight in with trying to build something. For me that is by far the best way to make sure I actually remember what I learned.

One additional thing I like to bring up in response to questions such as this: Get really good at using search engines. Sometimes it seems to me like being a professional developer mostly means being a professional googler. The answers to almost all of the questions you will come across as you tackle new problems, languages, frameworks, platforms, etc. are already out there, often multiple times in different places. You just have to know how to find them.

To that end, one piece of concrete advice: If you are faced with a question you don't know the answer to, spend a decent bit of time to find the answer yourself before you ask for help (this doesn't apply as much in a course setting where you have a tutor whose job is to answer your questions, but even there a quick search before asking can't hurt).

1 Like