Ruby for my new business?

J

Jared Nuzzolillo

------=_Part_995_19030560.1124203555006
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Hello list. I am in the process of starting a new business venture in South=
=20
Florida. My partners are handling the business and financial aspects=20
(product development, initial funding, etc) and they've asked me to be in=
=20
charge of the technical aspects. The company is primarily offering a=20
service; software is only the icing on the cake. But I do feel that it coul=
d=20
make the difference between barely squeezing out a living, or large success=
 
J

James Britt

Jared said:
Hello list. I am in the process of starting a new business venture in South
Florida. My partners are handling the business and financial aspects
(product development, initial funding, etc) and they've asked me to be in
charge of the technical aspects. The company is primarily offering a
service; software is only the icing on the cake. But I do feel that it could
make the difference between barely squeezing out a living, or large success.

So, I am expected to make nearly all of the technology decisions. My
background is in javascript. I've been using it to write server-side ASP
pages and client side DHTML for 6 years now. While many would scoff at the
idea of professional software being written in javascript, it is a very
dynamic, agile language and has served me quite well.


And many would agree with your approval of JavaScript. It has suffered
from a bazillion poor examples and a forest of bad books.

But when I found Ruby,
I almost instantly fell in love. It almost felt as if Matz looked at my top
ten language features list and implemented eight or nine of them.

I would LOVE to use Ruby for this new venture; the agility and efficiency it
will provide will be vital to our success. But, my biggest fear is that,
when I need to hire help (probably two more programmers in the next six to
eight months), I will be unable to find experienced Ruby practitioners. I am
familiar with the "Python Paradox" and I agree with the concepts behind it,
I am just wildly ignorant of the market conditions down here in South
Florida.

I think you'd be surprised. But, if you have doubts, design a small,
relatively inexpensive project, and advertise for Ruby developers, and
see how it goes. Consider it the cost of market research and product
planning.

If you cannot find people, or they are of poor quality or of a
disagreeable nature, then reconsider.

If there are any colleges near you, see if they have CS or EE
departments and poke around there. You only need one or two smart people.

James


--

http://www.ruby-doc.org - The Ruby Documentation Site
http://www.rubyxml.com - News, Articles, and Listings for Ruby & XML
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
 
K

Kirk Haines

pages and client side DHTML for 6 years now. While many would scoff at the
idea of professional software being written in javascript, it is a very
dynamic, agile language and has served me quite well. But when I found
Ruby, I almost instantly fell in love. It almost felt as if Matz looked at
my top ten language features list and implemented eight or nine of them.

If you haven't seen it, you should take a look at ruby.js. It's a very
interesting implementation of a chunk of Ruby's core classes in Javascript.
Using it is almost like writing Ruby in JS. And even if one does nothing
more than look at it, it is educational.
I would LOVE to use Ruby for this new venture; the agility and efficiency
it will provide will be vital to our success. But, my biggest fear is that,
when I need to hire help (probably two more programmers in the next six to
eight months), I will be unable to find experienced Ruby practitioners. I
am familiar with the "Python Paradox" and I agree with the concepts behind
it, I am just wildly ignorant of the market conditions down here in South
Florida.

Put some feelers out locally and see what kind of response you get. Find a
small project and advertise for people. Ruby is currently seeing a lot of
exposure, and the number of people who consider themselves Ruby programmers
is growing daily. That number will be much higher in 8 months than it is
today, I have no doubt, but without spending a lot of money, you and your
company should be able to get some idea of what sort of base you're starting
with.
Most likely, I would have to have on-site programmers (I don't know that I
would have success in convincing my partners otherwise). When I start
searching for help in six to eight months, will I be able to find two or
more programmers in a timely manner (say, a month or so from when I begin
searching)? Have you had trouble finding Ruby programmers? Have you had any
luck enticing ruby hackers to relocate to your area?

It may be a difficult sell, but having worked for many, many years in various
sorts of telecommuting positions, it can work well with the right people. I
do contract work now, and while travel is an option, I've found that I can do
almost everything that I need to do via telephone and internet. So while it
may be a tough sell to your partners, I wouldn't rule it out completely. It
can work well.

