# Would ruby be easy to code in using voice recognition?

**URL:** <https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712>\
**Category:** Ruby\
**Created:** [November 30, 2007, 5:30am UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712 "2007-11-30T05:30:47Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Pleos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Pleos](https://www.ruby-forum.com/u/Pleos)\
**Post date:** [November 30, 2007, 5:30am UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712/1 "2007-11-30T05:30:47Z")

</div>

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](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](http://ASP.NET)  
functioned. Infact, I think I like [ASP.NET](http://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](http://spring.NET) framework.  
This would allow me to use [ASP.NET](http://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](http://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

---

<div class="post-metadata">

**Author:** ![Pleos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Pleos](https://www.ruby-forum.com/u/Pleos)\
**Post date:** [November 30, 2007, 11:20am UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712/2 "2007-11-30T11:20:06Z")

</div>

> 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

---

<div class="post-metadata">

**Author:** ![Pleos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Pleos](https://www.ruby-forum.com/u/Pleos)\
**Post date:** [December 3, 2007, 3:21pm UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712/3 "2007-12-03T15:21:56Z")

</div>

On Nov 30, 2007 4:30 AM, Pleos [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

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

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.

---

<div class="post-metadata">

**Author:** ![Pleos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Pleos](https://www.ruby-forum.com/u/Pleos)\
**Post date:** [December 3, 2007, 5:41pm UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712/4 "2007-12-03T17:41:18Z")

</div>

On Nov 29, 2007 11:30 PM, Pleos [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> 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://wiki.netbeans.info/wiki/view/Ruby)  
[http://www.aptana.com/rails/](http://www.aptana.com/rails/)  
[http://www.sapphiresteel.com/](http://www.sapphiresteel.com/)  
[http://www.activestate.com/Products/komodo\_ide/](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.

---

<div class="post-metadata">

**Author:** ![Pleos](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/a5b964/32.png) [@Pleos](https://www.ruby-forum.com/u/Pleos)\
**Post date:** [December 4, 2007, 8:29am UTC](https://www.ruby-forum.com/t/would-ruby-be-easy-to-code-in-using-voice-recognition/121712/5 "2007-12-04T08:29:32Z")

</div>

Richard C. wrote:

> On Nov 30, 2007 4:30 AM, Pleos [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:
> 
> > I was interested in giving ruby a try. I have been coding for years  
> > in java and C# and was interested in something new.
> 
> 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.
