Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

DianaofThemiscyra

macrumors member
Original poster
Mar 27, 2022
30
11
Europe
Hello everyone,

I just joined the forum after many years lurking around because recently I took a short programming course of Swift (at website called codecademy). I realize it is an introduction free course so I would like to ask indications of courses, books, videos, etc or just anything you think it should be useful for someone taking her first steps coding. I would prefer free, open-source material, but if it is something worthy I might be able to spend some money with it too.

I also have a question: What is the difference between Swift and SwiftUI?

Thank you for your help and attention.
 
  • Like
Reactions: Boil

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
I can highly recommend Paul Hudson. He has a YouTube channel with loads of great, free educational videos. He also runs the website HackingWithSwift with lots of good information and has written some books. One of the best resources in my opinion.

As for Swift vs. SwiftUI, Swift is the language itself. SwiftUI is a framework. I.e. a bunch of code Apple has written that you can write code to interact with to make graphical applications on Apple devices essentially
 

DianaofThemiscyra

macrumors member
Original poster
Mar 27, 2022
30
11
Europe
I can highly recommend Paul Hudson. He has a YouTube channel with loads of great, free educational videos. He also runs the website HackingWithSwift with lots of good information and has written some books. One of the best resources in my opinion.

As for Swift vs. SwiftUI, Swift is the language itself. SwiftUI is a framework. I.e. a bunch of code Apple has written that you can write code to interact with to make graphical applications on Apple devices essentially
Thank you so much casperes1996 for your prompt answer to my questions :). Despite being a Mac user since 2009 (I consider myself an intermediate Mac user but I'm really new to Swift and everything else. I will certainly look for him, his videos and materials. Many. many years ago (damn... I didn't want to say that I am THAT old, but I guess I am! ?) I tried learning to code in c++ but I have failed miserably, I hope I will have a better luck now.???
 
Last edited:

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
Thank you so much casperes1996 for your prompt answer to my questions :). Despite being a Mac user since 2009 (I consider myself an intermediate Mac user but I'm really new to Swift and everything else. I will certainly look for him, his videos and materials. Many. many years ago (damn... I didn't want to say that I am THAT old, but I guess I am! ?) I tried learning to code in c++ but I have failed miserably, I hope I will have a better luck now.???
Swift is significantly more approachable than C++ I would say. That said, programming is a special way of thinking. Once you learn to think like a programmer you can take up most languages quickly and easily, but there might be some hurdles to overcome first to get into the right way of thinking.

If you ever need anything along the way, always feel free to reach out. I'll help out any way I can, code review, questions, anything at all. Can reach me here, on Discord or email
Discord is Casper#3603
Can find all my contact info on my website
 

DianaofThemiscyra

macrumors member
Original poster
Mar 27, 2022
30
11
Europe
Swift is significantly more approachable than C++ I would say. That said, programming is a special way of thinking. Once you learn to think like a programmer you can take up most languages quickly and easily, but there might be some hurdles to overcome first to get into the right way of thinking.

If you ever need anything along the way, always feel free to reach out. I'll help out any way I can, code review, questions, anything at all. Can reach me here, on Discord or email
Discord is Casper#3603
Can find all my contact info on my website
Thank you so much again. I will certainly write down your contact info. I'm pretty sure you might hear from me in future... I am usually a fast learner, but not with programming (been there, done that... ?), so I will accept your offer of help because I am pretty sure I will need it.

Wish you a good evening and thanks for everything! ?
 

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
Thank you so much again. I will certainly write down your contact info. I'm pretty sure you might hear from me in future... I am usually a fast learner, but not with programming (been there, done that... ?), so I will accept your offer of help because I am pretty sure I will need it.

Wish you a good evening and thanks for everything! ?
Happy to help and hope you have fun with the progress even if it's not as fast as your usual learning process :)
 

forcesteeler

macrumors 6502
Oct 1, 2007
280
590
I Struggled learning programming for a few years. Until I ran into these courses.

These are the 2 top best courses on Learning Swift and Swift UI.





Tutorials are good, but remember the quickest most efficient way to learn programming is to build simple projects. Too many developers, spend too much time on videos and tutorials. You really need to practice building small projects.

That's how I was able to overcome the struggles of learning programming.
 
  • Like
Reactions: DianaofThemiscyra

DianaofThemiscyra

macrumors member
Original poster
Mar 27, 2022
30
11
Europe
I Struggled learning programming for a few years. Until I ran into these courses.

These are the 2 top best courses on Learning Swift and Swift UI.





Tutorials are good, but remember the quickest most efficient way to learn programming is to build simple projects. Too many developers, spend too much time on videos and tutorials. You really need to practice building small projects.

