Is Ruby on Rails for beginner programmers?

Hello,

I am not a programmer but I would like to learn and develop more
complex websites than the ones I have done in the past. I will not
learn for the pleasure of learning, but I will do it as I need to
develop my website.
I am pretty good with HTML, and I know a bit of PHP and MySQL.
I was about to plunge my head in my big PHP/MySQL book when I realized
that it may not be the best programing language to learn.
Would you recommend Rails for beginners?
If not, what language would you recommend?

Thanks a lot in advance.

Note: I am sure that some people might say that the best programing
language would depend on what type of website I want to create.
However, I am not going to learn every languages before starting.
Instead, I will just work with constrains of the language I chose.

Etilyeti wrote in post #955186:

Hello,

I am not a programmer but I would like to learn and develop more
complex websites than the ones I have done in the past. I will not
learn for the pleasure of learning, but I will do it as I need to
develop my website.
I am pretty good with HTML, and I know a bit of PHP and MySQL.
I was about to plunge my head in my big PHP/MySQL book when I realized
that it may not be the best programing language to learn.
Would you recommend Rails for beginners?

I think so. It may take you a little longer to get up to speed, but
you’ll be rewarded with a very well-designed language and framework.

If not, what language would you recommend?

Rails isn’t a language.

Thanks a lot in advance.

[…]

However, I am not going to learn every languages before starting.
Instead, I will just work with constrains of the language I chose.

Poor idea. Of course you can’t learn every language before starting,
but it’s silly to choose one that constrains you too much. Ruby
doesn’t. That’s why I like it. :slight_smile:

Bonus tip: do all development test-first. Get into the habit of using
RSpec, Cucumber, and Autotest as soon as possible. Also set up a
version control system (I recommend Git) and use it religiously. These
two things are essential to programming in the 21st century.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

On Mon, Oct 18, 2010 at 1:54 PM, Marnen Laibow-Koser
[email protected] wrote:

Rails isn’t a language.

I consider Rails to be a domain specific language.


Greg D.
destiney.com | gregdonald.com

Greg D. wrote in post #955221:

On Mon, Oct 18, 2010 at 1:54 PM, Marnen Laibow-Koser
[email protected] wrote:

Rails isn’t a language.

I consider Rails to be a domain specific language.

Parts of it are, but I think it’s limiting to consider the entire
framework to be. At least the way I use it, the non-linguistic parts
(that is, the object model and request processing) are at least as
important as the DSL bits.

But I was reacting more to the common beginner’s error of conflating
Rails and Ruby.


Greg D.
destiney.com | gregdonald.com

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

If you don’t have a great deal of programming experience ruby will take
some
time to ramp up on. Rails is great but also has ramp up time and will
require dedication as well. I also feel I should say that its not just
about “programming”. Anyone can learn the constructs of an programming
language and write loops to barf out html. Its about writing well
structured, well designed application software. Rails is providing a
framework for web application designers to engineer good software.
We’ve
moved beyond the days of hacking together unstructured perl scripts to
spit
out garbled html.

The good thing is that rails is much more than php/mysql in terms of web
application development. If you do decided to stick to it and learn
rails
you will gain more in return than you would if you invested your time in
php/mysql. I won’t say rails is/isn’t for beginners. I would say if
you
are willing to learn the ruby programming language (everyone is a
beginner
at some point) rails will provide you a solid platform to properly
engineer
your web application.

Cheers,
Dave

If you’re going to work with ruby on rails on windows its going to be
painful afik, some plug-ins just don’t work, if you’re using linux or
mac things will just work.


Kind Regards,
Rajinder Y. | http://DevMentor.org | Do Good! - Share Freely

Rails is easier for non programmer than it is for professional
programmer,
mainly because everything its so hard that programmers that come from
other
languages keep trying to make easy things the hard and so the get stuck
often.

On Oct 18, 5:57pm, Rajinder Y. [email protected] wrote:

If you’re going to work with ruby on rails on windows its going to be
painful afik, some plug-ins just don’t work, if you’re using linux or
mac things will just work.

“will just work” is subjective. Don’t forget that you need to install
development tools, headers and libraries to use pretty much any
library that is not provided by the OS, no matter what OS are you
using.


Luis L.

You must first experience the joy of apt-get or macports. They pretty
much
make everything “just work” Really its much easier on unix based
systems.
I ran rails under native windows and cygwin and always had a number of
issues that you just don’t run into on a unix based system. I’ve had
significant experience with both windows and unix based platforms and
the
term “will just work” is accurate for unix/linux.

Cheers,
Dave

