The long tail certainly makes Apple billions. Millions of app developers paying $100 per year with 0 apps sold.
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.
The long tail certainly makes Apple billions. Millions of app developers paying $100 per year with 0 apps sold.
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.
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.
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.
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.
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.![]()
(Adapted from the book 'Mindset' by Carol Dweck who is a psychologist at Stanford.)
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.
for a closed ecosystem of devices i.e. only Apple devices.
That's awesome to hear! Swift has certainly gained a lot more traction since I studied it.IBM is using Swift on their Linux servers. You can also run Swift on Raspberry Pi's, which are not Apple devices.
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 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.
Literally. Every. Workplace.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
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 SciencePeople use 'Computational thinking' everyday without realising it. Writing it out for a computer to enact is merely an extension of what we already do.
Basic Maths <—————> Advanced Maths
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 SciencePeople use 'Computational thinking' everyday without realising it. Writing it out for a computer to enact is merely an extension of what we already do.
Basic Maths <—————> Advanced Maths
[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 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.
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.)
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.
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.
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.
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.
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".
And I agree with everything you mentioned here except for the last sentence. Where did Apple say that?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.
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.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.
I don't want everyone to learn how to code.
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.
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.? 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.
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
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!
But...but...but...the robots will do all that soon. We need programmers to ask the robots not to become sentient and kill us all.