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

Programming is basically using the pattern recognition capacity of our brains.

Which is something anybody can do.

Of course some people can’t learn to program, can’t learn anything because it’s easier to turn off their brains and watch junk TV all day.

I think anyone can put a little program together that does something interesting. I don't think most people could do it as a job, though. Many currently employed programmers aren't actually competent and spend their entire careers as net losses to their employers.
[doublepost=1503694667][/doublepost]
The long tail certainly makes Apple billions. Millions of app developers paying $100 per year with 0 apps sold.

It's funny, right? Hundreds of millions of iPhone users out there, and you'd think, your app is gonna get at least ONE sale, right? No matter how bad your app is, someone, somewhere out there, they're going to buy it... even accidentally!

Nope, not one! Hundreds of hours of work gone. One of Apple's most widely distributed "products" is that feeling of disappointment and despair that so many app developers have experienced.
 
  • Like
Reactions: jerryk and firewood
Not really wanting to get into the fray here, but I have a few observations. First, I don't really think math is REQUIRED to learn programming or app development, BUT, it seems to me that the same type of logical thinking needed to solve complicated math problems (especially story problems, or even more especially, geometric proofs) is what's needed to solve computer programming problems. It's unlikely that someone who had trouble in algebra or especially geometry would have an easy time writing code in Swift, or any other language for that matter. However, unless you're planning to do some kind of complicated finite element modeling or computational fluid dynamics (I have an undergrad background in aerospace engineering, by the way), then I don't think you need to learn advanced calculus, differential equations, linear algebra, etc. in order to write the next great "to do list" app.

Second, I think it would be wise for the future students of app development to keep this great "Demotivator" poster (courtesy of despair.com) in mind before they start investing the time and money. And I know that being an astronaut is not exactly the same as being a programmer, but you get the idea...some people simply have more potential than others, whether it's motivation or simple cognitive ability.

potentialdemotivator.jpg

PS, As a physician with an engineering background, I can tell you that my experience is that math and programming are MUCH more difficult, from a pure brainpower point of view, than learning medicine. Medicine is simply memorizing a TON of information (which takes an awful lot of hard work and time studying) and then applying that information. Mix that with a bit of personality and charm (what people call "bedside manner"), and you can be a great doctor. But to be a great programmer, you better be pretty damn smart, because no amount of rote memorization, charm or even hard work is going to solve a complicated problem for you. I've been trying to learn app development for the past couple of years, and I've either become lazier or dumber, because it just doesn't click like it used to when I learned Pascal and FORTRAN back in the day. I probably need to devote much more time into it, but my life has simply become too busy and it's near the bottom of my priority list right now. I only hope it's not early Alzheimer's Disease or something like that... :eek:
 
  • Like
Reactions: rtomyj
CS just doesn't click with everyone. I'm tired of this everyone is equal BS that everyone seems to think is true. I can't run a mile in 5 min and a top athlete can't solve a problem through code. I can't compose a sonata and my drawing skills are basic. An artist can't learn 10 programming languages and know when to use them. Etc.
Screen-Shot-2015-11-27-at-11.37.21.png

(Adapted from the book 'Mindset' by Carol Dweck who is a psychologist at Stanford.)
 
  • Like
Reactions: artfossil
But to be a great programmer, you better be pretty damn smart, because no amount of rote memorization, charm or even hard work is going to solve a complicated problem for you.

So what will solve the problem?

A great programmer is just born right?
Did George Boole wake up one morning and by midday develop 'Boolean logic'?

How are complicated problems solved? With the definition of complicated (problem) it is implicit that it will take hard work to solve.
 
There is nothing wrong with learning. Concepts can be taught. Coding can be taught. The more a person is exposed to different options/paths/opportunities - that person will make up their own mind later of the road they want to go. Sometimes you have to turn back or switch roads but thats just life. No biggie. Giving options to people is a win win for a society. Underestimating people and their possible strengths and pigeonholing them by not giving opportunities (for example to at least try coding) will have society living in a fools paradise.

Sorry to say but the way your talking - it's almost as if you think you wrote the programming languages yourself. Others created those languages remember. The heavy lifting (by the heavy hitters) has already been done. We are just mere mortals using what they created for us.




You don't actually know this. This concept of left right brain is just more of it. Also - if someone learned 10 programming languages I have no doubt they would know there use case.



