Totally lost in learning Ruby

This is my second attempt to understand Ruby. I completely read 1)
"Beginning Ruby- From Novice to Professional (which to me is a
completely waste of time), 2) The Pragmatic approach to Ruby (which is
incomplete)3)Ruby in 20 minutes, 4)other 15 to 20 minutes cute intro
programs 5) Shoes and now 6)The Book of Ruby by Huw Collingourne, which
seems like a bible without a compiler, which may be totally useless.

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

Is there a free compiler and other supporting software that I can use to
make my so far miserable learning Ruby experience worth a while? So far
I am still sold on the idea that Ruby is the programing language to
know, but at this moment I really need HELP.

Tk in advance,

Hilary

···

--
Posted via http://www.ruby-forum.com/.

First, you don't need a compiler to use ruby. Ruby is an interpreted language,
which means that to execute a program written in ruby, you pass it to the
source file (which is a plain text file) to the ruby interpreter which will
take care of interpreting it and executing it. There's no compilation step
involved in this, which is the reason you found no reference to a compiler.

As for books, you can try with the first edition of Programming Ruby, which is
freely availlable online at Programming Ruby: The Pragmatic Programmer's Guide.
It's written for an old version of ruby, but it still is useful. There are new
editions for new versions of ruby (edition 2 for ruby 1.8 and edition 3 for
ruby 1.9), but you have to buy them.

Regarding supporting software, that depends which operating system you use.

If you're on Windows, then there's the RubyInstaller project
(http://rubyinstaller.org/\) which provides the basic tool needed to work with
ruby (I'm not completely sure about what it provides, as I don't use Windows
myself).

If you're on Linux, then ruby is surely included in your distribution.

If you're on another operating system, then I don't know what your options
are, but surely there's someone else who knows.

I hope this helps

Stefano

···

On Friday 21 January 2011 19:13:47 Hilary Bailey wrote:

This is my second attempt to understand Ruby. I completely read 1)
"Beginning Ruby- From Novice to Professional (which to me is a
completely waste of time), 2) The Pragmatic approach to Ruby (which is
incomplete)3)Ruby in 20 minutes, 4)other 15 to 20 minutes cute intro
programs 5) Shoes and now 6)The Book of Ruby by Huw Collingourne, which
seems like a bible without a compiler, which may be totally useless.

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

Is there a free compiler and other supporting software that I can use to
make my so far miserable learning Ruby experience worth a while? So far
I am still sold on the idea that Ruby is the programing language to
know, but at this moment I really need HELP.

Tk in advance,

Hilary

I don't mean to sound condescending, but if you've not programmed before, perhaps you are underestimating the problem of jumping two hurdles at once - learning to program, and learning the Ruby language. Programming requires a paradigm-shift which, of course, is difficult to explain to those who have not made it.

It sounds as if you have read a lot of books and got not much from them. Why not try a different approach - try coding some simple programs for yourself. If you are unable to access the Ruby interpreter, there are websites that let you try it online (for example,http://tryruby.org/ ).

Go back to the book that you found least confusing and type out a couple of examples for yourself. Try changing them. Code a simple program from scratch -- say, to ask for a series of numbers at the command prompt and print their sum.

And of course come back here and ask all the basic questions you like. It's the basic questions that are the really deep ones. Good luck.

···

--
Never go to bed mad. Stay up and fight.
    -- Phyllis Diller, "Phyllis Diller's Housekeeping Hints"

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

Well, one hurdle at a time. First you need to learn to program, and
then you should tackle Ruby.

Fortunately, we can kill two birds with one stone:
http://pine.fm/LearnToProgram/

This will teach you how to program, and does it using Ruby. :slight_smile:

The next step would be reading up about databases, and GUI frameworks.
Either something like the wxWidget toolkit, which allows you to write
software that runs on a computer, or a web framework, like Rails, or
Sinatra (from your problem description, I'd go with a web framework,
if the database isn't intended for just one school).

However, you won't go fast, unless you can dedicate a good amount of
time to the task. If you spend an hour or two each day to learn
programming and then the technologies you might need, let's call it a
month or two until you can tackle your original problem.

Is there a free compiler and other supporting software that I can use to
make my so far miserable learning Ruby experience worth a while? So far
I am still sold on the idea that Ruby is the programing language to
know, but at this moment I really need HELP.

Well, as others have pointed out: Ruby is not a compiled language.
You'll need a text editor and/or an integrated development environment
to write Ruby programs (also called "scripts" from time to time).

Suggestions as to what to use as an editor/IDE depend highly on your
OS (Notepad is fine, but it lacks a couple of features that make life
easier). A few suggestions:
I like Notepad++ for "quick and dirty" jobs, it's free and available
for Windows.
My preferred Ruby IDE is Netbeans, which is also free, and runs on
Java, so is available for all the major OSs.

And, once you are stuck, or have questions about Ruby/programming,
feel free to send another message to this forum. :slight_smile:

···

On Fri, Jan 21, 2011 at 11:13 AM, Hilary Bailey <my77elephants@gmail.com> wrote:

--
Phillip Gawlowski

Though the folk I have met,
(Ah, how soon!) they forget
When I've moved on to some other place,
There may be one or two,
When I've played and passed through,
Who'll remember my song or my face.

"Hilary Bailey" <my77elephants@gmail.com> wrote in message news:2096254cfec3d3742171b0cb22bd4a96@ruby-forum.com...

This is my second attempt to understand Ruby. I completely read 1)
"Beginning Ruby- From Novice to Professional (which to me is a
completely waste of time), 2) The Pragmatic approach to Ruby (which is
incomplete)3)Ruby in 20 minutes, 4)other 15 to 20 minutes cute intro
programs 5) Shoes and now 6)The Book of Ruby by Huw Collingourne, which
seems like a bible without a compiler, which may be totally useless.

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

