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.'"
Welcome to 1982 (Score:5, Interesting)
I suppose part of it was that shrink wrapped software got better. Where as you originally might have had trouble finding the software you needed, today you can get software for just about anything! The other part of the problem was that programming became far more complex of a task. Instead of just taking data in and spitting out a report, it now has to provide a cool GOOEY interface (MMmmm... chocolate), and real-time interactivity. These types of features are not so easily grasped by the average person, and require training to master. Thus programming has been squarly placed in the hands of experts.
If Brian Behlendorf wants non-developers to write code, he's better have another BASIC up his sleeve. (AJAX BASIC? Hmmm... I might have code like that lying around...) Because I don't think I could possibly take another round of Fourth Generation Languages [wikipedia.org].
P.S. Excel VBA was a lousy attempt at getting non-coders to program. Don't do that to us again. Please. Make it truly home and SOHO focused like BASIC was.
Re:Welcome to 1982 (Score:2)
Re:Welcome to 1982 (Score:2)
Re:Welcome to 1982 (Score:2)
Remember when we used to insert pauses or slow down programs with a loop like this:
For really fast computers:
These days we'd hang any programmer we found pulling that stunt. ;-)
Re:Welcome to 1982 (Score:2)
Re:Welcome to 1982 (Score:2)
It's only complicated because you seem to insist on using a language which fell out of general favor about 20 years ago.
I think something like Python would meet your needs quite nicely. The drawback is, you'll have to learn its syntax. It's honestly not that big a drawback, if you already understand basic principles of
Re:Welcome to 1982 (Score:2)
Yes you would have to learn a new language but that isn't all that hard. Once you learn one language learning a new one is pretty simple. Depending on how long it was since you used basic last it might not be much harder to learn Python than to remember Basic.
I
Re:Welcome to 1982 (Score:2)
That's very true. I just went over to the Python page and it look slike what I need. See, make a foolish state ment on
Re:Welcome to 1982 (Score:2)
It's a textbook that until last year was used for the Intro to Comp Sci class at my university. They switched to a different textbook because this one didn't come with enough prewritten homework assignments for them, but I'm sure it'll be perfectly fine for you. You can probably skip Chapter 1, it's mostly terminology.
Re:Welcome to 1982 (Score:2)
If you have some prior programming experience the Python Tutorial included with Python is pretty good. There is also Dive Into Python [diveintopython.org] and How to Think Like A Computer Scientist: Learning With Python [greenteapress.com] available on the web and in print. In fact the Dive Into Python [diveintopython.org] site has a whole list of freely available books about Python. For whatever reason Python seems to have attracted more than its share of Free documentation.
Once you understand the basic syntax the Python Library that is available with Python gen
Re:Welcome to 1982 (Score:2)
Sounds like you want Python. Very simple language for beginners to use, interpreted so no compilation step, and yet very powerful so you can grow into full-blown software engin
Re:Welcome to 1982 (Score:3, Insightful)
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...
Re:Welcome to 1982 (Score:2)
Couldn't Lisp be the answer? For simple spreadsheet expressions the syntax would be at least as simple and easy-to-learn as Excel macros.
Re:Welcome to 1982 (Score:2)
I'd phrase that as "programming tools were miserable back then, so taking as long as a day or two for simple processing programs was common".
A day is a ton of programming time with (vaguely) modern languages and libraries. Really a lot of the "advanced document processing" that people need is one-liners in awk, and much of the more sophisticated stuff (that might need to operate on CSV and do DB-s
Welcome to 1962 (Score:2)
just anyone would be able to code in it.
Re:Welcome to 1982 (Score:2)
Program requirements weren't exactly high back then, so finishing a program in a day or two was quite common.
Yeah I remember. Many of the programs were relatively simple, the kind of things we today would do in Python. But the major factor that complicated coding was the GUI and event based programming (they go together). No GUI back then, if you programmed something and you actually had visual fields etc you thought you were so cutting edge. Programming was challenge / response with no looking for events
Average Joe approach == lame "solutions" (Score:2)
I work as a software developer at a very large company. It just sickens me when a manager contacts our team and asks something like this, "Hey, I was going to have one of my employees throw something together real quick in Excel but I'd like it to be more dynamic and on the web. Can you make a quick web version f
Re:Welcome to 1982 (Score:2)
SuperVGA Modes
Assembler Language
Mouse Interfacing
Graphics Drawing
Text Rendering
I'm guessing the answer is, "no". It's perfectly possible to provide a simpler interface to future programmers than the technology you list. It's just that no one has yet abstracted away from that level. (Well, at least not publicly, anyway.) Eventually the JavaScript level will be superceded by something else, and sanity will return to Web App prog
Isn't that the open source community? (Score:2, Insightful)
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.
darwin prize for project managers (Score:5, Insightful)
Re:darwin prize for project managers (Score:2, Insightful)
Re:darwin prize for project managers (Score:2)
I would imagine that most of the physical labor of building a chemical processing facility is probably done by people who are not chemical engineers. The guy who welds a pipe to a vat does not have to be a ChemE - he just has to know how to weld to the standard specified by the project definition. (in fact, I wonder how many ChemEs COULD do a
Re:darwin prize for project managers (Score:2, Insightful)
Heh. When Does "Open Source" Become 'Too' Open? (Score:2)
"Art" is easy, of course, if you have the right software. But programming is "rigorous" and non-programmers need not apply. But... but... wait! I thought "code is poetry?"
This is all quite amusing; thanks
Re:darwin prize for project managers (Score:2)
Where do you think Usenet postings come from?
Some of it is really good and the rest of it is what Spafford called "a herd of elephants with diarrhea".
Re:darwin prize for project managers (Score:2)
That's also called "Open Source Software". Honestly, I have yet to see any OSS source code that wasn't a rats nest of crappy code with very little to no documentation. Maybe the Linux kernel source is better; I dunno, I've never looked at it. I specifically remember looking at
Re:darwin prize for project managers (Score:2)
Linux kernel is one of the worst examples of open source code. NetBSD is one of the best. Enjoy.
DragonFly BSD is turning out some really great progress too, but there's still a lot of FreeBSDism left.
More != better (Score:2)
A small amount of good code is worth a lot more than volumes of crap.
Re:darwin prize for project managers (Score:2)
Because remember... (Score:2)
...none of us is as dumb as all of us!
Joe or Josie Average can barely walk and talk on a mobile phone at the same time. If you want to make toys for them to play with and create "neato thingys" great, but keep them out of programming before it dilutes the talent pool even more. I can just see these "average" programmers being duped into creating the next generation of malware.
I agree. And disagree =) (Score:2)
Joe or Josie Average can barely walk and talk on a mobile phone at the same time.
I agree 100%. This is why they make "hang up and drive" laws.
but keep them out of programming before it dilutes the talent pool even more.
And I kind of disagree here. I think having a lot of crappy programmers out there will dilute the talent pool - but that's a good thing for us.
Let's say ABC Corp. wants to hire a new programmer, but back in 1990. Odds are (because the pool isn't so diluted yet) they can find a
Re:I agree. And disagree =) (Score:2)
Computer Science doesn't teach you how to program. CS teaches you how to think like a computer scientist. The core language taught is immaterial. For example: Big O notation is the same in C or in Java. Data structures don't conceptually vary. Doubly linked lists ar
Great! Programming no longer requires thinking! (Score:3, Insightful)
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."
Re:Great! Programming no longer requires thinking! (Score:2)
The Internet2 [internet2.edu] is a real network. Perhaps you're thinking of DHTML?
Re:Great! Programming no longer requires thinking! (Score:2)
It depends. Simply recording a set of steps and attaching that to a button hardly counts as programming.
But, I, for example, created an Excel "macro" that spawns a Powerpoint application/presentation, copies in a template slide, then changes some text on the slide. It then populates the slide with a bunch of squares made up of 2 triangles, where this is a main number in the square (representing "current value"), and each triangle of the square is colored red, yell
Re:Great! Programming no longer requires thinking! (Score:2)
I have clients that talk about programming their computers with Microsoft Office or progra
Efficient? (Score:2)
Re:Efficient? (Score:2)
We are, however, talking about FOSS projects - where the price of admission is free and very community oriented. If such a project is big enough to attract a large audience - it will invariably have a good size su
Already fuzzy (Score:3, Interesting)
It started with VB, and will continue... More and more of these non-programmers start thinking they are developers, and getting hired into positions they don't belong in.... and America's corporations are paying for it in cold hard cash and wasted time.
Hopefully there will be a new paradigm in developer evaluation sometime in the near future, so that there will be a clear metric to determine a persons ability, and thus hire-ability.
Re:Already fuzzy (Score:2)
It started with VB, and will continue...
What's wrong with VB or other high level languages? At one time assembly was the only way I could get programs to run at reasonable speed on limited hardware. But those days are long past. There is no reason not to be able to do "rapid application developmen
Re:Already fuzzy (Score:2)
Hiring developper (Score:2)
- VERY BAD ANSWER : "It works because look, I wrote a quicksort"
- QUITE BAD ANSWER ": "It works because it compil
The problem isn't with writing bad code... (Score:2)
Re:The problem isn't with writing bad code... (Score:2)
big line between hardcore devs and joes (Score:4, Insightful)
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
Re:big line between hardcore devs and joes (Score:2)
The hardcore developers write the sofware that the joes use to build their software.
Easy Answer (Score:2)
Duke Nukem? (Score:2, Funny)
Homer Simpson writes software.... (Score:2)
I don't expect the results from this venture to be as good as that.
Nuff said,
=tkk
Re:Homer Simpson writes software.... (Score:2)
Fantasy. (Score:3, Funny)
Every five years or so (Score:4, Insightful)
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.
OOP and Non Programmers (Score:2)
It seems to me that the actual effect of OOP was to raise the bar. Joe Public seemed to have a much better inuitive idea of procedural programs.
BTW, I've always seen the distinction between programmer and public as b
Re:OOP and Non Programmers (Score:2)
No, that was 4GL. OOP was supposed to make programming more structured, easier to manage, and quicker to code. While many programmers will swear up and down that it has achieved these goals, researchers were never able t
4GL (Score:2)
The advent of OOP was accompanied with a large number of business articles about how OOP would re-engineer the whole world. There were quite a few books like Taylor's Business Engineering with Object Technology that were promising a complete tran
Re:Every five years or so (Score:2)
...and you'll just find bigger fools (Score:2)
No, it most certainly will not get fuzzy.
Billy G has tried for years to get the average office worker capable of making their own macros, then blobs of VB script, now inline
Like it or not,
Too many cooks (Score:2, Insightful)
Just like Microsoft Access! (Score:5, Insightful)
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.
Re:Just like Microsoft Access! (Score:2)
Next, you get everything pointed at Sql. Once that is done, take some time and get unit tests around the functions; this will help you in the next step. Document the functions while you write the tests. Finally, break the facade back into multi
Re:Just like Microsoft Access! (Score:2)
The same thing applies to code. I know that the st
Re:Just like Microsoft Access! (Score:2)
When I was still in high-school, I had done some programming and as my mother needed to port an old dBase address database to Windows, I did it for her using Access.
Well, this thing still works and is in use. However, when I look at it
Example : Children, ages & name (the database was for an organisation of parents)
Re:Just like Microsoft Access! (Score:2)
Thats how I decided to handle the very issue this time. I have fought it many times.
This way, you can have a plan of action on upgrading them and bringing them under the wing of IT. With a plan, you can budget more effectivly, as well as go to whoever does budget approval with a list of databases that take time from your scheduled work.
Also, creating a central data repository and training people on a method to use data from it may lesson your headaches. This also requires thin
An excellent idea! (Score:2, Funny)
The line will remain! (Score:2)
Application development isn't just understanding some basic logic and a few commands. It involves understanding
VB (Score:2)
Right... (Score:2)
2+2 = Differential Calculus (Score:2)
Couldn't be worse then Engineers Code. (Score:2)
DUCK
Not sure all the parts of TFA will come true (Score:2)
It seems to be a cyclical thing - where some particular language/technology/idea is going to revolutionize business process
If You Make It Accessable, They Will Come (Score:2)
Yet his spreadhseet are filled to bursting with simple summation formulae, and more advanced results. He even has a few if statements sprinkled in for good measure. He also records macros, carefully and with thought applied.
He also codes a lot in Access databases, regularly dipping in and out of the raw SQL. On occassion, he will even dip out to the command line, to what he refers to as "DOS".
After several years, he tried to get into
If You Make it Accessible, They Will *** The Pooch (Score:2)
1) These types of users sometimes attempt to create a fully realized system. Then when it gets beyond 40 users, and it starts tanking (recent real world example), then what happens? Either they're just hosed, or they have to call in the big guns - real Application Developers. We usually find its easier to start from scratch than attempt to work through the code to figure out what exactly it does. I can't tell you how many of these I've seen in a p
PERL (Score:2)
programming should be opened out to non-developers.
Isn't that what PERL is all about?
/me ducks.
No thank you sir (Score:2)
Even at my internship I see terrible programmers, I'm updating a simple calendar program used internally. The code is done so horribly, with super redundancies and back assward logic, that I'm not sure how it got put into production in the first place. I've wound up just rew
Actually, its a good idea (Score:2)
The thing to do is to have really good tools that allow domain experts to "program" for their needs, and thus take out the middle man-- you, the grumpy "rigorously-thinking" programmer.
Honestly, I can't believe the arrogance of some of the comments I read on here. Some of you asshats think you are god's gift of logic to the world.
what line? (Score:2)
no, its still there. plain and clear. hardcore programmers write the API, and the script kiddies still write lame little "hacking" utils that really dont do much of anything useful.
Fuzzy math (Score:2)
But if your job or your life depended on it, I think the logical choice would be to go with a hardcore developer.
The line might change, but will not become fuzzy. (Score:2)
Says who?
The line might change into one between software engineers and 'casual' programmers. The last group are people who previously would not write computer programs, but are now also able to create quick solutions to practical everyday problems. Which is definitely a good thing IMO.
On the other hand there are what I would call software engineers: people who know how to design and construct software in a well-structured
Yeah right (Score:2)
Has everyone become a mechanic? Has everyone become an electronics repairman?
The point is most people can hardly turn their computer on. It's getting *harder* for them to use computers as they become more complex. Computer programs have also become much more complex. Therefore computer programming is becoming more and more specialized. Now you hav
What Shortage? (Score:2)
Gee, are we suffering a programmer shortage? Is anyone being paid big bucks and stock options to jump companies this year? Were recruiters lined up at your door and ringing your phone off the hook with job offers last time you were looking for programming work?
I don't think we need more programmers yet.
But this would be great fodder for Dilbert -- Scott Adams are you listening?
Linus/Dijkstra (Score:2)
He's out of touch. (Score:2)
Joe User doesn't even know how to make an Excel Macro.
Joe User thinks computers are "magic".
Joe User and all his buddies laugh beer out their noses after one of them gives the local nerd a wedgie
Allow any idiot to write code... (Score:2)
In order for bad code to get "feedbacked" into good code, it will have to be read and understood and commented on by people who have the skills to have written it in the first place. Who is going to do that to "Joe Users" code when they could be more productive writing fres
Whoa? (Score:2)
Superb idea! :) Send the gold-plated BMW's to: (Score:2)
Everytime somebody writes some VBA or Excel macro code, another consultant gets a BMW.
All you GOOD programmers out there-- think back to the first year of programs you wrote back when you were not much more than an average Joe. >
For all the Joe's out there: Anybody can carve a steak, but that doesnt make you a brain surgeon. Anybody can write one or two lines of code. But somewhere around 4 lines, things start to break or act funny if you don't know exactly what you're doing.
programming should be opened out to non-developers (Score:2)
Anyone who worked in a large software company (such as Microsoft, for example) knows this is already so. There are tons of people who can't write good code to save their life and have only one skill - they excel at brown-nosing. And they do pretty well. They do drain life out of those who can code, so if their percentage increases beyond certain threshold those who can code leave for greener pastures and projects fold.
That's what Visual Basic is for. (Score:2)
Microsoft managed to extend it into a monster, but that's Microsoft. (Visual Basic, like FrontPage did not come from Microsoft; those were acquisitions.)
It's amusing that the Wikipedia article for "Mashup" begins with "To meet Wikipedia's quality standards, this article or section may require cleanup."
Explain it like I'm a 5 year old (Score:2)
As development gets dumbed down, it lets guys like me kludge together stuff but, for the average person, they have no interest in programming anything.
The illusion of productivity (Score:2)
Managers would spend all their time dinking around with their computers instead of managing. It gave the illusion that they were busy, busy, busy, but in reality the amount of work that was actually getting done was dismal. I saw more than one perplexed manager get dumped this way.
I don't think
Can't you just do it for me? (Score:2)
There's some special characteristic of natural languages that make them more expressive than the artificial formal languages used in science. Although the nat
That's the Problem Now! (Score:2)
* Ship a program with known bugs, and act surprised when the customer finds it. Gives them more time to figure out a fix, you see.
* Deadlines and ship dates are made by the Marketing Department, or Customer Service, not Engineering.
* The
Idiocy (Score:2)
Every managers dream (Score:3, Insightful)
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.
Worst idea, ever. (Score:2)
I remember when the Marketing team would tell the Project Management team what they wanted, analysts would spec it out, and developers would write to the specs. Then Quality
Or you can think the opposite (Score:2)
Programming requires an intellectual discipline, and an understanding of abstract mathematical concepts that is just not anybody's. Then we'll see systems working much better.
..and from the same think-tank: (Score:2)
Seriously, leave programming to programmers (Score:3, Insightful)
"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.
Yep. Think about how that would work. (Score:2)
or
#2. Every time you make a mistake ("mistake" being defined as doing it a different way than the person flaming you), you'd be informed of your ignorance via insults and told to RTFM.
WTF? That sounds more like a reality TV show than writing code. Only a masochist would spend time learning code that way (and being "taught" by sadists and people with ego issues).
Re:Second rate science (Score:2)
Re:Billions and billions of monkeys (Score:2)
of monkeys, random code generation still won't scale,
the number of possible codes increases exponentially with
code length.
That evll voice wouldn't be named Gene Ahmdal [vub.ac.be] would it?
(Yes, yes, I know. Ahmdal's law was about computer programs. But you have to admit that it applies this situation amazingly well.)