On Oct 18, 8:54pm, Dave B. [email protected] wrote:

You must first experience the joy of apt-get or macports. They pretty much
make everything “just work” Really its much easier on unix based systems.
I ran rails under native windows and cygwin and always had a number of
issues that you just don’t run into on a unix based system. I’ve had
significant experience with both windows and unix based platforms and the
term “will just work” is accurate for unix/linux.

I’m not putting your experience under question, but I’m talking
average joe that is coming from Java/dotNET

You’re assuming that everybody will figure out which package and under
which weird package name convention is required to install and get
things to work.

Take for example ruby itself in it’s a debian based distro. ruby, ruby-
dev, ruby-full and so many others. Then sqlite3, sqlite3-dev and
others.

Don’t tell me that “get things working on linux is more easy” when the
user you’re telling that is not familiar with Linux.

Please, don’t assume the world need to convey your understanding of
reality, because again, that is subjective.


Luis L.

On Mon, Oct 18, 2010 at 6:01 PM, Luis L. [email protected]
wrote:

On Oct 18, 5:57pm, Rajinder Y. [email protected] wrote:

If you’re going to work with ruby on rails on windows its going to be
painful afik, some plug-ins just don’t work, if you’re using linux or
mac things will just work.

“will just work” is subjective. Don’t forget that you need to install
development tools, headers and libraries to use pretty much any
library that is not provided by the OS, no matter what OS are you
using.

yes and when you have all this, it will just work =), not so on
windows!!!

if you don’t know how to build from source, i assume if you are on
linux you can do this:

sudo aptitude install ruby
sudo aptitude install gem
sudo gem install rails


Luis L.


Kind Regards,
Rajinder Y. | http://DevMentor.org | Do Good! - Share Freely

On Oct 18, 9:28pm, Rajinder Y. [email protected] wrote:

if you don’t know how to build from source, i assume if you are on
linux you can do this:

sudo aptitude install ruby
sudo aptitude install gem
sudo gem install rails

And now install a gem that needs compilation, like json and tell me if
it just works. Or the mysql gem, which needs mysql and libmysql-dev or
something like that. (need to install ruby-dev and other packages,
build-essentials and others)

Again, experience on this is always subjective. The learning curve
depends on each user and it’s experience in the past with similar
tools added to that the documentation, lack of it and the attitude of
the community around that.

I can personally say not all what you’re mentioning is true and that
you’re ignoring the user and it’s background and focusing in the OS as
the bottleneck.


Luis L.

On 10-10-18 08:38 PM, Luis L. wrote:

And now install a gem that needs compilation, like json and tell me if
it just works. Or the mysql gem, which needs mysql and libmysql-dev or
something like that. (need to install ruby-dev and other packages,
build-essentials and others)

Luis, i get what you’re saying but still you’re missing the point! some
things don’t build or work on window, this make for a poor experience
for a newbee and a challenge for them to overcome. in that frustration i
am sure many walk away.

why would anyone in their right mind build on window using cygwin? when
you got a free copy of virtualbox and the choice of a real linux distro?

things just work on linux, less friction, better support all around! as
a bonus no dll hell!


Luis L.


Kind Regards,
Rajinder Y.

Maybe subjective but from both sides of the coin. You may find
environment
setup easier on your platform but you will run into more issues on
windows
when developing your app.

Cheers,
Dave

virtual rails http://virtualrails.org/ running on virtualbox is a
great
way to start

I started with ASP/Access and changed to PHP/MYSQL and then Ruby on
Rails/MYSQL.
My take is that DHH developed the Rails framework for Ruby because PHP
is not object oriented and the other object oriented languages were to
code-heavy.

PHP is easy to grasp as it is a procedural language. It has low
technical requirements and is easy to find affordable hosting support.
If you are developing on a PC, you will find PHP much easier to work
with. As your projects get larger, you may ultimately “hit a wall”
where you lose momentum because of the amount of code you have to plow
through to keep going. I was never really successful with Pear, so
extending PHP was difficult.

There are many more technical hurdles to getting started with Rails,
though for large, complex projects, I find it is worthwhile. If you’re
serious about Rails, you will likely prefer a VPS over shared hosting
and you will need to be comfortable working in a Unix shell. You may
need to learn about Capistrano, Webin, Apache, and Phusion or Mongrel
as well as Ruby and Rails. Ruby affords more “elegant” programming,
and there are many powerful GEMs at your disposal making Rails highly
extendable. The Rails framework leads you to a logical application
structure, though you could also achieve this in PHP if you know what
you are trying to do. The Rails console offers development tools not
found in PHP, and the Rails log files are an advantage as well.

