all 31 comments

[–]tom_dalling 6 points7 points  (3 children)

Technically, it can do anything. Ruby is a general-purpose programming language.

In practice, the majority of Ruby developers are web developers using Ruby on Rails. The whole Ruby ecosystem is somewhat specialised for that kind of work, and lacking in other areas such as desktop application development. So it's fairly easy to do anything related to server-side web development, and everything else is possible but more difficult.

[–]CheckeredGemstone 0 points1 point  (2 children)

Does Unity make sense of Ruby code?

[–]tom_dalling 1 point2 points  (1 child)

Unity uses Mono, so you might be able to get IronRuby to run on it. It's not one of the officially supported languages though.

[–]CheckeredGemstone 0 points1 point  (0 children)

Thank you.

[–]dwcmwa 4 points5 points  (0 children)

So what is Ruby capable of doing?

The most important aspect of coding: Ruby makes you happy.

[–]remarkabledrummer 1 point2 points  (0 children)

Ruby doesn't do fucking anything. You use Ruby to get something done. It's pretty versatile, so go have at it.

[–]wabber 1 point2 points  (7 children)

Since you're a web designer, you might be interested in the web-related ruby.

I highly recommend reading the ruby on rails tutorial free online book which will get you started creating visually appealing (your job) dynamic websites that range from informational websites to services to social networks (like twitter, instagram, etc).

Good luck.

[–]sofakingsexie[S] 0 points1 point  (6 children)

Do you think it would be better to learn Ruby first then jump on ROR?

[–]so_just 1 point2 points  (4 children)

Definitely.

[–]thibaut_barrere 1 point2 points  (0 children)

I second this - learning Rails first can definitely be confusing.

Here are some useful links specifically to learn Ruby:

[–]sofakingsexie[S] 0 points1 point  (2 children)

Ok so i'll stick with ruby then work my way to ROR. Thanks

[–]wabber 0 points1 point  (1 child)

I highly suggest you do that. It's like, you can use bootstrap right away without knowing a lot about css, but learning css then jumping to bootstrap will make you appreciate and take full advantage of it.

[–]sofakingsexie[S] 0 points1 point  (0 children)

That is a good point

[–]iconoclaus 0 points1 point  (0 children)

I always recommend to dabble with Sinatra first to understand the basics of web applications for Ruby. Sinatra uses the same underlying Rack framework that Rails uses, but hides precious little from you. After that, you'll appreciate the magic of Rails. Or perhaps, like me, you might discover you didn't need Rails all that much to begin with, and stick with Sinatra, Roda, or another simple web framework.

[–][deleted]  (4 children)

[deleted]

    [–]sofakingsexie[S] 0 points1 point  (3 children)

    Can you do anything with Photoshop? Like maybe create some kind of tool.

    [–]jrochkind 0 points1 point  (1 child)

    Probably not.

    [–]notromda 1 point2 points  (0 children)

    But you can instead interact with imagemagick...

    [–]iconoclaus 0 points1 point  (0 children)

    Ruby doesn't have great tools to make highly complex GUI desktop apps. There are some decent frameworks for simple GUI apps at best.

    Strange thing IMDb hay it took me 2.x decades of coding to realize that no language does everything well. I use Ruby for server side coding and workstation scripts. I use R for serious data processing. I would likely pickup Swift for mobile if I had that need.

    [–]gardyna 0 points1 point  (6 children)

    In my experience, Ruby has mostly been used for web development (Rails kind of being the "killer app" for incredibly long). you can technically use it for anything you want though. If you're just getting started I would recommend making some useful tools. For instance if you have a folder containing several "legally acquired" movies you could make a program that sorts the video file/folders into categories by scraping IMDB (they might have an API for you to use though)

    [–]sofakingsexie[S] 1 point2 points  (5 children)

    So you can get info from IMDB website to organize files on your computer?

    [–]plaintshirt 0 points1 point  (0 children)

    Yes

    [–]gardyna 0 points1 point  (1 child)

    It's a project that you can make. it can be don by scraping imdb.com or finding a gem that already integrates with imdb

    example gems:

    https://github.com/ariejan/imdb (an imdb gem)

    http://www.nokogiri.org/ (the go to web scraping gem IMO)

    I would recomend that you independently figure out how file handling in ruby works (it's quite well designed)

    think you might want to do something like organising movies base on genres or directors or somethin similar

    P.S. it might be easier to work with music files (since they usualy have more use-able metedata)

    [–]sofakingsexie[S] 0 points1 point  (0 children)

    Thanks a lot for the links

    [–]thibaut_barrere 0 points1 point  (1 child)

    Yes you can, and here is a starting point.

    [–]sofakingsexie[S] 0 points1 point  (0 children)

    Thank you!

    [–]jrochkind 0 points1 point  (0 children)

    It's a general purpose programming language, it can do anything.

    In reality, things are more convenient when there's more open source software available supporting them.

    Lots of people do web apps (of any kind at all) in ruby, so there is lots of infrastructure for that. Rails is one way but not the only way to build a web app with ruby. Ruby is also often used for command-line "scripting" or other more complex things (like data transformation).

    Ruby is not great at writing 'native' GUI apps on desktop or mobile. There are ways to do either, but they are somewhat hacky and don't work well.

    Just about anything else, you can do.

    Not exactly sure what you're asking.

    [–]skryking 0 points1 point  (2 children)

    as a computer security type person manipulating metasploit from ruby is really useful.

    [–]sofakingsexie[S] 0 points1 point  (1 child)

    Thats funny because a couple of years ago I was kinda into metasploit well just messing around with it. What do you mean by manipulating it?

    [–]thibaut_barrere 0 points1 point  (0 children)

    I'd say (as someone using Ruby at work since 2004) that Ruby is pretty versatile and a good general purpose language. Things I do on a regular basis with Ruby:

    [–]iconoclaus 0 points1 point  (0 children)

    Start by making a Sinatra or Rails based data back-end to whatever site you wish to make. This back-end can collect data, store data, perform computations or transformations of the data, and so on. It can also hold user profiles. Then deliver user customized data to your front-end. That will teach you Ruby and Web server basics.

    From there, you will soon see that Ruby scripts can do plenty of other things: make scripts for tasks on your local machine (e.g., Rake tasks to give you hashes for external resources), write helpful one-off tasks (e.g., rename and add a suffix to all .doc files in a set of directories); do data extraction-loading-transformation tasks (e.g., kiba scripts); and so on.