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

wlisik

macrumors member
Original poster
Oct 7, 2018
95
8
Poland
Is it difficult to learn XCode for someone who never had anything to do with it?
 
Is it difficult to learn how to use Microsoft Word, Pages, Libre Office etc? Or is it difficult being a writer?

Learning Xcode, no, not really. Learning programming is the question you should be asking though. And a lot like learning any other language, there isn't a fixed answer. Have you learned Spanish when you can communicate intentions even if it is very rough and inelegant? Or do you need to be fluent to say you know Spanish? And even when you are fluent, do you need to know every word in the dictionary, need to be able to write like a poet?

Don't approach it with the mentality of learning Xcode or you'll quickly feel frustrated and quit. Learning to program is not learning a program.

And difficulty depends on what you want to achieve in the end.
How difficult is it to learn to play guitar? Well it's difficult to learn to play like Mark Knopfler, but I can teach you to play a D chord fairly quickly.

And much like regular language, the more programming languages you learn, the easier learning a new one gets, because they share many of the same constructs, grammar, syntax.
 
Is it difficult to learn how to use Microsoft Word, Pages, Libre Office etc? Or is it difficult being a writer?

Learning Xcode, no, not really. Learning programming is the question you should be asking though. And a lot like learning any other language, there isn't a fixed answer. Have you learned Spanish when you can communicate intentions even if it is very rough and inelegant? Or do you need to be fluent to say you know Spanish? And even when you are fluent, do you need to know every word in the dictionary, need to be able to write like a poet?

Don't approach it with the mentality of learning Xcode or you'll quickly feel frustrated and quit. Learning to program is not learning a program.

And difficulty depends on what you want to achieve in the end.
How difficult is it to learn to play guitar? Well it's difficult to learn to play like Mark Knopfler, but I can teach you to play a D chord fairly quickly.

And much like regular language, the more programming languages you learn, the easier learning a new one gets, because they share many of the same constructs, grammar, syntax.
This is not the answer I was looking to, but thanks anyway :)
 
My guess is the real question is "Is it difficult to develop iOS apps with no programming experience?". The short answer is Yes because you need to learn both programming in general and iOS development.

If that is not the question, wlisik should clarify the question and be more specific about what he/she is looking for to get a better answer.
 
My guess is the real question is "Is it difficult to develop iOS apps with no programming experience?". The short answer is Yes because you need to learn both programming in general and iOS development.

And a slightly longer answer would include
"But not if you want the app to just be a label saying 'hello'". :p
 
Is it difficult to learn XCode for someone who never had anything to do with it?

If you have no development experience you would need to set aside a lot of time to learn but the resources available online are excellent and many are free. Swift is getting fairly mature so it's a great time to get into it.

If you have used other development systems like visual studio then it's pretty easy.
 
Xcode is a nice environment. I find Visual Studio on Windows a bit more mature, but it also has a lot of issues/bugs. My main environment is vim + lldb on mac or vim + gdb on linux compared to which something like Xcode is much easier to get started with while learning programming. FWIW.
 
Xcode is a nice environment. I find Visual Studio on Windows a bit more mature, but it also has a lot of issues/bugs. My main environment is vim + lldb on mac or vim + gdb on linux compared to which something like Xcode is much easier to get started with while learning programming. FWIW.

Xcode has a good share of bugs as well though. I've never really liked VS, but VS Code should have a shoutout. I have very little experience with it, but it's a cross-platform environment, very extensible, and almost universally loved. Personally I spend a lot of time in the JetBrains IDEs. They're excellent, though I also enjoy Xcode.

Anyways, main reason I'm quoting you... Why would you use Vim as your primary editor? Don't get me wrong, Vim is amazing and if all you have is a TTY it's a great choice. But with the ability to pick "Vim shortcuts" for either JetBrains' IDEs or VS code, and all the additional niceties they offer, like being able to type a single letter of a function and click enter and have it all auto-complete, why use Vim?
 
