Live data from Hacker News

Ask HN Computer Scientists: could my app make the world a better place?

news.ycombinator.com

1–10 of 39 posts

Ask HN Computer Scientists: could my app make the world a better place?

#1
http://wizbang.sourceforge.net

I've been building an app that started as a college project. Its purpose is to let people build programs visually and learn programming without worrying about missing a semi-colon.

The program supports loops, conditional branches, number operations (add, subtract, etc.), input and output. The programs can be run immediately from inside WizBang.

BUT, the #1 feature is that after a program is built and the user has verified that it behaves how they want, they can click one button and compile their program down to working and valid code in C++, Python, and Java.

This allows the user to learn programming in the opposite way that is usually taught in universities. In WizBang, the user learns programming behavior before language syntax. Which, I hope, will allow more students to get excited about programming, instead of being scared away by compiler errors.

Any feedback is appreciated!

Re: Ask HN Computer Scientists: could my app make the world a better place?

#2
I like this approach (especially the idea that users can see the generated code and start to understand how they might write it themselves). I think you'll learn more by trying it out on non-programmers or beginning programmers and watching how they use it. Most of us here on HN probably can't evaluate it from the right point of view.

You might want to compare http://scratch.mit.edu/ for some UI inspiration.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#4
post #2

I like this approach (especially the idea that users can see the generated code and start to understand how they might write it themselves). I think you'll learn more by trying it out on non-programmers or beginning programmers and watching how they use it. Most of us here on HN probably can't evaluate it from the right point of view. You might want to compare http://scratch.mit.edu/ for some UI inspiration.

Scratch is a neat system. But I found it to be slower than just typing code. I know that's not the point, but my thinking is that doing something graphically with lego blocks should be faster than typing out all the characters one at a time.

I've worked a bit with graphical dataflow systems (like LabView) that can actually realize a much quicker time to operation than hashing out equivalent code by hand.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#5
A lot of people are pretty skeptical about visual programming, because it's been tried often, and it seems like text is a natural way to express complicated programs; easy to see a lot at once, easy to create quickly with the keyboard, simple to share, simple to search, and easy to make changes in multiple places with things like regular expressions.

What do you think your visual environment has to offer over a textual language without a lot of cruft and with relatively "simple" syntax?

Re: Ask HN Computer Scientists: could my app make the world a better place?

#6
post #2

I like this approach (especially the idea that users can see the generated code and start to understand how they might write it themselves). I think you'll learn more by trying it out on non-programmers or beginning programmers and watching how they use it. Most of us here on HN probably can't evaluate it from the right point of view. You might want to compare http://scratch.mit.edu/ for some UI inspiration.

Thanks for the feedback. We looked at scratch and Alice and a few other programs to get ideas about visual programming before we started building WizBang. I have done a few tests with people with no programming experience, but just wanted to let HN know about the project since I've seen lots of posts about "how do I teach programming to someone young?" and I think this is a great tool for that.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#7
post #4
post #2

I like this approach (especially the idea that users can see the generated code and start to understand how they might write it themselves). I think you'll learn more by trying it out on non-programmers or beginning programmers and watching how they use it. Most of us here on HN probably can't evaluate it from the right point of view. You might want to compare http://scratch.mit.edu/ for some UI inspiration.

Scratch is a neat system. But I found it to be slower than just typing code. I know that's not the point, but my thinking is that doing something graphically with lego blocks should be faster than typing out all the characters one at a time. I've worked a bit with graphical dataflow systems (like LabView) that can actually realize a much quicker time to operation than hashing out equivalent code by hand.

It is much slower for me to build a WizBang program than to fire up vim and write some code. I'm not sure if visual programming could ever be faster than a text editor, as a visual block (in WizBang anyway) usually corresponds to one or two lines of actual code.

But speed is not the point at all in WizBang. The point is to present a clean and simple environment in which beginners can build real programs without having to type more than variable names. I feel it is a much easier way to introduce programming than having someone install Visual Studio and writing a hello world program.

Re: Ask HN Computer Scientists: could my app make the world a better place?

#8
Which, I hope, will allow more students to get excited about programming, instead of being scared away by compiler errors.

I applaud you for your concern and effort, but I wonder about the unintended consequences of this. Do you really want to encourage someone who would be "scared away by compiler errors"? Compiling is easy, deploying is much harder.

If someone is scared away by the easy stuff, how will they respond to the real difficulties that await?

Maybe I'm a little old fashioned, but I think the battle scars earned conquering the little things like syntax help build a better programmer for everything else. I wouldn't want to take that building block away.

Post reply on HN