# Entry-level help

**URL:** <https://www.ruby-forum.com/t/entry-level-help/110013>\
**Category:** Ruby\
**Created:** [July 21, 2007, 7:18am UTC](https://www.ruby-forum.com/t/entry-level-help/110013 "2007-07-21T07:18:51Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![patricke](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b782af/32.png) [@patricke](https://www.ruby-forum.com/u/patricke)\
**Post date:** [July 21, 2007, 7:18am UTC](https://www.ruby-forum.com/t/entry-level-help/110013/1 "2007-07-21T07:18:51Z")

</div>

Hellos,

I’m not sure how detailed I should make my situation here. I had some  
long, history-spanning essay on what I’m doing, but that seemed tedious  
to read through. Basically, what it said was: I’m a pretty big newbie,  
both to Ruby and programming in general (just a couple courses in Java  
in college a couple years ago), looking to break into the field (and out  
of soul-killing tech support). I’m giving myself projects to keep the  
learning interesting (since I have no teachers) but my current one seems  
like it could go a number of ways.

I want to write a basic simulation (predator/prey) that has a simple GUI  
that I can display using a website, using Ruby for the number crunching,  
JS for the application GUI and HTML to handle whatever else on the page  
(or something…I hear of terms like XHTML, XML and AJAX thrown around,  
but I don’t have a firm grasp on them)

I’m just coding in Windows, but would like the simulation to be visible  
to any member of the public who visits the website that contains it  
(with no user interaction at first, just a display to everyone watching  
what’s happening). Is it feasible for this project to use all three  
without needing to convert Ruby to JS, or would the project really just  
end up being in Javascript and whatever markup language the page would  
need?

Thanks for any advice you all can give!

---

<div class="post-metadata">

**Author:** ![patricke](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/p/b782af/32.png) [@patricke](https://www.ruby-forum.com/u/patricke)\
**Post date:** [July 21, 2007, 8:10am UTC](https://www.ruby-forum.com/t/entry-level-help/110013/2 "2007-07-21T08:10:52Z")

</div>

On Sat, Jul 21, 2007 at 02:18:55PM +0900, Patrick Erinn wrote:

> I want to write a basic simulation (predator/prey) that has a simple GUI  
> that I can display using a website, using Ruby for the number crunching,  
> JS for the application GUI and HTML to handle whatever else on the page  
> (or something…I hear of terms like XHTML, XML and AJAX thrown around,  
> but I don’t have a firm grasp on them)

HTML reached version 4. Now there’s XHTML, and it looks like HTML  
itself  
is going the way of the dinosaurs (thank goodness). You can effectively  
think of XHTML as HTML 5. It is, in practice, just a better HTML, and  
most of XHTML is strictly compatible with HTML. The most glaring  
difference for the simplest use cases is that in XHTML you must close  
all  
tags. Another key difference is that with XHTML it is expected that  
presentation details (such as font color, background color, typeface,  
margin sizes, and so on) will be handled entirely by CSS rather than by  
markup.

XML is a superset of XHTML. You probably won’t need it for what you’re  
talking about doing.

AJAX is pretty much Web2.0-ese for “JavaScript can be useful now.” It  
stands for Asynchronous JavaScript And XML, though in practice it’s  
really mostly XHTML rather than XML proper. When someone’s using AJAX,  
he or she is basically just using JavaScript to allow communication  
between server and client to alter the content of the page and shuttle  
data to and from the server without having to reload the whole page  
every  
time something changes. This is the sort of thing that allows, for  
instance, Google Maps to be dragged around inside the page to view  
different parts of the map.

> I’m just coding in Windows, but would like the simulation to be visible  
> to any member of the public who visits the website that contains it  
> (with no user interaction at first, just a display to everyone watching  
> what’s happening). Is it feasible for this project to use all three  
> without needing to convert Ruby to JS, or would the project really just  
> end up being in Javascript and whatever markup language the page would  
> need?

You can run Ruby on the server to handle all data on that end.  
JavaScript is sent to the browser along with (X)HTML (and CSS), where it  
can make the interface more “dynamic”.

I’m not entirely clear on what exactly you want to accomplish, but I  
suspect you’ll want to use some language other than JavaScript – such  
as  
Ruby – on the server to handle the heavy lifting, and JavaScript with  
XHTML+CSS in the browser to provide the interface for the user. In  
fact,  
assuming you’re using Ruby on the server, I imagine you’d be using Ruby  
to generate at least parts of a page to be sent to the user, including  
both markup and JavaScript, and depending on how fancy the interface  
gets  
you’ll probably be using AJAX (with the XMLHttpRequest() JavaScript  
object) to communicate with server’s Ruby scripts.

If you’re talking about something akin to Conway’s Game of Life, but  
with  
a predator/prey simulation as your model instead, you’ll have to make  
some hard decisions about how much should be handled in the browser and  
how much on the server.