That's how I was able to overcome the struggles of learning programming.
Thank you so very much for the links and for your much appreciated and valuable advice, forcesteeler. I will certainly, after finishing studying the basic instructions, operators, etc, try to do simple projects.

Wish you a nice evening!
 

iHorseHead

macrumors 65816
Jan 1, 2021
1,307
1,575
I Struggled learning programming for a few years. Until I ran into these courses.

These are the 2 top best courses on Learning Swift and Swift UI.





Tutorials are good, but remember the quickest most efficient way to learn programming is to build simple projects. Too many developers, spend too much time on videos and tutorials. You really need to practice building small projects.

That's how I was able to overcome the struggles of learning programming.
I highly disagree with you about them being the best. Nick Walter's has way better courses.
I'd suggest OP to stay away from Angela Yu Moneygrabbin hoe.
She has so many outdated courses, is annoying, can't teach. Nick Walter's courses are way better + you learn macOS development.
https://www.udemy.com/course/swiftui-apps-on-all-devices-iphone-ipad-mac-watch-tv/ Way better than Angela
The first guy you recommended was good though. He's good. Angela is horrible.
 
Last edited:
  • Haha
Reactions: BootLoxes

DianaofThemiscyra

macrumors member
Original poster
Mar 27, 2022
30
11
Europe
I highly disagree with you about them being the best. Nick Walter's has way better courses.
I'd suggest OP to stay away from Angela Yu Moneygrabbin hoe.
She has so many outdated courses, is annoying, can't teach. Nick Walter's courses are way better + you learn macOS development.
https://www.udemy.com/course/swiftui-apps-on-all-devices-iphone-ipad-mac-watch-tv/ Way better than Angela
The first guy you recommended was good though. He's good. Angela is horrible.
I have looked at these courses on udemy and read the reviews. Indeed many people were saying Angela's course was outdated. I haven't decided what to do yet. I am finishing to learn the commands / instructions on a free course at codecademy. The course is very good, but its complete version is too expensive for someone who wants to start coding as hobby and not as a profession, so I might finish the free version and than go to the GitHub Repo ArrayDecay indicated me to learn about Xcode installation and function. I also hope to start to watch the videos casperes1996 indicated.

I am definitely in no hurry about anything, so I will take a look at everything you all suggested and after further analysis I will decide which way to go. For now I just want to understand the basics of everything and try to do little projects not only to fix all the new knowledge I am learning, as well as to develop a "coder's mind". If I succeed on this first steps I will have probably opened a window/ door to a new path to be explored in the future.

So far I thank you all for your advices and suggestions. For someone like me, a total noob on coding, they are really very useful.

Wish you a very good day and weekend too!

Best regards from the Alps.
 
Last edited:

iHorseHead

macrumors 65816
Jan 1, 2021
1,307
1,575
I have looked at these courses on udemy and read the reviews. Indeed many people were saying Angela's course was outdated. I haven't decided what to do yet. I am finishing to learn the commands / instructions on a free course at codecademy. The course is very good, but its complete version is too expensive for someone who wants to start coding as hobby and not as a profession, so I might finish the free version and than go to the GitHub Repo ArrayDecay indicated me to learn about Xcode installation and function. I also hope to start to watch the videos casperes1996 indicated.

I am definitely in no hurry about anything, so I will take a look at everything you all suggested and after further analysis I will decide which way to go. For now I just want to understand the basics of everything and try to do little projects not only to fix all the new knowledge I am learning, as well as to develop a "coder's mind". If I succeed on this first steps I will have probably opened a window/ door to a new path to be explored in the future.

So far I thank you all for your advices and suggestions. For someone like me, a total noob on coding, they are really very useful.

Wish you a very good day and weekend too!

Best regards from the Alps.
Also, be careful with some of the Nick's courses. Some of them are outdated, but the one I posted still works and it's pretty good and you'll get the concept. Some of the courses are from 2017 etc though.
But when I've complained to Nick about the courses he has sent me links to new courses and has given me access for free.
Angela didn't care about me at all and didn't respond. If you take Nick's older course on Mac OS X development (from 2016-17) you'll learn a lot about cocoa pods, but you are own your own when trying to figure things out. It's also a good learning experience, but yeah. Just be careful!

Good luck!
 
  • Like
Reactions: DianaofThemiscyra

Boil

macrumors 68040
Oct 23, 2018
3,286
2,899
Stargate Command
I am also a total noob in regards to coding, but excited to give it a go, looking to learn Swift/SwiftUI & Xcode for right now...!

Right now trying to decide if I want to get into a M1 Mac mini 18 months after its release, or do I wait for a M2 Mac mini...?

