Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×

Let Joe Average Help You Code 319

ploose writes "Apache co-founder and CollabNet CTO Brian Behlendorf says that programming should be opened out to non-developers. Bring them into a development community with proper feedback forums and bad code will get flamed anyway, so it doesn't matter what they write. From the interview: 'Mashups are really Excel macros 2.0 - with the rise of Web services, the more vehicles that are out there that expose data through programmable APIs, with Office 12.0 and Firefox with AJAX, the more people you'll see create applications. The line between hardcore developers and the average Joe will start to get very fuzzy.'"
This discussion has been archived. No new comments can be posted.

Let Joe Average Help You Code

Comments Filter:
  • by exa ( 27197 ) on Tuesday February 28, 2006 @04:17PM (#14820080) Homepage Journal
    Many of the eager and excited hacks are by beginners, I think (^_^)

    I'm still a beginner in python and I always intend to be a beginner
    in one subject or the other. Maybe someday I'll be a beginner in the
    apache project.

    But alas, if he wants to collect patches from my mom, he better get ready
    for a logic bomb.
  • by bratboy ( 649043 ) on Tuesday February 28, 2006 @04:17PM (#14820086) Homepage
    This is a fantastic way to achieve negative productivity. I know, let's put a thousand monkeys in a room with a thousand IDEs - that ought to get us some code! Most non-programmers are simply not trained to think in a rigorous way. Hell, most programmers aren't trained to think rigorously. That's why it's so hard to find good ones.
  • by MobyDisk ( 75490 ) on Tuesday February 28, 2006 @04:19PM (#14820108) Homepage
    The article links to another article, Why Johnny can't program [bricklin.com], which is really good. That article has a good concept: That what we call "programming" is actually a hierarchy with shades of gray. C++ is programming. But is writing an Excel macro programming? How about programming a VCR? What if I write requirements and then code-gen a class hierarchy or a database schema? Programming is more than just writing code.

    But the ZDNet article has the highest hype per paragraph ratio of anything I've read for a while. Web 2.0? Is that the buzzword replace Internet2? "Programming collaboratively?" And of course, AJAX & web services will make everyone a programmer. Some editor just linked a bunch of articles on similar subjects, threw in enough buzzwords, and jumped to a conclusion. Yes, everyone is now a programmer. "Sure grandma, I can set the clock on your microwave for you. I'll be right over."

  • by Anonymous Coward on Tuesday February 28, 2006 @04:20PM (#14820124)
    It takes a long time to become a good programmer, and even good programmers can produce some pretty sloppy code. I fail to see how encouraging the unwashed masses to pick up a copy of Visual Studio 9.0 and the latest "Learn To Program in 3 Minutes" book will actually result is less-buggy code. It would certainly create lots of crappy code.

    Programming has changed since the days of assembler, but for anything more complex than a macro to calculate your GPA from an Excel document, it's still a mighty tough job. 25 years ago, you'd write something in assembler or C, it would take you 3 months, and it would do the same thing you can do today in a week in Java. Nowadays, you just spend 3 months doing it in Java because the applications are far more complex.
  • by LetterRip ( 30937 ) on Tuesday February 28, 2006 @04:21PM (#14820134)
    [QUOTE]The line between hardcore developers and the average Joe will start to get very fuzzy[/QUOTE]

    Not really - the hardore devs will be far more productive and be able to implement complex programs requiring algorithmic insight, the joes will be able to to implement stuff that requires simple logic and interfaces. Of course there will be lots of useful stuff that a joe could do, it just won't be the same kinds of stuff that the hardcore dev will be doing.

    LetterRip
  • by cdrguru ( 88047 ) on Tuesday February 28, 2006 @04:25PM (#14820193) Homepage
    It is announced that the role of the "programmer" has ended. Either the new stuff is just so simple that anyone can do it without any training at all, or the machine will program itself as it learns what you want to do.

    This has been going on since the beginning of 4th generation langauges, which came about in the late 1970's. There were actually some reasonable achievements which have been utterly lost now. But nothing that would replace programming completely.

    While there is lots of benefits to including users into a project to make sure it remains useful and usable, this doesn't mean trying to help non-programmers join in the programming effort. It isn't the programming training they lack, it is the programming orientation towards thinking about the problem they lack.
  • Too many cooks (Score:2, Insightful)

    by DoctorSVD ( 884269 ) on Tuesday February 28, 2006 @04:26PM (#14820206)
    Anyone who has done serious development knows that this is nonsense. Large software projects depend critically on skilled developers to provide a sound overall design - you can't just throw more people at the problem. The book "The mythical man month" argues this point quite convincingly.
  • by PIPBoy3000 ( 619296 ) on Tuesday February 28, 2006 @04:27PM (#14820218)
    Our organization currently has a headache when non-developers make an Access database, get their department relying on it, and then leaving the organization. When things break, the developers get sucked into having to maintain this monstrosity.

    We're trying hard to disavow them completely, but it's hard to say no when the customer insists its part of a vital healthcare function. For those, we've sometimes rewritten them using a real SQL back-end, web browser client, and code we can support and maintain.

    Making tools to let non-developers do things isn't necessarily bad, it's just that there has to be clear expectations as to support. Writing web applications isn't the same as typing up a Word document or making an Excel spreadsheet with a couple macros. It's easy for non-developers to quickly get in over their heads.
  • by P3NIS_CLEAVER ( 860022 ) on Tuesday February 28, 2006 @04:29PM (#14820246) Journal
    Doesn't anyone respect the field of software engineering? I would like to see a bunch of dummies come in off the street and put chemical processing equipment together.
  • by Anonymous Coward on Tuesday February 28, 2006 @04:30PM (#14820257)
    Why is it that nobody, including, apparently, slashdot editors, respects software development as a proper scientific or engineering discipline.

    Do you think it is even possible for someone to suggest that a mass of "average Joes" (you know, those people that hardly passed SAT's) would provide useful feedback to mathematicians or physicists to improve their research? And yet it appears perfectly normal that they suggest to "programmers" how to make things better:)

    Personally it appears to me that the value of user (that is what average Joe is) input is high when we discuss WHAT the software is going to do and how it will interact with the user. That is where his input ends and software design begins.

    In fact I beleive that it is precisely this "utilitarian everyone-can-do-it" approach to programming that breeds scores of iterative solution (i.e. those solutions that are found by iterating over the entire set of possible results, for those "average Joes" that did not know).

    Call this a flamebait if you will, but make sure the damn average Joe keeps his sweaty little brain out of my work!!!!!
  • Re:Welcome to 1982 (Score:3, Insightful)

    by hackstraw ( 262471 ) * on Tuesday February 28, 2006 @04:38PM (#14820357)

    I thought that was already the idea behind OSS, GNU, sourceforge, etc.

    Its open source, anybody can help, its just that much of the code of interest already has a group of developers and the codebase is so large and many times the bugs are so numerous, that even a decent coder is uninterested in fixing them.

    But, in theory Joe Average is welcome already...

  • by P3NIS_CLEAVER ( 860022 ) on Tuesday February 28, 2006 @05:15PM (#14820824) Journal
    A millwright (the guy that puts the stuff together) is also a skilled trade. Once again, getting any joe to put a chemical plant together other than carrying stuff would be a disaster.
  • by br00tus ( 528477 ) on Tuesday February 28, 2006 @05:51PM (#14821211)
    I have worked at Fortune 100 IT departments before, and it's obvious that the dream of the senior managers is to see if they can dumb down everything to where anyone off the street could do the job just as easily as they could carry boxes or push a mop. They have been trying to do this for a long time, and for the most part it does not work. There are some tasks which are simple and repetitive that can be pushed down to a lower level, and that would be the realm being talked of - mashing, macros and all of that. But most work you need someone who knows what they're doing. It is easy to write 200 lines of spaghetti code that perform an application, but once you get to 2000 lines, never mind 20,000 lines, you need to know what you are doing. You need, at the very least, the kind of programming practices mentioned in Code Complete.

    Behlendorf is a smart guy, and who knows what spin the reporter put on his comments. I'm sure Behlendorf is happy to see mashups and people getting into programming with a more simple programming language then, say, assembly. But this concept in the mind of a pointy-headed boss can lead to unpleasantness. I worked as a sysadmin once in a level 2 environment where they were trying to or thought they had made an idiot-proof wrapper around everything for us, but the idiot-proof wrapper itself had problems, so we not only had to deal with broken systems, but with the broken idiot-proofing they had tried to wrap around the systems.

    SQL was designed originally so that even non-technical managers could use it. I have worked with SQL for many years, and still have to look for examples on Google whenever I need to do a LEFT JOIN or something like that. The concept of "anyone can program" can be dangerous in the wrong hands.

  • by Musc ( 10581 ) on Tuesday February 28, 2006 @10:25PM (#14823468) Homepage
    I don't understand your reasoning at all.
    If I were asked 'how does my program work', and in fact I had implemented quicksort, why would I first
    tell you the definition of a sorted list, then start going through the details of my algorithm?
    After a while you might realize that I had implemented quicksort, but wouldn't it have been much
    easier for me just to say "I used quicksort"?

    Now, if you indeed want to probe my knowledge of sorting algorithms, to make sure that I didn't
    just memorize some code and parrot it back, you could ask me "ok, great, quicksort, now why did you
    choose quicksort, and how does THAT work"?

    And your other possible answers about "it works because I tested it", are also reasonable first responses,
    it is just a matter of how exactly you phrased your question and how the question was interpreted.
    Maybe "why does it work" sounds like it means "how do you know it worked"? In that case,
    "because I tested it" would be the logical answer.
  • by Kjella ( 173770 ) on Wednesday March 01, 2006 @07:47AM (#14825380) Homepage
    What I would really like is another layer That would take fuzzy specs, let me take an example quote:

    "Give the salesmen the opportunity to plan their visits and handling of their district/area of responsibility."

    To beat that into a real detailed spec of WHICH inputs should the salesmen give, WHAT views should they see and HOW they should be able to plan. I don't mean as actual code, but I mean down to the level of layout, fields, options, formats, formulas, filtering options (browsing, drop-down, freetext, radio-buttons, checkboxes), default filters, grouping, flags, stoplights, escalation, reports and so on.

    Project managers don't seem up to that job, a lot of that is minute detail and not really manager-level anyway. But if someone could do that job and give me a proper spec, the actual coding would go a lot quicker. In my experience half the time is either spent a) beating it out of the customer or b) the customer coming back saying "that's not how we want it to work".

    That should be exactly what these types of programmers are good for - they understand basic UI concepts but don't know how to build a proper back-end. If they could work that out in detail (if you have some good UI tools perhaps design the UI itself, but not one line of code), then you'd free up lots of programmer time that actually know how to program.

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...