As for entincing ruby hackers to relocate, I think that most people's
experience in that area is still too new. Except for small, occasional
examples, Ruby does not have a lot of history as a mainstream language in
primary use by companies, especially those offering relocation as part of
their compensation package.

Given a good enough job, though, Ruby programmers are just like anyone else;
some of them will certainly relocate for a good job.


Kirk Haines
 
J

James Edward Gray II

It may be a difficult sell, but having worked for many, many years
in various
sorts of telecommuting positions, it can work well with the right
people.

Yes, I agree. While I do a lot of local contracting work, I just got
through completing a Ruby project for a company out east, all by
telecommuting. It went very well in my opinion. We completed a
small but very complex project in about 15 hours of work.

James Edward Gray II
 
B

Brock Weaver

We need more people like you Jared! Asking fellow developers what
their thoughts are, basing business decisions off of their responses.=20
Glad to see that actually happens in some companies.

I would gladly be a remote ruby developer for you -- there's not much
else to do in Iowa anyway. :)

Just out of curiosity, what is the one or two that Matz missed out of the t=
en?

Hello list. I am in the process of starting a new business venture in Sou= th
Florida. My partners are handling the business and financial aspects
(product development, initial funding, etc) and they've asked me to be in
charge of the technical aspects. The company is primarily offering a
service; software is only the icing on the cake. But I do feel that it co= uld
make the difference between barely squeezing out a living, or large succe= ss.
=20
So, I am expected to make nearly all of the technology decisions. My
background is in javascript. I've been using it to write server-side ASP
pages and client side DHTML for 6 years now. While many would scoff at th= e
idea of professional software being written in javascript, it is a very
dynamic, agile language and has served me quite well. But when I found Ru= by,
I almost instantly fell in love. It almost felt as if Matz looked at my t= op
ten language features list and implemented eight or nine of them.
=20
I would LOVE to use Ruby for this new venture; the agility and efficiency= it
will provide will be vital to our success. But, my biggest fear is that,
when I need to hire help (probably two more programmers in the next six t= o
eight months), I will be unable to find experienced Ruby practitioners. I= am
familiar with the "Python Paradox" and I agree with the concepts behind i= t,
I am just wildly ignorant of the market conditions down here in South
Florida.
=20
Most likely, I would have to have on-site programmers (I don't know that = I
would have success in convincing my partners otherwise). When I start
searching for help in six to eight months, will I be able to find two or
more programmers in a timely manner (say, a month or so from when I begin
searching)? Have you had trouble finding Ruby programmers? Have you had a= ny
luck enticing ruby hackers to relocate to your area?
=20
My apologies for the long message.
=20
Thanks so much,
Jared Nuzzolillo
=20
=20



--=20
Brock Weaver
http://www.circaware.com
 
J

Jared Nuzzolillo

------=_Part_1399_22554979.1124208090832
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Thank you for all of your comments so far. I am reading and considering all=
=20
of your advice. Please, do continue to share.

------=_Part_1399_22554979.1124208090832--
 
J

James McCarthy

I still think remote work is much better.
It's cheaper, you have a far larger pool of telent (the whole world)
and you can do it on a contract basis.

If I were you I would try REALLY HARD at trying to sell the remote work thi=
ng.

--=20
My Blog: http://27degrees.blogspot.org
 
J

Jared Nuzzolillo

------=_Part_1495_14189477.1124209913069
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Brock,

Bear in mind that my viewpoints have evolved since I crafted my list. At th=
e=20
time, I associated a languages flexibility with it's inheritance model: i.e=
,=20
languages with prototype-based inheritance always seemed far more flexible=
=20
to me. Ruby has since proved that class-based languages can be just as=20
flexible and expressive as prototype-based languages, but I still feel that=
=20
prototype-based languages have a certain conceptual elegance that is lackin=
g=20
in class-based alternatives. The other issues are really minor, but to put=
=20
them briefly: 1) I really miss the object literal syntax from javascript 2)=
=20
I love the way Io ( http://www.iolanguage.com/ ) allows you to grab a hold=
=20
of the message tree and modify, remove or defer nodes of it at will 3) I=20
love the transparent futures of Io...=20