And if I wait for a M2 Mac mini, do I go with a base M2, or upgrade to a M2 Pro model...?

M2 - 8(4/4)/10/16/1T

M2 Pro - 12(8/4)/20/32/1T

I can highly recommend Paul Hudson. He has a YouTube channel with loads of great, free educational videos. He also runs the website HackingWithSwift with lots of good information and has written some books.

Website bookmarked...

Swift is significantly more approachable than C++ I would say. That said, programming is a special way of thinking. Once you learn to think like a programmer you can take up most languages quickly and easily, but there might be some hurdles to overcome first to get into the right way of thinking.


Website bookmarked...


A lot of these are a few years old...?


First one bookmarked...

This GitHub repo has some useful information for developing in Xcode.

Bookmarked...

I highly disagree with you about them being the best. Nick Walter's has way better courses.
I'd suggest OP to stay away from Angela Yu Moneygrabbin hoe.
She has so many outdated courses, is annoying, can't teach. Nick Walter's courses are way better + you learn macOS development.
https://www.udemy.com/course/swiftui-apps-on-all-devices-iphone-ipad-mac-watch-tv/ Way better than Angela
The first guy you recommended was good though. He's good. Angela is horrible.

Good to know, I was looking at the A. Yu course...

Course website bookmarked...
 
Last edited:

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
I am also a total noob in regards to coding, but excited to give it a go, looking to learn Swift/SwiftUI & Xcode for right now...!

Right now trying to decide if I want to get into a M1 Mac mini 18 months after its release, or do I wait for a M2 Mac mini...?



Website bookmarked...



Website bookmarked...



A lot of these are a few years old...?



First one bookmarked...



Bookmarked...



Good to know, I was looking at the A. Yu course...

Course website bookmarked...
Hope you have great experiences with it all. Feel free to ask if you wind up wanting/needing help with anything or want me to take a look at anything you write :)

In general I'll say this. While some might have had great experiences with various Udemy courses and whatnot, I'd personally just avoid it. Some might be great and all, but there's so many great free resources out there that it feels pointless paying for a Udemy course. And the most important thing is doing things. Of course you need to have learning material to figure things out, but you will make the most progress by deciding on a simple goal to do and then just making that, looking things up as you need them. Start with a few step-by-step tutorials or whatnot out there. Maybe try one of Paul Hudson's code-along videos where he codes up something in an hour or two. Try to take it slower than that and understand each thing that happens well. Then close it all, decide on a simple thing like Tick Tack Toe or something and start making it. Go as far as you can with only Xcode open. Then when you need it, open Safari and look up a thing or two, put it away and continue until you need it again. And remember that professional programmers look things up all the time as well.
 
  • Like
Reactions: Boil

iHorseHead

macrumors 65816
Jan 1, 2021
1,307
1,575
A lot of these are a few years old...?
I also warned about it later. Although he has 2 new courses that are new and one of them is focused only on macOS programming (SwiftUI), which I think is more valuable since it's rare.
There's also Apple Programming Youtube channel, which focuses on macOS development only.
 
  • Like
Reactions: Boil

iHorseHead

macrumors 65816
Jan 1, 2021
1,307
1,575
Some might be great and all, but there's so many great free resources out there that it feels pointless paying for a Udemy course
But Udemy courses are just like school? At school we used to look what teacher is writing on the board and copied the same thing as well + Udemy courses have frequent discounts, thus they're technically free and it helps to get a better grasp on Xcode. For example I just didn't get how to link Cocoa objects in Xcode and I learned that from Udemy. No documentation was good enough. Many sites on macOS development are outdated or have bad documentation, so I'm constantly looking for any macOS development courses.

The biggest flaw of Udemy is that many courses are extremely outdated and yet the instructors change the year to 2022 and haven't updated anything, thus I'd recommend start learning immediately and if you figure out that the courses are outdated you can ask for a refund with no questions asked.

Udemy courses are great. There might be free resources out there, but you have to specifically know what you're looking for. I've learned a lot about Unity thanks to CodeMonkey's course on Udemy, even though he has free YouTube channel where he teaches you Unity and C# coding. You just got so much more on his Udemy's course and I don't feel sorry for the 9,99 I've spent on that course, because I am still using the same coding methods till this day.

So in a way, I disagree with you. It's important to remember that learning is about creating your own projects, but not copy pasting + following what others are doing. That's how I learned PHP, Javascript, MySQL. I had my own projects and honestly speaking I had: "Goddammit, I don't care how difficult it will be I'm gonna make it" and I made it. You must be passionate about something you do.
 
  • Like