On 19 Oct 2010, at 02:38, Luis L. wrote:

something like that. (need to install ruby-dev and other packages,
build-essentials and others)

Again, experience on this is always subjective. The learning curve
depends on each user and it’s experience in the past with similar
tools added to that the documentation, lack of it and the attitude of
the community around that.

I can personally say not all what you’re mentioning is true and that
you’re ignoring the user and it’s background and focusing in the OS as
the bottleneck.

I do understand your point and mostly agree. However, these days we
have Google and a vibrant community to help you out. Just searching
for “install ruby on rails <insert os + version here>” will point you
to a step-by-step installation tutorial.

But agreed, the fragmented nature (even though rubygems and aptitude
etc try to make your life easier) and dependency mess can sometimes
spoil the fun a bit.

Best regards

Peter De Berdt

Etilyeti

I am pretty good with HTML, and I know a bit of PHP and MySQL.
I was about to plunge my head in my big PHP/MySQL book when I realized
that it may not be the best programing language to learn.
Would you recommend Rails for beginners?
If not, what language would you recommend?

Thanks a lot in advance.

I think this thread got a bit hijacked on some slightly esoteric
issues. Hopefully this didn’t put you off.

I would say Ruby is a great place to start. There is loads of really
good stuff on the web that will lead you into good programming
practices (I think Marnen said that too). Also it is a beautiful
language in terms of readability. It is not a long way from Visual
Basic in a superficial readability and scripting sense, but is much
more in terms of being a fundamentally well designed Object Oriented
language. The thing I found tricky at the beginning was working out
the distinction between what was Rails and what was Ruby, but it soon
falls into place. Also you need to get used to using the API
documentation. But again that falls into place too. There are now the
RailsGuides which are excellent. http://guides.rubyonrails.org/

I actually started with a quick Rails Tutorial, and then adapted some
stuff I had done in MS access/visual basic into a Rails project under
windows. I produced some not very elegant code to begin with, but
hey some of that code is still in use after nearly 5 years - I am
trying to find time to refactor it now. Whilst Marnen is correct in
referring to test-first development, the problem with this is that it
can be a massive subject, which in my view makes getting started very
hard. I havn’t looked lately, but I never really found any good
tutorials that start with test (or at a higher level, behaviour)
driven development. So learning to do TDD or BDD is important, but
don’t le it put you off learning Ruby in the first place. Maybe
someone could suggest some tutorials.

It is very easy to play around with Ruby in a shell (irb) and do the
hello world type of stuff, and using the rubygems library makes doing
more complex stuff a breeze. There are not loads of things to bolt
together to get your first progams to work. You can even try the
Interactive Ruby Shell online at http://tryruby.org/.

Writing an actual program is nothing more than creating a text file
and running it under Ruby. And when you want to do something
specific, there is nearly always a Ruby gem to help you out so that
you don’t have to re-invent the wheel - whether it is accessing
databases, scraping web pages, manipulating images or creating pdfs.
Just install the Gem (one line command like ‘gem install pdf-
reader’ ) , require it into your program and away you go.

As already stated, there are some drawbacks to using Windows, but they
are not show-stoppers. And anyway, it is not that hard these days to
set up a Linux system (I use Fedora)

As you can probably gather - I am extremely enthusiastic about Ruby
and Rails. They have allowed me to develop systems for which I was
struggling to find a cost effective solution. My biggest uncertainty
initially was “would rails become cumbersome or fall apart as I
extended my systems”. In fact the opposite has been true. The
framework really holds together as your system develops and evolves.
There was loads of talk about such things in the early days, but now
it is pretty much just taken for granted. Something that used to
amaze me was that when I added some functionality into my code, the
number of program lines actually went down, because adding the new
function often resulted in me doing things in a better or more
efficient/effective way. Again these days I take such things for
granted, although I do still find occasions when for example, I
produce a nice object that builds a super report, or I manage to
create a nice object oriented structure to something I am trying to
solve.

hope this encourages you
Tonypm

On 23/10/2010 8:56 PM, tonypm wrote:

Etilyeti
I think this thread got a bit hijacked on some slightly esoteric
issues. Hopefully this didn’t put you off.

I would say Ruby is a great place to start. There is loads of really
good stuff on the web that will lead you into good programming
snip
hope this encourages you
Tonypm

I completely agree with Tonypm. I would have liked to type out a clear
well-written post like that myself.

I myself started with Rails (before Ruby) and it took me a while to
realize the beauty of Ruby.

Best Regards,
Mohit.
23/10/2010 | 10:21 PM.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs