Would ruby be easy to code in using voice recognition?

P

Pleos

I was interested in giving ruby a try. I have been coding for years
in java and C# and was interested in something new.

One problem though is that I code by voice. I generally accomplish
this by using macros to create variable names and such. But a huge
part of being able to code is the auto completion features associated
with IDE's for those languages. For example, I can say "dot five down
press enter key" to select a method without using any macros. The
problem with using macros is I cannot correct the system when it does
something wrong. So if I say "class name this is a class" it will
output ThisIsAClass but if it misunderstands me and types out, say,
TheseIsAClass, I cannot correct it by saying "correct that" since the
macro system is external to the voice recognition software. Normally
I can use single English word identifier names in a lot of contexts
but usually not for method names. This makes auto completion quite
important to me. The other alternative is adding method names to the
voice-recognition vocabulary, but this really interrupts your workflow
and makes coding less fun.

I searched around a little bit and couldn't find environments that
could support that for ruby. I understand it is more complicated
given it is not statically typed, but I though I would be able to find
at least something.

So my question is, does anybody know of a reasonable way to get at
least some amount of auto completion while developing ruby code? Or,
does anybody have any recommendations for other languages that would
be fun to try and do have such a feature?

For that last one, I should specify why I wanted to move away from
Java/C#

For Java, I just kept getting annoyed that certain features weren't
available or that things were so annoying to code. Features that I am
shocked haven't been added are verbatim strings. I use lots of
regular expressions and it is incredibly annoying to have to unescape/
escape my expressions to use them in other places. It's also annoying
to have to un-escape it in your head when you are reading the code
looking for bugs. As for annoyances during development, I wrote
http://www.azimux.com using struts a few years ago. At the time this
was the most popular way of building Java-based Web applications. I
absolutely HATED working with this framework. I enjoyed writing the
backend code of the game, but the web interface was like stabbing
yourself in the face repeatedly. I got sick of putting redundant
information in various Java files and XML files. This completely
interrupts my workflow and makes coding not fun. Also, deployment and
testing was so slow that it wasted a lot of my time. I looked into
coding in JSF for some new projects and still felt like there were
little problems I didn't want to deal with. I looked in the
frameworks like Seam and they had a lot of cool features but still
things I didn't feel like doing.

C# on the other hand, I actually like quite a bit. I wrote a few
applications for my last job in C# and for windows applications and
backend libraries it was pretty fun to code in, but again, I didn't
like the way of doing web work. I didn't like the way ASP.NET
functioned. Infact, I think I like ASP.NET less than I like JSF (at
least the way it's supposed to be used.) One thing I was thinking of
doing and am still considering is using the spring.NET framework.
This would allow me to use ASP.NET in a way that would be more
enjoyable. The other option would be to wait for the Microsoft MVC to
come out and see if that would work...

BUT I hate using windows as a server. I much prefer to use Linux as
my servers. Ever since I had to start coding by voice (due to a
neuromuscular disease), I had to use windows for development because
there are no decent voice-recognition applications for Linux. This
was the main reason I rewrote my game in Java, because of the ease of
being able to develop on one platform and deploy to another.
Originally my game was written in PHP with a C++ backend (PHP was
pretty popular at the time.) I HATED working in PHP, which makes me
worried that I would dislike ruby, though the differences make me
think I might find ruby quite fun. To be fair, that was php3. C++
was fun to work on in the backend, but I feel that it is unnecessarily
complex and so my C++ days are probably done. Also, rewriting classes
in both C++ and PHP so that the backend code could pass values to the
PHP code was a huge pain in the ass.

At anyrate, that should be enough information for you to recommend me
an IDE to use with ruby or a new language to play around with. My
primary concerns are:

1. Having fun while coding
2. Being able to code somewhat productively using my voice for 80% or
more of the code.

and some keys about how I'm used to coding are:

1. Java annoys me but I find C# somewhat pleasant. Though, with C#,
I don't like using windows as a server, Mono is full of bugs and/or
missing features (one of the bugs I reported to the mono project was
so trivial that the fact it wasn't reported made me think nobody is
using it in a serious manner.) I also do not like the ASP.NET way of
doing things and other frameworks for C# seem a little complicated and/
or still mostly under development. There's also fewer interesting
projects going on in the open-source C# community (this is an area
that java wins is that there's more interesting projects going on
using it.)
2. I use autocompletion heavily to reduce the amount I need to type
and time I have to spend training my voice recognition. When I spend
time training and correcting voice typos in the middle of solving a
problem when I'm on a roll makes me want to kill my computer.

Thanks for any advice you may have!

Miles
 
S

Sharon Phillips

So my question is, does anybody know of a reasonable way to get at
least some amount of auto completion while developing ruby code?

Try Netbeans. There's a ruby only package available (which is about as
lightweight as Netbeans gets!)

It seems to have one of the best Ruby code completion mechanisms I've
seen and brings up the docs to the given method/class as well.
Plus, it's an excellent ide for managing your projects.

Cheers,
Dave
 
R

Richard Conroy

I was interested in giving ruby a try. I have been coding for years
in java and C# and was interested in something new.

<big response snipped>

Hmm, I don't know of anything that allows you to code by voice,
unless your voice recognition software can operate in a way that
is application independent (i.e. operates by faking existing key clicks).

Theres a lot of potential there alright - voice recognition could be used
as a way to alias the various macro/code complete functions of many
IDEs. One thing I find about Ruby development is that I use a combination
of editors and IDEs. You will too, until you settle on one you like.

Netbeans is doing a lot of good at being a unified Ruby + Ruby on Rails
IDE across all major OSes, but there's lots of loyalty to not-so-humble
programmer editors, and the classics (textmate, Vim, emacs etc.)

However there is a fair chunk of auto-completion in most tools, even
if it is not like the dictation style to which you are familiar.
 
B

brabuhr

One problem though is that I code by voice. I generally accomplish
this by using macros to create variable names and such. But a huge
part of being able to code is the auto completion features associated
with IDE's for those languages. For example, I can say "dot five down
press enter key" to select a method without using any macros. The
problem with using macros is I cannot correct the system when it does
something wrong. [...]

I searched around a little bit and couldn't find environments that
could support that for ruby. I understand it is more complicated
given it is not statically typed, but I though I would be able to find
at least something.

So my question is, does anybody know of a reasonable way to get at
least some amount of auto completion while developing ruby code?

IDEs that look to have some degree of Ruby auto completion support:
http://wiki.netbeans.info/wiki/view/Ruby
http://www.aptana.com/rails/
http://www.sapphiresteel.com/
http://www.activestate.com/Products/komodo_ide/

I have no idea how well they work in general or if they would work
with your voice software.
 
M

M. Edward (Ed) Borasky

Richard said:
<big response snipped>

Hmm, I don't know of anything that allows you to code by voice,
unless your voice recognition software can operate in a way that
is application independent (i.e. operates by faking existing key clicks).

You could get close in Forth. At least the core Forth words have a
standardized pronunciation, like "dupe" for DUP, "tick" for "'", etc.
But I don't know if anyone has ever done it. Given the voice recognizers
in cell phones, it wouldn't surprise me a bit if someone has.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top