Reactions: Boil

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
But Udemy courses are just like school? At school we used to look what teacher is writing on the board and copied the same thing as well + Udemy courses have frequent discounts, thus they're technically free and it helps to get a better grasp on Xcode. For example I just didn't get how to link Cocoa objects in Xcode and I learned that from Udemy. No documentation was good enough. Many sites on macOS development are outdated or have bad documentation, so I'm constantly looking for any macOS development courses.

The biggest flaw of Udemy is that many courses are extremely outdated and yet the instructors change the year to 2022 and haven't updated anything, thus I'd recommend start learning immediately and if you figure out that the courses are outdated you can ask for a refund with no questions asked.

Udemy courses are great. There might be free resources out there, but you have to specifically know what you're looking for. I've learned a lot about Unity thanks to CodeMonkey's course on Udemy, even though he has free YouTube channel where he teaches you Unity and C# coding. You just got so much more on his Udemy's course and I don't feel sorry for the 9,99 I've spent on that course, because I am still using the same coding methods till this day.

So in a way, I disagree with you. It's important to remember that learning is about creating your own projects, but not copy pasting + following what others are doing. That's how I learned PHP, Javascript, MySQL. I had my own projects and honestly speaking I had: "Goddammit, I don't care how difficult it will be I'm gonna make it" and I made it. You must be passionate about something you do.
Maybe it's just me. Before I started my computer science degree I took some Udemy courses and had bad experiences with them. They taught bad practices, un-structured, un-organised coding and didn't emphasise understanding, merely "do this to make this happen", not "why this makes this happen".
School isn't about what a teacher writes or says. It's about having an environment where you can easily seek guidance and have fellow students around you to engage and interact with to achieve a level of understanding, not the copying things off a blackboard.

But ey, I might just have taken som bad Udemy courses back then - YMMV. No matter what anything is better than nothing, so be it Udemy or elsewhere, any path to learning is better than standing still
 
  • Like
Reactions: BigMcGuire

iHorseHead

macrumors 65816
Jan 1, 2021
1,307
1,575
I took some Udemy courses and had bad experiences with them. They taught bad practices, un-structured, un-organised coding and didn't emphasise understanding, merely "do this to make this happen", not "why this makes this happen".
I don't disagree with you, but there are great teachers on Udemy that explain things very well. One of them is Nick Walters, Reece Kenney ( He doesn't teach Swift, but has done some PHP courses).
Nick Walters even teaches people how to Google if they need help. One of the things that was simple, yet new to me was to end "Cocoa" at the end of the things I needed help with on macOS programming. Before that I tried to look for something and all I got was iOS tutorials, yet things work differently on macOS.
I also have problems with Udemy teachers. One of them being Angela, which everybody recommends for whatever reason. I've had bad experiences with Udemy courses. When I needed help, Reece and Nick responded to my messages, yet Angela never did.

You can say that school isn't about copying things off a blackboard, but I've been two three schools, learning programming and they were precisely that. With some teachers you didn't even have time to think what's going on.

My best programming teacher was the teacher who said: "I don't know how to program and I don't have much experience. I got this job thanks to my friend", and yet he explained things the best and he was 'learning with us' if that makes sense.

Of course there are many bad Udemy courses out there and many of them seem to be like copy&paste tutorials. Type in Unity and you're bound to get Tower Defence and other things that you've gone over for a thousand times.

Same with C# and WPF apps. That's why Cocoa tutorials are really the best out there.

I'd say you only need one course (Nick Walter has a course that teacher you creating an app on iOS, iPadOS, macOS, WatchOS, tvOS) and that's all you pretty much need, because after that course you can figure things out on your own and you can Google and see how things work and make something your own.

With PHP & MYSQL courses I've found that Googling and PHP documentations are the best though. The most important thing to remember is no matter which path you choose you'll always be self taught. Whether it's a Bootcamp or Udemy courses, so you definitely must have a passion and this is why having your own project is the most important thing ever.

When you have your own project you have to make it into little pieces, so you won't get overwhelmed.
 
  • Like
Reactions: casperes1996

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
I don't disagree with you, but there are great teachers on Udemy that explain things very well. One of them is Nick Walters, Reece Kenney ( He doesn't teach Swift, but has done some PHP courses).
Nick Walters even teaches people how to Google if they need help. One of the things that was simple, yet new to me was to end "Cocoa" at the end of the things I needed help with on macOS programming. Before that I tried to look for something and all I got was iOS tutorials, yet things work differently on macOS.
I also have problems with Udemy teachers. One of them being Angela, which everybody recommends for whatever reason. I've had bad experiences with Udemy courses. When I needed help, Reece and Nick responded to my messages, yet Angela never did.