It's almost like you are actively dissuading. I never understood the logic of an argument against education.

Sad.

I think you're actively trying to not understand what I mean. Everyone cannot be good at everything. Point blank. Even when people tell you you're a special snowflake and can do whatever you want, you can't. Sorry to burst that bubble.

People are just naturally better at there own thing. I'm not saying brain pattern per se. If you have lived longer than 18 years and haven't noticed that excelling in any subject is impossible, then I don't know what to tell you. Assuming you weren't a loner in high school you have tried things (sports, instruments, theatre, coding, the academics, etc) and you cannot tell me with a straight face that you excel at everything. That you find everything interesting. That you can do any one thing over and over again for the fun of it.

Nothing wrong with learning something but lets face it, what people are pushing is code to get more people working with code. Knowing how to program will not help you out when you don't use computers. It will not improve your quality of life like people claim it can. Will it expand your mind? Yup. Will people do it for that reason? Naw people are lazy. The motivator will then be money. I do not want to work with people who know the minimum, who don't have passion and who just want money. If you can deal with people like that (I've worked retail/labor jobs since I was 16, full time most of the time. I know what unmotivated, just doing the job for the money looks like. Don't know how long you've worked or if people talk to you at work but trust me, it's depressing and something I would like to avoid) then good for you.

But hey let's be an a** and think I believe I invented coding or some BS. That's smart.
 
So what will solve the problem?

A great programmer is just born right?
Did George Boole wake up one morning and by midday develop 'Boolean logic'?

How are complicated problems solved? With the definition of complicated (problem) it is implicit that it will take hard work to solve.

OK, OK...Of course hard work is required to solve a complicated problem. But my point is, without the right kind of brainpower, no amount of time and work will solve the problem for you.

Example...take a remedial high school math student and put him in an AP Calculus class. Then, have him attend the class for a whole year, allow him access to the same textbook and notes as everyone else, and let him take the AP exam at the end of the year. Then, instead of giving him the usual allotted time to take the exam, give him a whole week. Let him spend hour after hour working and studying, and see if he can pass the exam.

My POINT, to be clear, is that without the right kind of brain, no amount of hard work is going to suffice. Some people are just plain unequipped for analytical reasoning and they will NEVER understand higher level math. That's why they take remedial math in the first place.

Obviously, great programmers are not just born, and if you actually read what I said, you would realize I never said that. In the future, please try to read more carefully and try not to misquote me or put words in my mouth. By the way, unlike mathematics and analytical reasoning, reading comprehension is one of those things that almost everyone can do, but it certainly improves with practice.
 
Screen-Shot-2015-11-27-at-11.37.21.png

(Adapted from the book 'Mindset' by Carol Dweck who is a psychologist at Stanford.)
That's all fine and dandy and since you believe you can do anything then can you do a couple thing for me to prove me wrong.

Run 2 miles in 14 mi no stops full on.
Write a song. I mean meaningful lyrics and cords.
Write a beautiful book.
Act in a movie that wins an oscar.
Solve a complicated equation.
Develop a couple mobile apps.
Make a console game.
Edit a video professionally.
Etc....

Point is you can't. Two reasons why.
1) you won't be able to be good at EVERYTHING you do. Just not possible.
2) most importantly you won't be interested in EVERYTHING. So what would be your motivator?

The point is that pushing code just to push code is asinine. There are many, many, MANY resources already for the people who really wanna learn. All that's going on now is that people are motivated with money, not passion. I don't like that. Personal opinion and it's something I'm very adamant about.

Finally, I'm no Harvard dude or whatever but the problem with a binary theory is that humans ain't binary. Let's take your cool head image;

This summer vacation I started biking, started to do yoga, coded, took a new position freelancing, read about algorithms and genetics... Point is, clearly that's someone that "likes to try new things", "I can learn anything I want", "failure is an opportunity to grow" mindset. Actually, real quick. Learning to code (and throughout my student career) I didn't read very much. What I did was a lot of trial and error. Usually I do something f**k up and keep doing it slightly different. Clearly a growth mindset, right? Well I also have the "I'm either good at it or I'm not" "I can either do it or I can't" mentality. I know my limits. I ain't jumping a chasm I know I cant cross. Also, I don't give a damn if other people are successful. Other than thinking, "good for them" for about 5 sec I don't care about people I never met.