Mind you, I've considered switching to Io, but I haven't used it enough to=
=20
really know whether the differences would make it worthwhile. Somehow, I=20
doubt it; there is just too much to love about Ruby, including this amazing=
=20
community.

Thanks,
Jared

=20
We need more people like you Jared! Asking fellow developers what
their thoughts are, basing business decisions off of their responses.
Glad to see that actually happens in some companies.
=20
I would gladly be a remote ruby developer for you -- there's not much
else to do in Iowa anyway. :)
=20
Just out of curiosity, what is the one or two that Matz missed out of the= =20
ten?

------=_Part_1495_14189477.1124209913069--
 
B

Brock Weaver

You know, James' comment made me realize something -- what is a
"typical" ruby developer that you would consider hiring? If your
partners do not like the idea of someone working remotely, my gut
instinct would be because they have communication concerns or trust
concerns.

Most seasoned developers -- which gravitate towards ruby -- are
professionals and expect to be treated as such. Neither of the
reasons above would justify the "locality" requirement.

You may want to consider this when choosing the technologies to base
your business on -- not just the technical aspect, but the cultural
aspect of the developers who live and breathe your selected
technologies.

If I were in your shoes, I would have to make the assumption that if I
"bet the farm" on ruby, I would have to be open to hiring
telecommuting developers.

I still think remote work is much better.
It's cheaper, you have a far larger pool of telent (the whole world)
and you can do it on a contract basis.
=20
If I were you I would try REALLY HARD at trying to sell the remote work t= hing.
=20


--=20
Brock Weaver
http://www.circaware.com
 
J

Jared Nuzzolillo

------=_Part_18_22279832.1124210904378
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Brock,

Bear in mind that my viewpoints have evolved considerably since I crafted m=
y=20
list. At the time, I associated a language's flexibility with its=20
inheritance model: i.e., languages with prototype-based inheritance always=
=20
seemed far more flexible to me. Ruby has since proved that class-based=20
languages can be just as flexible and expressive as prototype-based=20
languages, but I still feel that prototype-based languages have a certain=
=20
conceptual simplicity and elegance that is lacking in class-based=20
alternatives.=20

The other issues are really minor, but to put them briefly:=20

1) I really miss the object literal syntax from javascript=20
2) I love the way Io (http://www.iolanguage.com/) allows you to grab a hold=
=20
of the message tree and modify, remove or defer nodes of it at will=20
3) I love the transparent futures of Io...

Of course, I have considered switching to Io, but Ruby somehow seems more=
=20
practical. There is just too much to love about Ruby, including this amazin=
g=20
community.

Thanks,
Jared

=20
We need more people like you Jared! Asking fellow developers what
their thoughts are, basing business decisions off of their responses.
Glad to see that actually happens in some companies.
=20
I would gladly be a remote ruby developer for you -- there's not much
else to do in Iowa anyway. :)
=20
Just out of curiosity, what is the one or two that Matz missed out of the= =20
ten?

------=_Part_18_22279832.1124210904378--
 
P

Phil Tomson

It may be a difficult sell, but having worked for many, many years in various
sorts of telecommuting positions, it can work well with the right people. I
do contract work now, and while travel is an option, I've found that I can do
almost everything that I need to do via telephone and internet. So while it
may be a tough sell to your partners, I wouldn't rule it out completely. It
can work well.

As for entincing ruby hackers to relocate, I think that most people's
experience in that area is still too new. Except for small, occasional
examples, Ruby does not have a lot of history as a mainstream language in
primary use by companies, especially those offering relocation as part of
their compensation package.

Given a good enough job, though, Ruby programmers are just like anyone else;
some of them will certainly relocate for a good job.