Is there a free compiler and other supporting software that I can use to
make my so far miserable learning Ruby experience worth a while? So far
I am still sold on the idea that Ruby is the programing language to
know, but at this moment I really need HELP.

Tk in advance,

Hilary

Hello Hilary:

In addition to the suggestions provided by others you may also want to look at this Ruby Basic Tutorial to learn the Ruby language. It uses Linux so the way it describes running Ruby programs won't work for Windows and some of the examples given are a little strange (e.g. the use of three ellipses for loops, which is often more confusing than using Ruby's two ellipse format, and the use of the "length" method like "for ss in 0...presidents.length" in loops which could just be replaced by "for ss in presidents"). These (and tons of other resource you'll find by typing "ruby tutorial" into Google) are also useful Ruby Tutorial with Code Samples , Ruby Programming Tutorial - Digital Media Minute .

I find Ruby a very easy (and enjoyable) language to learn (like Basic was many years ago) but it's a big step between knowing a language and knowing how to design and build a database applications. If your goal is to build a database application to share with a number of people spread over a large geographical areas then you'll eventually need to learn something about database design, decide what database you want to use, and decide if you want to create a desktop application (using something like wxRuby which is wxWidgets for Ruby) or a web application (using something like Ruby on Rails, also called RoR or Rails) .

Desktop applications tend to be easier to write but harder to distribute and fix because you'll need to copy them (or any fixes) to each computer that needs them. Web applications tend to be harder to write because you'll need more infrastructure (computers and software) and understanding of programming specialties (i.e. security, multi-user environment design, web architecture) but are easier to distribute and fix because you'll only need to provide folks with the location (i.e. a web address), user id and password of your web application and can fix things in one spot, locally on your web server.

If your target ends up being a Windows desktop application, I find it easier to build desktop applications in tools like Embarcadero Delphi or Microsoft Visual Studio .NET and often suggest that clients with little programming experience use something like Microsoft Access because these tools have integrated development-environments, database builders, GUI builders and deployment tools that make things easier out-of-the-box. I suggest this because even though Ruby is a very nice languages (my favourite actually), the language is a small part of the overall picture when building a complex application. Unfortunately, Ruby is usually my last choice for desktop projects because of the complexities of pulling together and predictably deploying all the pieces (i.e. database drivers, GUI, libraries). Ruby also presents challenges for speed, protection of intellectual property and data privacy. I recommend you dig deeper on these topics and decide for yourself. I just wanted to warn you before you got too deep then frustrated and blamed Ruby for your pain when the pain is probably related to many other things. If your target ends up being a web application then Ruby on Rails is a good choice (even through, for similar reasons, I've found Embarcadero Delphi Intraweb better for the web applications I've needed to build).

If you decide to use Ruby to develop your database application you should consider purchasing a robust code editor like JetBrains RubyMine (The Ruby on Rails IDE by JetBrains ) which can help you be more productive (especailly for coding error identifcation and debugging) when writing either Ruby or Ruby on Rails applications.

I learned Ruby with the book "Programming Ruby" and Ruby-on-Rails with the book "Agile Web Development with Rails". Both are authored by Dave Thomas and published by The Programmatic Programmers.

Michael

Hilary Bailey wrote in post #976477:

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

A district-wide database and interface is not a trivial project. Coding
it from scratch is a challenge for a seasoned developer in any language.

Why do want to do it in Ruby and why are you doing it from scratch?

Jose
.......................................................
Jose Hales-Garcia
UCLA Department of Statistics

···

--
Posted via http://www.ruby-forum.com/\.

Stefano Crocco wrote in post #976481:

teachers which will hold educational institutions accountable for the
Tk in advance,

Hilary

First, you don't need a compiler to use ruby. Ruby is an interpreted
language,
which means that to execute a program written in ruby, you pass it to
the
source file (which is a plain text file) to the ruby interpreter which
will
take care of interpreting it and executing it. There's no compilation
step
involved in this, which is the reason you found no reference to a
compiler.

As for books, you can try with the first edition of Programming Ruby,
which is
freely availlable online at
Programming Ruby: The Pragmatic Programmer's Guide.
It's written for an old version of ruby, but it still is useful. There
are new
editions for new versions of ruby (edition 2 for ruby 1.8 and edition 3
for
ruby 1.9), but you have to buy them.

Regarding supporting software, that depends which operating system you
use.

If you're on Windows, then there's the RubyInstaller project
(http://rubyinstaller.org/\) which provides the basic tool needed to work
with
ruby (I'm not completely sure about what it provides, as I don't use
Windows
myself).

If you're on Linux, then ruby is surely included in your distribution.

If you're on another operating system, then I don't know what your
options
are, but surely there's someone else who knows.

I hope this helps

Stefano

Hi Stefano,
Thanks for such speedy response. The Rubi community is really
impressive. I was under the impression that after having some programing
language skilss and with some training I would be able to put together a
# of applications and build a program computer program. I thought that
just like how individuals could use some of Apple's apps, put them
together then build a game, I believed that eventually this could be
done with Ruby and its supportive/compatible applications.

Now facing this reality, would it help if I used Linux instead of
Windows 7?

···

On Friday 21 January 2011 19:13:47 Hilary Bailey wrote:

--
Posted via http://www.ruby-forum.com/\.

Hi Stefano,
Thanks for such speedy response. The Rubi community is really
impressive. I was under the impression that after having some programing
language skilss and with some training I would be able to put together a
# of applications and build a program computer program. I thought that
just like how individuals could use some of Apple's apps, put them
together then build a game, I believed that eventually this could be
done with Ruby and its supportive/compatible applications.

Now facing this reality, would it help if I used Linux instead of
Windows 7?

···

--
Posted via http://www.ruby-forum.com/.

Shadowfirebird,
Thank you for the advice.

···

--
Posted via http://www.ruby-forum.com/.

Hi David,
Thanks a $llion for responding. Based on your response, where do I
start? Is there a specific HTML guide?. What is CSS and which one or
version should I use? And I guess the same applies to HTTP and
JavaScript. To a novice like me,I am still trying to piece together an
approach to learning how to program using and becoming a part of the
Open Source community. The difficulty is that the kind individuals like
yourself, who have answered my call for help have been tossing at me so
many programs that end-up adding to the problem. Therefore I am going to
take all the suggestions, place them in a learning sequential pattern
and ask you again for your advice. At this moment the web option seems
to be the closest answer to what I have been searching for. Getting
there is the problem. I am willing to spends the grueling time learning
it.

···

--
Posted via http://www.ruby-forum.com/.

Hilary Bailey wrote in post #976477:

This is my second attempt to understand Ruby.

What happened the first time - did you give up or try something else?

My only programming experience is
the confusion I had trying to read and comprehend the above sources

Have you never used another programming system? Why did you choose Ruby?

Is this application for you, a closed group of users or do you want to
market it?

···

--
Posted via http://www.ruby-forum.com/\.

Hi Mike,
The first time I completed the book, then got stuck trying to understand
what, where and how to use some of the recommended programs, such as
YMAL, SQL etc. For example, beside practicing and following all he
written guide, there was no reference as to how to start assembling a
database.

In terms of why Ruby? I put sent out an email SOS to the Open Source
community, and it was unanimous that Ruby is the way to go. What do you
suggest.

In terms of usability. I eventually hope to market it with the intention
of providing for non-for-profit causes, such as a)micro-financing Third
World nations b) provide measurable answers to the improvement of US\any
secondary educational facilities. My experience has shown where private
consultants have been raping scarce financial resources from budgets,
and their decision have kept adding to, in my case(USA),low performance,
thus educational frustration.