Point is. Cool theory but I'm more of a gray area type of dude. I don't care if people code. Don't care if people wanna code. I just don't want people thinking they can be good at it, wind up sucking but get hired because (let's face it) getting a degree is pretty easy. Time change consuming and expensive, but easy. Then I'd have to pick up the slack and get payed the same as them. And I don't want people who just do it for the money because they will do the bare minimum to get by and I personally like people who are passionate. It's a good time when people get exited about things.
[doublepost=1503717941][/doublepost]
OK, OK...Of course hard work is required to solve a complicated problem. But my point is, without the right kind of brainpower, no amount of time and work will solve the problem for you.

Example...take a remedial high school math student and put him in an AP Calculus class. Then, have him attend the class for a whole year, allow him access to the same textbook and notes as everyone else, and let him take the AP exam at the end of the year. Then, instead of giving him the usual allotted time to take the exam, give him a whole week. Let him spend hour after hour working and studying, and see if he can pass the exam.

My POINT, to be clear, is that without the right kind of brain, no amount of hard work is going to suffice. Some people are just plain unequipped for analytical reasoning and they will NEVER understand higher level math. That's why they take remedial math in the first place.

Obviously, great programmers are not just born, and if you actually read what I said, you would realize I never said that. In the future, please try to read more carefully and try not to misquote me or put words in my mouth. By the way, unlike mathematics and analytical reasoning, reading comprehension is one of those things that almost everyone can do, but it certainly improves with practice.

Exactly this.

There are three types of people for any given task;
Natural skill - yes that's a thing
Talent fostered through learning
Can't do it for the life of me
 
IBM is using Swift on their Linux servers. You can also run Swift on Raspberry Pi's, which are not Apple devices.
That's awesome to hear! Swift has certainly gained a lot more traction since I studied it.
[doublepost=1503746227][/doublepost]
OK, OK...Of course hard work is required to solve a complicated problem. But my point is, without the right kind of brainpower, no amount of time and work will solve the problem for you.

Example...take a remedial high school math student and put him in an AP Calculus class. Then, have him attend the class for a whole year, allow him access to the same textbook and notes as everyone else, and let him take the AP exam at the end of the year. Then, instead of giving him the usual allotted time to take the exam, give him a whole week. Let him spend hour after hour working and studying, and see if he can pass the exam.

My POINT, to be clear, is that without the right kind of brain, no amount of hard work is going to suffice. Some people are just plain unequipped for analytical reasoning and they will NEVER understand higher level math. That's why they take remedial math in the first place.

Obviously, great programmers are not just born, and if you actually read what I said, you would realize I never said that. In the future, please try to read more carefully and try not to misquote me or put words in my mouth. By the way, unlike mathematics and analytical reasoning, reading comprehension is one of those things that almost everyone can do, but it certainly improves with practice.

Where are you looking to employ calculus in a full stack web development project?

In the three years of my programming degree, I have never encountered calculus. In fact, the most advanced maths component has been basic algebra. Admittedly, that can stump people from an ‘abstract thinking’ point of view but it’s not a deal breaker and able to be mastered with practise over time.

I feel that people may be confusing ‘programming’ with ‘computer science’ with regards to the level of maths required.

Programmer <—————> Computer Science

Basic Maths <—————> Advanced Maths
People use 'Computational thinking' everyday without realising it. Writing it out for a computer to enact is merely an extension of what we already do.
[doublepost=1503746597][/doublepost]
I don't care if people code. Don't care if people wanna code.

And that’s why you’ve written long posts objecting to programming being taught?

I just don't want people thinking they can be good at it, wind up sucking but get hired because (let's face it) getting a degree is pretty easy. Time change consuming and expensive, but easy.

Wow....

I'd have to pick up the slack and get payed the same as them.
Literally. Every. Workplace.


And I don't want people who just do it for the money because they will do the bare minimum to get by and I personally like people who are passionate

If anything, you’re coming across as passionately pessimistic towards learning.
 
Where are you looking to employ calculus in a full stack web development project?

In the three years of my programming degree, I have never encountered calculus. In fact, the most advanced maths component has been basic algebra. Admittedly, that can stump people from an ‘abstract thinking’ point of view but it’s not a deal breaker and able to be mastered with practise over time.