Since this is South Florida we're talking about, I suspect that if you
advertise in the December to February timeframe you'll find lots of eager
takers. However, advertising right now (near the height of hurricane
season) may not be as fruitful. Every new hurricane that forms out there
will offer too much negative publicity for your area.

Yes, South Florida sounds enticing - IF I could live there from November
through May and spend the rest of the year somewhere else ;-)



Phil
 
D

Daniel Nugent

I'm in no ways any sort of authority on this subject or have any
experience hiring Coders/Developers/Programmers/Whatever, but why is
it specifically important that they have Ruby knowledge or experience
before hiring them to the job?

Any codemonkey worth his salt can pick up a new language in about a
month and be pretty productive in it by the end of the next month. I
understand that the margins are pretty narrow on new companies, but
it'd seem to me that a better hiring strategy in the long term would
be to hire really great guys and then ask them to adapt to your
technology.

=20
=20
Since this is South Florida we're talking about, I suspect that if you
advertise in the December to February timeframe you'll find lots of eager
takers. However, advertising right now (near the height of hurricane
season) may not be as fruitful. Every new hurricane that forms out there
will offer too much negative publicity for your area.
=20
Yes, South Florida sounds enticing - IF I could live there from November
through May and spend the rest of the year somewhere else ;-)
=20
=20
=20
Phil
=20
=20


--=20
-Dan Nugent
 
J

Jeffrey Moss

...but I still feel that prototype-based languages have a certain
conceptual elegance that is lacking in class-based alternatives.

It's interesting the part western philosophy played in language design, I
tend to agree with you about the conceptual nature of class vs prototype
inheritance, but class based inheritance is easier for me to use, easier to
lay out in my mind.

Here's an interesting read on the subject:
http://www.helsinki.fi/~jppesone/papers/kandi.html

Summary:
From an ontological point of view the prototype-based languages win. There
is little evidence of a strange platonic realm of categories, but
class-based languages don't necessarily have to be realist in their
ontology - a language can include universals and "Santa Claus" without
committing to realism (von Wrigth 1972, 198). Unless the prototype-based
languages include some notion of categories they lack something
psychologically very important: the capacity of categorization.

-Jeff
 
B

Brian Mitchell

=20
It's interesting the part western philosophy played in language design, I
tend to agree with you about the conceptual nature of class vs prototype
inheritance, but class based inheritance is easier for me to use, easier = to
lay out in my mind.
=20
Here's an interesting read on the subject:
http://www.helsinki.fi/~jppesone/papers/kandi.html
=20
Summary:
From an ontological point of view the prototype-based languages win. Ther= e
is little evidence of a strange platonic realm of categories, but
class-based languages don't necessarily have to be realist in their
ontology - a language can include universals and "Santa Claus" without
committing to realism (von Wrigth 1972, 198). Unless the prototype-based
languages include some notion of categories they lack something
psychologically very important: the capacity of categorization.
=20
-Jeff

Very interesting. Thanks for the link. This is all ironic right now as
I am currently working on implementing a complete Ruby environment
inside/using Io. It has been interesting on how easy it was to lay the
class based design of Ruby over the prototype based Io. I am not quite
done solidifying the final translation between the two but when I get
further I will throw the code up for consumption.

Sometimes all we need is an initial pattern to help prime the mind.
Then we can go on to clone or copy that pattern into classes or
prototypes.

Brian.
 
J

Jared Nuzzolillo

------=_Part_1019_79046.1124225742241
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Jeff,
Thanks, I will read it tonite when I get home. Without having read it,=20
though, I can say that I still think of things as Categories in=20
prototype-based languages. For instance, in Io, a create a 'class' with:

Dog =3D Object clone
Dog speak :=3D method(write("bark"))

And then I create individual dogs with:

fido =3D Dog clone
spot =3D Dog clone

spot speak
fido speak

My point is that I still use the objects as if there were categories and=20
classes of things (eg, you will still find a Button 'class') but that there=
=20
are no differences between classes and instances as far as the language is=
=20
concerned. But I am sure the author of the paper means something more=20
profound.

Thanks again,
Jared Nuzzolillo