So if you next question is why not pay someone to develop such a
program, the answer is: I don't have the money, and secondly, in the
past some of my trusted colleagues with vast programming knowledge have
been a disappointment.

Therefore i figured that my best route would be to ask the Open Source
community for help.

···

--
Posted via http://www.ruby-forum.com/.

Hilary

Best of luck. If you haven't programmed in anything else then I guess
Ruby is a perfectly reasonable choice.

I am building sites probably much of the same size as your target. I
have a team of six seasoned web developers, an agency that produces
styling, a DBA, UI designers, all sorts of infrastructure people who
build the environments, and others. It still takes many, many months to
produce a site. If it seems like a mountain to climb, that's because it
is.

···

--
Posted via http://www.ruby-forum.com/.

Is a Code editor the same as a text editor? Can they both be used for
Ruby as well as RubyNRails?. If this is so are: a) Notepad++,
b)Netbeans, and c)Ruby mine-code similar products that can be used for
Ruby as well as Ruby N Rails?

···

--
Posted via http://www.ruby-forum.com/.

Based on the responses received I am leaned toward the following study
guide:

A) since I intend to use the internet as the major source of
communication, learning ruby through Rails may be my starting point. I
installed Ruby 1.8.7, Rails 3.0.3, with Sqlite3 (1.3.3 x86 -mingw32)