I feel that people may be confusing ‘programming’ with ‘computer science’ with regards to the level of maths required.

Programmer <—————> Computer Science

Basic Maths <—————> Advanced Maths
People use 'Computational thinking' everyday without realising it. Writing it out for a computer to enact is merely an extension of what we already do.

Wow...reading is tricky for you, isn't it? I said, "EXAMPLE...Take a remedial high school student...." The word EXAMPLE means, um, it's an example. It's an illustration of how certain subjects require logic and analytical reasoning beyond the abilities of some (not all). Once again, as I try to correct you for misquoting/misrepresenting everything I said, I never said calculus is required for programming (although in MY non-computer science degree program in engineering, I used quite a bit of calculus to write computational models of fluid dynamics and structural mechanics, but that's neither here nor there).

What I'm saying (for the third effin' time) is that in order to use logic and reasoning to solve challenging computational problems, it is helpful to have a brain equipped for using logic and reasoning. Some people, frankly, are "cognitively challenged", and I believe are simply incapable of comprehending certain basic concepts. And unless you went to Mickey Mouse University, if you truly have a degree in computer science, you should understand what I'm saying. If you think that any random person off the street could have earned the same degree you have by simply attending classes with you, then I have serious doubts about the quality of your education. Did your school require an entrance examination (like the SAT or ACT)? Was there a minimum high school GPA required for admission? Then again, the fact that you seem to keep misunderstanding everything written by myself and rtomyj, I do wonder....
 
  • Like
Reactions: rtomyj
That's awesome to hear! Swift has certainly gained a lot more traction since I studied it.
[doublepost=1503746227][/doublepost]

Where are you looking to employ calculus in a full stack web development project?

In the three years of my programming degree, I have never encountered calculus. In fact, the most advanced maths component has been basic algebra. Admittedly, that can stump people from an ‘abstract thinking’ point of view but it’s not a deal breaker and able to be mastered with practise over time.

I feel that people may be confusing ‘programming’ with ‘computer science’ with regards to the level of maths required.

Programmer <—————> Computer Science

Basic Maths <—————> Advanced Maths
People use 'Computational thinking' everyday without realising it. Writing it out for a computer to enact is merely an extension of what we already do.
[doublepost=1503746597][/doublepost]

And that’s why you’ve written long posts objecting to programming being taught?



Wow....


Literally. Every. Workplace.




If anything, you’re coming across as passionately pessimistic towards learning.


I think you're purposely choosing what to read and ignoring the overall subject of what im writing. So I'm not gonna bash my head into a wall and walk away.
 
I just don't want people thinking they can be good at it, wind up sucking but get hired because (let's face it) getting a degree is pretty easy. Time change consuming and expensive, but easy.

Then I'd have to pick up the slack and get payed the same as them. And I don't want people who just do it for the money because they will do the bare minimum to get by and I personally like people who are passionate.

It's a good time when people get exited about things.


Unfortunately, you've just described much of the modern workforce.

I agree about the technical industry to an extent too, it's got the attraction of the promise of big bucks, combined with a not-too-difficult-or-costly entry point, and a perception of endless opportunity.

The solution: get really good.

Seriously, you combine excellent technical acumen, backed with quick, adaptive thinking skills, and significant breadth and depth you won't have to work with bozos. Sure, if you hop into some corporate - or even worse, public sector - position, doing boring enterprise coding, you're going to be surrounded by a bunch of "just get by", by the book developers, who can't think creatively, and couldn't solve the simplest problem if it doesn't fall into their rigid training derived from their MSDN courses. Be that other developer and you can work with exceptional talent, who are driven smart, interesting - you can create, innovate, and get very well paid while doing it.

Mix in some business expertise and you can +really+ call your own shots. :)
 
I agree with starting with Python, especially considering the educational resources available to learn the program based on the success of the Raspberry Pi. However, Python is a scripting language whereas Swift is OOP, thus there are significant computer programming concepts required to make the leap into that side of programming i.e. Polymorphism, Inheritance, Encapsulation etc.

Alternatively, Java would be my next pick considering it's ubiquitousness. (Swift can only run on Apple devices, whereas Java empowers the entire Android market and much more.)

I agree that OO concepts, strong typing, etc are useful. But to beginners it creates a lot of additional things that need to be learned, data type comparability and coercion, etc. Python is simple, which is one of the reasons it taught at so many colleges.