=20
=20 r=20
=20
Very interesting. Thanks for the link. This is all ironic right now as
I am currently working on implementing a complete Ruby environment
inside/using Io. It has been interesting on how easy it was to lay the
class based design of Ruby over the prototype based Io. I am not quite
done solidifying the final translation between the two but when I get
further I will throw the code up for consumption.
=20
Sometimes all we need is an initial pattern to help prime the mind.
Then we can go on to clone or copy that pattern into classes or
prototypes.
=20
Brian.
=20

------=_Part_1019_79046.1124225742241--
 
P

Pit Capitain

Brian said:
Very interesting. Thanks for the link. This is all ironic right now as
I am currently working on implementing a complete Ruby environment
inside/using Io. It has been interesting on how easy it was to lay the
class based design of Ruby over the prototype based Io. I am not quite
done solidifying the final translation between the two but when I get
further I will throw the code up for consumption.

Since I'm interested in both languages, too, could you describe in a few
more words what you are doing and what you want to achieve with that? In
any case I'm looking forward to your code.

Regards,
Pit
 
B

Brian Mitchell

=20
Since I'm interested in both languages, too, could you describe in a few
more words what you are doing and what you want to achieve with that? In
any case I'm looking forward to your code.
=20

Sure. I am currently implementing Ruby's built-in's as primitives
using pure Io. That is a big task. You never realize how many methods
some of these classes have until you try to write them all... :)

My goal is to have a working upper level language. That is, I want to
support all of Ruby's built-ins that way pure ruby that uses only
those should work. At a future time, if there enough volunteers to
help out, I would like to see if I could shim the ruby C API onto Io
but at this point I am not even going to consider it. So far the two
large chunks are built-ins and a parser (ideas pending on replacing
the Io parser anyway). Small notes include the fact that Io does
asymmetric coroutines but not continuations. I will have to find a way
to get callcc to work. Io is similar in the fact that numbers are
represented directly using what would be a reference but they are all
doubles. I would need to build a Fixnum->Bignum system for Ruby.

Right now Ruby refers to the 1.8 branch "spec", but I think I will
swap over to trying to match the 2 spec once I am farther along.

The reason for starting this is really not just one reason. Here are a few:

1) So I can tightly integrate my Io and Ruby code. Two very nice languages.
2) So I can learn more about Ruby.
3) An alternative implementation of Ruby would be nice (Ruby needs a
good external spec still.... source code only goes so far.)
4) Io's VM is extremely clean and well written. Customization and
experimentation should be much easier. (I've always wanted to
experiment with ruby but some of the code is hard to grasp).
5) I think Io is better for hosting languages than writing in Io
itself. This makes the language great for DSLs More so than ruby. I am
more productive in ruby (library would be part of the reason). With
the combination of the two I get quite a few neat things.
6) Interactive and dynamic interpreter/VM. Io is much more friendly at
runtime than C. I can imagine a lot of creativity can be found here.
7) Io is fast right now. That is with out any real optimization
technique. Using the right code I can auto-refactor Ruby code to run
faster than the current non-yarv VM (guess).
8) Io has plans for a plug-able VM. Micro is a small project that uses
GNU Lightning to get this done.

(Those last ones are a bit of a stretch but I threw them in for a good
measure of insanity.)

All in all, I am serious about this project for at least number 2. I
look forward to Rubyconf this year where I hopefully can show some of
this stuff between presentations.

Brian.
 
P

Pit Capitain

Brian said:
Sure. I am currently implementing Ruby's built-in's as primitives
using pure Io. That is a big task. You never realize how many methods
some of these classes have until you try to write them all... :)
...

Brian, thanks for your detailed answer. This is a big task indeed,
reminding me of the Pugs project. Though I find this really interesting,
I think that in the next couple of months I won't be able to help.

Good luck and keep us informed from time to time.

Regards,
Pit
 

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

Forum statistics

Threads
473,781
Messages
2,569,615
Members
45,299
Latest member
JewelDeLaC

Latest Threads

Top