You can say that school isn't about copying things off a blackboard, but I've been two three schools, learning programming and they were precisely that. With some teachers you didn't even have time to think what's going on.

My best programming teacher was the teacher who said: "I don't know how to program and I don't have much experience. I got this job thanks to my friend", and yet he explained things the best and he was 'learning with us' if that makes sense.

Of course there are many bad Udemy courses out there and many of them seem to be like copy&paste tutorials. Type in Unity and you're bound to get Tower Defence and other things that you've gone over for a thousand times.

Same with C# and WPF apps. That's why Cocoa tutorials are really the best out there.

I'd say you only need one course (Nick Walter has a course that teacher you creating an app on iOS, iPadOS, macOS, WatchOS, tvOS) and that's all you pretty much need, because after that course you can figure things out on your own and you can Google and see how things work and make something your own.

With PHP & MYSQL courses I've found that Googling and PHP documentations are the best though. The most important thing to remember is no matter which path you choose you'll always be self taught. Whether it's a Bootcamp or Udemy courses, so you definitely must have a passion and this is why having your own project is the most important thing ever.

When you have your own project you have to make it into little pieces, so you won't get overwhelmed.

I can agree with a lot of this. My experience at university has been very different with all my professors really just being fantastic, but I think we agree on the overall points of learning :)
 

forcesteeler

macrumors 6502
Oct 1, 2007
280
590
Thank you so very much for the links and for your much appreciated and valuable advice, forcesteeler. I will certainly, after finishing studying the basic instructions, operators, etc, try to do simple projects.

Wish you a nice evening!

Yeah no problem. Also about Angela Courses. Some of her Content still is mainly in UIKit,

I would still recommend it, Because she is easy to listen too and explains programming concepts much better than any teacher I ever had.

If your applying for a Job, Most CodeBases are still going to be in UIKit Swift and Not SwiftUI,

Some companies still use Objective C, So don't trip out courses being outdated. You mainly want to understand programming concepts and shaping your mind into thinking like a programmer.


But Again the best way to help you learn how to code Is building simple small applications and if you run into problems use google to help you figure out and fix the problem. That's the fastest way to learn and it will help you gain real world programming experience.

Don't fall into tutorial trap hell like I did. I spent almost 2 Years watching video tutorials and WWDC, and still felt like I did not learn anything and I got stuck for a while until I started taking a more hands on approach and build simple projects and then advance to more complex projects.

Programming can be hard, But just stick with it. Hard Work Really does Pays Off,

In the beginning you feel overwhelmed but with practice, you will wake up 1 day and it will just click in your brain!. Everything will start to make sense.
 
Last edited:

Boil

macrumors 68040
Oct 23, 2018
3,286
2,899
Stargate Command
Feel free to ask if you wind up wanting/needing help with anything...

So I am going to wait and see if any M2/M2 Pro-powered Mac mini desktops are released in the next few months or so...

I have been wanting to pick up a tablet for a while now, and am looking at the latest iPad Air (5th Gen)...

After cruising around the Apple Developer web pages a bit, I see there is a sort of "Xcode-lite" available there, namely the Swift Playgrounds dealio...?

So while I wait on a new Mac mini with a next-gen SoC, I was thinking of getting an iPad Air & jumping into Swift Playgrounds as my "intro-to-coding", thoughts...?

Thanks...! ;^p
 

casperes1996

macrumors 604
Jan 26, 2014
7,485
5,649
Horsens, Denmark
So I am going to wait and see if any M2/M2 Pro-powered Mac mini desktops are released in the next few months or so...

I have been wanting to pick up a tablet for a while now, and am looking at the latest iPad Air (5th Gen)...

After cruising around the Apple Developer web pages a bit, I see there is a sort of "Xcode-lite" available there, namely the Swift Playgrounds dealio...?

So while I wait on a new Mac mini with a next-gen SoC, I was thinking of getting an iPad Air & jumping into Swift Playgrounds as my "intro-to-coding", thoughts...?

Thanks...! ;^p
I of course can't speak to your budget - If the iPad addition is within reasonable budgeting and you want one anyway; Yeah go for it. Something is always better than nothing for learning. And Swift Playgrounds comes with a lot of "learn to code" lessons, so it's a decent start. That said, I'd say the experience is notably nicer on the Mac versus the iPad - Especially if you don't have a physical keyboard attached, since programming is of course text and typing heavy and touch may not lend itself so well to that longer term. But it definitely works decently using Swift Playgrounds if all you need/want is Swift - though the iPad isn't all that versatile for other development needs than Swift.
 
  • Like
Reactions: Boil
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.