And since these are junior college students, Python or Java is what they will likely see in a 4 year college. Swift is much more unlikely to be seen, beyond classes in iPhone/Mac apps.
 
That's awesome to hear! Swift has certainly gained a lot more traction since I studied it.
[doublepost=1503746227][/doublepost]

Where are you looking to employ calculus in a full stack web development project?

In the three years of my programming degree, I have never encountered calculus. In fact, the most advanced maths component has been basic algebra. Admittedly, that can stump people from an ‘abstract thinking’ point of view but it’s not a deal breaker and able to be mastered with practise over time.

In the 12 years of being a Software Engineer, I have not encountered a need to do calculus because my work does not require me do calculus. However, it's been correlated that the math side of your brain is relevant to Computer Science as a whole. That is why when you see prerequisites for job postings, usually it requires either a Computer Science, Physics, or Math degrees.

In industry, general full stack web development is mostly a joke. If you were however as an example doing graphs and charts in front end for financial institutions, calculus may be involved. Some other fields of studies where calculus is involved are graphics, modeling, data analysis, ML/AI, etc.

Unfortunately with the recent emergence of boot camps, they usually only churn out Developers. To me, a developer is someone who can just code, and doesn't always apply theory where applicable because they didn't train to think about it. There are times where people without training can do well, but it seems rather uncommon so far. They usually hit a cognitive wall, and it often becomes difficult for them to get past it.

I'm all for these Swift classes in curriculums to help introduce people to programming, and it's a good start. However, I think activists should try and attack the root of the problem which is encouraging people at a much younger age to pursue math/science activities.
 
  • Like
Reactions: spac3duck
OK, OK...Of course hard work is required to solve a complicated problem. But my point is, without the right kind of brainpower, no amount of time and work will solve the problem for you.

Example...take a remedial high school math student and put him in an AP Calculus class. Then, have him attend the class for a whole year, allow him access to the same textbook and notes as everyone else, and let him take the AP exam at the end of the year. Then, instead of giving him the usual allotted time to take the exam, give him a whole week. Let him spend hour after hour working and studying, and see if he can pass the exam.

My POINT, to be clear, is that without the right kind of brain, no amount of hard work is going to suffice. Some people are just plain unequipped for analytical reasoning and they will NEVER understand higher level math. That's why they take remedial math in the first place.

Obviously, great programmers are not just born, and if you actually read what I said, you would realize I never said that. In the future, please try to read more carefully and try not to misquote me or put words in my mouth. By the way, unlike mathematics and analytical reasoning, reading comprehension is one of those things that almost everyone can do, but it certainly improves with practice.

I disagree a bit.

I am sort of disorganized, just ask my wife. Had a heck of time with math, but still managed to get a degree in Physics. And have developed complex AI and ML based application, operating systems, network protocols, etc. It is never easy, but I am willing to try things dozens, if not hundreds of times, to understand how something works. So to me, it is more perseverance, than innate ability. Or as Edison put it, "Genius is one percent inspiration, ninety-nine percent perspiration".
 
It's funny, right? Hundreds of millions of iPhone users out there, and you'd think, your app is gonna get at least ONE sale, right? No matter how bad your app is, someone, somewhere out there, they're going to buy it... even accidentally!

Nope, not one! Hundreds of hours of work gone. One of Apple's most widely distributed "products" is that feeling of disappointment and despair that so many app developers have experienced.

So true, really disappointing. I spent 6 months developing my app, and over the course of 5 years I sold a couple of hundred copies. I even won a major design price, and customers loved my app (which did nothing for my sales btw). The sales didn't cover the developer fees. For Apple it's a win-win every time (developer fee and commission). No wonder they are investing into this model. At least now I know why in interviews the successful companies are always and only talking about their marketing strategy, and never about the game development.

Lesson learned? If you think about developing an iPhone app to put on the App Store, make sure to have 2-5 highly motivated marketeers working for you full time, a great marketing strategy, plus a generous marketing budget.
 
  • Like
Reactions: WestonHarvey1
Learning Swift seems like a dead end considering Apple's 30% cut, decreasing marketshare and difficulty of getting into a crowded app market. You're better off learning something hot with high compensation like Python/C/C++ for AI and vision learning, Go for web back-end development, Ruby for information security, even Java for greater marketshare, etc.
 
