Edit: PS the Apple Store employee who ran this thing (he was a very nice guy) admitted he had zero coding experience himself
Anyway, the point I want to make is that I was a pretty self motivated learner, I didn't need someone telling me what to do, but it would have been nice to have the resources I needed, and an "expert" I could go to who could help me when I had questions or didn't understand something.
Part of me worries that making it all easily available will actually kill off kid's interests in subjects/skill sets that require some level of devotion before you see real rewards.
I also don't believe it would alter or diminish someone's internal self-motivation to learn. Actually, it would only serve to fuel the urge since there are always greater and greater challenges once you are making some progress and learning beyond the basics.
It has a lot of the the coding principles applied in a visual even driven environment making it fun and easy to create cool interactive games.
We're also working on adding other cool things like HTTP requests and sockets so users can connect to servers to send/receive data.
Maybe some 8-9 year olds who don't have parents with a programming background would be more the target market.
And yet his first exposure to it was dragging little icons into a list to make an animated character move... which is exactly the right material for a 90-minute course presumably designed for total neophytes.
Simple intro courses, but it's got real Swift compiler + runtime, and you can call straight into all the native APIs if you jump out of the guided tour.
Might be nothing, but opens up a lot of possibilities for people just getting started.
If the 8 year olds are really encouraged to explore and ask questions (vs 'jump through these hoops, follow instructions), the staff at apple will most likely be unable to answer their questions.
I would say that most adults are often simply unable to answer those questions because they just don't know. Children are naturally curious to levels which exceed the average adults ability to answer. Even educators are often inadequate to the task, if the question falls out of their areas of study. Some educators try to condition their students to focus on the limited prescribed domain of 'material they are to learn' and not ask questions that cross outside of that domain - in part to avoid acknowledging their ignorance.
But I would go further and say that children often also ask perfectly reasonable questions beginning with "how" and "what if" which stump adults. You can see this very readily when the topic is anything related to the natural world, as most adults are ignorant of basic science.
Teaching neophytes (and, especially, neophytes who are also children) the basics of anything -- especially in ways that will engage them and not leave them both without knowledge and with less interest than when they encountered the teaching -- takes nontrivial knowledge of both the subject field and teaching methods.
So if 8 year olds could grasp Basic, Z80 and 6502 Assembly, I guess adults in a computer shop should know their stuff.
Glad to see they are now expanding it to coding.
"Steve was my friend, and I don't believe a friend could ever replace a friend, so I chose to run Apple like Tim."
I've always respected that answer.
Apple has invested in LLVM+Swift as a part of this strategy and wants to drive new waves of software development for their platform. These coding camps are part of that effort.
It's all to make you buy their products, my friend. No big company is doing philanthropy just for the sake of it.
Instead of paying taxes honestly (yrs, it's legal what they are doing, but not ethical), they bribe you with LGBT campaign. Bufff.
If anything this will increase labor costs because now they need Geniuses to cover these classes (as well as costs for possible damage to the iPads used) in addition to normal Apple store staffing.
Do I think the approach is more than a little bit wrong? Sure, GUI programming a non-useful task wouldn't be my choice.
Would I prefer a more robust longer-term program? Absolutely.
Does this fall well short of actually being useful/addressing the original problem? More than likely.
But despite of all that, I would much rather have Apple try this and hopefully improve on the offering pending demonstrated interest than not have it at all.
She realizes that one cultural difference is that french parents don't expect their kids to learn things super early the way that Americans do – instead, they prefer to 'acclimate' their kids to various activities.
Not everyone lives in Silicon Valley where their parents are engineers, their neighbors' parents are engineers, they build drones and fly them in the park... Part of fixing inequality in education is at least acclimating kids to the idea of coding – hopefully sparking an interest that stays with them and grows.
Apple has long known that a way to build their customer base is to get them early in schools, so of course this is at least in part commercially motivated. But at the end of the day, companies can do things that help their bottom line and at the same time make a positive cultural impact. Personally, I think we should applaud efforts to acclimate kids to things they might not be aware of, to help make them aware of what's possible in their lives.
My eight-year-old loves making movies on his iPad using iMovie and I'm so happy that Apple is offering a course.
I would rather Apple donate an equal amount of money to any of those entities out there which help to bring technology to the youth.
Since Tim took over Apple's been doing a lot more towards "We want to leave the world better than we found it". Eventually I expect it will be good for Apple's bottom line long-term, but this follows their theme (e.g. Swift playgrounds, WWDC Scholarships) of helping teach more kids how to code. Personally I think Apple wants to attract students, because they prefer that demographic. There would be a lot more money to be made going after Enterprise wallets than spending it on free programs for cash-poor students.
Basically under Tim's leadership I'm expecting Apple to invest a lot in: Green Energy, Kids Education, Privacy, Diversity. Not because it's good for their bottom line, but because they think it's the right thing to do.
I agree with the op but want to take this one step further.
When you're apple's size, perhaps what's good IS good for your bottom line, in the long term.
Can you really grow a company when most people are too poor to afford your products? No, you really can't.
Will apple do better if there are many more people with disposable income enough to buy more apple products? I think so.
Maybe spending money on education and fixing the environment are necessary for them if they want to keep growing. I'm not saying this to be cynical - i'm saying this because if it's true, it doesn't actually matter whether this is a dollars and cents calculation.
This happens in other arenas as well - for example, part of the reason why the religious right is so strong in the US at the moment is due to a lot of grass-roots work done in the 80s and 90s on school boards; playing the long game with the next generation. It's a tactic that was openly acknowledged in the 80s, and it's paid off for them.
> Plus, its an opportunity to build brand allegiance at a young age.
If this leads to other vendors like Microsoft, Google, etc. launching their own coding camps geared towards youth I think it's a net win and results in competition in an area which is currently under served.
I also think it's a little unrealistic to expect a corporation to just throw money at philanthropic endeavors...as nice it might be to think about/wish for.
Google gave 190,000 - and possibly much more that I'm unaware of. 
> launching their own coding camps
I think what apple is doing right now is 'mostly harmless'. The strategy is flawed and antisocial, but the reach and impact is minimal. However, if all the major players started competing in this area, I think it could quickly became a significant net loss for our society. Established for profit tech corporations with eco-system oriented agendas are not well suited for the role of designing or choosing educational programs for our youth, their self interest is too narrow and all consuming.
Also don’t forget things like the Google Summer of Code: $6k per student x 1000 students x 11 years = $66M so far.
I'd be curious to know if Google supports projects that benefit the ecosystems of competitors.
Apple's other Obj-C/C/C++ languages are terrible for teaching kids how to program with.
Anyway Java has been a preferred beginner language for many schools and it is a horrible beginners language, so Swift is certainly an advancement.
But this sounds like a great initiative...and also, one that seems to be nearly all upside for Apple. Great PR, good benefit to society, increased buzz at the brick and mortar stores, and the cost of running these camps seem like it would be more than paid for by kids who are not only buying the programmable peripherals (anyone have experience hacking the Sphero?), but Apple products for all of their coding lives.
Mostly I'm bitter that not only can I not memeorize any of the 3+ finger gestures on iOS, I don't even know how customize/deactivate them, and I have a sneaking suspicion that more such touch magic will be part of the desktop experience.
Always read past the headline before getting upset.
I don't have a problem with these iOS features being brought over...I like all of these features even if I don't use them often on my phone or iPad. My problem has been the relative dearth of features that are desktop focused...the improvements haven't been bad, but they haven't signalled a desire on Apple's part to overhaul the desktop experience the way that Microsoft has with Windows.
But you can disagree with my assessment, maybe you think OSX is nearly perfect as is (personally, I love it, but that's as a developer), or that the changes since 10.6 have been as significant as Windows 7 to 8 to 10.
But I find it ironic that you accuse me of being too simple-minded to read past a headline when you've apparently already forgotten the public proclamations of Apple officials that the iPad Pro can be a desktop replacement. For fucks sake it's in the iPad Pro's product page right now:
> iPad Pro is more than the next generation of iPad — it’s an uncompromising vision of personal computing for the modern world. It puts incredible power that leaps past most portable PCs at your fingertips. It makes even complex work as natural as touching, swiping, or writing with a pencil...See how iPad Pro can be your next computer
Sure, push it off as fancy marketing talk if you want. I almost felt the same way when they sad the iPhone would replace the camera, despite far more in pro camera equipment than I have spent on computers in my lifetime...and Apple has been right on the ball on that. The full-size camera has its uses, but for all intents and purposes when it comes to photos produced and ecosystems affected, the iPhone (and Android) own the way we take images.
Why the hell should we think that convergence of desktop and mobile device won't and/or shouldn't happen? Microsoft Surface is already very impressive. iPad Pro does decent despite lacking desktop applications. Moreover, looking at past quarterly reports, there is no reason to think the desktop ebb will reverse.
I never said that I thought this iteration of macOS is the turning point...I only meant that if Apple intends to consolidate, the the branding and feature set of macOS is a logical iteration toward that goal. Consolidating the best of iOS and the best of OSX makes good business sense, but convergence will always have a few drawbacks for the edge case users. But don't take me as a total hater of change...my photography experience and experience has been made mostly obsolete by the ubiquitous of high quality cameras in the form of smartphones, but the fact that so many more people can capture and share beautiful memories (and important events) at a scale unthinkable in the pro-DSLR days, far outweighs what monetary damage had been done to the pro photography sector.
- the top feature in the Apple macOS preview is the porting of an exclusive iOS feature (Siri)
- there weren't any huge new features in Yosemite, though the top billed feature is split screen, which was subsequently introduced to iOS9. You can notch that as a victory for the Desktop-worldview...but the other big feature I remember in Yosemite was bringing over Metal, which was introduced in iOS 8.
- for Mavericks, which had many more changes, the two top What's New features are iBooks and Maps...two iOS apps that do not particularly change up the Desktop experience.
- Other developers might disagree with me, but while I've been mostly happy as a developer on OSX, I can't recall the last time Apple added something that hugely changed my experience as a developer...Bash on 10.11.5 is still the same Bash as on 2007...almost a decade ago. The freeing of the Office apps was very nice, though I don't use them so can't say how well they've been maintained. I do know that iTunes and iPhoto continue to be a disruptive shitshow, and nearly every app that I use on a daily basis, from Chrome, to Dropbox, to Google Chrome, to Steam and Atom...are third-party.
For fucks sake, one of the small things that would bring me daily happiness is a built in version of flux. But not only did Apple steal flux's thunder by blocking the iOS flux app and then adding Night Shift, they still haven't added it to OS X, which is where flux originated...and I don't see it as part of macOS.
- And then there's the hardware. I don't pay enough attention to PCs to know whether Appple is still outpacing them, but the rate and quality of new first-party peripheral does not feel like Apple is pushing hard on this front. I love the trackpads (a feature that has followed innovation on iOS), but I want a mouse, and the Apple first-party mice are terrible. I do love my several-years old aluminum keyboard...but the new one didn't seem to be a worthwhile improvement for the price jump.
- and of course, there's the Apple Display situation. No other Apple product would more greatly improve my computing experience and I am more than happy to pay the premium...the amount of time and money I've wasted in researching and buying third-party monitors that for whatever reason, aren't as seamless as the 5 year old Thunderbolt display, had more than exceeded the Apple premium sticker price.
- the iOS App Store has its problems...but the Mac App Store does not feel like an ecosystem that Apple has put nearly as much effort in helping out developers (or consumers)
- the iPad Pro is marketed as "your next computer"
Oops, meant that to be a simple list and not a rant. But typing it out on my iPad was slow enough that I kept thinking of other signs of non-desktop-enthusiasm for Apple :)...you can argue that Apple isn't overtly hampering the desktop...but it's hard to argue that Apple sees as much potential from desktop, based on its recent product releases.
We're heading into a dystopian future where the only people who need to know about manual transmission and fuel injectors are auto mechanics.
There are plenty of non technical people who benefit from increased abstraction. I'm personally happy as long as it doesn't impact productivity for power users.
> We're heading into a dystopian future where the only people who need to know about manual transmission and fuel injectors are auto mechanics.
To be fair, "auto mechanics" is a wider class than "Ford technicians".
If computers had to be interacted with in ways that resembled programming - like a UNIX prompt - then people would be more used to the way computers actually work, with functions and parameters instead of icons and settings menus.
I really hope that raspberry PI gets more mainstream appeal as time goes on. I fear the separation between coders and users is creating parallel worlds of echo-chamber wizards and ignorant commoners.
> the way computers actually work, with functions and parameters instead of icons and settings menus
Isn't "the way computers actually work" at a fundamental level about electrical engineering, or at least about machine instructions? If you're using Unix commands, hasn't a whole lot of work already been done to create the abstractions of pipes, file descriptors, files, filesystems, and so on? Is it clear that there is some sense in which these abstractions are faithful and true to the machine and technology, where other software abstractions are not?
We need different people to understand different layers, and as long as there are enough people paying attention to each layer, there's no problem.
I agree, which is why sometimes I think perhaps a toy assembly language might be a neat experiment from a pedagogical point of view.
As a child growing up, learning to function in society by speaking, reading, writing, and generally understanding English was a much harder task for me than learning to program in BASIC. BASIC is simple, predictable, logical and downright easy compared to English.
We take learning to read and write for granted, but its a messy, difficult, and often illogical affair. We have such high literacy rates because we start kids on it so young, and because its everywhere.
Its easy to imagine a version of our world in which children learn to interact with computers without GUIs, if CLIs were the norm. Children would learn them faster than adults.
Consider those children for whom learning a CLI was prerequisite to playing video games. All of those kids who I knew quickly memorized the requisite commands.
Ah yes, I still figuratively remember all the commands for loading Sinclair Spectrum and Commodore 64 games, and their "FastLoad" variants, typing in those PEEKs and POKEs from magazines for cheating/hacking, then the fiddling with AUTOEXEC.BAT and CONFIG.SYS while trying to juggle HIMEM and EMM386 and whatnot to be able to play DOS games..
It definitely piqued my interest in the workings of computers, spurred on by the generally more technically-inclined (not to mention humorous! oh how I miss CRASH and ZZAP!) magazines of the time, and it did get me into programming.
BUT, all that CLI voodoo was just a routine ritual to my other friends, in the way of what they really wanted (games.) They just had all the commands written down, and would rather ask someone than consult a manual when something needed to be done differently. They already had other interests. It didn't make all of them programmers.
So as with everything else, you can't really make a general statement that "X will make children do Y." People who are inclined towards doing something, will do that thing, on their own. I think what we (the adults) should focus on, is making things easier for them after the fact, after they've decided to get into programming.
Let's start with why the major operating systems of today require separate downloads and online research to get started with programming. macOS comes with that Grapher app, Windows comes with Paint, why can't they come with a nice coding app and some tutorials? So kids can just start poking away on their $500+ tablets and computers out of the box, like we used to on the C64, 20 years ago?
Do you want those children to hate CLIs because they are boring and they have to learn it just like all other boring stuff such learning how to read and write? If we offer children a way to enjoy what they are doing (i.e. make it fun to use/learn it), they will look forward to learning how to program. And making a task harder while it could be easier is not the answer (and children are not stupid, they would realize that a GUI would also be possible these days).
Furthermore, CLIs are hard to use in many environments. Would you want your waitress type "start paying; add product NAME [QUNANTIY]" instead of just touching the symbol a few times? There are many advantages with CLIs, especially when doing "traditional computing tasks" but in the real world, which is becoming much more digital, CLIs are not useable and a touchscreen with buttons is quicker. So why should the general public know how to use them – there are outside of our "edge cases" not really useful.
In this context, most of your post seems unrelated to mine.
> With no/slowed adoption of computers, it's not possible for programming to become more common than it is today.
"Not possible"? That's false on the face of it. You appear to be making unwarranted assumptions about what is possible in the relationship between (a) the amount of 'computing' in today's world and (b) the number of people who program.
The only non-cultural factor which really limits the possibility of coding is the availability of machines on which to program. I believe there were only around 20 million devs worldwide at the beginning of 2014. More PCs were shipped in the mid 80s in the US alone.
It is absolutely possible that a world in which the GUI was never invented could have more coders coding than a world in which the GUI had been invented. And the reverse is also true, of course.
Programming nowadays is easier than ever to get into. All you need is a computer, an internet connection, and the drive to learn.
If you bought a car in the early 20th century, you had to know how to work on it. Now, that's not that case.
Isn't that how a society works? The vast number of diverse human activities are only possible because of the echo-camber, of people who specialise in one area while remaining ignorant in almost all the others.
Also computing, and programming, is much much more than a unix prompt.
Some of us rather enjoy the way Xerox PARC envision the future of computing.
On that vision IDEs and REPLs like the Swift Playground are the way it should be, no need for a UNIX prompt.
I think it's more important for the younger generation to learn about other things, some of them I do not know.
Things like agriculture, law, music theory, etc. are much more important than programming.
> If computers had to be interacted with in ways that resembled programming - like a UNIX prompt
Maybe programming should start resembling GUIs more, instead of the GUI resembling programming more?
The only reason I got into programming was by messing around with HyperCard as a kid. HyperCard had an excellent learning curve. You could just use the pre-built stacks (stuff like an address book). Then you could start editing the controls (adding a field to the address book), then start using the prefab button generator or copying pre-coded buttons from sample stacks (say, to add a button to go to your own card in the address book). Then start hacking away at the scripts in the buttons (scripts that resembled english better than any language I've seen since). And this thing came with every Mac.
Today, you have to decide "I want to learn to program", look up resources, maybe do a tutorial. The only thing we have today that's close to "tricking" people into programming without them deciding to start programming is Excel spreadsheets. That's probably the #1 programming environment today.
In my opinion the use of a GUI vs CLI is more of a preference and doesn't explicitly assume the user is ignorant.
Yes. That's exactly how it would be, for whatever small fraction of current computer users were able and willing to adapt to that paradigm.
You're absolutely right about the separation between people who understand how computers work and people who only use them. Your second sentence in this comment is a brilliant example of the "echo-chamber wizard" school.
But as the kids grow older (and hopefully become more interested in programing), they will also learn the limitations of the playground. And this is where they will start looking in other alternatives. They might explore proper iOS development but at some point, but eventually they will have to deal with other platforms or programing languages. Some will probably stick to iOS, and the soon-to-be programers will prefer iOS because they have more knowledge in iOS programming but in general, there will be more programers for all languages.
I started programing about 6 or 7 years ago when I was 12 or 13. When I first started programing, I loved the PHP IDE I was using on my first windows laptop – it was so helpful and offered so many helpful functions and I was soon locked into it. At that time, I couldn't think about using another editor or os. But as I grew more passionate about programming (and started to see the limitations of PHP), I started using other languages, and I had to explore other editors. Long story short, right know, I'm mostly using VIM (although I would not call myself an VIM export – I just loving using it and because it is so quick, lightweight, modular and works everywhere). I prefer developing on Mac but last month I used Linux (Fedora) for over a month and enjoyed it. There was nothing I couldn't do on Fedora but I'm glad to be back on macOS again (I just prefer the platform as a whole and their integration with my other devices).
What I'm saying is that it doesn't really matter if you are locked into one language as long as you you are curious about things (which children generally are). You will soon discover that there are many things that are sometimes greater or just fun to use. Those things will not go away. I don't see many Swift webservers anytime soon and there will always be a need to use other languages. At some point, those kid will realize that their iPad is not sufficient and will switch to a PC. This path is certain better then scare kids away especially because many kids need immediate feedback when they type something (and "hello world" on a console won't cut it).
After attending those camps, I so badly wanted a Mac.
1. §3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded.
1: https://files.grid.in.th/7KXJ4O.jpg (from Pythonista's examples)
Nothing Pythonista couldn't do already.
Swift Playgrounds can round-trip with XCode.
Regardless, I don't think the kids need to worry about that until they offer the Corporate Strategems Bootcamp. Until then, pretty sure if the kids want to create apps that download executable code, they can install them on their device directly with xcode.
How does a kid share? This type of thing is important. Everyone can see the athlete play, hear the singer singing, but how does a young coder get notices if no code can be shared?
Ideally, one kid should be able to "flip / slide" his/her project onto another kids iPad with a option to put a link in the iCloud. Otherwise, its just a solitary activity with no social reward.
For the very specific case of apps that download executable code off the network. So it's more like, athletes that play a specific sport, or a singer that sings very specific class of music.
> if no code can be shared
Now that's just either fud or a lie.
I'm skeptical that that would encourage kids to code. This opinion is particularly espoused by politicians who can't code but want to be seen as technically progressive.
I think part of loving programming is discovering it on your own and seeking it out. Events/Sessions like this and CoderDojo that we have here in Ireland are more effective at evangelising kids to code because it endows a greater sense of autonomy to the individual that what you get in a classroom and I think thats a more conducive environment to encourage coding.
Ie, figuring out how to solve problems by analysing a task and breaking it into small and discrete bite-size pieces that can be understood by a computer's rule set.
"But this course is far more than just learning to program. We'll focus on some of the "Big Ideas" of computing, such as abstraction, design, recursion, concurrency, simulations, and the limits of computation. We'll show some beautiful applications of computing that have changed the world, talk about the history of computing, and where it will go in the future. Throughout the course, relevance will be emphasized: relevance to the student and to society. As an example, the final project will be completely of the students' choosing, on a topic most interesting to them. The overarching theme is to expose students to the beauty and joy of computing. This course is designed for computing non-majors, although interested majors are certainly welcome to take the class as well! We are especially excited about bringing computing (through this course) to traditionally under-represented groups in computing, i.e., women and ethnic minorities."
Agreed. Schools kill joys of learning. I hated history in school, but now I am big ancient history enthusiast. Most of my friends associate history with boring stuff taught to kids.
Programming should be discovered by kids and adults on their own
This is a possible sign that Tynker can be bought by Apple soon to be integrated with Swift Playground.
However, that app [Swift Playground] is aimed at slightly older children – those aged 12 and up.
But I have no idea if that's the real reason.
This is essentially building a new generation of future Apple customers.
And since we're talking about Apple here, it seems pretty safe to say that those costs are going to be higher than, say, a shift between Ruby and Python.
A language whose current practical use and reason for existence is entirely about developing for a single platform owned by an entity that has repeatedly demonstrated an indifference (or outright hostility) to outside use is not a language I'll likely use as an early one for learners.
As it is, even after NeXT had started down a cross-platform development road, Apple made several decisions that were indifferent to it (and a few that were hostile). Why will Swift be different?
Having a new generation being brought up in compiled safe languages like Swift will be a great improvement for the mainstream coding.
I gave up on programming in high school when my borrowed C++ textbook started getting into memory management and I couldn't stop my head from spinning. I didn't even know simpler languages like Python existed until I started college.
I'm all for learning the hard stuff, but programming is such a different way of thinking from most things that it's hard enough to get beginners into the mindset, let alone be comfortable and confident with the syntax.
When I was a kid I wanted to code to be like the cool dudes I heard about on the internet. The only book I could get was a book on COBOL, with a compiler which would only run on DOS.
COBOL is a horrible language and I never learned to code, now I'm 26 and can do the basics with python.. I'm a sysadmin, maybe that would have been different with a language that actually functioned in the modern day (at the time).
I feel somewhat similarly for swift/rust and the younger generation, there is a very high barrier to entry for C/C++, which flavour should you use? C99 or C11, what compiler, and what flags are needed for compiling your flavour?.. how do I google errors "C null dereference" when "C" is short enough a letter to be ignored by most search indexes?
Personally, I see initiatives such as Apples as a good thing and something I wish I'd had as a kid, even if they have a more sordid agenda.. it's not like coding skills and critical/logical thinking are not transferable skills.
If Uncle Ben's rice donates its branded rice to victims of a natural disaster - provided the containers say "Uncle Ben's Rice" - would you refuse it for a generic?
The syntax isn't as important as the concepts: loops, conditionals, functions, types, etc
Both companies are fully aware of what they stand to gain in the years to come by familiarizing young people with the corporation's own technology.
Philanthropic means "seeking to promote the welfare of others, especially by donating money to good causes; generous and benevolent".
It does not mean "selfish action which happens to also benefit others"
There are several ways apple could have been less obviously self interested, not purely by choosing FLOSS.
"when a thief looks at a saint all he sees is pockets"
Not that you have to like the course, there is a lot to dislike about it, but the melding of Apple's store location infrastructure for providing accessible child bootcamps certainly is an interesting concept.
I was surprised everyone chose to focus on the course content instead (at least when I wrote the comment originally).
We detached this subthread from https://news.ycombinator.com/item?id=11948160 and marked it off-topic.
These are trivial near-tautologies addressing irrelevant and extreme positions. For example, some "charitable" causes are outright corrupt.
> By that logic Apple's users could have purchased cheaper non-Apple products and donated the remaining money to non-profits.
Most of us buy expensive hardware because we want expensive hardware, not because we want to pretend to be doing good in the world. Anyone foolish enough to think that they are making the world a better place by buying apple products would be appropriately subject to the same criticism: it would be far better if they bought cheaper hardware and used the difference in some intelligent way to make the world a better place.
> This entire line of moral reasonsing just doesn't work.
That's what happens when you apply slippery slope style reasoning unnecessarily. There is nothing illogical about looking at both (a) what one actually does and (b) what one could do - especially if there are entities praising your questionable actions as socially benign.
You are correct that one 'could always do better', but that is not a 'get out criticism free' card. Further, it needn't by itself change anyone's choice of where they draw the line for "more helpful than harmful". I believe that apple's actions here are more harmful than helpful, and the fact that their actions increase the divide between haves and have-nots is part of that evaluation.
Maybe you could be more specific. You could ask pointed questions, or quote the line or lines which you find confusing.
> You seem to believe that Apple should not be running coding camps out of their stores, which exist whether or not they're used for coding camps. That's silly.
Apple is a machine for making money for their shareholders. They can do whatever they like, as long as it is legal.
Apple should emphatically not be praised for running coding camps out of their stores.
The fact that apple's stores exist regardless of whether coding camps are run has nothing to do with anything in this conversation. Maybe you thought someone was making an argument about the allocation of real estate resources?
But your original comment suggests you believe Apple is doing more harm than good with the camps. That point is interesting because, as I said, it seems silly.
I would extract: "there is an additional axis to consider when considering the degree of social benefit and social harm caused by apple's camps - and that axis is suggested by the question: Does this increase or decrease social inequality?"
I think that the camps necessarily will increase social inequality, but not on a scale that I find concerning at this point. By itself, modestly increasing social inequality wouldn't mean that apple is doing more harm than good, as there is a good to be found in educating children, even if those children are not always the most disadvantaged children. It all depends on how one personally assigns weight to each factor under consideration.
As an aside (and this surely colors my tone, but not the argument intended) it happens that I do personally consider the camps to be 'more harm than good' (but only marginally so) when everything is weighed together, but I wasn't trying to make that suggestion in the grandparent.
We detached this subthread from https://news.ycombinator.com/item?id=11947087 and marked it off-topic.