A1) Download Devkit for use as a Ruby source of reference

A2) use the Ruby Gem web asa source of Ruby support

B) before delving into Ruby or Rails, I will learn critical basics from
w3.schools.com, from which I will cover: HTML, CSS and JavaScript

C) purchase Ruby mine-code editor from http://www.jetbrains.com/ruby,
using their 30 day free trial prom, to use while finally learning Ruby
through Rails

C1) get started to learn Ruby/Rails. By first taking a 15 minute
tour/intro from http://tryruby.org

C2) continue quest by
submerging into Rails through www.digitalmediaminute.com tutorials.

C3) start placing my then practiced scripts + other saved practiced
tools, into a database of choice so to start dev a project

D) hopefully at this point I will be able to clarify in my mind which
database source to use, what supporting instruments needed to be
attached, etc.. to make a meaningful log-in program that will reflect
real time, with the ability to gather, configure and interpret data.

If my analysis seems naïve, please understand, and I think you do, my
enthusiasm for using the open Source community as a savior to my woes.

What do you think? I know that I have over simplified the whole nature
of programming, however at this stage I think I will be forgiven for
bypassing some unmentioned stage/application/procedure.

···

--
Posted via http://www.ruby-forum.com/.

Here is my confusion....take the simplistic case of using an Excel
spreadsheet. I will be abel to type, perform math task etc...if I wish
to save a document can be accessed from the File-Open menu, then what
was saved can nbe executed by playing with some commands. With
Ruby/Rails, would the IDE be the source where I would enter scripts?. If
this is so, how would I retrieve/execute/display the saved macro/script.
Is Vim the tool that will do all of this using Ruby/Rails?

···

--
Posted via http://www.ruby-forum.com/.

Hilary,

When you first begin to learn about programming, your first obstacles
will have to do with basic language syntax, understanding how/when/why
to use variables, loops, conditional expressions, data structures, etc.
In the beginning, those basic building blocks may seem curious and
disjunct, but but you will use them constantly and directly every single
time you sit down to write any real code. As you get started, even
basics such as knowing how/why to indent lines of code can give you
trouble. Becoming familiar with the process of installing and working
in your development environment (your choice of OS, Ruby installation,
IDE/text/code editor, etc.), and executing and debugging snippets of
code, can take a while to become comfortable.

After you become familiar with the basic language concepts, tool set,
and work flow of writing/executing simple bits of code, you'll become
more able to use libraries and frameworks that do valuable things:
create GUI windows and widgets that obtain and display processed data
for the user, create web interfaces that obtain and display processed
data, work with graphics, media, compressed files, and other binary data
types, save/retrieve/manipulate text data in useful real-world ways,
manage larger data structures, perhaps control robots, or anything else
you want to accomplish... You'll settle on favorite
libraries/frameworks and become proficient at making them work together
to create full applications that do useful things for users. Along the
way, you'll learn to think more about designing sensible and efficient
user interfaces, you'll learn to handle usage problems that come from
how different people expect to use computer programs, you'll learn to
catch typical bugs that occur in text data processing, anticipate and
eliminate potential security weaknesses, deal with usability issues in
multiuser applications, etc. It can take years and many tens/hundreds
of thousands of lines of written code to really become proficient at
writing rock solid pieces of software that people use easily and
intuitively.