I think this initiative has more to do with Apple making the world friendlier to Apple than anything else. Even when coders move on to other languages and platforms (which they will), one of their formative experiences will be with Apple, just as with the use of Apple computers and iPads in lower schools.

In the 80s, many of us had our formative experiences with Acorn Computers. They landed a plum government contract to manufacture BBC Micro computers, which ended up in many schools across the UK. It had the excellent easy to use BBC Basic, and an in line assembler too (6502). Many of today's coders and IT professionals started off on the BBC Micro, and have since moved on to other languages and systems. The same could happen with those starting off on the Apple, or even the Raspberry Pi.
 
I disagree a bit.

I am sort of disorganized, just ask my wife. Had a heck of time with math, but still managed to get a degree in Physics. And have developed complex AI and ML based application, operating systems, network protocols, etc. It is never easy, but I am willing to try things dozens, if not hundreds of times, to understand how something works. So to me, it is more perseverance, than innate ability. Or as Edison put it, "Genius is one percent inspiration, ninety-nine percent perspiration".

OK, I actually agree with what you're saying with a caveat. That thing that makes a person a "genius", whether it's an innate ability to understand and learn new information, an ability to analyze and solve difficult problems, or an ability or desire to persevere in the face of what appears to be an insurmountable challenge, is something that differentiates us as human beings. We should all have equal opportunity and equal access, but we simply do NOT all have equal abilities and interests. And while some people, like yourself, may be the type that never gives up, others have a pattern of quitting as soon as the going gets tough.

Whatever it is, there are definite differences between individuals, and some people are cut out to be great programmers, just like others are cut out to be great salespeople, or great lawyers, or great baseball players, etc...you get my drift. My only point is that while Apple may be right in saying that "Everyone CAN Code," I just don't agree that everyone can code well, or that everyone SHOULD code for a living. But, the only way to find out is to take a course like this Swift course (or read a book, or take an online course from Udemy, etc.) and see whether you have the ability/interest/perseverance/GENIUS required to do it for real. But I think the idea of telling the whole world that they can all be professional coders just by signing up for a class at a community college is just a little misleading.
 
OK, I actually agree with what you're saying with a caveat. That thing that makes a person a "genius", whether it's an innate ability to understand and learn new information, an ability to analyze and solve difficult problems, or an ability or desire to persevere in the face of what appears to be an insurmountable challenge, is something that differentiates us as human beings. We should all have equal opportunity and equal access, but we simply do NOT all have equal abilities and interests. And while some people, like yourself, may be the type that never gives up, others have a pattern of quitting as soon as the going gets tough.

Whatever it is, there are definite differences between individuals, and some people are cut out to be great programmers, just like others are cut out to be great salespeople, or great lawyers, or great baseball players, etc...you get my drift. My only point is that while Apple may be right in saying that "Everyone CAN Code," I just don't agree that everyone can code well, or that everyone SHOULD code for a living. But, the only way to find out is to take a course like this Swift course (or read a book, or take an online course from Udemy, etc.) and see whether you have the ability/interest/perseverance/GENIUS required to do it for real. But I think the idea of telling the whole world that they can all be professional coders just by signing up for a class at a community college is just a little misleading.
And I agree with everything you mentioned here except for the last sentence. Where did Apple say that?
 
As an iOS developer I am very opposed to this initiative. We don't need more iOS developers. I want to keep the field as small as possible so my salary can stay as high as possible, keep out the competition :D

I don't like the trend of coding boot camps and classes, it's ridiculous. Programming is hard. It's hard enough for people with degrees in CS and years experience. It's not something you can just pick up in a month. As a self taught developer it took me years to learn all of the basics people learn with computer science degrees at university.

I've had to hire many programmers as well, and I've never seen a single qualified candidate who learned to code at some bootcamp, every one of them didn't have a clue what they were doing. You can't just go to some month long bootcamp and expect to come out and get a job, it's disrespectful to the craft. All you'll end up doing is putting out shoddy work riddled with bugs and crashes that you can't fix.

It's not that you can't be a good developer if you learn it by yourself or at some bootcamp. It's just that you shouldn't expect to get a job within a month of learning. It takes time and lots of hard work and sadly most people just aren't cut out for it.