Xcode has a good share of bugs as well though. I've never really liked VS, but VS Code should have a shoutout. I have very little experience with it, but it's a cross-platform environment, very extensible, and almost universally loved. Personally I spend a lot of time in the JetBrains IDEs. They're excellent, though I also enjoy Xcode.

Anyways, main reason I'm quoting you... Why would you use Vim as your primary editor? Don't get me wrong, Vim is amazing and if all you have is a TTY it's a great choice. But with the ability to pick "Vim shortcuts" for either JetBrains' IDEs or VS code, and all the additional niceties they offer, like being able to type a single letter of a function and click enter and have it all auto-complete, why use Vim?

I agree about the nice IDEs and yes I do use Visual Studio on Windows, Pycharm, VS Code on Linux, etc. However with my custom setup for vim and tmux the difference is not as big as I thought it would be, amazingly. Maybe I'm too old school! Most of my work is highly optimised C/C++ with occasional python.

Also, I use OpenBSD as my primary desktop setup, and frequently work in Solaris and AIX. It's nice to have one editor which works identically everywhere, and which I'm comfortable with.
 
@casperes1996

Im about to start self training on Swift. Any training resources you recommend? Also what development tools /software should I get my hands on early? Much appreciated and congrats on your first app!!
 
Im about to start self training on Swift. Any training resources you recommend? Also what development tools /software should I get my hands on early?

I’ve answered similar questions on here before, but the first question I always ask back is “Well do you want to learn Swift or learn programming? Learn programming and you can pick up any language in a weekend. Learn Swift and you many have the language fundamentals to write code, but no knowledge to structure it and make it maintainable long term.
I don’t necessarily think Swift is the best starting language. Aside from dabbling a bit before that I started in Java, with the book Object’s First with Java. Good beginner book I think. Honestly can even recommend it if Java isn’t a language you’ll ever write in just cause it’s good at presenting basic ideas. For further reading I recommend Flexible, Reliable Software. But anyways those books both focus on Java, though the mentality is applicable to any language basically. Well, in an object oriented approach anyway.

For Swift specifically, Apple has some good first party resources. There are some well written guides as part of the developer documentation that guide you through building an app for the first time, either with Cocoa Touch or SwiftUI. Available through Xcode’s Documentation menu or developer.apple.com. Swift Playgrounds on iPad/Catalina may work for you, but it’s too slow if you ask me, and more suited children.

And ultimately just throwing yourself in the deep end is a good way of getting started. Make your first dozen projects throwaways where you just make a bunch of mistakes and learn from them. Download some of Apple’s simpler code example projects and look at how things are structured. Don’t worry about whether you understand every part, but try and take in the overall structure.

As for tools, there’s nothing you really need if Swift is your target. Xcode is a pretty complete package. Though getting familiar with git wouldn’t hurt - Xcode has built-in git functionality though knowing how to use it on the Terminal, well to me anyway, is often just preferred. But using it with the GUI should work fine anyway, so just do what you want. Git is version control by the way. Letting you branch your code, revert to past versions, merge part of branches and is also a good collaboration tool. If you work solo it is less vital but still good to keep track of development.


Much appreciated and congrats on your first app!!

And as to that part... I don’t know what I’ve said, but I’ve been writing software for quite a while... I did fairly recently finish my first ever Android project so maybe that’s what you’re referring to? So thanks, haha
 
Now is a great time to start learning with Xcode and Swift. Watch all the WWDC videos you can to help get a start and find the best websites you can for resources. Stack Overflow for questions and GITHUB for code.
 
Now is a great time to start learning with Xcode and Swift. Watch all the WWDC videos you can to help get a start and find the best websites you can for resources. Stack Overflow for questions and GITHUB for code.

A lot of the WWDC videos are a bit too advanced for a starting point. They require a bit of familiarity with things already to fully get along with, but they are quite entertaining
 
  • Like
Reactions: secretk and wlisik
I have very little experience with it, but it's a cross-platform environment, very extensible, and almost universally loved.
And I fully share this love feeling...... really. VSCode is not ideal, but its very good product.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.