9 ms·
> There have been countless attempts to make software easier to write...Decades of efforts have gone into helping civilians write code...Nothing yet has done aw
by arxpoetica 11y ago
> There have been countless attempts to make software easier to write...Decades of efforts have gone into helping civilians write code...Nothing yet has done away with developers, developers, developers, developers.
I still believe. Someday, somewhere, something incredible will emerge for the right-brained bourgeoisie and literati.
- danpat 11y agoTaken to the extreme, could you not consider raising a child the ultimate programming exercise for humans? Perhaps the "right-brained" are already very good at programming other people, working with faulty, non-deterministic, somewhat chaotic computing environments where "left-brained" patterns of software development fall short....
- ForHackernews 11y agoNot just the right-brained. I want that as a professional software developer. I want a computer that will do what I thought, instead of what I foolishly typed. Basically, I want a computer as smart as a good junior dev so I can just yell my brilliant ideas at it, and it will do the dirty work for me.
- murbard2 11y agoThat's only because you think your thought exists and is correct. Programming forces you to confront the fact that it isn't, and that there are many aspects of it that you've overlooked.
- philh 11y agoSo ve wants a computer that can ask for clarification and point out edge cases, like a good junior dev can.
- NoMoreNicksLeft 11y agoAlso one that can figure out the edge cases on its own, because fuck that shit... it's a really simple idea, why can't you make it work?
- kincardine 11y agohttp://en.wikipedia.org/wiki/Reification_(fallacy) http://en.wikipedia.org/wiki/Reification_(fallacy) And, related... http://en.wikipedia.org/wiki/Reification_(computer_science) http://en.wikipedia.org/wiki/Reification_(computer_science)
- murbard2 11y agoThat's not exactly it though. The mistake is in thinking that your idea is detailed when it merely feels detailed. Somewhat similarly, entheogens do not really give you profound ideas so much as the feeling that the ideas you are contemplating are profound.
- jonahx 11y agoThis may be the reason, but doesn't have to be and often isn't. If you can explain your idea to another person, and know when they've executed it, why is that not evidence of your thought existing? Why is being able to translate your idea into the unnatural constraints of programming languages as they exist in 2015 the arbiter of correct thinking?
- bladecatcher 11y agoI remember someone referring to this as "intent driven programming". I once worked for a company that made a business rules engine. The idea was to describe a flowchart to the system and the software would ask what you wanted to do at each step of the flowchart in a top down manner till you fleshed out the whole program ..
- davidgerard 11y agoTop-down programming https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design - the Silver Bullet programming methodology of the 1970s.
- aswanson 11y agoCharles Simonyi attempted to design a company around this awhile ago: http://en.wikipedia.org/wiki/Intentional_programming http://en.wikipedia.org/wiki/Intentional_programming
- nawitus 11y agoThat's likely AI-complete.
- munificent 11y agoAs someone who has worked with junior devs before, that sounds like an absolute nightmare. There is, of course, nothing wrong with being junior. But the rate that requirements are misinterpreted even by intelligent humans is, I think, a fundamental reason why programming isn't doable by the masses yet. It's not because computers are hard, it's because knowing what we actually specifically want them to do is.
- mathattack 11y agoThe precision required in programming makes it hard for the right brained person who won't meet the computer at least part of the way.
- yarrel 11y agoI'm reminded of rms's anecdote about secretarial staff learning to write Emacs macros at MIT because they didn't realise it was programming. This suggests that current, important and well-meaning attempts to get non-programmers to meet code head-on as code may be misguided. Programming is generally easier if you're not thinking about how much it isn't something you do.
- arxpoetica 11y agoPrecision is not the only important element in programming. There's a level of abstraction, such as found in the field of semiotics, that is highly important to the world of computer science.
- igravious 11y agoI don't believe that there is no such thing as a right brained person. I think this is a cultural myth. Same as, "you only use 10% of your brain's power". These, and similar, are false memes - iow hokum.
- igravious 11y agoah crap, no -> any (how embarrassing (and how the hell?))
- harperlee 11y agoI believe one area of improvement for the excessive need for precision (most of us can agree that it is excessive) is that our current tools don't use context information enough. Humans deal a lot in uncertain areas and context is what helps us.
- tolmasky 11y agoTheres tons of successes, we just refuse to count them. Photoshop (as hinted in the article), is a super special purpose language for doing image operations. It no longer "looks" like coding, so we don't count it as coding for the masses. Excel is a much more general purpose language used by tons of "non-coders" (and arguably the most popular programming language on earth). Again, doesn't (often) look like normal programming, but then again, shouldn't this be expected? If it looked like normal programming, it would be normal programming and not successful.
- fragmede 11y agoTwo other more contemporary examples are the Android app Tasker, and the website IFTTT ( https://ifttt.com/ https://ifttt.com/ ). There's something about calling it programming that turns certain people off. I remember a story about a freshman in a physical mechanics class that complained about all the MATLAB code they had to write. The professors retort was that they were free to use a slide rule instead, and that particular freshman stopped complaining. But you're right. The mere act of calling it programming is somehow a problem. It's as if doing programming pigeonholes you into being a programmer until the end of days.
- Dewie3 11y agoKind of like how calling programs for proofs seems to make most programmers uneasy. (Not that most programs that you'll run into are proofs in any interesting sense.)
- tjradcliffe 11y ago> The mere act of calling it programming is somehow a problem. There are some words that carry with them unshedable connotations that people want to get away from so strongly that they will call themselves something else at the first possible instant. "Programmer" is one of them. "Poet" is another. No one makes money from poetry because as soon as a poet makes money they are something else: a musician, a performer, a copy-writer, whatever. Just don't call them a "poet", because "poets" are poor, sad people with no future, just as "programmers" are neckbearded nerdboys who smell bad, and no matter how many programmers (or poets) fail to live up to those stereotypes people will continue to impose them on reality come hell or high water.
- jordigh 11y agoScratch seems to me like an example of what a "real programming language for everyone" could look like. Indeed, Lego Mindstorms is based on a similar principle, and it's used for programming robots!
- guscost 11y agoThe trouble is that so much of what we call "programming" is actually the process of identifying all the implicit assumptions that go along with an idea and making them explicit. In other words, if you knew what to ask for in an unambiguous way then most of the "programming" would be done already. I'm working on a longer essay but that's the short version.
- agentultra 11y agoThis is a driving force behind the pedagogy of SICP -- to think in recursive functions. If you can break down your task into sub-problems and describe them clearly you just have to put a few parenthesis around it. Programming isn't so much about the "code" or syntax; it's semantics and intent aligned with the machine. If you can express your problem clearly then the program practically writes itself.
- guscost 11y agoSounds like I should sit down with a copy and finally get past the first chapter.
- m52go 11y agoLove it or hate it, Meteor has empowered a number of sales-types and small-business owners to create real tools to solve their own real problems. I've seen it happen in front of my own eyes!
- makeitsuckless 11y agoI omitted: ...and create so many new problems there will be years of work in it to clean the mess up. Been in "IT" for a few decades, I've seen it happen in front of my own eyes time and time again. The only self-help tool that has lasted so far has been the spreadsheet, and even that has gone horribly off the rails in many companies.
- m52go 11y agoHaha, agreed. I'd argue there's a strong chance of that happening with any tool meant to give non-professionals a 'professional' result. WYSIWYG web editors, divorce 'kits', many DIY 'kits' for home improvement, etc. Something inevitably goes wrong and the lawyer / contractor wonders just why the hell the client didn't just call a professional in the first place.
- michaelvkpdx 11y ago"something incredible will emerge for the right-brained bourgeoisie and literati." Yes, a real quantum computer. As long as we're dealing with 1's and 0's, there's an insurmountable barrier for those who would get creative with computing.
- Confusion 11y agoI don't understand why people believe 'everyone' should be able to write code without much trouble. Virtually every activity requires focus and exercise to learn. Example: you can't just take a hammer and start building furniture or you will create a mess. If you want something nice and useful, you need to think about what you want to build, how you are going to construct it, which materials you need, which tools you need. You need to experience how the materials behave, try out certain subconstructions, research what specialized tools exist. I believe this idea that 'everyone' should be able to code is like expecting everyone to be able to build furniture. If you want to, you can learn how to build furniture, but it's not easy and will never be easy. Why would coding be any different?
- randyrand 11y agoAI that takes natural language as input as spits out binaries for you =P
- JohnBooty 11y agoI still believe. Someday, somewhere, something incredible will emerge for the right-brained bourgeoisie and literati. I don't see it ever happening: because the bar of expectations rises at the same rate at which the tools improve. For example, think about what the NYTimes website looked like in February 2000: http://web.archive.org/web/19990202013312/http://www3.nytimes.com/ That probably took millions of dollars and a team of engineers back in the 2000. In 2015, a reasonably computer-literate person could do something close to that with SquareSpace or Wordpress.com in probably.... a week?[1] But that site would never pass muster in 2015. Something 10x (if not 100x) more complex is required for NYTimes.com in 2015, plus various native apps, plus a subscription service, and so forth. So you still need a team of engineers... ____ [1] I'm talking about the act of putting the articles onto a website, not reporting and writing the articles, obviously.
- Kaizyn 11y agoThe wrong people are working on this problem. The only ones who think about it are typically programmers who have made their peace with the machines as they are today. The interface of code seems simple and logical with little reason to try to improve on it. It would take a team of artists, musicians, human factors engineers, ethnographers and some clever computer scientists to do it. Such an enterprise would be high risk and very difficult to fund because of it.
- Too 11y agoNot likely. I've seen non developers try to write specs in whichever format they like: word, excel, drawings, hand written, in speech, mockup tools, anything. They decide exactly how they want to express their idea without any constraints. And yet, they always fail. There are always too many edge cases they do not think of. They only cover the "happy path" and quite often not even that. Just take the email conversation from the article as example, they didnt even touch the subject of implementation and it was already jibberish even for a developer. You need someone to actually sit down and squint their eyes over something, do research and run some test cases for a few hours before these emerge. Once you start doing this you are already by defition a software developer.