Does anyone know of the best way to learn how to program a macOS app with Swift?
Everything I can find is just focused on iOS, yes I love the iPhone, but I want to learn
how to create desktop applications first! Any help or advice is greatly appreciated.
If you learn how to build iOS applications, then moving to macOS is extremely easy. I recently had to build an app for macOS and it was relatively painless.

I would suggest learning iOS first and then it's relatively simple to translate those skills to macOS. Most of the skills you learn in iOS will translate well to macOS and visa versa.

Be cautioned though that the job market for macOS isn't anywhere near the job market for iOS. But it sure is fun!
 
Last edited:
I don't want everyone to learn how to code.

This statement is my main gripe. There are all sorts of people coming onto this forum. I do not like it when I see persons dissuading people from trying/learning a skill. It really gets my back up. If my tone was wanting - I apologise

Try to remember the beginning of your journey. It's easy to forget now with all the knowledge - but not so easy at the start. Encouragement is what people are looking for. Everything does not have to be about making money. You learned geography and history. DO you make money from that? Anyway - I think I made my point.


Obviously, great programmers are not just born, and if you actually read what I said, you would realize I never said that. In the future, please try to read more carefully and try not to misquote me or put words in my mouth. By the way, unlike mathematics and analytical reasoning, reading comprehension is one of those things that almost everyone can do, but it certainly improves with practice.

Actually I put that to you as a rhetorical question. There were four questions (two rhetorical) yet one of them is magically ascribed as a misquote. Sorry bud - you can take your own advice there I guess.

The rest of your spiel is just an attempt at whitewashing your original post. I know exactly why you are dissuading people here. The answer is in the last three sentences of your first post.
 
Last edited:
? So you're saying I can write a program in any way I want and the compiler understands it? In computer science the compiler is the reader, you the writer. If you can't talk to the compiler then your SOL.

Edit here's how writing code is like writing a note/letter/book etc.

syntax:
for(i = 0 ; i++)
This makes no sense to the compiler
for(int i = 0 ; i < 3; i++){
Func();
}
This does

Punctuation:
Func - Makes no sense
Func() - ok it's a function but are you done?
Func(); - ok now it's a statement.

Semantics:
For loop iterates a number of times. Using the previously correct for loop we call Func three times.
i is 0. i is less than 3? Yes, run. Increment i
Keep going till i isn't less than 0.

I got bored and I really like showing how close to writing programming really is to people haha

End edit.

I'll give you the pattern recognition since I was thinking something else. Although logic isn't strictly pattern recognition. Logic is A follows B. Patterns are if A follows B and B follows C then A is transcendedly dependent with C.
You're talking about the bare basics of programming. No professional developer even thinks about such basic things. Once you've been doing it for awhile, programming is all about logic and solving problems. The language syntax eventually becomes irrelevant, although one should generally choose the best language for the task at hand.

As an iOS developer I am very opposed to this initiative. We don't need more iOS developers. I want to keep the field as small as possible so my salary can stay as high as possible, keep out the competition :D

I don't like the trend of coding boot camps and classes, it's ridiculous. Programming is hard. It's hard enough for people with degrees in CS and years experience. It's not something you can just pick up in a month. As a self taught developer it took me years to learn all of the basics people learn with computer science degrees at university.

I've had to hire many programmers as well, and I've never seen a single qualified candidate who learned to code at some bootcamp, every one of them didn't have a clue what they were doing. You can't just go to some month long bootcamp and expect to come out and get a job, it's disrespectful to the craft. All you'll end up doing is putting out shoddy work riddled with bugs and crashes that you can't fix.

It's not that you can't be a good developer if you learn it by yourself or at some bootcamp. It's just that you shouldn't expect to get a job within a month of learning. It takes time and lots of hard work and sadly most people just aren't cut out for it.


If you learn how to build iOS applications, then moving to macOS is extremely easy. I recently had to build an app for macOS and it was relatively painless.

I would suggest learning iOS first and then it's relatively simple to translate those skills to macOS. Most of the skills you learn in iOS will translate well to macOS and visa versa.

Be cautioned though that the job market for macOS isn't anywhere near the job market for iOS. But it sure is fun!

This is incredibly true. Learning a language is relatively easy once you get your head around the basic concepts, but putting a good program together requires skill with thinking logically, and lots of experience. I can say from experience that most people are not good at that. Those people could learn to program, but likely couldn't learn to program well.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.