The problem with most tutorials and books for beginners is that they end
with the basics of language structure and bits about using
libraries/frameworks, etc. Once you understand enough basic syntax and
concepts like using loops to search and sort through lists of data, you
need to see and play with lots of code to actual working applications.
You need to see, experiment with, alter and write from scratch lots and
lots of working code. To get started with that, you could try, for
example, downloading wxRuby and playing with all the included code
examples. Take the GUI grid widget example and _alter_ the code to make
it display a sample data file that you've read from a file on the hard
drive. Put together a simple application that reads a directory of
image files, displays the file names in a text list, and then displays
the image when the file name is clicked. Write a small recipe database
application. Write a clone of a classic simple video game. Find a web
host that supports Ruby and learn how to enter data via HTML forms,
process that data with CGI, and display tables of the processed data
using HTML. Enter your sample data file into a MySQL database and write
the SQL code needed to search and sort that data by any field in the
database. When you get stuck, post a question online, with the code
you're trying to make work. You're likely to get detailed help when you
have specific questions about how to fix a small portion of
almost-working code.

I wrote a tutorial for the REBOL language which takes you through all
the stages of learning, including line by line documented code and full
case studies for more than 50 applications: http://re-bol.com. It's
been among the top 3 search results for "computer programming tutorial"
for several years. I'm currently rewriting that tutorial for Ruby, but
in the meantime, it should give you a nice complete understanding about
how to progress beyond just the basics. All the concepts will be
directly applicable to learning Ruby.

Hope that helps :slight_smile:

···

--
Posted via http://www.ruby-forum.com/.

Hi everybody,
Based on the responses I have been receiving, I will greatly appreciate
any comment on how to move forward from this point. Thanks in advance to
all respondents whom have been soooooo kind and patient.

What I want to create is a database that can measure the performance of
all entities in a school district. The closest software that exhibits
some semblance is that of Microsoft Access. Where, as I understand it,
the input entry of a single data can be housed and then derived, through
a set of queries, then further analyzed through/by Microsoft Solver
software.

The difference with my proposal would be that based on selected
indicators [which will be dynamically influenced by changed event(s) and
policy(ies], which would be able to measure success. I have been exposed
to a statistical software named SPSS and having worked as an economist,
has influenced my outlook on creating an approach/database/software
which would indicate in real time, measured results.

As you can tell, there is an element of nervousness regarding saying
too much. But on the other hand, if not much is said, not much help can
be given. So it's a "catch 24", where since the last 20 years I have
been improving on a systems that would be able to measure defined
academic output, vis-a-vis, financial constraints etc..

Mike Stephens recommended Mendix as a possible solution to my woes. Do
you know of such arena?

Therefore, I figured that, doing it all by myself may be the best
solution. However, some of my concerns are: "Why reinvent the wheel?',
How can I create a sustainable system that does not compromise quality?,
What curriculum structure should I follow that will meet my needs
without, straying from my goals?

Therefore, this is my dilemma, which seems to be going in circles. Any
suggestions.

···

--
Posted via http://www.ruby-forum.com/.

I don't know if anybody else already said this but… did you really go through those books and don't understand the basic concepts of Ruby and are looking for a compiler? Gosh…

-E

···

On 2011-01-21 04:13:47 -0600, Hilary Bailey said:

This is my second attempt to understand Ruby. I completely read 1)
"Beginning Ruby- From Novice to Professional (which to me is a
completely waste of time), 2) The Pragmatic approach to Ruby (which is
incomplete)3)Ruby in 20 minutes, 4)other 15 to 20 minutes cute intro
programs 5) Shoes and now 6)The Book of Ruby by Huw Collingourne, which
seems like a bible without a compiler, which may be totally useless.

Is there anyone out there that could make my experience to Ruby
practical and meaningful? As noted previously, I am a school teacher
trying to create an education database software for administrators and
teachers which will hold educational institutions accountable for the
performance of their school district. My only programming experience is
the confusion I had trying to read and comprehend the above sources that
do not offer a stable compiler or the appropriate programs that will go
hand in hand with their book or resource for Ruby.

Is there a free compiler and other supporting software that I can use to
make my so far miserable learning Ruby experience worth a while? So far
I am still sold on the idea that Ruby is the programing language to
know, but at this moment I really need HELP.

Tk in advance,

Hilary

"Michael Brooks" <michael.brooks@shaw.ca> wrote in message news:7is_o.165$_d5.126@newsfe06.iad...

I learned Ruby with the book "Programming Ruby" and Ruby-on-Rails with the book "Agile Web Development with Rails". Both are authored by Dave Thomas and published by The Programmatic Programmers.

Michael

Oops... I meant to say "The Pragmatic Programmers" at the end of that last sentences. Darn spell checking out-smarted me. Their stuff is available here http://pragprog.com/ .

Michael