Slashdot Mirror


Ask Slashdot: Everyone Building Software -- Is This the Future We Need?

An anonymous reader writes: I recently stumbled upon Apple's headline for version 2 of its Swift programming language: "Now everyone can build amazing apps." My question: is this what we really need? Tech giants (not just Apple, but Microsoft, Facebook, and more) are encouraging kids and adults to become developers, adding to an already-troubled IT landscape. While many software engineering positions are focused only on a business's internal concerns, many others can dramatically affect other people's lives. People write software for the cars we drive; our finances are in the hands of software, and even the medical industry is replete with new software these days. Poor code here can legitimately mess up somebody's life. Compare this to other high-influence professions: can you become surgeon just because you bought a state-of-art turbo laser knife? Of course not. Back to Swift: the app ecosystem is already chaotic, without solid quality control and responsibility from most developers. If you want simple to-do app, you'll get never-ending list of software artifacts that will drain your battery, eat memory, freeze the OS and disappoint you in every possible way. So, should we really be focusing on quantity, rather than quality?

253 of 365 comments (clear)

  1. use this one neat trick by Anonymous Coward · · Score: 5, Funny

    to design complicated software, CLICK HERE

    1. Re:use this one neat trick by Anonymous Coward · · Score: 3, Funny

      Link is broken.

    2. Re:use this one neat trick by fyngyrz · · Score: 4, Insightful

      Back in the day, we called this concept the "Software Preisthood"

      It wasn't complementary.

      1) I am not threatened by "everyone" learning to program

      2) don't buy a bunch of stupid apps, and,

      3) Apparently, you're a programmer, so write your own apps. :)

      --
      I've fallen off your lawn, and I can't get up.
    3. Re:use this one neat trick by Bing+Tsher+E · · Score: 2

      The whole thrust of ESR's Cathedral and the Bazaar essay was aimed at the contrast of the old 'cathederal' method of software development and more open systems. In fact, the 'Cathedral' being criticized was the GNU Emacs team. (Many people miss this fact and assume the 'Cathedral' being criticized was Microsoft or some other entity that they don't like).

      The 'Priesthood' was the elite in charge of GNU Emacs development. Many Open Source projects have evolved in that direction, which is justified in that random-anyone can't just wander in and start committing patches. The contradiction is perilous.

    4. Re:use this one neat trick by phantomfive · · Score: 3, Informative

      In fact, the 'Cathedral' being criticized was the GNU Emacs team.

      Interesting, I figured it was a reference to Mythical Man Month, which uses Cathedrals to describe a method of software development (that is the opposite of the bazaar).

      --
      "First they came for the slanderers and i said nothing."
    5. Re:use this one neat trick by hackwrench · · Score: 1
    6. Re:use this one neat trick by davester666 · · Score: 1

      Bug closed. Works as designed.

      --
      Sleep your way to a whiter smile...date a dentist!
    7. Re:use this one neat trick by Anonymous Coward · · Score: 1

      Yeah, I remember reading that back in the day, when everyone was saying "this will tell you why open source is awesome".

      I thought, "this isn't about open vs closed, this applies as much to GCC as it does to Windows". I did think it was GCC - whose lunch has of course been roundly eaten by the bazaar-style LLVM now - but GNU Emacs is equally appropriate ;)

    8. Re: use this one neat trick by Anonymous Coward · · Score: 1

      There's an app for that!

      I think the problem is that the powerw that be want a cheap interchangeable pool of workers. Same reason u see JavaScript everywhere. Lowest common denominator

    9. Re:use this one neat trick by thesandtiger · · Score: 3, Insightful

      Pretty much exactly that.

      In my experience, people learning a little bit about programming tend to also learn to respect the fact that there's a ton of stuff they don't know. Yeah, I've run into some who think a single run through of some "Learn X in 24 Hours" book makes them a developer, but they're the minority.

      What's really valuable about "everyone" being exposed to programming is that it helps them learn to think about problem solving in a usually different way. Where I work, we had our entire product management team go through a week long programming bootcamp and it's been AMAZING in improving the quality of the specs they write. They aren't under the impression that they're developers but they definitely have a better appreciation for what we do.

      And, we developers went through a product bootcamp as well so that we had a better understanding of what they do and more insight into what is driving some of the things they ask for.

      More knowledge and understanding is very rarely a bad thing.

      --
      Since I can't tell them apart, I treat all ACs as the same person.
    10. Re:use this one neat trick by eparmann · · Score: 1

      Are you maybe not referring to the paper "The Cathedral and the Bazaar" by Eric S Raymond? I can't seem to remember that Mythical Man Month used the terms cathedrals or bazaars. The ESR on the other hand does, and it actually refers to Emacs development as the cathedral.

    11. Re:use this one neat trick by Bengie · · Score: 1

      It would be interesting to have more research as into what is actually gained from the exposure so that information can be focused on. Whenever I have to work with someone new that acts as the in-between person between me and the customer, I bring up questions for corner and edge cases during my talks. I'm pretty quick to recognize edge and corner cases as someone is giving me the specs. I quickly look over the specs and start rattling off questions, then I hypothetically make answers for those questions which creates even more questions. The person can quickly see how what they thought were "good specs" quickly turns into a hundred questions of things they did not think about.

      Some people with whom I have worked long are now very good at thinking ahead or recognizing when something feels off and come to me during the discussions with the customer instead of waiting for after.

    12. Re:use this one neat trick by phantomfive · · Score: 1

      I can't seem to remember that Mythical Man Month used the terms cathedrals...

      ok, then you haven't read it for a long time lol

      --
      "First they came for the slanderers and i said nothing."
    13. Re:use this one neat trick by david_thornley · · Score: 1

      Mythical Man-Month refers to the design and building of cathedrals, but it isn't the same sort of reference as ESR's.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    14. Re:use this one neat trick by nitehawk214 · · Score: 1

      Photographers have been going through this for the last 10 years. Digital cameras are far easier to use than film cameras, and now everyone is carrying around a little camera around in their pocket. Some magazines and newspapers have fired all their in-house photographers hoping to cash in on "social media" and free content from their readers and users.

      Photographers are dead! Everyone is a photographer!

      Or not... an amateur with an iphone is not going to produce professional quality images. People pissed off that uncle billy did a shit job photographing their wedding get exactly what they deserve. Newspapers with shitty photographic content will die. (or continue to die)

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
  2. Swift by phantomfive · · Score: 5, Insightful

    Swift isn't going to make it so "anybody can write apps." That is something that's been tried for decades, with things like drag-and-drop programming. SQL was originally intended for non-programmers. It doesn't work, because the difficulty of programming isn't the syntax. The difficulty of programming is logic. You have to learn to think like a programmer, describe a sequence of steps, ask "what will happen in the user does.....X." You have to reasonably understand the if several things in a row are true, but the next one is false, then all of them are false (if anded together, but not if or'd together).

    The logic of programming is why it's good for everyone to learn programming. If it helps people learn to think a little more formally, then it's worth it.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:Swift by JazzXP · · Score: 4, Insightful

      I was about to write exactly this. Syntax is easily learnt, the mindset of HOW to program is the hard bit.

    2. Re:Swift by Dutch+Gun · · Score: 4, Insightful

      Agreed. Swift makes it easier to program, but the notion that "anyone" can write apps is definitely a laugh. There are a lot of programmers who don't understand that some people have a really hard time with the core concepts and skills involved in creating software. It reminds me of math teachers who don't seem to understand that some people have a fairly difficult time with advanced mathematical subjects. People have different areas of competence, and not all are suited to be programmers. It's not just logic... you need to do some creative problem solving in formulating that logic, and you need to keep a LOT of complex things in your head all at the same time to get them to all mesh together at the end.

      Still, I have no problems with the efforts to make programming easier. Anything that helps will not only make it easier for novices, but will also aid professional programmers. If you don't have to worry about the fiddly bits of the language (for instance, low-level memory management in C), then your attention can be directed to more important parts of your task. There's a reason higher-level languages are considered to be more productive for programmers.

      I think some programmers get a bit defensive at the idea of novices stumbling into our professional domain. I honestly don't see it as a problem. We're nowhere near that magical "anyone can program" threshold, even with the "friendliest" languages people have tried to invent.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    3. Re:Swift by garyisabusyguy · · Score: 2

      "anybody can write crappy apps." FTFY

      To go a bit further, given cushy enough tools (Dreamweaver comes to mind), any damn fool can put something out there. Will it be useful, or will it actually hamper the work that people are trying to do? That is a good question

      What it comes down to, in my mind, is whether are not decent tools are being made available to people who are capable of producing something useful, or beautiful, from them

      The common availability of the tools to create software, and the elimination of outrageous barriers to their use seems to be the goal to me

      If we accomplish that, then people who have creativity, logic, etc will be able to create software that enables the people who use it to accomplish tasks, perform work, enjoy their lives entertain others, etc...

      That seems to be what we should want, rather than some notion that every damn fool will be able to create software

      --
      Wherever You Go, There You Are
    4. Re: Swift by BarbaraHudson · · Score: 1
      I've seen plenty of programmers who can't think logically. Where do you think management comes from?

      Or programmers who use a bunch of bested if statements because they don't understand XOR, or freak out when they see a ?: statement.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:Swift by Darinbob · · Score: 1

      A lot of these new languages are highly specialized languages. It's like everyone who has a special need and a hatred of general purpose languages thinks they'll just write a new language and solve the problem. Ie, there is no point whatsoever to have an language for developing IoT because we've already have such languages for decades, yet people are creating these new pointless languages.

    6. Re:Swift by Darinbob · · Score: 5, Insightful

      Any fool can write buggy programs, but it takes a Senior Solutions Architect to really fuck things up.

    7. Re:Swift by Anonymous Coward · · Score: 1

      Agreed. Swift makes it easier to program, but the notion that "anyone" can write apps is definitely a laugh. There are a lot of programmers who don't understand that some people have a really hard time with the core concepts and skills involved in creating software. It reminds me of math teachers who don't seem to understand that some people have a fairly difficult time with advanced mathematical subjects. People have different areas of competence, and not all are suited to be programmers. It's not just logic... you need to do some creative problem solving in formulating that logic, and you need to keep a LOT of complex things in your head all at the same time to get them to all mesh together at the end.

      And that's how I became I developer. In college I was going to major in Economics with a minor in Computer Science - but then I took an "Intro to programming" class after 8 years of home computer BASIC - and I was amazed that these engineering students had no ability to understand the logic and problem-solving required for programming.

    8. Re:Swift by ArcadeMan · · Score: 1

      Virtual +1 Funny.

    9. Re:Swift by rtb61 · · Score: 3, Interesting

      A lot of the complexity is driven by programming languages themselves. The conflict between compact code bulky self explanatory code, not having to rewrite functions creating large algorithm libraries, coding conventions as they differ from normal language and maths use, language logic being simply the arbitrary decisions of the people who coded the coding language amongst other issues. What to know how bad coding languages really are, give code without any documentation at all and get another coder to figure out what is going one and how to fix problems. Why is this inherently bad, it is like handing a text book to someone, and they requiring a second one in order to be able to read the first one, even when they know the language used in the first one.

      So what is this really all about, cheap greedy psychopath business types who have no idea at all about how to code but who want cheaper and cheaper and cheaper programmers (minimum wage cheap). So they want to flood the market with coders, whether by internal training as long as those coders pay for it themselves or by bringing in cheap temporary immigrant coders.

      --
      Chaos - everything, everywhere, everywhen
    10. Re:Swift by DaTroof · · Score: 1

      Well said. The computer industry has suffered decades of marketing speak about applications that are supposed to make it possible to program without being a programmer. Best case scenario, they become tools that are primarily used by programmers (example: SQL). Worst case, they become widely despised albatrosses (example: Cold Fusion).

    11. Re:Swift by phantomfive · · Score: 1

      ok, well, I disagree with you, I enjoy programming.

      --
      "First they came for the slanderers and i said nothing."
    12. Re:Swift by DaTroof · · Score: 1

      I'm guessing you're not a programmer by trade? I've read plenty of code that was easy to understand. Don't ignore the likely possibility that a program's unreadability is the fault of the writer, not the language. The same programmer writing in plain English could easily fail to express the logic correctly to other people, let alone a compiler.

    13. Re:Swift by Bing+Tsher+E · · Score: 1

      The buzzword 'Solutions' is a fun one to play with.

      When the marketing fuck at your company starts talking about 'Solutions' and/or marketing that crap at you, ask him/her "What about the precipitate? And what are we dissolving, anyway?"

    14. Re:Swift by ArmoredDragon · · Score: 3, Interesting

      I don't know about anybody else, but I've written in scripting languages (bash, powershell) and have usually been pretty good at determining arithmetically what a program should do. The problem is I get stuck on the syntax a lot.

      It's not simple logical controls (I do proper for loops, do while loops, if/else/then, etc. just fine after googling for a few examples) but the APIs are where I really get stuck. Speaking of powershell, a lot of the stuff I've wanted to do involves a .Net handler that I've had to look up, and finding what I need to do sometimes takes a few hours or even days. Also, on scripting languages (ESPECIALLY powershell) I get stuck on figuring out why I can't pass quotes into a function or something like that (for example, I needed to make a script prompt the user for UAC admin permissions if not running as admin, and never could figure out how to make it work if somebody happened to rename the script to include spaces in it, because one of the functions used for checking if the user was admin had issues taking quotes. I had to ask on stackexchange how to do it, and somebody else figured it out, and the solution wasn't obvious at all.)

      I've also had situations where I've figured out algorithmically what a program should do to overcome a certain situation, and posted my idea to developers on e.g. forums, github, etc, and they've actually implemented what I couldn't do because I didn't know the syntax.

    15. Re:Swift by Bing+Tsher+E · · Score: 1

      A lot of people can't understand hardware, and are actually terrified of it. They don't get it that a pointer in C is at root a hardware address in the RAM memory.

      So they abstract it away.

      Much of Computer Science tends toward this kind of denial. "Don't use GOTOs" is ludicrous at it's root, because branches are an essential component of machine language.

      People want a little velvet pillow to dance upon, they can't understand there's always going to be a surface composed of dirt down there somewhere.

    16. Re:Swift by gweihir · · Score: 1

      Ah, yes, the "Simple Query Language". Complete failure in that regard, although it did form the basis of a more standardized RDBMS interface. Of course you still need to know what you are doing.

      You have the one thing about logic exactly right. There is also a second critical thing: You really need to understand the problem you are solving in order to write good software. Here again, it is beneficial for everybody to learn that to some degree, but most people will not be able to master it on the level needed to actually write reasonable software.

      I agree that leaning some coding is beneficial to a modern human being, but please only make those professional coders that have a real aptitude for it. That will be a small minority.
       

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    17. Re:Swift by Wycliffe · · Score: 1

      Swift isn't going to make it so "anybody can write apps." That is something that's been tried for decades, with things like drag-and-drop programming. SQL was originally intended for non-programmers. It doesn't work, because the difficulty of programming isn't the syntax. The difficulty of programming is logic.

      These attempts seem to all lead down a common path. Take webpages:
      1) only hard core programmers can do it.
      2) It gets a little easier with geocities and wysiwyg editors.
      3) It gets a little easier with myspace and then even easier with facebook.
      Now everyone has some sort of webpage which requires no programming at all.

      This same progression happened with the first cars, the first computers, the first cameras, etc...
      So, no I don't think everyone is going to become a programmer but everyone will soon be doing
      stuff with their devices that previously required a programmer to do.

    18. Re:Swift by gweihir · · Score: 2

      Productivity with languages does depend on the type of problem vs. the type of language. There are quite a few tasks where being able to do your own low-level memory management is critical to performance and reliability. A good coder knows this and has more than one tool in his box. C is definitely one of the tools that must be in there. On the high-level side, there are more possible choices. For example, some people will want C++, Eiffel or Ada, but currently it looks like the best mix is actually C plus scripting like Python, Ruby or Lua. This seems to be an improved version of the ages old UNIX paradigm of writing ultra-efficient single-task C programs and then tying them together with the shell.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    19. Re:Swift by gweihir · · Score: 1

      You really are wayyyy off here. Unless we get strong AI (which is doubtful), we cannot have programming languages that are not modeled on the machine programmed in some way. Compilers are not smart enough by far for that. Of course that means that any good coder needs to understand the machine and that any programming language needs to be designed with that understanding in mind. If you want something that understands your thoughts, get a secretary, not a computer.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    20. Re:Swift by Fnkmaster · · Score: 1

      Yeah, this is ridiculous. Swift is marginally easier to read than Objective-C, sure.

      Mostly, thought, it's got some nice modern-language capabilities - functions as first-class types, type inference, generics, arrays and dictionaries as built-ins, less crunky string handling, and better switch statements than Objective C.

      None of this speaks to programming for dummies. Just a cleaner, more modern way to write iOS apps for experienced developers. Nothing to see here, moving right along.

    21. Re:Swift by phantomfive · · Score: 1

      functions as first-class types, type inference, generics, arrays and dictionaries as built-ins....None of this speaks to programming for dummies

      Yeah, that's enough to scare away beginners quickly.

      --
      "First they came for the slanderers and i said nothing."
    22. Re:Swift by sims+2 · · Score: 1

      Yep autoit removed the goto function because they said it caused spaghetti programing.

      I got around it by having autoit run batch files to run the checks I needed and then the batch files run the correct autoit file.

      Sure it's a heck of a lot bigger mess than if i was able to use GOTO but thats apparently what they were going for.

      Works good though.

      No I don't qualify as a real-programer.

      The only requirement I have for things I make for use at home is that they work I refuse to continue working past getting to the it works perfectly for the task intended every time stage just because some programmer in Australia thinks its not pretty but I don't intend to publish it.

      I already knew how to use batch files autoit is new to me and it would take me much much more time to learn how to replace GOTO in autoit for the small amount I use it than to just jump back to batch files and handle it.

      Do you know anyone else that needs a script to change the windows power options (off means off!) and reenable security essentials or windows defender depending on the os version after uninstalling mcafee/norton whatever crapware av that came with the computer, start a cmd window as system or admin? No no one else wants such crap? I don't think so thats why I didn't bother to post it anywhere.

      But it makes things easier for me and I suppose thats good enough.

      --
      Minimum threshold fixed. Thanks!
    23. Re: Swift by zieroh · · Score: 1

      Or programmers who use a bunch of bested if statements because they don't understand XOR, or freak out when they see a ?: statement.

      To be fair, I've seen some genuine coding atrocities committed with ternary operations. The programmer thought he was being clever. He was so clever, in fact, that a year later he couldn't quite tease apart all the edge cases in his very compact (and largely impenetrable) code.

      I'd call that bad code.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    24. Re:Swift by chipschap · · Score: 1

      The same exact thing has happened in the field of writing and publishing. Now, anyone can write and publish their book because there is effectively a zero barrier to entry.

      So what's happened? Amazon etc. are filled with unbelievably bad publications. What little of self-published literature that is good (and some few things are very is often drowned in the sea of flotsam.

      So, anyone can write and publish. Anyone can make an app. But something good? That's another matter altogether.

    25. Re:Swift by zieroh · · Score: 1

      Sorry, you've got the wrong website. This is slashdot. Maybe you were looking for Reddit?

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    26. Re:Swift by zieroh · · Score: 1

      BZZZT! No.

      Web pages (the kind you're talking about, anyway) do not employ logic. They do not employ any kind of procedural operations. They do not employ the concept of several / many / hundreds of moving parts. Web pages of the kind you are referring to are little more than RTF documents. There is plenty of convincing evidence that the general population can use word processors. There is no such evidence that the general population can deal with even the most basic coding constructs.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    27. Re:Swift by gweihir · · Score: 1

      You seem to be humor-challenged. But what can you expect from an AC?

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    28. Re:Swift by Dutch+Gun · · Score: 2

      Oh, don't misunderstand... I absolutely agree. I was simply giving an example of the benefits of higher-level language abstractions.

      I'm a videogame programmer, and we generally use C++ for engine code and game systems, since it's a pretty good balance of performance vs abstraction. But we often use C#/.NET for tools, and various scripting languages for game content.

      Essentially, I think a reasonable maxim is that a programmer should use the highest level of abstraction possible for the job at hand. Picking the right language for the job is important. I'd hesitate to call anything a "best mix", because it depends on the project at hand, the environment, and the team you'll be working with.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    29. Re:Swift by gweihir · · Score: 2

      I do agree on that. Just in order to get here, you actually need to know a set of tools. Many programmers these days seem to be single-language coders and that is just not enough, at least when you are deciding about what tools to use. It is just as with spoken languages: Once you have a second one, you begin to notice a lot about the restrictions your first one place on you.

      I also agree that going for the highest abstraction level that still gives you the control needed is the way to go. Sometimes that is C (or C++ restricted in parts to C) though. Fortunately, besides specialty stuff like some drivers, you can usually get away without using assembler at all these days. Although I did enjoy MC68k assembler. Intel is horrible ;-)

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    30. Re:Swift by gweihir · · Score: 1

      Re: Your sig:

      These people do not want an apology. They want to humiliate you. Not accepting is part of that. Demanding an apology is exceptionally bad style for that reason.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    31. Re: Swift by Anonymous Coward · · Score: 1

      I think you have encountered the exact situation where "everyone" wrote a program and unsurprisingly it turned into a giant steaming heap of delight...

    32. Re: Swift by mwvdlee · · Score: 1

      If you think other programmers are dumb because they don't understand your code, then you are the one being dumb by writing that code knowing your collegues won't be able to work with it.
      I'm sure they understand XOR and the ternary operator just fine.
      A bunch of if statements are a lot faster to read, though, and allow for easier debugging and changing.
      Remember that most time spent with code is reading it, and mostly by people who did not write the code.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    33. Re:Swift by mwvdlee · · Score: 1

      I'm guessing the language you propose is able to magically assume what the developer wants without the developer having to put it in unambiguous statements?
      Programming languages are "obnoxious" because they require absolute 100% precision, and people generally don't like to be anywhere near that precise.
      Saying "I want a program that adds up numbers" can have literally millions of completely different implementations.
      You could make one that fits the ambiguous specifications perfectly, yet is the polar opposite of what you intended.

      But please give a small example of your preferred language syntax.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    34. Re:Swift by Darinbob · · Score: 1

      "Don't use GOTOs" is an absolutist statement. The original article from Dijkstra was called "GOTOs Considered Harmful" which was not the same as declaring them taboo.

    35. Re:Swift by mwvdlee · · Score: 1

      I have to disagree.
      I've seen smart non-programmers build working and useful SQL statements.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    36. Re:Swift by mwvdlee · · Score: 1

      Well, if a facebook page counts as a "website", I can give you a programming language that everybody can write apps with.
      These apps will all look exactly the same and can only display fixed content, but you can program a different title and even a different picture!

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    37. Re:Swift by thinkwaitfast · · Score: 1

      What is an "advanced mathematical subject"? To a second grader multiplication is an advanced mathematical subject.

    38. Re: Swift by lgw · · Score: 1

      I have a strong aversion to XOR hacks (and bithacks in general) because of the freaking crazy precedence the operator has in C/C++. Fine for well-reviewed library code, but I cringe when I see it used offhandedly for terseness.

      // If foo is green, handle the green case
      if (foo & COLOR_BITS == GREEN) { ... }

      Eesh - that can be a frustrating bug at 3AM when you don't see the problem reading through the code, and it's working fine for some cases.

      Of course, if you're only using ^ on Boolean values, then fine, I'm with you. I've never seen anyone do

      if (GREEN == foo ^ RED == bar) { ... }

      like that without parens, but at least it would do the expected thing.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    39. Re:Swift by TechyImmigrant · · Score: 2

      Agreed. Swift makes it easier to program, but the notion that "anyone" can write apps is definitely a laugh. There are a lot of programmers who don't understand that some people have a really hard time with the core concepts and skills involved in creating software. It reminds me of math teachers who don't seem to understand that some people have a fairly difficult time with advanced mathematical subjects. People have different areas of competence, and not all are suited to be programmers. It's not just logic... you need to do some creative problem solving in formulating that logic, and you need to keep a LOT of complex things in your head all at the same time to get them to all mesh together at the end.

      And that's how I became I developer. In college I was going to major in Economics with a minor in Computer Science - but then I took an "Intro to programming" class after 8 years of home computer BASIC - and I was amazed that these engineering students had no ability to understand the logic and problem-solving required for programming.

      I have a degree in computer science. I've been programming since I was 9. I learned Swift. It's quite good as languages go. But no amount of language knowledge or computer science knowledge will make the Apple APIs simple. They're not. They're complicated and hard to use. Swift will not make the APIs simple or logical. Making the APIs simple and logical will make the APIs simple and logical.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    40. Re:Swift by Dog-Cow · · Score: 1

      I find Swift much harder to learn than the APIs. Assuming you are referring to Cocoa (Touch). Sure, understanding a view controller is not the same as understanding closures, but I don't think one is inherently more difficult than the other.

    41. Re:Swift by Dog-Cow · · Score: 1

      Brain matter, usually.

    42. Re: Swift by Dog-Cow · · Score: 1

      I used to be like that. I got better. When I first learned C, I loved all the little tricks and shorthand you could do with things like the ternary operator and the comma operator. I still think there's value in knowing the tricks, but I've long gotten over using them at every opportunity.

    43. Re: Swift by Dog-Cow · · Score: 1

      Your sig is oddly appropriate. It's perfectly possible to write straightforward code, using mainstream features of the language, that your coworkers don't understand. That's because it's possible to have coworkers who are either stupid, ignorant or both. I find ignorance happens most often with developers who learned one language well and then learned the currently-used language just well enough to get their code to compile.

    44. Re:Swift by TechyImmigrant · · Score: 1

      I haven't touched the iphone stuff. Only Macintosh programming, which I've done on and off since 1984.
      I found Swift pretty easy to pick up. Another language amongst many. Each to their own.

      I wrote an MVC shim over curses in python for a point of sale application. Now that was a simple API.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    45. Re: Swift by robi5 · · Score: 1

      While every programming construct can be abused, here's the benefit of ternary, over an if statement. The ternary is a value generating expression. The result can be used in place, passed to a function, or assigned to a lexical variable. It fits well into functional programming, referential transparency and in general, data flow traceability. I'm assuming that ternary conditional expressions are done for the value, rather than for side effect.

      'if' statements are differentiated from ternaries in the following way:
      - it's syntactically more verbose, which may be a desirable feature for some (WARNING! code path forking taking place) or it can be seen as pollution
      - it encourages, or only allows imperative style (for example, you are binding alternative values to the same variable in both branches)
      - by opening the door for imperative style, it promotes, and often the root of, all other imperative constructs, like early returns and terminations
      - also it promotes variable reassignment (traceable code ideally binds a value to a symbol once, and never touches the binding again)
      - orients towards 'statements' rather than expressions
      - in fact, strongly invites to add a bunch of statements inside the branches
      - run-on conditions are encouraged by convenient 'else if' constructs
      - typically fork the data flow AND the code path (ternaries fork just the data flow)
      - uses ugly curly brackets, or if it's optional and omitted, can lead to woot when somebody adds another statement to the branch

      'if' is similar to ternary in terms of weaknesses:
      - both can be deeply nested, and beyond about one layer of nesting, both become unreadable

      'if' has overlapping functionality with switch/case constructs, or just Map or array lookup. Generally, the latter options yield clearer, more regular code with fewer edge cases.

      The largest sin of 'if' is that, as seen above, it biases the program toward an imperative style, and any nontrivial program will end up with a practically unlimited number of code path permutations, leading to untested, never encountered edge cases, i.e. a not very deterministic, unsafe style.

      So on balance, 'if' is pretty bad, while ternaries should be avoided if possible (obviously not through overly smart, opaque numerical trickery, which just mask the same effect). My preference is not to use 'if', and I have some code made up of files each with up to hundreds of lines, which don't contain a single 'if' - it wasn't for purity goals, it just happens as an unplanned for side effect of trying to write tractable code. It doesn't imply that my code is for some specialized domain unlike most development tasks. Most of my current code is client side, being on the complex side of UI (think CAD and interactive data visualization like functions) but when I worked on the server side (think R / numpy / scipy / GPGPU) it was the same case. Regular, linear code flows, parallelizable execution etc.

      Obviously everyone needs 'if' in that ultimately, machine code is full of conditional jumps, but even this mindset helps: lots of 'if' usage potentially leads to cache misses and pipeline stalls. If you find you use 'if' a lot, then maybe there's a small abstraction out there which could help you avoid it.

      The problems with 'if', to a large extent, are also applicable for 'for' and other loops, and imperative (side effecting) switch/case statements. It's safer, though often slower with large data sizes, to use map, filter, reduce etc. instead of a monster loop; or on the server side, using vectorized and linear algebra operations (R, BLAS, LAPACK, Armadillo, NumPy).

      The biggest utility of 'if' these days is that it's a code smell; it has some use but it's just a concealed local GO TO.

    46. Re:Swift by Dog-Cow · · Score: 1

      You must hate math too. It has symbols way more obscure than any of the more popular programming languages.

      Programming languages should be designed for coders, just the same way X-ray machines are made for medical technicians. There is no need for me to understand all the settings of an X-ray machine just to get a pretty picture for my dentist. Similarly, there's no need for a manager or end-user to understand the code that produced the App he is using.

    47. Re:Swift by Dog-Cow · · Score: 1

      I think most people will blame anything or anyone other than themselves when it comes to not understanding something. Sometimes they are right. Often, they aren't.

    48. Re: Swift by mwvdlee · · Score: 1

      Despite your coworkers being stupid, ignorant or both stupid and ignorant, you still have to write code those coworkers they are able to maintain.

      Your code none of your coworkers understand might be "good" on some subjective level, but it's not good in the real world.

      Unless you have a guarentee that nobody will ever see your code, you are writing code for other people to read. Ignoring this simple reality is... well... it's ignorant.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    49. Re:Swift by phantomfive · · Score: 1

      There is no such evidence that the general population can deal with even the most basic coding constructs.

      Plop them down in front of LOGO Turtle, and they'll do fine.

      --
      "First they came for the slanderers and i said nothing."
    50. Re: Swift by mwvdlee · · Score: 1

      Do you have an example of code without "if" (or similar) statements that is more easily readable than the equivalent with "if" statements would be?

      It seems to me the only way would be to either use numerical tricks, which you say you like even less. And to which I would agree (though I've used them on DSP's because true branching would be dramatically slower). Or to abuse loops (which are essentialy "if" statements with "goto"s) or things like the Strategy design pattern.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    51. Re:Swift by Dutch+Gun · · Score: 3, Insightful

      I'm presuming there are no second graders here. Don't overthink it... it was just an example. Calculus, differential equations, etc. Even basic algebra is quite difficult for some. For others, it's logical, intuitive, and even beautiful. Math instructors would obviously tend to be of the latter group, and as such, might have trouble empathizing with students who "just don't get it".

      Similarly, I've seen a lot of programmers who are convinced that *anyone* could easily learn to program, because *they* happen to find it easy.

      I'm just not convinced that's the case. Not everyone finds the same things intuitive.

      --
      Irony: Agile development has too much intertia to be abandoned now.
    52. Re:Swift by Hognoxious · · Score: 1

      The biggest issue is that programming languages are all written by coders, for coders.

      I don't see why that's a bad thing. Do you think it would it be better if they were written by bakers, for carpenters?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    53. Re: Swift by hackwrench · · Score: 1

      I see his "shades of gray" world and raise him one with colors.

    54. Re:Swift by hackwrench · · Score: 1

      Then there are the languages like VB.NET which came from VB which came from QB, which came from GW-BASIC but QB is compatible with GW-BASIC but the first two are incompatible with each other as well as with the latter two, but QB64 which can do a lot of what VB.net can do out of the box, is pretty well backwards compatible with QB and GW-BASIC and getting more robust.

    55. Re:Swift by Bongo · · Score: 1

      As a non-programmer, who tries a bit of stuff, that's exactly what I find myself wrestling with. It is the formal operational thinking, or more simply, how to organise things. It is not unlike buildings and architecture; you have all these rooms and they all have certain requirements and functions, yet they also have to co-exist and be connected together, in a building which itself has certain requirements and constraints, and so on. And the details can often affect the wider decisions, for example, a building code says you can't put X next to Y, but to move Y you have to rearrange the plan. And that's where experience really matters, where someone knows that for certain kinds of work, there are certain patterns which will tend to work out ok, ie. you can start with that pattern and find that when you arrive at the details, they more or less fall into place. An analogy I'd suggest is that the programming language is like the building materials—steel can do amazing things which you can't do in iron, but sometimes you are looking for pure thermal mass which you get with coarser stuff like concrete—whilst the architecture, the "pattern language" (a book about towns and cities) is the formal operational thinking, organising everything so it works. That's the key big skill, and whether it is programming or buildings or how to do the weekly shop, the ability to organise, is a life skill, and it is basically the same skill regardless of the subject. As one great developmental psychologist said, "organisms organise."

    56. Re:Swift by gweihir · · Score: 1

      Oh, yes, that happens sometimes. There are also people that really understand what they are writing by way of code without any coding education, because they are bright, educated and careful. It is rather rare though, and the opposite is the norm, i.e. people with respective coding education messing it up.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    57. Re:Swift by Ed_1024 · · Score: 1

      To be fair to Apple, I do not think the "everyone" was meant to mean: "the entire human race plus my cat, Mittens".

      The paragraph underneath contains phrases like "...its enthusiastic adoption by developers..." and "...delivering features that help developers write even better code...". I see no mention of three-year-olds or lost Amazon tribes. As has been mentioned by others, we are still a long way (if it is even possible) from people who know little about algorithmic design being able to efficiently "code" for non-trivial tasks...

    58. Re: Swift by robi5 · · Score: 1

      I don't think it works like that. It's not like I take a problem, and implement it with imperative style (what you term as 'implementing an equivalent with if statements'), and then, or alternatively, I root them out one by one.

      A small pseudocode example is, for example:

      Instead of

      var circleColor;
      if(hovered) {
              circleColor = 'blue';
          } else {
              circleColor = 'black';
        }

      or its even more horrible (more surprising to the reader) version,

      var circleColor = 'blue'; ... // 20 lines down
      if(hovered) {
              circleColor = 'blue';
          }

      I'd just use

      style({fill: hovered ? 'blue' : 'black'})

      Better yet, I'd not let 'hovered' to stay a loose variable; it would be bound to some data, which then allows

      function elementColor(d) {
            return d.hovered ? BASE_COLOR : LINK_COLOR;
      }

      Even better, if sensible, I'd not even do this, but go straight for CSS styling via a pseudoclass.

      This is an atomic example, and higher level approaches include things like:
      - vectorized code, or use of linear algebra libraries
      - using Autolayout / cassowary, CSS constraints or other declarative tool instead of manually fiddling or special casing
      - using functional programming idioms, and their asynchronous extensions, rather than imperative and MVC (not because of the 'if's; the 'if' is but a symptom of hard to trace code with lots of branches and a combinatorial explosion of code path permutations, i.e. unsafe and mentally burdensome practice)
      - using declarative style and data binding (think Angular, React, d3, FRP) over the MVC imperative race condition fest
      - for the Web, using isomorphic, idempotent style with such data binding (otherwise you need to conditionally create or remove elements etc.)
      - using a lookup Map or array, or a pure function that contains a single, simple, switch/case
      - avoiding magic numbers and values; relying on (I know, problematic) IEEE arithmetic (NaN / Infinity isn't always to be avoided like the plague)
      - using mapReduce like constructs (map, filter, reduce, some / every) over loops with 'if's in the inside
      - sometimes (when it's short and unambiguous) using logic, e.g. elemsExist = !!whatever.length over if(whatever.length === 0) {elemsExist = true;} else {elemsExist = false}
      - it's often okay to multiply with zero (if a zero / one flag is meaningful) rather than if(foo === 0) {doThis} else {doThat} - whether we talk about scalar, vector or matrix
      - bit masks aren't scary for me, though I almost never need to even hypothetically consider them

      Also, I try to be conscious about why we'd need to basically introduce two edge cases, i.e. a binary condition. Sometimes the problem can be recast such that it not only leads to the removal of the 'if', but also, possibilities opened up for greater reuse and possible new usage patterns, or help clarify requirements. For example, depending on the problem, it might be possible to move from an enumerative ['not started', 'arrived'] representation, which would lead to manual condition coding, to a completion ratio (0 means not started, 1 means arrived, 0.75 means that 75% of length or time has elapsed). In that case, downstream calculations, or visual stying (translate etc.) can be done without conditional statements.

      Things like this are often possible, if your guiding principle is to shoot for deterministic code, which is most easily achieved with pure functions, data binding, FP in general, avoidance of mutation, and trying to stick to a linear data flow and single code path. Code should be easy to follow by visually reading a file or function top to bottom, and by clicking on symbols should jump to function definitions and lexical bindings, such that it's sufficient for understanding what VALUE or function is being referenced, and an easy way to put in a log statement or breakpoint, because you KNOW you assigned the value when you declared the variable, and there are no other assignments that you have to hunt for, inside if() curly blocks.

    59. Re: Swift by mwvdlee · · Score: 1

      I think I'm going to have to disagree with you here.

      The ternary operator is just syntactic sugar for an if..else statement, I don't see how this is any different except for prettier (subjective!) syntax. Also ternary is best used with caution. Complex ternary expressions are the embodyment of "Well, that escalated quickly". Also, you seem to be describing MVVM, which still uses all the conditionals, it's just hiding it from you at the expense of flexibility.

      I don't like replacing states with arbitrary ranges of a number. In your example you assume some way of knowing in advance the length or duration of something. This is simply not true in many cases and would give a false indication of knowledge. In your example set [not started, arrived] you imply only being able to know the initial and final state, yet the 0.75 seems to indicate a high level of accuracy. These are not comparable situations. If you had only had knowledge of initial and final state, the number would essentially be treated exactly the same, using conditionals. If you had the accurate information to indicate progress, you wouldn't use states in your model anyway because you'd lose information.

      All I'm seeing is some rules of thumb and low-level optimalization strategies --examples where a good solution doesn't need to use conditionals-- but no solid argument against the use of conditional expressions in general. I'm not disagreeing with most of the examples you give, but they are very specific and do not seem to support eskewing conditionals in general.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    60. Re:Swift by plasm4 · · Score: 1

      Matlab is a good counter example to your point I think, but maybe it's the exception that proves the rule.

    61. Re:Swift by tropicaltechnocrat · · Score: 1

      Any fool can write buggy programs, but it takes a Senior Solutions Architect to really fuck things up.

      So true. +5 Sad but true.

    62. Re: Swift by robi5 · · Score: 1

      No magic bullet :-) Also, I'd almost agree that ternary is a shorthand for 'if', were it not for the fact that the ternary is an expression, and as such, can be part of other expressions and its constituents can be expressions too, while 'if' is a statement that forces imperative style. Even if it were a shorthand, we could say that C or Swift (I'm so ontopic) or whatever is ultimately shorthand for machine code - it doesn't remove from the fact that one form is often preferable over another, while both are Turing-complete.

      Re the distance metric: sure, in some cases you don't know the domain extent until after the fact, but sometimes you do, or you work with past, known data, so you picked a specific case I didn't imply. Even in that case, the 'business requirement' or API spec says nothing about interim values, so I don't violate contract by opting for an implementation detail such that it helps me avoid conditionals. The API would be tested against its contract and/or there might be an assertion, or you turn the API supplied enumerative [start, end] to a continuous measure just internally. It's your freedom and this thinking can eliminate some manual code path dispatching (manipulation of the PC register) that the 'if' statement essentially is.

      There are so many things you can do even at the basic level, like taking the max of two values rather than if(a > b) ... or filtering a set before doing something on the elements (IOW conditionally including/excluding elements without if or ternary) that are good for a linear flow. Maybe I got into this habit when using vectorized R / Matlab and making SMC particle filters or MCMC for CUDA execution; these give you tremendous power if you're willing to leave relics behind.

      But again, you must have enough SW dev experience, know about most alternatives and have formed your opinion. My purpose isn't to change it, though if your DSP software works in the pacemaker or car ABS or whatever I might need down the road, I prefer verifiable, safe code in it, and I think it's clear that conditionals, mutation (which the 'if' statement mandates, as opposed to ternary) and shallow abstractions over them (explicit loops etc.) make code more complex to reason about. I'm sticking to what has worked for me, within the constraints of the problem domain, language and coding conventions of the project.

    63. Re:Swift by RabidReindeer · · Score: 1

      Logic is one thing. The real trick is to anticipate, plan for, and handle the unexpected things that turn an "All You Have To Do Is..." into something that takes months to complete.

      Software design has been likened to creating a contract with the Devil. For the same reason. Anything you don't allow for will send you to Hell quickly.

      But most people aren't fool enough to show up in court without a lawyer.

    64. Re:Swift by NJRoadfan · · Score: 1

      Perhaps they need to be exposed to machine language as part of their CS curriculum. Hopefully it isn't being dropped from current programs. I was forced to take an introductory course in it and got quite a bit out of it (even though it was technically for an "obsolete" CPU).

    65. Re:Swift by CronoCloud · · Score: 1

      Doesn't even have to be LOGO these days:


      #!/bin/python
      import turtle
      turtle.shape("turtle")
      turtle.forward(50)
      turtle.right(90)
      turtle.forward(50)
      turtle.right(90)
      turtle.forward(50)
      turtle.right(90)
      turtle.forward(50)
      turtle.exitonclick()

      It's turtle.pendown all the way down.

    66. Re:Swift by AmiMoJo · · Score: 2

      You are not alone. Look at the game modding community, for example. Those guys do a lot of scripting with simply syntax or high level editor tools to reprogram parts of the game, but I doubt they could actually write the game themselves. It's the knowledge of things like the Open GL API, or how 3D scenes are built up and rendered that holds them back.

      A lot of people write software in Excel too. Mostly formula and simple logic based, perhaps with some simple BASIC code behind it. Where many of us would just write a little app in C or Perl in ten minutes, they will use Excel and some copy/paste to avoid learning how to load and parse text files.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    67. Re:Swift by TuringTest · · Score: 2

      Or Am I missing something?

      No one will be able to find the jewels among the ocean of crap.

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    68. Re:Swift by Shortguy881 · · Score: 1

      The marketers here would stare dumbfounded, not knowing what precipitate or dissolving means or their relation to a solution.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    69. Re:Swift by Wycliffe · · Score: 1

      BZZZT! No.

      Web pages (the kind you're talking about, anyway) do not employ logic. They do not employ any kind of procedural operations. They do not employ the concept of several / many / hundreds of moving parts.

      That was kindof my point.
      When the first cars came out, you had to be a mechanic and be able to troubleshoot car problems to drive one because they would break down every few miles.
      When the first home computers came out you needed to know how to troubleshoot circuits to be able to use them.

      The general population does seem to have problems with complex logic problems. There are some intermediate programs like ifttt.com that seem to work ok for the general population but I consider ifttt still for power users and basic useful stuff will continue to be simplified until many of the things done by programmers today can be done by someone who doesn't understand complex logic.

    70. Re:Swift by Cro+Magnon · · Score: 1

      I agree, to a point. COBOL is designed to be readable, but that doesn't stop some people from writing code that nobody can make sense of. There was one group of programs, written by the same person, that everyone was afraid to work on for years, until the boss had me rewrite them from scratch (from incomplete specs :-P).

      OTOH, certain languages *cough*Perl*uncough* encourage unreadability.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    71. Re:Swift by Anonymous Coward · · Score: 1

      Sorry for the AC post (I've long since lost my original login to /.)
      A few years ago, I was right where you are. Powershell is a great, albeit slow, language. In fact, I still use it on a daily basis for things that I probably shouldn't (Last night I used it to comb through several million flat text files looking for key bits of data. It took 10 hours to run. It probably could have been a lot faster in other languages, but it's a one time event so it's just faster to write it up in powershell and come back to it later.)

      If you're really interested in learning the Syntax for other languages, I suggest just getting a good study guide. C# would be the best bet because you'll find it's an easy step laterally from powershell. I went through the book "Head First C#." It's a pretty conversational style, so of the various books I've looked at, I found it the most useful.

      Really, the only way to get used to the syntax is to read and write it on a daily basis.

      These days, I'm pretty comfortable with C# and write some moderately complex utility apps for people in the office. I'll never set the world on fire with my programming, but it's enough that I've written programs that make others in the office say "This is so handy, thank you!"

    72. Re:Swift by bluefoxlucid · · Score: 1

      You're all thinking in terms of technical implications; I'm thinking in terms of economics.

      How many people can you find who can't flip a hamburger or fill a box of french fries?

      Making everyone a programmer--indeed, the whole concept of universal access to college--is just a campaign to make a minimum wage job out of *everything*. College itself is a great thing, and good higher education options are important for a society; but access to those options needs restriction, and not by quota or the color of your blood.

      Giving absolutely everyone unrestricted access to career education means a strong job market in a field only encourages everyone, unknowing of how many actual jobs are available and how many of their peers are entering that market, to go into vocational training for that field. After that, you have ten times the trained professionals ready to take up those jobs than there are jobs available, and so unemployment increases, employer negotiation power goes up, employee power goes down, and, with that, salaries and benefits decrease as well. Were I the type to maximize my systematic abuse of my employees, I would lobby heavily for a public college infrastructure--loans-based especially, but also free college, even if it were paid for entirely by taxes on businesses--in order to put my employees constantly on low ground, allowing me to stomp all over them as I see fit.

      The bare reality is businesses need us. That's not an ego statement or a rally cry; every business have a strategy to execute, the vital plans required to maximize their profits, and that strategy relies on the capability to perform certain types of labor. Just like a merchant requires salesmen and inventory managers, a software company requires programmers; an aircraft company requires engineers; and a construction company requires construction workers. Without trained, if not experienced, laborers available in the market, these businesses must pay exorbitant salaries to hire talent from competitors, greatly increasing costs; on the other side, their talent may be hired away, greatly increasing risks.

      My own economic theory suggests this creates a good argument for free, public college: raising costs and risks (risks only become greater costs) raises the cost of products; and, as I've said many times, we increase wealth by *lowering* the cost of production--lowering labor costs, essentially, by reducing labor or reducing the unit cost of labor--and so it seems reducing these costs and risks will bring us cheaper products and, thus, greater residual wealth and opportunities for new markets, meaning new jobs. Unfortunately, this direction also implies the middle-class will shrink--we lower cost by squeezing down middle-class salaries--and the power and wealth of the great many laborers is diminished, which is socially not in line with my own philosophies.

      Fortunately for my philosophies and for my grasp of economics, this is not the only way to reduce those risks and their associated costs.

      As a matter of strategic management, businesses routinely project what load they will put on their resources in the future--indeed, that's what work performance information and human resource management are for. Even the most oblivious employers I've worked for have 2-3 years of foreknowledge about what departments they need expand; of course, since there is so much available labor out there, they simply squeeze everyone they have (in management, this is called "running lean") until they break, and then put out "urgent need" postings just before collapse. Management is, however, fully capable of predicting their labor needs, and approves the hiring budgets 6-18 months before hiring actually begins.

      With the public effectively barred from college by the barrier of sheer individual cost, the labor pool for these needed skilled laborers drops as I suggest. Those "running lean" tactics don't work. Instead, as Miyomoto Musashi observed, a successful business would strategically hire on unskilled

    73. Re:Swift by c · · Score: 1

      Still, I have no problems with the efforts to make programming easier. Anything that helps will not only make it easier for novices, but will also aid professional programmers.

      Sometimes that's true. Sometimes, the things that make it easier for novices get in the way of the pros and often necessitate workarounds.

      Granted, sometimes the pros are just being stuck-in-the-mud reactive twits. You gotta take it case by case.

      --
      Log in or piss off.
    74. Re: Swift by Gestahl · · Score: 1

      The ternary operator cannot be syntactic sugar as it produces a value, while if/else does not. They are two completely different concepts.
      Ternary statements are better in certain situations because you can place (limited) logic of what you are assigning close to what is being assigned, and do not clutter up the scope with numerous temporary variables.
      new object { SomeField = flag ? value1 : value2; OtherField = flag2 ? someValue : otherValue; }
      If you start constructing objects with many fields, the if/else blocks create further and further separation between the logic of what's being assigned, and what it's being assigned to. Considering each if/else can take from 5 to 8 lines of code depending on bracing style, you start running into trouble where you can't keep it all within eyeshot at once. With the ternary statement, you can do it all inline.
      I will agree that anyone nesting/chaining ternary operators more than twice is not a good idea.

    75. Re:Swift by Gestahl · · Score: 1

      I could make the argument that mathematicians *are* programmers, in a sense. They just have a much richer operator set (and fonts and presentation) than programmers do.

    76. Re:Swift by Bengie · · Score: 1

      Finding good programmers is not like walking into an empty room and looking to see who is in it. Its more like going to a packed stadium and trying to find where your friends are and they didn't tell you in advance.

    77. Re:Swift by gweihir · · Score: 1

      Humor-challenged person #2.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    78. Re:Swift by gweihir · · Score: 1

      And humor-challenged person #3.

      Maybe I should have called it "Simplistic Query Language", but I bet even that would have some people not get it.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    79. Re:Swift by ArmoredDragon · · Score: 1

      I actually took a C# course a few years ago, and don't remember most of it. I'd rather not stick with .Net to be honest. If I go with another C language again, it would probably be C++.

    80. Re:Swift by david_thornley · · Score: 1

      It's been going on for a long time. COBOL was intended to remove the need for business programmers, by making things so simple and self-explanatory that even a manager could understand them. Assembly language was called "automatic programming" back then, since all you had to do was write this text file and you didn't even have to assign your own memory locations.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    81. Re:Swift by david_thornley · · Score: 1

      If they build working, useful, and non-trivial SQL statements, I'd bet they could become decent programmers if they wanted to.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    82. Re: Swift by flargleblarg · · Score: 1

      I will agree that anyone nesting/chaining ternary operators more than twice is not a good idea.

      I totally, completely, and utterly disagree with you there. I regularly chain 3 or more ternary operators, with great success. Readability of chained ternaries all about formatting/indenting in a reasonable way.

      Slashdot is telling me I have "too many junk characters" when I try to paste an example, so I'll just paste link to an image giving an example: http://imgur.com/ivJO8cn

      Line those suckers up vertically and you have extremely readable code.

    83. Re: Swift by flargleblarg · · Score: 1

      Just as an aside, C does have a boolean (by that I mean non-bitwise) xor operator: it's called !=.

    84. Re: Swift by Cederic · · Score: 1

      But separate them out and you have self-commenting easily maintainable and more easily debugged code.

      Using the ternary operator is laziness, not advanced programming.

    85. Re:Swift by dgatwood · · Score: 1

      Swift isn't going to make it so "anybody can write apps." That is something that's been tried for decades, with things like drag-and-drop programming. SQL was originally intended for non-programmers. It doesn't work, because the difficulty of programming isn't the syntax. The difficulty of programming is logic.

      While true, the danger exists that making the syntax easier will encourage more people who don't understand logic to try to write code anyway, usually with disastrous results. Maybe it's the UNIX greybeard in me, but I've always seen the complexity of language as sort of a "you must be this tall to ride" bar, limiting the amount of damage that clueless people can cause.

      And it isn't just that the software that new programmers create is usually bad. It also clogs the marketplace with low-quality apps. The more bad apps people write, the harder it will be for well-written new apps to gain footing, because they'll start out with several times as many poorly written apps ahead of them in their sales ranking.

      But the biggest problem with making it easier to write code is that every step down that path requires ever-increasing resources. Right now, it takes about an order of magnitude more effort to write a beginning programming guide than to write a programming guide for experienced programmers, even for a moderately complex technology. And that's if you assume that people understand basic logic, control flow, etc. If you go one step beyond that and try to make it practical for non-programmers to write code, you'll spend two or three years writing a good, solid introductory textbook. And I have yet to see any evidence suggesting that any significant percentage of those folks will be able to write decent code even after reading such a book.

      The kernel is stable not just because it has to be, but also because it scares people away until they are reasonably competent at programming. The web is filled with bad code because it doesn't. IMO, apps should be more like the former than the latter. Just my $0.02.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    86. Re:Swift by sinij · · Score: 1

      Formal logic statements, math, statistics are all very precise without being unreadable by a third-party who is familiar with nomenclature. I might not understand the logic behind any given theorem, but I certainly have an ability to read it. This is not the case for programming languages. For example, C code for LSFR is absolutely not human readable, yet I can write a paragraph, pseudo-code, or diagram that precisely explains it.

    87. Re:Swift by sinij · · Score: 1

      I think it would be better if programming languages borrowed some of the logic nomenclature used in philosophy. That is, problem of readability have been repeatedly solved in other fields. The only reason I could see this hasn't been done in coding is cultural. It has roots in RTFM culture so prevalent in the computer science world, where knowledge of obscure trivia is valued over logic and clarity.

    88. Re:Swift by zieroh · · Score: 1

      The general population does seem to have problems with complex logic problems. There are some intermediate programs like ifttt.com that seem to work ok for the general population but I consider ifttt still for power users and basic useful stuff will continue to be simplified until many of the things done by programmers today can be done by someone who doesn't understand complex logic.

      The pundits have been predicting such a scenario since sometime in the early 1980s. To date, it hasn't come to pass, and I'm pretty confident in saying that your vision is right up there with flying cars.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    89. Re:Swift by Wycliffe · · Score: 1

      The pundits have been predicting such a scenario since sometime in the early 1980s. To date, it hasn't come to pass, and I'm pretty confident in saying that your vision is right up there with flying cars.

      Sure, it has come to pass. Everybody has a web presence without the need to personally hire a programmer. Everyone can compile graphs and charts of their data and advanced analytics
      reporting without the need of a programmer. No, programmers haven't gone away and someone
      still needs to write the programs but many of the tasks that once required a programmer now can
      be done via a service without a programmer.

    90. Re: Swift by flargleblarg · · Score: 1

      I'll grant you it's more easily debugged. But the whole point of lining them up vertically instead of a bunch of if/else's is so that it's more readable and therefore more maintainable. Ternary operator is awesome when used properly (which is maybe 5% of the time).

    91. Re:Swift by zieroh · · Score: 1

      Sure, it has come to pass. Everybody has a web presence without the need to personally hire a programmer. Everyone can compile graphs and charts of their data and advanced analytics
      reporting without the need of a programmer. No, programmers haven't gone away and someone
      still needs to write the programs but many of the tasks that once required a programmer now can
      be done via a service without a programmer.

      None of those things are actually examples of programming, nor are (or were) any of those activities the domain of programmers. Word processing, graphic art, illustration, sure. But there's no logic or flow control in any of those examples.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    92. Re:Swift by sinij · · Score: 1

      Very interesting to read your perspective. Do you think "normal people don't want to code" would stay unchanged? We are well past "computers are a fad" public opinion stage, you'd think that coding attitude would also shift? Especially for situations typically applicable for scripting languages.

      Anecdotally, many people learned Lua when WoW came out.

    93. Re: Swift by MemeRot · · Score: 1

      And I wouldn't mind if kindle unlimited were flooded with bad books if I could rely on the public to review the bad books as bad. But the market is flooded with bad books rated 5 star by bad readers.

  3. Yes, more people is better by JcMorin · · Score: 2

    I think the quality is already crap. The most people we have, the better chance there is good programmer will flourish and produce something good. Bad stuff disappear by attrition while good product are shared.

    1. Re:Yes, more people is better by AchilleTalon · · Score: 1

      Not necessarily true. The good programmer may stay unoticed for a long period of time or even forever if he is not part of the right projects at the right time. He may need to work for living with a team of mediocre programmers.

      --
      Achille Talon
      Hop!
    2. Re:Yes, more people is better by fredrated · · Score: 1

      Yeah, right, just like 10,000 monkeys banging on a keyboard are going to produce quality, eventually. Who wades through the dross to find something worth while? Not me, you can keep the garbage.

    3. Re:Yes, more people is better by iggymanz · · Score: 1

      that's not how it goes, sadly. Instead hyper-intelligent twats with no engineering ability nor common sense nor understanding of end user needs squat and crap in the open source and closed source pools and either render existing good software nearly useless, or displace the good with their diseased bloated wares that have shit for UI. E.g. GNOME3, Unity, systemd, Windows 8.x etc. and etc.

    4. Re:Yes, more people is better by turning+in+circles · · Score: 1

      You wrote: "Bad stuff disappear by attrition while good product are shared."

      I wish it would happen much quicker, though. Example: I think I need an app. I read a CNET review of the best app for that specific purpose. I download it, install it, and it doesn't do what I want and what the CNET review said it would. Many thousands have downloaded this selfsame app. WTF? How do I know which is a quality app when android users and writers supposedly reviewing the products will settle so low?

      --
      Might as well face it I'm addicted to data.
    5. Re:Yes, more people is better by Bing+Tsher+E · · Score: 1

      I used to believe there would be a process of Convergence in Open Source projects. That is, once something is written and written well, it can only continue to get better and better.

      That doesn't work when there are egos involved who insist that, rather than improving the existing code-base, they need to rip it out and do a new major version release.

      It makes good business sense in Commercial Software to always have some new shit to sell the userbase.

      It doesn't make sense in Open Source, except the ego is always out there. Everybody wants to be the architect and if there's a perfectly good piece of software out there, they instead can only shine the brass on the building that's already there. Or they can take over the project and shitcan the old stuff.

    6. Re:Yes, more people is better by gweihir · · Score: 1

      Seems to be exactly the other way round. In a perfect meritocracy, this would work, and in some parts of the FOSS community, it seems to work, but generally, coding is not a meritocracy at all. It is a cheapocracy at best, where "managers" hire the cheapest people they can get, with predictable results. Good coders rarely get an opportunity to demonstrate their skills, and many eventually leave the field or do not even start seriously.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    7. Re:Yes, more people is better by robi5 · · Score: 1

      Hmm I don't know, my experience is that mediocre programmers will advance the project in mediocre ways, and at best, two things can be said: 1) they're less well-rounded and more easily replaceable, so you need more of what's a commodity, i.e. there's lower risk of single-person dependencies; 2) even mediocre programmers, if they're dedicated and hard-working, can save the day in the face of (typically not that rare) project mishaps, slippages, resource constraints.

      But I found that good programmers stick out like a sore thumb, and often implement an initial or way superior solution to, or refactoring of something problematic, over the matter of a skunkworks weekend or maybe a few weeks, to a satisfactorily convincing version that disrupts the struggle with some former, ill-conceived way of tackling the problem, while typically also reducing the code size to a fraction of what it replaces.

      Development leads, project managers, product managers and internal users take note immediately, and want that person to at least technically lead the effort or the next critical one.

      My anecdotal evidences include cases when I was the one to 'disrupt', in a positive way, previous routines, and cases when it was one of my several fantastic colleagues who did that. It also occurred sometimes that some developer (typically researcher) who maybe wasn't superior with the code itself, created something above and beyond the expected. I also worked in project management roles, and if there is a single thing a project manager has an eye for (besides project risks) and what he wants to cultivate is the otherwise rare combination of talent, dedication and time availability.

      So if you find yourself to be a good programmer among mediocre ones and yet feel like just one among the many, then maybe it's just a natural bias to think you're better; or if you're indeed better, then maybe your current environment isn't conducive to becoming noticed; e.g. no new projects, or no visible impact of being better than the others, due to boredom, lack of motivation or whatever. In most cases, you're the one who can change: be more visible, find active projects or a new workplace, or reevaluate your judgment about how you compare to your peers.

    8. Re:Yes, more people is better by david_thornley · · Score: 1

      I used to work with a thoroughly mediocre programmer. She compensated for that by hard work and knowing her limitations, and accomplished some decent stuff.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  4. Why is this even a story? by Puls4r · · Score: 2, Insightful

    I'm struggling to find the point in this story. Are you really asking if anyone who wants to shouldn't be able to learn to code?

    And it took you half a page of text to ask the question? A huge number of the 'advances' in technology have been made by people working out of their garage. People who would never have been allowed to program given this ridiculous elitist attitude.

    Oh. Right. I forgot to check who posted the story.

    1. Re:Why is this even a story? by johnrpenner · · Score: 4, Interesting

      yeah — learning code should be hard and arcane and locked up in air conditioned rooms full of punched card readers, and the only way you're going to get to programme a computer is if you solder a CPU to a motherboard and your name is WOZ — like its such a horrible thing for a good elegant language to exist that finally replaces god-awful basic with line numbers, and is able to compile a mach kernal and the whole OS using the same language. — who wants a good easy deep language (or be stuck with java and objectiveC for the next 20 years!?) — the nerve of those folks, making good tools like this available for free.

      we've been in a desert for so long, and now you grow up with good compilers and plenty of RAM — and i just dont get it — why the author is complaining!?!?

      you can be handed good tools and still not know how to draw — but you may be drawn into the art and craft and learn and get better.

      by the same logic — should we ban typewriters!?!? — because millions of people might now be enabled to write crappy literature!?

      please dear author of this post — wtf!?

          If a head and a book come into collision and the resulting sound is hollow,
          the fault need not necessarily be that of the book! (Lichtenberg)

    2. Re:Why is this even a story? by Sowelu · · Score: 3, Insightful

      As far as I can tell from the summary, it's not about people learning code. Totally it would make the world a better place if everyone who uses a computer regularly could at least write a simple shell script. (Impractical to spend the time to learn or just plain out of reach for a lot of folks, but whatever, it's a dream.) Instead, the objection looks like it's about lowering the barrier to make marketable things for an app store or whatever.

      "With this toolkit, anyone can make furniture and sell it!" Learning carpentry is good, opening up the market is good, but if you're going to distribute to the wider world, maybe you should know enough about engineering principles to build a chair that won't collapse after a couple months.

      A car analogy would just be gratuitous.

    3. Re: Why is this even a story? by BarbaraHudson · · Score: 1

      Maybe he can write an app for that?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    4. Re:Why is this even a story? by Oligonicella · · Score: 1

      On the other hand, someone looking for a chair should have some vague understanding of what constitutes 'their' chair. I wouldn't look at the dainty stuff my daughter would, for instance, I'd be way too hard on it. So, people should only purchase apps they've taken "test drives" on, to beggar the analogies.

    5. Re:Why is this even a story? by BitZtream · · Score: 1

      and is able to compile a mach kernal and the whole OS using the same language.

      Yea, Swift is as capable of doing this are Perl or Python is. Just because you can write a one liner that is essentially function_call_to_a_million_lines_of_C_code() doesn't mean you can do anything in the language. Apple certainly hasn't ported the kernel or any substantial parts of the OS to Swift and they aren't going to.

      Swift is for people who don't know how to code, not for people who do. People who do know how to code still use C.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    6. Re:Why is this even a story? by Shortguy881 · · Score: 1

      should we ban typewriters!?!?

      Oh god, if this had only been done we could've been spared the twilight series!

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
  5. Yes it is what we need by SuperKendall · · Score: 4, Insightful

    Think of the countless small ways in which knowing some code, or scripting has been useful over your life - sorting simple lists, renaming things in batch, formulas in a spreadsheet... etc. etc.

    Even if most people will not be doing code professionally, it will help them do little things for themselves. It will also help them understand to some extent why software driven things behave the way they do, and even to make more informed choices as to software driven hardware they buy (and that is the future).

    It's not like a flood of really bad programmers will get through most hiring barricades, already famously difficult to storm. They will go on to do things besides programming, where light programming can help them.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Yes it is what we need by meta-monkey · · Score: 1

      Completely agree. You don't have to be able to bang out an OS, but man, if everybody just knew how to grep through some files or automatically run an SQL query, dump the results into an Excel file and email it to somebody, the world would be a better place.

      --
      We don't have a state-run media we have a media-run state.
    2. Re:Yes it is what we need by gweihir · · Score: 1

      A flood of bad programmers are already getting through the hiring barricades all the time. Where do you think all the bad and insecure software out there comes from?

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:Yes it is what we need by imboboage0 · · Score: 1

      hell, I'd be satisfied if people could figure out math functions on Excel.

      --
      Honesty may be the best policy, but by process of elimination, dishonesty is the second best policy.
  6. And the point is... by baker_tony · · Score: 4, Funny

    I don't really get the point of this post. Kids to make Facebook apps aren't going to be immediately allowed to start writing car OS's, it's a way of encouraging kids to try programming and some of them will love it and become programmers!
    I started off typing out code from magazines, that got me in to programming and now look at me! I'm producing code that... ahh, OK, I just got the point of this post...

    1. Re:And the point is... by thegarbz · · Score: 2

      This! It's like electrical engineers complaining that they had to use Matlab as part of their course with comments like "I'm an electrical engineer, not a programmer!"

      It's an incredibly naive post that doesn't realise learning to code != pumping games / social applications onto the Appstore. The only time I've ever programmed anything was to solve a specific problem that I myself had, whether that was some nasty script in Excel, a backup script on my server, or a small microcontroller to control fish tank lights because I was too tight to spend $2000 for something I could build for $200.

      Everyone should learn / know how to program as computers are nothing more than calculators; they are a tool. When you have low-level access to that tool it can become far more useful than just accepting what someone else *thinks* you should be *allowed* to use that tool for.

    2. Re:And the point is... by gweihir · · Score: 1

      Have you read about the security problems that were found with a lot of cars just recently? These are caused by the coder equivalent of functional illiterates. We have way too many coders and most of them bad.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:And the point is... by amalcolm · · Score: 1

      No this goes way beyond coders. The company culture that allows these security problems to be possible - from architecture through to QA, is at fault.

      --
      Time for bed, said Zebedee - boing
    4. Re:And the point is... by gweihir · · Score: 1

      I agree. But one essential part of the problem are bad coders. Of course, something this bad can only happen if multiple central parties have completely failed to do their jobs properly.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    5. Re:And the point is... by gweihir · · Score: 1

      I do not actually agree. It is a bit more complex though: Any good engineer and technician is responsible for delivering good work and if the working conditions do not allow that to leave and look for a different job. That is called "professional ethics". Either these coders have no such ethics or they are bad coders that cannot easily get a different job. Hence the coder is a central and critical part of the problem. I agree that in many cases, management will also be a central and critical part of the problem, and in order for something to be really screwed up (as, for example hackable car drive control systems) it is always several involved parties that have to screw up badly. But the coder is in no way off the hook here.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  7. Let me rephrase that quesion by marciot · · Score: 5, Insightful

    I think the question is whether everyone should be writing software AND then attempting to sell it to others via the app store. The answer to that, IMHO is no, as making software for others requires a level of professionalism and quality not everyone can reach.

    But it would be nice if we could somehow rewind back to the 80s in which every computer came with a simple programming language so that if I wanted to throw together some code to do a simple task for my own benefit, I could do so quickly and easily.

    (Note to Apple: Bring back HyperCard, please!)

    1. Re:Let me rephrase that quesion by cascadingstylesheet · · Score: 2

      But it would be nice if we could somehow rewind back to the 80s in which every computer came with a simple programming language so that if I wanted to throw together some code to do a simple task for my own benefit, I could do so quickly and easily.

      I think they do though ... VBA? :)

    2. Re:Let me rephrase that quesion by CanadianMacFan · · Score: 2

      Macs and Linux come with the various shells that you can script in plus Perl. Those are great for learning how to do simple things.

      On the Mac you have Automator which lets you visually build up a sequence of events and you can have it run AppleScript, JavaScript, or a shell script.

    3. Re:Let me rephrase that quesion by Art3x · · Score: 1

      I think the question is whether everyone should be writing software AND then attempting to sell it to others via the app store. The answer to that, IMHO is no, as making software for others requires a level of professionalism and quality not everyone can reach.

      But it would be nice if we could somehow rewind back to the 80s in which every computer came with a simple programming language so that if I wanted to throw together some code to do a simple task for my own benefit, I could do so quickly and easily.

      (Note to Apple: Bring back HyperCard, please!)

      In my limited experience, the simple tool that someone makes to scratch their own itch is often better than the bloated, passionless produkt from some corporate labyrinth.

    4. Re:Let me rephrase that quesion by EdgeCreeper · · Score: 1

      (Note to Apple: Bring back HyperCard, please!)

      There is LiveCode, which has a community edition, if you're interested in that.

      Yes, it is too bad that something like HyperCard isn't bundled with the OS.

    5. Re:Let me rephrase that quesion by sproketboy · · Score: 1

      Current modern hypercard here:

      https://livecode.com/

    6. Re:Let me rephrase that quesion by david_thornley · · Score: 1

      The problem with that is that the user has to go get something that's used by a relatively small number of people. In the early Hypercard days, all the stuff you needed to write programs was installed on your Macintosh, and there were lots of books about how to make Hypercard stacks. It was useful for some fairly good things, like the first version of Myst. I wasn't following it very well, but later Apple took the ability to write stacks out of the standard OS, then the ability to run them.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    7. Re:Let me rephrase that quesion by EdgeCreeper · · Score: 1

      Ah, thanks for that excellent explanation.

  8. um... yes, actually by emagery · · Score: 1

    https://youtu.be/PAHBZImmXsI ... there may be a lot of folk out there who think they can code after having had such a late start in life, but practical experience among the best of universities have found that the tide of talent showing up at their doorsteps has been pretty deeply out, due to lack of having the right opportunities at the right time.

  9. Can't tell if this is a job security question, by jpellino · · Score: 1

    or a QA question or a bruised ego question. Probably a bit of all. In my main field, education, talent is certainly being decentralized. Khan academy, TED, 826 are wonderful things, they will not supplant school buildings in the near term. Everyone is capable of learning, everyone is capable of teaching. Is everyone capable of running a classroom or a school? Likely not. Ditto applications. Is everyone capable of problem solving? Sure. Is everyone capable of coding them? The HyperCard experience pushed the needle in the direction of "yes". Is everyone capable of staffing a software company and shipping an application / OS / database / network solution on schedule at cost to the satisfaction of a boss / manager / bean counter / industry standard? No, and maybe that's not the only way to think of things. But the experience of getting a computer to help solve a problem or make a discovery or automate something or create a new form of expression is something that is worth experiencing. FOSS is in its infancy in terms of how to deal with it and how to share it on a large scale - not just for those who know the same bag of tricks as the people who are creating it. Yes, there's some great FOSS out there, but for the average user, it's like trying to find a radiator cap for a '36 Ford. It can be had, but not on the shelf at the local store and not without some legwork and chin scratching.

    --
    "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
  10. Are you sure about HyperCard? by sethstorm · · Score: 1

    (Note to Apple: Bring back HyperCard, please!)

    At least this time around, it might not come with an inbuilt attack vector (courtesy of being able link in application objects).

    --
    Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
  11. Wrong question. by fuzzyfuzzyfungus · · Score: 3, Interesting

    These 'zOMG, everyone should STEM up and become an app entrepreneur!!!' stories aren't really about the desirability of everyone having a career in software development. They are more a reflection of the fact that plucky optimists looking for what kids should do to be successful when they grow up are...not exactly...swimming in options. Yes, they are also letting the fascination with shiny trendy things distort their perception of the options, hence the fascination with who will make the next Social Twitfriend app, rather than who will write unbelievably dull line of business stuff; but in broader strokes they aren't pushing this because it's a good idea, they are pushing it because it's an idea, and they don't have another one.

    The pronouncement that 'software is eating the world' may have been a bit hyperbolic; but it sure isn't doing the life chances of people without advanced qualifications any favors. "Everyone writing apps" sounds slightly better than "Everyone selling each other securitized bullshit", so it gets more face time.

    1. Re:Wrong question. by fuzzyfuzzyfungus · · Score: 1

      I think that it works both ways: the campaign gets face time and spending money from assorted big names in tech because of the hope that it will make programmers cheaper; but it gets buy-in from educators and parents and politicians looking for feel-good photo ops because of the hope that somehow every kid can be a well paid knowledge worker.

      Compare to H1-Bs. Those are similarly favored as a way to drive labor costs down; but are more or less politically toxic; so they have none of the popular chatter. The major tech employers are in favor of both; but only one has the buzz in the other direction as well.

    2. Re:Wrong question. by tompaulco · · Score: 1

      I thought it was about a long-term effort to flood the job market to reduce the average programmer salary. Why should anyone pay 100k+ per year to someone who can do a job that any High Schooler can do?

      Unfortunately for hiring companies, it will become like cable TV. Instead of 3 channels with somewhere between 0 and 3 interesting things to watch, we now have 400+ channels with somewhere between 0 and 3 interesting things to watch.
      Companies will have to hire armies of HR personnel just to weed through all the drones to find the people out there who are actually worth hiring, which I predict to be approximately the number of people who would have gone into STEM if the government just let people pursue the career they are interested in.

      --
      If you are not allowed to question your government then the government has answered your question.
    3. Re:Wrong question. by Anonymous Coward · · Score: 1

      1: Philanthropy is the first and last bastion of every Robber Barron, tyrant and dictate. Steal from them thousands of dollars but give them Turkey on Thanksgiving.

      2: All software companies gravitate towards financialized monstrosities as time goes on. Cisco was a garage start-up, became huge, bought fabs and got comfortable on purpose built hardware, then their competitors repackaged their features on cheap commodity software which, because of it's simplicity, became easier to maintain. Now they produce commodity hardware and abstract features only superscalar customers want, and they sell their devices to them on Credit. Same goes with Microsoft, Oracle, HP, IBM, Dell, all of them. Financialized companies demand cheap labor, because it is the ONLY thing that keeps them solvent and profitable next quarter. It isn't that the labor isn't high quality, it's that the management has gotten their pay and just sits waiting for a golden parachute not deploying the labor to new innovations or tasks. Nobody asks what Hitler would've given for a day on the internet or King James would given to know taking green moldy bread, incubating it in a flask, then drinking it in a tea was the cure to the cold that killed him. Greed is blinding, and serves no respect to the shoulders of giants we stand on.

      3: The politicians get face time out of it. Everyone knows it's a gross waste of resources to teach kids programming when the majority of them CAN READ "CAT IN THE HAT" BUT CAN'T READ DICKENS, COMPREHEND A NEWSPAPER, OR WRITE THIS PARAGRAPH AFTER GRADUATING !@$!@#!ING HIGH SCHOOL!!!

      4: Occasionally the SJW's will get on board; hey lets harass the most verbally and physically abused subculture; geeks and freaks, and tell them they're all rapists and subconscious sexists. That sounds like a fun time!

      5: Then to top it all off, lets network the 1$!@3in' toaster to the refrigerator. What is the point of this? Are we an enlightened culture for listening to our Iphones tell us while on the pot in the morning how the texture of the multigrain bread, when refrigerated then toasted, helps the flow of stool? I do not get it. "I just spent $1,000 so I could turn my porch light on from work on my way from home" Whupteedoo!

    4. Re:Wrong question. by Bing+Tsher+E · · Score: 1

      Companies will have to hire armies of HR personnel just to weed through

      Can't we just come up with a way to convert all that HR human garbage ("personnel" I guess you call them) into compost, or something useful?

  12. The hardware "ecosystem" depends on crap software by msobkow · · Score: 3, Interesting

    I run a P4 3.8GHz single core system as my main desktop, even though I do development with it. Switching to a newer Core i5 system will make it run 10 times as fast, but as the runtime on my huge (tuned) code base is under 5 minutes already, it really won't save me *that* much time compared to *editing* the code. It will save on build time, which is a boon to me, but even that savings is only due to the nature of my build process -- I do full instead of incremental builds.

    I do plan on buying a new machine in a few months when I've saved the money, but my main point is that the hardware we use has been "good enough" for a good decade. It is the crappy software the people shovel out that drives hardware upgrades nowadays, not the actual need for faster hardware.

    So it is to the hardware manufacturer's benefit that as much software as possible be absolutely incompetently written crap so that people will buy the latest shiny-shiny because their old one is "too slow."

    --
    I do not fail; I succeed at finding out what does not work.
  13. Um... you're not nearly cynical enough by rsilvergun · · Score: 3, Interesting

    This is really just Apple, Microsoft et al trying to get cheap programmers. Not everyone can code the Linux kernel, but anyone without a learning disability can be a rank and file coder banging out data driven apps. Right now Apple has to pay $100k+ for some of those guys. The H1-B program helps, but it's never enough, is it? How 'bout $50k? $20? $15? How low can you go. All you need is enough food and drink to keep 'em going long enough. And so long as they get to look down on all those "non-Coders" (sorta like you're doing right now...) they'll be a-ok with this.

    Screw that. Let's get back to Unions, worker solidarity and high minimum wages.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Um... you're not nearly cynical enough by jcr · · Score: 1, Insightful

      Let's get back to Unions, worker solidarity and high minimum wages.

      Fuck you. I don't need gangsters taking another slice of my paycheck.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    2. Re:Um... you're not nearly cynical enough by plopez · · Score: 1

      What do you call CEOs? They are ripping you off everyday.

      --
      putting the 'B' in LGBTQ+
    3. Re:Um... you're not nearly cynical enough by meta-monkey · · Score: 1

      Pick your poison. Get robbed by your coworkers or get robbed by your boss. You're still getting robbed. But I bet your coworkers will rob you less, given that they're being robbed by the same process.

      --
      We don't have a state-run media we have a media-run state.
    4. Re:Um... you're not nearly cynical enough by jcr · · Score: 1

      If they pay the salary that we agreed to, then they're not ripping me off.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    5. Re:Um... you're not nearly cynical enough by khallow · · Score: 2

      CEOs don't purport to represent me.

    6. Re:Um... you're not nearly cynical enough by Bing+Tsher+E · · Score: 3, Insightful

      That Union Steward isn't one of my coworkers. He works for the International Union. He is part of the mechanism to siphon off my union dues to pay for the politicians the International can afford to buy and/or the ones that the Union Bosses like the most for whatever reason they choose.

    7. Re:Um... you're not nearly cynical enough by MSG · · Score: 2

      Fuck you. I don't need gangsters taking another slice of my paycheck.

      Then don't elect gangsters to run your union.

    8. Re:Um... you're not nearly cynical enough by DeathElk · · Score: 1

      Bullshit. You've been watching too much Fox News/TV

    9. Re:Um... you're not nearly cynical enough by gweihir · · Score: 1

      Additional advantage of Swift is that it may have a partial lock-in effect, i.e. that a cheap one-trick Swift coder cannot easily get any other work and is tied to apple. Just like a .net coder is (mostly) tied to MS, etc.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    10. Re:Um... you're not nearly cynical enough by BoberFett · · Score: 1

      Really? My company has no union and we have toilets and breaks. Please explain how that's possible in your world.

    11. Re:Um... you're not nearly cynical enough by lgw · · Score: 1

      Strangely enough, I do in fact have toilets and breaks at work, and I don't have mafia thugs stealing a portion of every paycheck. This isn't the 1800s, and a union has no place among professionals.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:Um... you're not nearly cynical enough by jcr · · Score: 1

      Well, you totally convinced me. I had no idea that without a union, my despotic employers would suddenly remove the toilets from my workplace. So, do I just put the money in a brown bag and give it to Guido every week?

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    13. Re:Um... you're not nearly cynical enough by Oligonicella · · Score: 1

      "Makes sure" - that's called an assumed authority on the part of the unions. Other areas of the country without union enforcement do just fine, as do the workers. What is it they *actually* provide?

    14. Re:Um... you're not nearly cynical enough by hackwrench · · Score: 1

      Well, if you've seen one area of the country you've seen them all.
      And have you seen them all?
      I've seen one.
      Are you not in fact a train spotter?

    15. Re:Um... you're not nearly cynical enough by hackwrench · · Score: 1

      Except sometimes Nunzio comes around, but it all goes to the Great Skeeve, who uses magic to keep the Fairy Godfather from taking even more money from you. Oddly enough the Fairy Godfather's niece, Bunny, is the Great Skeeve's accountant, but we won't go too far into that.

    16. Re:Um... you're not nearly cynical enough by gweihir · · Score: 1

      In to that huge low-quality-low-wages job market, yes, where everybody is easily replaced and a way out is not present unless you accept most of your skills getting completely worthless.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    17. Re:Um... you're not nearly cynical enough by goarilla · · Score: 1

      Because unions in the past fought government and enterprises to demand those privileges.
      And now they are commonplace.

    18. Re:Um... you're not nearly cynical enough by aybiss · · Score: 1

      If it cost them too much do you trust them not to take those things off you?

      You are of course aware that whatever you do and however much you're paid for it you generate at least 10x that much wealth for your employer?

      Just keep shaking your fist at those invisible illuminati who want a tenner from your monthly wage. They're clearly the REAL problem here.

      --
      It's OK Bender, there's no such thing as 2.
    19. Re:Um... you're not nearly cynical enough by CronoCloud · · Score: 1

      Thats PervECT!

    20. Re:Um... you're not nearly cynical enough by jrjarrett · · Score: 1

      I think maybe it's time they make a comeback, when things like this are afoot: http://www.theatlantic.com/business/archive/2015/07/wisconsin-seven-day-work-week/398189/

    21. Re:Um... you're not nearly cynical enough by lgw · · Score: 1

      You realize it was the church, not the unions, that prevented the 7-day workweek for most of Western history, right?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    22. Re:Um... you're not nearly cynical enough by KGIII · · Score: 1

      Speaking of conspiracy theorists...

      No, they are not going to take your toilet away. Yes, unions had/have a place. Stop with the hyperbole, you will get some on you and your mother will have to change your clothing again - the third time this month.

      They will not take the toilets away. We are geeks. We'd just shit on the floor. Hell, we might do that anyhow.

      --
      "So long and thanks for all the fish."
    23. Re:Um... you're not nearly cynical enough by david_thornley · · Score: 1

      So what do you think of the AMA and various bar associations? I'd consider doctors and lawyers to be professionals, and they seem to like their unions (even if they don't call them that).

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    24. Re:Um... you're not nearly cynical enough by BoberFett · · Score: 1

      10x huh?

      Stop eating paint chips.

    25. Re:Um... you're not nearly cynical enough by BoberFett · · Score: 1

      Oh, so you agree that unions used to have a purpose but no longer do in today's society. I'm glad you agree.

    26. Re:Um... you're not nearly cynical enough by gweihir · · Score: 1

      Having reviewed some security-critical "industrial" Java code, I am inclined to agree.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    27. Re:Um... you're not nearly cynical enough by ArmoredDragon · · Score: 1

      That's got to be the new race card these days. Don't like what they say? Call them a racist. Still don't like what they say? Mention fox news Nevermind if the person is racist or even watches a minute of fox news, we've got to make them look bad no matter how correct they might be.

  14. The world needs a little more understanding by blueshift_1 · · Score: 1

    I feel like greater understanding is never a bad thing. Many of these people who start programming, won't ever get around to making a full production application or piece of software. But through experience, they hopefully will come to understand how their technology works. At this moment, we are raising a generation of techies who are just users - but have no inclination of how the tools that drive their lives function on the most basic of levels. Understanding how security work in this day and age is incredibly important.

  15. Yes. They have to at least understand by ciaran2014 · · Score: 2

    Software is running our lives. Anyone who can write software knows that, for example, electronic voting can be easily fixed. People who haven't written basic software find this question hard to analyse. Even if these people don't become full-time coders, it's still good that society has more and more people who know how the software running our lives works.

    --
    Help build the anti-software-patent wiki
    1. Re:Yes. They have to at least understand by Bing+Tsher+E · · Score: 1

      Anyone who can write software knows that, for example, electronic voting can be easily fixed.

      This isn't meant as red-baiting, but Soviet Party members in 1930 knew that agriculture could be 'fixed' with their scientific methods. They just had to get those kulaks out of the way.

      Be very wary of anybody who thinks 'the modern scientific method' has everything figured out, and we just need to put the right people in charge of everything.

    2. Re: Yes. They have to at least understand by ciaran2014 · · Score: 1

      Ah yes, "rigged" would have been clearer. Thanks.

      --
      Help build the anti-software-patent wiki
  16. Apple already has a QA department of millions by museumpeace · · Score: 1

    The [cr]Appstore is going to do a pretty good QA job on the user interface. The backends can bite you in less obvious ways but crapware is crap because you think the answers it gives or the bills it sends stink:the dumb get dumped. Software that truly and immediately effects human safety and comes with no liability disclaimers is mighty hard to find. Who is going to use Swift for stuff that is sold/unleashed through outlets other than the Appstore? Let in the clowns.

    --
    SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.
  17. Your job is being democratized by the Internet by chewie2010 · · Score: 1

    Your job is being democratized by the Internet. It will eventually happen to everyone.

  18. the most moronic subject matter on slashdot by circletimessquare · · Score: 2

    can we stop with this nonsense please? it is similar to idiots who oppose teaching all kids programming

    restricting access to developing a skillset which just builds on abstract reasoning is a joke, nothing more. it's as if lots of people making lots of programs somehow hurts good programs and good programmers. how? can someone define me how that works? there has to be a formal logical fallacy for what this low iq idea suggests. it's like saying gays getting married somehow hurts heterosexual marriage. and we see how well that mental diarrhea has persuaded

    lots of people trying programming only hurts mediocre programmers. the only kind of people who take this nonissue seriously. it's popularity on slashdot therefore does not bode very well for the readership of this website

    meanwhile, i welcome anyone who wants to try programming and i wish them well. it can be fun, it can be infuriating. and if in your quest you wind up being more skilled and hired to replaced than the kind of weak mouth breather who wants to somehow magically limit the pursuit of programming to some of kind of bullshit guild, this a surefire win

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:the most moronic subject matter on slashdot by circletimessquare · · Score: 1

      What everybody is unhappy about is that the government wants to force people who DON'T want to try programming to do it.

      what the fuck are you talking about? where do you morons come from?

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    2. Re:the most moronic subject matter on slashdot by tompaulco · · Score: 1

      What everybody is unhappy about is that the government wants to force people who DON'T want to try programming to do it.

      what the fuck are you talking about? where do you morons come from?

      From slashdot, of course, where just yesterday we had this article in which the government has made computer science a core class.

      --
      If you are not allowed to question your government then the government has answered your question.
    3. Re:the most moronic subject matter on slashdot by Bing+Tsher+E · · Score: 1

      Look, even you can't just say marriage now, you have to preface it with heterosexual marriage or gay marriage.

      Clearly you've missed the whole point of the 'gay marriage' movement, then. You only need to tack on a preface if there's something you're afraid of.

    4. Re:the most moronic subject matter on slashdot by soccerisgod · · Score: 1

      We will have to rewrite tons of literature because we changed the definition of a word that has had the same definition for thousands of years.

      Well, you're not being very gay today, are you? Here, let me fathom you to make you feel better! Personally, Personally, I think your argument is neither silly nor awful.

      --
      If a train station is a place where a train stops, what's a workstation?
    5. Re:the most moronic subject matter on slashdot by circletimessquare · · Score: 1

      it means they introduce programming to younger kids. you imagine kids chained in a classroom with their eyes propped open forced to watch bubble sort algorithms?

      is learning music "forcing culturally objectionable content on our children"?

      is learning math "forced march into the voodoo underlying antireligious science and anti free market economics?"

      so i repeat: where the fuck do you low iq conspiracy theory morons come from?

      it's actually a serious question. i have a serious difficulty understanding how a functioning human being can arrive at the deranged socially retarded concept you put forth in your comment. i'm 100% serious

      --
      intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
  19. Hobby vs. profession by Todd+Knarr · · Score: 1

    I think we need to also educate people on the difference between software development as a hobby and as a profession.

    If I just need to build a storage shed or garden sun-shelter for my backyard, I can build it to any standard of quality, or lack thereof, that I want. It can be completely wonky, as long as it works for me. But if I want to build storage sheds for other people, the rules change. I need to build them to at least a minimum standard of quality, people will expect the trim and paint and the like to not fall off or peel, the doors can't fall off the hinges if you push them wrong, that sort of thing. And if I don't build to those minimum standards I'm going to be held legally liable for the shortcomings.

    The same thing applies to software development. Just because you can slap together a to-do list app that works for you, doesn't mean it's ready to market to others. One of the problems is that you can market it without facing any liability for poor quality, and the absolute maximum liability you may face is to have to refund the purchase price. There's no other field where that's the case. Besides education, IMO we need to remove the ability for software publishers to disclaim liability for damages and the implied warranties of merchantability and fitness for purpose. Make it clear that when you move from writing quick apps for yourself or your friends to marketing your software to the public, you're moving into a realm where you're going to be required to meet certain minimum standards of quality whether you like it or not and you'd better be prepared for this.

    Yes, this would hurt many software publishers. IMO they need hurt, because the quality of their work is far from what I'd call professional or even reasonable for what they advertise it as.

    1. Re:Hobby vs. profession by Bing+Tsher+E · · Score: 1

      So are you saying small software publishers should be blocked from entry into the market by Government Regulatory Agencies, or are you saying Tort Law can sort it all out with time?

      Because if it's the former, how did you wander into Slashdot?

      We've all seen the hustle operation that Regulation brings.

    2. Re:Hobby vs. profession by gweihir · · Score: 1

      I very much agree.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    3. Re:Hobby vs. profession by Todd+Knarr · · Score: 1

      Every other business is subject to that same degree of government regulation, ie. the laws limiting their ability to disclaim liability and those warranties and requiring things like business licenses. I don't see any reason why software publishers should be subject to any less regulation. Beyond that, tort law's sufficed in most other fields so I don't see why it shouldn't suffice here.

      There are, of course, exceptions. Firmware for medical devices, aircraft control software, that sort of thing where people's lives are placed directly at risk should be subject to a higher degree of regulation and standards for software just as it is for every other aspect. And it should be handled the same way, based on the judgement of long-time practitioners in the field. In other words we don't base the rules on what marketing executives think or hot-shot web-app programmers with less than 5 years working experience, we look to the people with 40+ years in the field who've seen (and had to clean up) all the messes and know what caused them and how to prevent them. Which, yes, is probably not going to result in rules the marketing execs like, but life's like that sometimes.

  20. electric power tools by NostalgiaForInfinity · · Score: 4, Insightful

    With the widespread availability of cheap electric power tools, now everybody can build bridges and sky scrapers!

    1. Re:electric power tools by guruevi · · Score: 1

      Technically, I could. Thanks to the widespread availability of (free) CAD software and associated calculators and the availability of the information about bridge making, I could make a bridge or a sky scraper. It would be horribly over-engineered but it would meet current code and probably be both the most expensive, least maintainable although most reliable bridge in the world. It would also take me a few years.

      I actually just engineered a fire sprinkler system in my home, totally up to code as verified by our city's architects and fire engineers. It's also horribly over-engineered (too many sprinkler heads, bigger pipes, unnecessary valves and gauges, plenty of leftover capacity) and it took me several weeks just to get the drawings and calculations out but it saved me personally $7000 (a professional install was quoted at ~$8k, I did it for less than $1k).

      If you want horribly slow software that is very expensive to maintain but also very robust, you can give the tools to a newbie with the willpower to do it and you would get something, eventually.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    2. Re:electric power tools by david_thornley · · Score: 1

      One of the problems the US Air Force had in the Vietnam war was that North Vietnam's bridges were designed and constructed by people who knew they were bad at it, and so they were way overengineered and extremely hard to take out with bombs.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  21. It's like encouraging everyone to become lawyers by Beeftopia · · Score: 1

    The salaries for lawyers vary like those for software developers. There are a vast number of grunts doing basic work and making adequate salaries. BUT, towards the top of the pyramid, which is exceptionally difficult to reach, there are those making eye-popping salaries.

    Ditto with the IT field. That guy who "stole" code from Goldman Sachs, Sergey Aleynikov, was pulling down 400K a year at Goldman. He was set to get 3 times that amount from another company upon leaving Goldman. That's like an elite lawyer's salary. BUT - some guy doing PHP on a no-benefits contract - what, 50-60K? Some average guy doing intranet programming, or building websites for small businesses as an employee? Probably averaging in the same range, maybe a tad higher.

    The difference is that there is no bar to entry for programmers. Lawyers have to pass the bar. Anybody can start slapping together apps or get on a no-benefits contract with a little experience. Plus lawyers are highly organized, with the ABA, the American Trial Lawyers association (representing plaintiff lawyers), etc. IT types are way too... I dunno, disorganized, libertarian, low-social-IQ (in general) for that kind of thing. But people that make businesses are not low social IQ. They're dealmakers. And they absolutely hate having to pay these high salaries. They figure if they can flood the market, they can lower their labor costs.

    Jokes on them a bit though. True, they'll suppress IT salaries in general. But the superstars will still be a small fraction of the overall IT pool, and they'll still command the stratospheric, though a bit lower, salaries.

    And programmers ought to be organizing more behind the ACM, I guess, and encouraging some kind of "PE" (Professional Engineer) equivalent to mark one as someone who actually knows the theory of computer science and practice of programming.

  22. Summary:Help! The kids are going to steal my job! by linuxguy · · Score: 1

    The history of computing shows us that this technology is becoming more accessible. Both to consumers and the providers. You no longer have to use punch cards to write computer programs. Or use assembly. Modern languages and development tools are much easier to work with for an average person. And that trend is going to continue. There is nothing you and I or Apple/Facebook/Google can do to stop the march of progress.

    Unfortunately for you, that means you will have to continue to learn new technologies to remain marketable to employers.

  23. Personal projects ... by MacTO · · Score: 1

    Why does every program have to end up on the market? I'm constantly creating small programs that solve small problems. It is amazing how many small problems that full featured applications don't even attempt to solve unless you are doing something that resembles programming anyhow (e.g. use a spreadsheet). It is also amazing how many of those apps can be replaced by 10, 20, or 40 lines of code. The result may lack a fancy GUI, but it's often worthwhile to avoid having your data locked into an app or service that makes no provisions for exporting your data. It is often worthwhile to avoid the games that some app developers play in order to make a few bucks.

    It is amazing what you can program yourself. Modern libraries and development environments usually take care of the hard work and let you focus upon solving a problem. I'm not saying that every one needs to be able to make web browsers or office suites or even their own notepad. Yet having the ability to create small programs to solve small problems often makes the impossible possible, or helps you to avoid other people's shoddy code. (Sure, you may be replacing it with your own shoddy code. Then again, you have access to it and understand how it works so it is easier to fix problems.)

  24. GUIs are tough by Snotnose · · Score: 1

    I've written a lot of software, from ethernet drivers in the 90's, to 802.11 drivers in the '00s, PCI drivers, automatic robotic testing platforms, cell phone base stations, and missile telemetry decoders, to name some of the hardest I've done. The #1 hardest thing I've had to write? GUIs. First off, assuming you can get the GUI to do what you want, it's very easy to say "that sux". It's much harder to say "here's how you fix it".

    That's assuming you can get the GUI to work the way you want it to. I've been writing Java/Swing apps for a few months now. I don't care how many web pages or books you read, shit just don't work like you think it should. My last GUI was a good 20 years ago using Tcl/Tk, and I thought it was a bitch to learn. But Swing is just kicking me in the balls morning, noon, and night. Cut and paste code from some webpage that you think you understand, tinker with it to make it match what you need to do, and it just don't fricken work.

  25. COBOL too ... by kbahey · · Score: 3, Insightful

    SQL was originally intended for non-programmers.

    And before SQL, there was COBOL (COmmon Business Oriented Language), which was meant for regular people to program computers instead of requiring programmers writing in assembler ...

  26. More programmers means more libertarians by Teppy · · Score: 1
    There's a fascinating essay, written by Stu Reges, who was at one time Chief Reader for the AP Test in Computer Science, and later National Director of the Libertarian party. In the essay, copied below, he speculates on why so many programmers are libertarian. My spin on this is that for many things our brains exhibit two-way causality: When you're happy you tend to smile. But smiling out of the blue also causes a feeling of happiness. Will learning to think like a programmer cause people to start thinking about society the way a libertarian does?

    I'd be curious to know, among Slashdot readers, whether the essay below rings true. Are you a programmer? A libertarian?

    ------------------

    Libertarian IQ

    I'm finally making good on my promise to post my "wild speculations" about Computer Science IQ and Libertarian inclination.

    First let me give some background on CS IQ. I have taught at least 5,000 students how to program, which has given me a strong set of hunches about what goes on in their heads. But the most useful source of information came from my work as Chief Reader for the Advanced Placement Exam in Computer Science.

    AP programs allow high school students to take college-level courses at their high schools and take a test that allows them to receive placement and usually credit for their work. As with all AP exams, the AP/CS Exam is divided into two parts: multiple-choice and free-response. In the free-response section, students hand-write solutions to problems. This has always been considered an integral part of the AP program because of the (at least perceived) limitations of multiple-choice tests. The AP/CS exam had 50 multiple-choice and 5 free-response questions. The free-response questions were all of the form, “Write a piece of code that does the following"

    Obviously, the hand-written solutions need to be graded by real people. Every year about 60 CS teachers (called “readers") get together for 6 days to grade 10,000 exams. As Chief Reader, I was responsible for choosing the 60 teachers, managing their efforts for those 6 days, and setting the ultimate distribution of AP grades. In 1988 I made AP history by giving the all-time worst set of AP grades ever given out (I failed almost half of them). As a result, ETS approved a request they had never approved before. They gave me a diskette (actually 2) with the raw scores for all 10,000 candidates so that I could “study" it. My undergraduate degree is in math with a statistics specialization, so I’m the kind of person who likes to play with data.

    One of the things I looked at was the set of correlations between various multiple-choice questions A high correlation between 2 test items indicates that candidates performed similarly on those items (i.e., those who got one right tended to get the other right and those who got one wrong tended to get the other wrong). I expected to find either virtually no correlations, because there was little repetition on the test, or clusters of correlations. If you were to test people on math, for example, you might find that arithmetic questions correlated highly with arithmetic questions, algebra questions correlated highly with algebra questions, geometry questions with geometry questions, and so on. I expected a similar pattern based on various programming constructs/skills.

    What I found was highly puzzling. Five multiple-choice questions were each correlated with over a dozen other questions and I found virtually no other correlations at all. But there was no pattern to the correlations for these five. Let me describe the grandaddy as an example. One had more correlations than any other and I nicknamed it the “grandaddy." It was highly correlated with 25 other questions, yet the topic that it tested had nothing to do with the topics covered by these other questions.

    When I looked at correlations between multiple-choice and free-response, I became even more puzzled. There was definitely repetition between the two halves of the

  27. Ask Youtube, or Iphone or Android Store by tompaulco · · Score: 1

    Youtube makes it simple for anyone to upload videos, and 0.01% of them are worth watching. Appstores have made it easy for people who already know how to program to release programs, and 0.1% of them are worth having for free and 0.01% of them are worth having for the price charged.

    --
    If you are not allowed to question your government then the government has answered your question.
  28. This is what I'm reading by GoonDuIO · · Score: 1

    I recently stumbled upon Humanity's headline for version 2 of its English language: "Now everyone can write stuff." My question: is this what we really need? Governments (not just America, but Europe, and some Asia countries) are encouraging kids and adults to become writers, adding to an already-troubled writing landscape. While many writers are focused only on a business's internal concerns, many others can dramatically affect other people's lives. People write stuff for the legislation; our finances are in the hands of people who write, and even the medical industry is replete with new documents these days. Poor writing here can legitimately mess up somebody's life. Compare this to other high-influence professions: can you become surgeon just because you bought a state-of-art turbo laser knife? Of course not. Back to English: the language ecosystem is already chaotic, without solid quality control and responsibility from most writers. If you want simple writeup, you'll get never-ending list of templates that will drain your paper, eat money, block your mind and disappoint you in every possible way. So, should we really be focusing on quantity, rather than quality?

    Point I'm trying to make is that OP is making mountain out of molehills. Everybody can write and the pen is mightier than the sword but not everybody can write just as well to be handed the keys of the world (laws and other important documents), this applies to software as well. Scarcity of top level positions will ensure the fittest. Unfortunate or not, I leave that to you.

  29. Programming is the tip of the ice berg by plopez · · Score: 2

    What about requirements gathering? Business modeling? Testing? Versioning? Maintenance? Hosting? Building the app? Distributing the app.? Administering the build machines? Documentation? Communication and control of a project?

    I'm sure I missed something. But there are a huge number of components to a reasonably sized software project. Programming is often the smallest, in numbers, slice of the task.

    --
    putting the 'B' in LGBTQ+
    1. Re:Programming is the tip of the ice berg by rakslice · · Score: 1

      Okay, what about them? These are fields of endeavour that I wouldn't be surprised to see specialized highly talented staff for at a large software company, sure. But, for a small start-up or a self-published developer, many or all of these things can be "muddled through" in a perfunctory way, maybe reincorporating some feedback from customers if the result is really terrible, but ultimately just leaving it up to the market to decide the fate of the product. To me this is basically just the fusion of agile approaches with the entrepreneurial tradition.

      I would go so far as to propose that the majority of $1 App Store apps were built by some programmer who pressed the build button in Xcode by hand and never heard of "business modelling".

    2. Re:Programming is the tip of the ice berg by plopez · · Score: 1

      Startups BETTER think about it. Because sooner or later a real business may want to but the software or the startup. Then they need to learn real software development.

      I know a guy who did do some iPhone apps. He said if you want to sell them you need to understand what people want, how to solve their problem, how to fix it when a bug is found, how to create documentation so users aren't badgering you with how-to questions, etc. If you want to do real software you will have to do all or most of what I listed.

      --
      putting the 'B' in LGBTQ+
  30. TFA is a clickbait by Anonymous Coward · · Score: 1

    The damn FA is nothing but a fucking clickbait

    'Everybody can program" ??

    Most of the humans in this world are idiots. Many of them can't even drive a motor vehicle safely, and TFA adopts the chicken little's "The Sky Is Falling!!" attitude exclaiming that everybody can program?

    1. Re: TFA is a clickbait by Anonymous Coward · · Score: 2, Interesting

      I think the problem is a little more complex than that. Stupid people tend to have high self esteem, and high self esteem means among other bad things that they don't know their own limits.

      So if stupid people learn to program, they are unlikey to be self limited to harmless trivialities and to try something important or dangerous.

      Since people with high self esteem also tend to be good self promoters, and since we already know that business management is rife with people who can't judge technology or technologists worth a damn, the odds of stupid people being given something important to do is fairly great.

    2. Re: TFA is a clickbait by Shortguy881 · · Score: 1

      Let the stupid masses code. It will only help those who are actually good at programming. The more bad coders out there, the better real programmers look and the more work we have fixing bad code.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
    3. Re: TFA is a clickbait by Bengie · · Score: 1

      Learning how to code is one thing but becoming programmers is another. More bad programmers gives me more headaches and makes it harder for me to design correct solutions because of legacy issues. Ever try to design a system that can emulate bugs of the old system until the dependencies can also get fixed? It's really annoying.

      I don't want to have a job, I want to have fun and be proud of my work while getting paid to do what I enjoy. I enjoy programming, the last thing I want is to lose that, it is a large part of who I am.

    4. Re: TFA is a clickbait by Shortguy881 · · Score: 1

      Sometimes the right solution to a pile of bad code is to start over. That's part of the job, convincing the business owner that starting over is better than maintaining legacy code.

      --
      Brilliance without wisdom, power without conscience. Ours is a world of nuclear giants and ethical infants.
  31. My wife is a lawyer.. by xtal · · Score: 1

    Please, everyone write as much crappy software and put it in as many questionable places as possible.

    Lawyers are evil, but GM cars don't have ignition switches anymore, do they?

    --
    ..don't panic
    1. Re:My wife is a lawyer.. by Bing+Tsher+E · · Score: 1

      You're confused. Lawyers are better used as brakes, not ignition switches.

      Select fat lawyers would work as airbags, I suppose. But more for external mounting on the vehicle than in the passenger compartment, because they're messy.

  32. medical software... by just+another+AC · · Score: 1

    "...medical industry is replete with new software these days. Poor code here can legitimately mess up somebody's life..."

    What a ridiculous summary, and a complete insult to the entire industry revolving around medical software regulatory compliance.

    Sure you are free to write medical software. But I guarantee no-one's life will be depending on it until it has been certified by FDA or equivalent. There are going to be lots of checks and documentation between a script kiddie and someone's life.

    1. Re:medical software... by Bing+Tsher+E · · Score: 1

      There will be layers and layers of fat between the software and it's use in improving somebody's life. Believe me, the AAMI wasn't founded to protect the patients. It was to protect the early industry participants from that rabble out there.

    2. Re:medical software... by reanjr · · Score: 1

      Did you just imply that the FDA is qualified to perform software security audits?

    3. Re:medical software... by david_thornley · · Score: 1

      The FDA isn't qualified to run the experiments it demands either. The FDA can look at the software practices and testing regimen. The other part is that medical software tends to have more stringent liability than other stuff, so there's a lot bigger legal risk for bad software.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  33. I suppose you don't by rsilvergun · · Score: 1

    the mega-corps will be happy to do that for you. Especially since you're so willing to give it up. Now go ready some history about Unions and stfu. Seriously, you have no bloody idea what you're talking about.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  34. Not exactly, no by Pseudonym · · Score: 1

    One huge trend in work over the last century or so has been towards automation. We need fewer people, or can do more with the same number of people, by automating some or all of peoples' jobs.

    We don't need everyone to "build software" as you may think of it. However, we do need a substantial part of the workforce to automate their own jobs. Think about it. For most typical jobs, the ability to automate your work makes you more productive, more valuable, and can make you feel better about your life.

    Automation, of course, means instructing machines.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  35. Re:It's like encouraging everyone to become lawyer by Bing+Tsher+E · · Score: 1

    So you're saying that if you're not in the ACM you shouldn't be able to make your tarball of source code available for download? Or are there going to be government stamps issued (presumably complex holograms) that need to be affixed to any software that people are allowed to run?

    Obviously the equivalent is a cryographic boot manager. Do you work for Microsoft??

  36. Re:"Now everyone can build amazing apps." by gweihir · · Score: 1

    Indeed. This is a must-read for any coder and software engineer. Most have not even heard of it these days and hence the same mistakes are being made over and over again.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  37. snowflake by jriding · · Score: 1

    Because everyone is now a special snowflake, so they should get to make the next big app. No one really needs training or experience.

    --
    love the taste, hate the texture
  38. Re:It's strange that you are saying, "Poor code ca by gweihir · · Score: 1

    So we should teach everybody brain surgery as well, and maybe nuclear engineering? Yeah, that makes sense...

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  39. quantity, rather than quality? by l3v1 · · Score: 1

    This issue pops up from time to time, and it's inevitable, if you think about it. As computers bec{a,o}me more available and more accessible to everyone, more people began producing some sort of code with 'easy' tools, churning out truckloads of low quality, unreliable and sometimes even dangerous software. There's not much you can do about it, aside from trying to be informed about the third party software you try to use. Well, it's not like professionals don't produce crap sw, but there's a world of difference there. All we can hope is that in time education will change to include enough general computing knowledge for everyone, that can at least provide some minimal required knowledge level to make further autonomous improvement of abilities easier.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  40. Not practical by Tablizer · · Score: 1

    It's not practical any more than everyone learning to be lawyers or plumbers or electricians. Get experience and master your art rather than try to be a jack of all trades. Newbie programmers usually do poor work for a while (or are slow), just like newbie plumbers.

  41. Re:You want to know how I know you're not a... by hackwrench · · Score: 1

    programmer?
    Person 1 rips you off to the tune of $200.
    Person 2 demonstrates how to get Person 1 to rip you off only $100, for $25.

    So now you're ripped off $125 instead of the original $200. It doesn't matter how many people are ripping you off except to determine the total amount you are getting ripped off and figure out who to keep around.

  42. Whoof, look at 'em go by Chris+Johnson · · Score: 1

    I think it's very well established what happens. As with many fields before it, you're throwing stuff open to a market in blind faith that this'll do good things. Then, social engineers take over and squeeze out the capable, and as the general populace gets more desperate for survival, they flock to the new hope in great numbers, and flood out everything, The elitism is crushed, barriers go down and you get a problem where you can't get qualified people because they can't get a foothold against the sheer numbers of crap and therefore can't survive to hone their skills.

    This is not an inherent problem with democratizing stuff, it's a problem with doing that and then throwing all competitors into a maximally free market where other factors besides merit are in play.

    Time ain't fungible: if you learn a tiny itty bit of everything, you'll kinda suck. If you kinda suck at social engineering and marketing, you're going to fail in a market. The person who spends WAY more of their time at that will win. If they're a Swift programmer, they will not have spent their time learning to program correctly, and their product will be junk, but since people's awareness of their product is ENTIRELY dependent on the programmer's mad social marketing skills, it will dominate and starve out other projects.

    If you devote all your effort to the quality of your project, you'll leave nothing over for social engineering, and your thing will die a horrible death: what happens is people glance at it and say 'gee, that looks amazing! Since absolutely nobody is interested, they must know something I don't. I'm not interested either.'

    Areas that have been profoundly affected by this whole mechanic include popular music and game programming. Look at Steam Greenlight sometime. That's your free market future, and ability to manipulate the market will always be more profitable than trying to improve quality and hoping 'the market' will notice in a world where people specialize in bending the rules.

    It produces a funny sort of stratification because if you do get a foothold you can build upon that, but it takes luck to even get that (plus quite possibly a lot of sacrifice and losing money, so you will have to already be wealthy or in some kind of protective situation where you can lose money building your toehold). You harden your position as somebody the market has recognized, doing whatever you can to augment that public awareness, and this gives you the basic minimum people are unjustifiably assuming is the norm: that, in doing something, you'll be seen at all to be judged.

    At that point you can act like a market element competing, but in this situation of total noise and flooding, if you don't have that there IS no path to it. In the rigidly controlled, union, regulated, gatekeeper world so many Slashdotters hate, you're blocked by gatekeepers and you know who they are and can ask their terms and negotiate: pay, study for accreditations, make friends, whatever. In the free market world the gatekeeper is Brownian motion, and you can't negotiate with a force of nature or a law of statistics.

    So no, 'everyone able to build amazing apps with Swift' is not what we really need. It seems populist but it's based on an underlying fantasy of removing all gatekeepers and letting 'the market' sort it out, and the market will pick social engineers and put up barriers more daunting than anything human gatekeepers can muster.

  43. Saving Grace by Chris+Johnson · · Score: 1

    There is one upside: the case where someone has their own expertise, which has value, but must be expressed by code to be functional.

    Content-driven software. Stuff where the message or the payload is the valuable part, and the coding could be done by a variety of capable drones because it, itself, is not innovative at all.

    In this case, we see a valuable thing (which may be able to stand up in a market economy on its own merits) given lower barriers to existence, by the software guys basically putting yourselves out of jobs: developing systems that can be effectively applied in generic ways by novices.

    Seems, uh, generous, but knock yourselves out. I know I enjoy it when something like Unity comes out and I can play with game tech so easily, and then competing with the Unreal engine you get Unity making all their paid features also free in 5. A coder might have no idea what high dynamic range lighting is for, but somebody like me might respond, 'hey! Flares! For meeee? Thanks, anonymous coder guy who once would have justifiably charged me tens of thousands to get this working in a game, but now I can just use it and not even credit you or know who you were! This will help my idea look more impressive, assuming I have one.'

    Again: seems kinda, erm, generous? But by all means, carry on. I'm not the expert coder here. I can only assume many of you guys are so totally insulated from the reality of the world that you'll blithely render your skills worthless in the 'free market' in the belief that you won't end up totally hosed by the resulting flooding of recycled crap.

    And your skills might, just might, be cannibalized by somebody with some decent idea worthy of success, and you'll have helped them for free. It's nice of you though the chaos of crap-flooding is not quite as nice. But that's what you get when you wipe out all the structure of the situation and reduce it to raw chaos 'market'.

    1. Re:Saving Grace by david_thornley · · Score: 1

      For developers interested in advancing in their companies, this also works the other way around. A good programmer with a decent basic understanding of the business and how it works is a lot more valuable than a good programmer who has to be told all the details.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  44. I canâ(TM)t become a surgeon by xenog · · Score: 1
    can you become surgeon just because you bought a state-of-art turbo laser knife?

    â¦but I can always TRY!

  45. Scripting rather than programming by Z80a · · Score: 1

    Learning to program something that is C like takes quite a while and its not very useful for most people.
    For the general public, should be offered an a bit powerful but real easy to understand scripting system that allows em to do things that are actually useful for the general public, like setting up a simple tree that warns him on the SMS or skype when a download finished on a machine by basically dragging two blocks and connecting em, or allowing him to sync every audio device with the same playlist etc.
    Also such simple programming script thing should be integrated to the OS and offered as a standard.

  46. But not,,, by Chris+Mattern · · Score: 1

    ,,,the future we want.

  47. Barking up the wrong tree by golodh · · Score: 1
    The article is totally barking up the wrong tree.

    There is nothing wrong with every jack on the planet cobbling together their very own programs. Programming is dead easy. Any fool can code, and I have nothing against that.

    The point is that software which is to be re-used (whether FOSS or proprietary software) should be held to certain design standards.

    FOSS software manages itself, more or less, and the user's job is to choose software that does what's needed and looks credible from a development point of view (sensible forums, active development community, public source code repository so that you can check activity, etc.),

    Proprietary software is more difficult. It runs the entire spectrum from shoddy to excellent, and you can't really tell from the outside (short of reading forum posts about it).

    Software for which there is substantial cost attached to failing (whether proprietary or FOSS) should be properly designed, quality-controlled, and managed (as opposed to being hacked together).

  48. Possibility vs mandatory by Yoda222 · · Score: 1

    I don't see any problems to give to everyone the possibility to build software. That does not means that everyone will do software. Do you think we should make it harder for people to learn to cook (almost everyone has the possibility to learn this) to protect the job market of cooks?

  49. If your not part of the solution... by jafwatt · · Score: 1

    So given the general global lack of really good software engineers (insert you definition of a 'good software engineer' here) we should encourage more people to consider a career in software engineering. As the 'experts in our field' it's our responsibility to mentor up-and-coming engineers and teach them how it should be done. It doesn't matter how you get into software engineer but it matters how you grow (or not) with it.

  50. Everyone should be able to program some by sjbe · · Score: 1

    "Now everyone can build amazing apps." My question: is this what we really need?

    To some degree yes. There absolutely is a need for tools to allow people who aren't professional software engineers to do some form of programming. It doesn't have to be the most sophisticated but the need is there. Haven't you ever wondered why spreadsheets get used for all sorts of tasks they aren't optimized for? It's because it is a way for non-professional programmers to program a computer to do useful tasks. People use spreadsheets as sort of ersatz databases all the time which should be a serious hint that there is a huge need for databases for modest tasks with a much easier to use interface. (yes even easier than Filemaker or Access) Programming doesn't have to be written in C or Swift or Java. Writing a spreadsheet is a form of programming. Creating a macro in a word processor is a form of programming. Sure it's like bowling with the bumpers on the lane gutters but what's wrong with that?

    Everybody should have some means to program computers. Swift clearly isn't actually the answer but the notion that everybody should be able to program isn't a dumb idea at all. Expand your definition of what programming is.

    People write software for the cars we drive; our finances are in the hands of software, and even the medical industry is replete with new software these days. Poor code here can legitimately mess up somebody's life. Compare this to other high-influence professions: can you become surgeon just because you bought a state-of-art turbo laser knife? Of course not.

    That is a ridiculous argument. There will always be a need for programmers to solve problems beyond the abilities of the unwashed masses. Nobody is pretending they are a doctor because they stayed at a Holiday Inn Express last night except in advertisements. But that is not a credible argument against providing tools that allow those with less expertise to do useful work. Do we only allow Formula 1 drivers on the roads even though most drivers are far less skilled? Give people the tools to do work at the level they are capable of.

  51. Everyone should be able to build useful tools by sjbe · · Score: 1

    But if I want to build storage sheds for other people, the rules change. I need to build them to at least a minimum standard of quality, people will expect the trim and paint and the like to not fall off or peel, the doors can't fall off the hinges if you push them wrong, that sort of thing. And if I don't build to those minimum standards I'm going to be held legally liable for the shortcomings.

    So when are we going to start holding software developers "legally liable for the shortcomings" of the software they write? With some notable exceptions we definitely are not doing this now. When is Adobe going to be liable for the problems caused by Flash? When is Microsoft going to be liable for Windows?

    The same thing applies to software development. Just because you can slap together a to-do list app that works for you, doesn't mean it's ready to market to others.

    It also doesn't mean we shouldn't provide ways for people to slap together that simple app. I see too many people here thinking programming always has to be some deep art requiring years of training. When people use a spreadsheet they are doing a form of programming. And if that spreadsheet is useful to others (as they sometimes are) then there is nothing wrong with them giving or even selling it to others. The market will determine whether it has real value or not. It doesn't have to be developed in some high cathedral of programming in every case. There are no lack of times when yes you absolutely want well trained IT pros doing the coding but we shouldn't turn it into a clergy where only the IT pros are allowed to code. Swift clearly isn't the solution but in principle there is no reason we shouldn't have tools to allow anyone to program meaningful and useful tools.

    I am an engineer (among other things) and I've done more than a trivial amount of coding but I do not code for a living and likely never will. My talents lie elsewhere. But I do develop a lot of small tools to automate business processes. Spreadsheets, small databases, scripts, macros, web pages, etc. I can think of lots of tasks where a sort of pre-fabricated programming systems where I could just organize a set of pre-defined tasks would be super useful and this is a form of programming. (Think lego mindstorms level complexity but more general purpose) I don't think there is any danger of professional programmers being displaced by such a tool. If anything it would free them up to concentrate on less trivial tasks.

  52. You're a little late by DriveDog · · Score: 1

    It's not going to get worse. The planet is already flooded with terrible code from both professionals and amateurs.

  53. For me yes it is by cjjjer · · Score: 1

    I recently stumbled upon Apple's headline for version 2 of its Swift programming language: "Now everyone can build amazing apps." My question: is this what we really need?

    As someone who regularly fixes software built by morons I see my career never going away.

    Build on clueless, build on....

  54. I've been complaining about this for years. by ilsaloving · · Score: 1

    Companies have done so much to lower the barrier of entry, that we have huge swaths of 'developers' who are basically walking personifications of the Dunning-Kruger effect. The amount of craptastic software out there is just incredible because people can't be bothered to learn even the most basic fundamentals like de-coupling.

    I remember taking a database course in university, aced it without even trying, and constantly asking myself, "What's so difficult about this?" Yet people are flocking to things like MongoDB, not because it's the best tool for the job, but because SQL is too hard.

    And yet when looking for a job, these are the nimrods that real developers have to compete against, and have an excellent chance of losing against because they're more skilled at schmoozing than doing a good job.

  55. It's marketing by thrig · · Score: 1

    Err, no, programming still requires a goodly amount of study and understanding, regardless how the various complexities have been hidden. The margin for error remains rather low--how are those Andriods doing? Car entertainment systems? Browsers? And in the department of learning from history, I present, CVE-2013-4259 and CVE-2014-3563 for two shiny new configuration management softwares. How long have /tmp security problems been known? Two decades, at least? Now, marketing programming to folks that might be interested in beginning that journey is a different story, and probably more in line with what Apple is attempting here.

  56. No. by azav · · Score: 1

    Not everyone is good at it and still, other things need to be done.

    --
    - Zav - Imagine a Beowulf cluster of insensitive clods...
  57. Re:Regulation? by deck · · Score: 1

    You've hit upon what I read into the OP. The writer seems to be moaning about anybody being able to write a program, period. I guess the OP might believe we should license all programmers after a sufficient course of education and only allow licensed programmers to have access to programming tools. The rest of you proles can take a hike and beg the Programmers to do something or pay them exorbitant amounts of money to get something.

    I have seen this in industry where the IT people started to try to corner ALL programming in a company. They proposed that if it even slightly fell into the realm of programming, one would have to submit a proposal and MONEY to the programming group. They would then decided if was needed and prioritize it. Then six months to a year later one would get the first cut at the product. Fortunately the proposal/process died an early death.

  58. Re: Ask Slashdot: Everyone Building Software -- Is by dcrocker · · Score: 1

    Asking whether we need (want) everyone writing code is the same as asking whether we want everyone to be literate and write prose.

    --
    Dave Crocker bbiw.net
  59. Re:The hardware "ecosystem" depends on crap softwa by imac.usr · · Score: 1

    Sorta off-topic, but in your case you'd probably still be better off switching to a newer system just to cut your electricity and/or AC bill...

    --
    I use Macs for work, Linux for education, and Windows for cardplaying.
  60. Who is "we?" by r-diddly · · Score: 1

    Everybody who buys a calculator doesn't get to be an engineer either, but all engineers start out by buying calculators. Newcomers are the future experts, and they also bring new ideas. Since the "already troubled" IT industry keeps producing shitty software, it sounds like maybe not enough people and not the right kind of people are currently doing it.

    Anyway everyone has a computer, why shouldn't they be able to properly tell it what to do? Don't we sit around and make fun of passive "end users" who don't know jack? And yet all good software is made by understanding what users want/need. The typical programmer has certain blind spots that impact his (yes it's usually a he) ability to do that. So the more "users" you turn into "coders," the wider the bandwidth of that communication channel, and the software gets better inevitably. You still need a way to sort out the good from the bad, but that too, is enhanced the more people know about coding.

  61. OP has a point by Snufu · · Score: 1

    Hardware speed has improved exponentially for decades. Application speed, capability, and quality has not.

  62. Software Priesthood by fyngyrz · · Score: 1

    The whole thrust of ESR's Cathedral and the Bazaar essay...

    You're about 30 years late WRT your reference. When I said "back in the day"...

    I first saw the term "software priesthood" in print in Byte magazine -- it was 1976, I think. It was already in play among those of us who had already been programming for a while, and even more so among certain sectors of management.

    --
    I've fallen off your lawn, and I can't get up.
  63. Quantity over quality by MoarSauce123 · · Score: 1

    Fact is, users do not value quality. Even if a dinky app crashes five times during a ten minute period they will continue using it if it suits their needs. Do users like the app to crash less often or not at all? Sure!! Do they want to wait on features or even pay up for better quality? Hells no! I work as quality assurance specialist (aka tester) and while we testers have user satisfaction as main goal in mind it is incredibly frustrating to inject quality during the design phase and keep quality up during development. Main problem: businesses and organizations do not value software quality, even if it is totally obvious that better quality is good for success and that spending a wee bit more time on quality before release will effectively reduce much bigger cost later, be it technical, financial, or ideally. Many books, papers, blogs, and posts have been written about this and as soon as this reaches decision makers it falls on deaf ears. Doing software QA is the most frustrating job in IT! Nevertheless, I still like it.