r/learnprogramming • • May 04 '13

Don't learn Ruby

My biggest mistake was learning Ruby. I listened to all the fanboys telling me how beautiful and intuitive it is, thinking this will be the future.

Ruby is slow as shit, there is no job market for non-Rails Ruby jobs, it's useless for learning programming concepts, it's useless for creating games, GUIs or even scripts that are demanding because it's so fucking slow.

The only reason no one writes blogs or posts about how shit this language is, is because no one fucking uses it. So if you want to learn a new language, learn one that's get criticized a lot like Java, or C++, or C# or even PHP. Those languages are far more productive on a hobby basis and at work. Ruby is a joke with a circlejerk community

0 Upvotes

97 comments sorted by

25

u/tmat256 May 04 '13

I use Ruby all the time (along with a lot of other languages) and I really dislike the Ruby community as a whole; so I can understand some of the frustration.

But; a lot of people on here will tell you the same thing: "Programming languages are a tool just like anything else."

If you need execution speed then don't use a scripting language. This generally means games as well. It's also much more difficult to distribute a game written in a scripting language. This has nothing to do with Ruby. You're just using the wrong tool for the job.

4

u/Capri-Sonne May 04 '13

I prefer Python over Ruby for scripting and easy stuff. It's bigger in terms of publications and community, and it runs faster than Ruby.

5

u/SanityInAnarchy May 04 '13

Not significantly faster. And most of your other complaints can be leveled against Python just as easily. Or do you think Python is more useful for creating games and GUIs?

-5

u/Capri-Sonne May 04 '13

Ever heard of Pygame or Tkinter? Python is way better than Ruby for games and guis.

8

u/SanityInAnarchy May 04 '13

Yes, I have heard of Pygame. Heard of Rubygame? I've also heard of tkinter -- heard of RubyTK? Or MonkeyBars?

Of course, the usual way to do a game where performance is critical, but you want the most flexibility possible from scripting, is to write your core engine in C++ and add a scripting engine like Python or Ruby -- or, more likely, Lua. It'd be interesting to know why, but Civ4 used Python, and Civ5 uses Lua.

So, even if the libraries you mentioned are better than anything Ruby has -- which I doubt -- what does that say about the language? Is there something about Ruby the language that you think is terrible for games or UI development? Because if not, I'd think that even without something like MonkeyBars, it'd be trivial to pick up JRuby and just use any existing Java GUI. They aren't the prettiest, but they work perfectly well.

3

u/rcuhljr May 04 '13

And ruby has Gosu, RubyGame, shoes, Gtk2, and QT. The game side is more deficient due to the fact that there's really not much interest by ruby devs in developing games. Pygame isn't a language feature, it's a natural outgrowth of demand.

5

u/gkaukola May 04 '13

Why's Poignant Guide, Ruby Koans, #ruby, etc. etc. The fuck is wrong with you. The ruby community is awesomely awesome with all the free stuff and free time they put in to things. Or yeah, they're too excited about Ruby and give me too much free stuff. What a bunch of dicks.

5

u/tmat256 May 04 '13

I was talking about the drama queens and idiotic evangelical blog posts. The various bashing on mailing lists and forums. The "my way is right and everything else is wrong" types of posts / comments. I realize you're always going to have those types of people but it definitely seems there are statistically more of them with Ruby.

Free stuff is definitely awesome and I praise anyone who is contributing in a positive manor (blog posts, learning material, twitter, reddit, etc).

3

u/quaunaut May 04 '13

Ruby Koans are great if you already know Ruby.

For anything else, never fucking use Ruby Koans to teach someone anything about Ruby.

1

u/gkaukola May 04 '13

And I completely disagree. I didn't know ruby at all and started in on koans. Don't start in on koans if you've never done any sort of programming, sure. But what are you expecting when you get a job doing this crap? It's going to be very similar to koans as in you're going to be reading someone else's code.

1

u/quaunaut May 04 '13

Let me put it this way: I put a solid week into Koans and felt coming back out of it that I didn't learn a single thing of Ruby.

I took a different tutorial later, and completely got it in a day. Came back to the Koans a few weeks after that, and I did alright. The Koans spent more time being a puzzle than teaching you how to actually code the language.

23

u/[deleted] May 04 '13

Ruby is just a tool with a purpose, just like everything else. Also, shut up, you're an idiot.

2

u/gkaukola May 04 '13

God damn this thread was making my head hurt up until you.

10

u/RawlDawg May 04 '13

How about instead of unlearning ruby, you learn rails too. If you think you made a huge mistake by learning a language, I don't see how you can say you want to program. Don't try to do the bare minimum.

15

u/derekd223 May 04 '13

sunk cost fallacy

6

u/RawlDawg May 04 '13

I would agree but this is based on him saying "there is no market for non-rails ruby jobs"

-5

u/Capri-Sonne May 04 '13

A lot of Rails developers don't have sufficient knowledge of Ruby. You can get quite far in Rail without knowing Ruby. I also have no interest in web dev. And if I ever need to work in web dev for money I will just work in ASP.NET or Django or PHP.

15

u/Superbestable May 04 '13

Why did you learn Ruby if you don't want to do web-dev?

That's like learning Perl and not wanting to work with text.

It's like getting a pilot licence and not wanting to fly.

2

u/GymIn26Minutes May 04 '13

Its possible that it was recommended to him when he didn't know enough about the strengths and weaknesses of the different languages to make an educated choice himself.

3

u/[deleted] May 04 '13

A lot of Rails developers don't have sufficient knowledge of Ruby

Okay, how many Rails devs do you know? I won't claim to be a great developer, but I still think I know Ruby quite well. And some of the guys I work with are damn brilliant.

0

u/gkaukola May 04 '13

Gah. Django is similar to rails. But yes, do not work a web dev job. You won't be working asp.net or php or whatever. You'll be working with html, 5 browsers, css, ,php, javascript, a bunch of porn you don't want to even know about, disabled people issues if you're not a dick, etc. etc. Yeah, don't be an idiot. Don't do web development. If you do go with web development, don't be an idiot. Use rails or something similar.

7

u/tlazolteotl May 04 '13

learn one that gets criticized a lot

Pretty profound statement about "internet culture" in general right there.

1

u/[deleted] May 04 '13

More important than the volume is the quality of that criticism:

  • A language where most of the disparaging comes from those career trolls who sit at -20 downvotes per post is a good one. All you're seeing there is jealousy and/or irrational fanboyism for another language.

  • One where people frequently sling mud backed with substantiated technical evidence is bad. Worse if nobody cares enough to refute them.

  • The absolute worst are the circlejerk languages: where the people backing up their arguments against it get downvoted while the ad-hominem idiots get upvoted. Avoid those like a plague, because they are.

4

u/martinus May 04 '13 edited May 04 '13

I code 90% highly optimized C++ code, and whenever I get the chance I fall back to Ruby. It is just much more convenient. Who cares if my log analyzing script takes 2.8 seconds instead of 0.7? Languages are tools, always use the appropriate one.

8

u/SmartViking May 04 '13

I can't believe this is getting upvoted... Ruby is an interesting language with many applications.

it's useless for learning programming concepts

This is pure bullshit OP.

Efficiency isn't important for everything, if you have a program that takes 300ms to run with Ruby, but that would've taken 10ms to run in some other language, the time difference is negligible. It's worth it if you save time developing or even just if it's more fun to work with Ruby.

And don't forget that it's possible to write slow code in any language. Maybe you just suck at Ruby.

1

u/spacemoses May 04 '13

if you have a program that takes 300ms to run with Ruby, but that would've taken 10ms to run in some other language, the time difference is negligible.

Heh, try telling that to my coworkers.

6

u/purpleladydragons May 04 '13

I would recommend that anyone interested in web development at least give Ruby a try. I love python to death, but for web stuff, I always use rails. Plus, if you're interested in language design or something, it never hurts to be exposed to a new style/ideology.

-7

u/gkaukola May 04 '13

Gah!!! The fuck? Don't use lisp, use boost. Don't use mips assembly, use opengl. The fuck is with people this morning. Ruby isn't a web development framework. Rails is. And Python has web development frameworks as well as php and perl and gah this whole thread just keeps getting more and more retarded.

3

u/purpleladydragons May 04 '13

I can't tell if you have a problem with what I said or if you're just lamenting over the general consensus of this thread. I'm aware ruby isn't a webdev framework, but one should certainly know a little ruby before working with rails. I didn't mention php and perl because the hot thing lately is to use rails or django, and people normally compare ruby/python not ruby/python/php.

-8

u/gkaukola May 04 '13

Ahhhhhhhhhhhhhhh!

No!!!!!!

You're not aware of anything because you "love python to death, but for web stuff I always use rails".

And no no no no no no. Gah!!! My head is about to explode. One shouldn't know anything about anything or ideally one should know everything before using rails. Web dev junk isn't about knowing ruby or rails or whatever. It's about knowing a slew of stuff. But if one has to start somewhere then why not rails. Or nah, let's go with your advice. Just use wordpress. Everyone use wordpress. Go. Ddos attacks and spam will escalate and the world will be even more awesome.

5

u/purpleladydragons May 04 '13

I'm sorry that I've seemed to offend you. I assume I don't have as much experience with web development as you do, but I'm trying to understand why it's such a bad thing to recommend a particular framework for getting started in web development.

5

u/nemec May 04 '13

Just downvote the troll.

-6

u/gkaukola May 04 '13

You must have missed my initial response. Ruby isn't rails and rails isn't ruby. And web development isn't gah what the fuckity fuck I need to kill myself now. Thanks for making my world a shittier place. Thank you.

4

u/purpleladydragons May 04 '13

Sorry for that, I hope you feel better.

8

u/CrazedToCraze May 04 '13

Just to nitpick,

or C#

I've started my "main" programming (i.e. university studies) in C# for about 3 years and I haven't really seen any major criticism made against the language as a whole. As someone with limited experience in other languages it's been an absolute pleasure learning C#. I would recommend it based on me experience so far, and from what I've seen and heard there is a good job market for .NET/C#. I know Python is pretty much unanimously agreed upon as the language to start with here at Reddit, but I'd say C# is up there as well and doesn't get suggested enough.

1

u/[deleted] May 04 '13 edited May 04 '13

The issue with C# is that it is not native and therefore needs that shitty .NET framework. And no matter what, you can't statically compile it. The only way to deploy C# applications is through the use of installers that would have to install .NET during the install. It's useless for creating portable applications and creates a barrier for customers that want to use your software.

Also, there is obviously a performance problem (you can't write games for example) and a lack of power when it comes to more low-level stuff.

C++/Qt pretty much does everything C# does and does it better.

5

u/wjbonner May 04 '13

Holy fan boy alert batman. Look, C# does have its cons; no language is perfect. But you are just being ridiculous. First, the .net framework is a great framework. Just because it isn't cross platform doesn't mean it sucks. If you need cross platform use a different tool. Also, you can build perfectly good web platforms off of .net, especially with MVC.

Further, Guild Wars is written in C# and C++. C# is plenty fast for most games, and if you can't get it working than you are probably doing it wrong. And what low level stuff? You mean like memory management? I mean, there are ways to get involved in that stuff in C#, but why would you want to? If you want to worry about memory management, use C, or asm, or a million other low level languages.

I am a long time senior developer, written apps in everything from java, C, C++, natural, cobol, C#, php, etc... C# is a great language. It's not perfect. It's not cross platform for making system apps. But it is pretty darn good. And I was a die hard C and C++ dev for years and only grudgingly started using it. Like any language, it's a tool, and just because you don't know how to use that tool doesn't make it bad.

-2

u/[deleted] May 04 '13 edited May 04 '13

Holy fan boy alert batman. Look, C# does have its cons; no language is perfect. But you are just being ridiculous. First, the .net framework is a great framework. Just because it isn't cross platform doesn't mean it sucks. If you need cross platform use a different tool. Also, you can build perfectly good web platforms off of .net, especially with MVC.

Good framework. Terrible deployment: useless for portable applications + unnecessary barriers due to poor execution on Microsoft's side + no cross-platform support.

Further, Guild Wars is written in C# and C++. C# is plenty fast for most games, and if you can't get it working than you are probably doing it wrong.

You can write games in Java. Or even python. Doesn't mean you should. There is no denying that your game will run slower and be more sluggish.

And what low level stuff? You mean like memory management? I mean, there are ways to get involved in that stuff in C#, but why would you want to? If you want to worry about memory management, use C, or asm, or a million other low level languages.

The point is that if you want to do low-level stuff such as memory management or interacting with the hardware and I/O or other low-level functionalities, you can in C++/Qt. You can't do that in C# afaik.

I am a long time senior developer, written apps in everything from java, C, C++, natural, cobol, C#, php, etc... C# is a great language. It's not perfect. It's not cross platform for making system apps. But it is pretty darn good. And I was a die hard C and C++ dev for years and only grudgingly started using it. Like any language, it's a tool, and just because you don't know how to use that tool doesn't make it bad.

Name one thing that it does better than C++/Qt. C++/Qt has better performance, has cross-platform support, is more native, has better deployment, and supports more low-level functionality and has most of the functionality that the .net framework offers (I'm not 100% sure on this point: can someone that is experienced in both Qt and C# clarify?).

The major criticism to the Qt library is licensing and that it is not as well known as C#.

3

u/wjbonner May 04 '13

There are two issues here, one is .net vs qt and one is C# vs C++. Honestly, I'm not that interested in extolling the virtues of C# over C++; I was a lead developer on teams that used both, they are both good languages as long as you make sure they match up with your problem domain, and they both allow for rapid prototyping if you know what you're doing.

So now for .net vs qt. Honestly, they offer different things. qt is great because of the cross platform support. .net is great because I can take the libraries that power my desktop apps and usually seamlessly move them into a web application. This is a great thing if you are developing for corporate clients.

As for low level access, in .net you can get to some of the low level stuff if you want, I've written drivers for a led shield in C#. In general though, you are correct in that it is largely abstracted away. However, for your average application I would say that is a benefit. If you really need to get to the nitty gritty, than you should obviously consider your environment carefully.

As for deployment, I've never had difficulty deploying my .net applications. It's no more difficult than using something like NSIS.

Honestly, I'm not really interested in arguing that one is better than the other, because they both have pro's and cons. The fact that you feel that .net/C# and qt/C++ can't both be good development platforms just shows your lack of experience or maturity as a developer.

Just a few years ago I had a chance to work as a mainframe programmer writing in assembler, C, JCL, and natural.
It was pretty cool to experience that environment, and see that you could write a website in assembler (though not what I would recommend). The reason I mention that is because many of the technologies that were being used would (rightfully) be eschewed in almost any other problem domain, but in that particular environment they were the right tools for the job. There is no point in trying to argue that platform x is better than platform y in all instances, because it just doesn't work that way in the real world. I hope you eventually gain the breadth of experience to realize that.

0

u/[deleted] May 04 '13

The only advantage you've stated is that you can seamlessly move your C# application into a web application. So unless you need that functionality, I would Qt is better.

.NET is pretty good. Qt is just better 99% of the time.

4

u/wjbonner May 04 '13

So because I'm not going to enumerate a comprehensive list of the differences between two large frameworks, one is obviously better? How ignorant.

0

u/[deleted] May 04 '13

Not really.

The consensus is that Qt > .NET: http://stackoverflow.com/questions/800219/qt-versus-wpf-net

4

u/wjbonner May 04 '13

The consensus of who? The couple hundred people that voted on a stack overflow post? From 2009? And what about those posts in there where experienced developers say just what I did, that they are both good in their own ways. And look, I can find posts that say WPF is has advantages over qt. All that means is that people have different preferences.

Also, what if you want to use partial classes? What if you don't want to worry about memory management? Is c++/qt still better than C#/.net? No, it's not. When was the time you wrote a program in C#? Because I write in both C++ and C# every week, and I know when I want to use one for a job over another. It's never an absolute black or white kind of thing.

0

u/[deleted] May 04 '13 edited May 04 '13

Touché.

I still maintain that at minimum, 50% of devs would prefer Qt over .NET for general usage.

2

u/Atlos May 04 '13

People write games in C# all the time using XNA.

1

u/[deleted] May 04 '13

There are games written in Java (one is called Runescape) and Python too.

P.S: http://gamasutra.com/view/news/185894/Its_official_XNA_is_dead.php#.URFIUKXAd8E

1

u/Atlos May 04 '13

"While XNA is officially dead as far as Microsoft is concerned, MonoGame says it will continue to support XNA developers going forward."

Lots of Indie developers make their games with XNA. And I already know that people make games in Java/Python. For some reason you said people couldn't write games in C#.

If speed is an issue then you can just write the bottleneck code in C++ while keeping the majority of your code in C#. That's how a lot of games work for Android where native code is used for the graphics intensive libraries.

0

u/[deleted] May 04 '13

For some reason you said people couldn't write games in C#.

I exaggerated that.

1

u/Atlos May 05 '13

ah, gotcha. be careful with exaggerations in this subreddit because lots of beginners browse and will not pick up on it.

2

u/[deleted] May 05 '13

Yeah, I regret it now that I look back at it. I should probably stop using them on the net.

1

u/[deleted] May 04 '13

My university teaches game development with C#

1

u/nemec May 04 '13

therefore needs that shitty .NET framework

How is this different than the Java VM and needing to install Java before installing and running a Java application?

you can't statically compile it

It's not a very common use case, apparently, but you can combine multiple assemblies into one using ILMerge

It's useless for creating portable applications

Ever heard of Mono?

you can't write games for example

As others have mentioned, XNA. I've written one myself and never had a performance issue.

lack of power when it comes to more low-level stuff

I don't think you have any idea what you're talking about. Java, Python, and Ruby also lack this "low level power" but they're not shitty languages are they? Besides, you can call out to unmanaged (e.g. C++) code using COM Interop and if you really, really have to you can do direct pointer work in an [unsafe](http://msdn.microsoft.com/en-us/library/chfa2zb8(v=vs.71).aspx) context.

1

u/[deleted] May 04 '13

How is this different than the Java VM and needing to install Java before installing and running a Java application?

No difference.

It's not a very common use case, apparently, but you can combine multiple assemblies into one using ILMerge

ILMerge creates a single .NET assembly. That is not statically linking. You still need .NET to run the application.

Ever heard of Mono?

What about it?

As others have mentioned, XNA. I've written one myself and never had a performance issue.

There is a performance hit. There is no debate here.

I don't think you have any idea what you're talking about. Java, Python, and Ruby also lack this "low level power" but they're not shitty languages are they? Besides, you can call out to unmanaged (e.g. C++) code using COM Interop and if you really, really have to you can do direct pointer work in an unsafe context.

Java, Python, and Ruby offer features that make up for lack of low-level power.

Also, are you really comparing C# to Python and Ruby?

1

u/tjsimmons May 04 '13

Yeah, I really love C#. I'm not the biggest Java fan, although both it and C++ are part of my toolkit, but C# is a really thoughtfully well-designed language that gets out of your way in ways that C++ and Java don't.

0

u/GreatBigJerk May 04 '13

There's also a growing demand for Unity developers, and C# is the best language for Unity by a long shot. There's also a lot of opportunities for cross platform development with Mono.

Even if it wasn't all over the place, C# is a breeze to learn and provides very few headaches.

2

u/dragid10 May 04 '13

If i may ask, why is Python recommended as a beginner programming language on this subreddit?

3

u/gkaukola May 04 '13

It's not by me. I recommend sicp and sicp lectures 24/7 365.

3

u/eric_weinstein May 04 '13

Some good answers here.

2

u/superspeck May 04 '13

Except for puppet and chef, which are definitely in high demand in the systems administration circles. After bash scripting, my recommendation for aspiring sysadmins is to learn Ruby so that they can use it in automation scripts.

12

u/[deleted] May 04 '13

python /thread

13

u/quaunaut May 04 '13

*is a python developer*

We may be our own circlejerk but you better damn well bet we jerk it better than anyone.

1

u/kulhajs May 04 '13

you can't /thread on your own comment!

/thread

here you go

3

u/ubsr1024 May 04 '13

...But how do you really feel?

3

u/eric_weinstein May 04 '13

Ruby is slow as shit

Interesting discussion here. In what context is Ruby demonstrably too slow for you to use?

there is no job market for non-Rails Ruby jobs

This isn't true, but it's true that the (probably vast) majority of Ruby jobs are Rails jobs.

it's useless for learning programming concepts

I'm calling bullshit, unless the only programming concepts you care about are pointers and memory management.

it's useless for creating games...

I agree Ruby's not great for creating games. Then again, considering a game developer's average salary compared to overall work satisfaction and the fact that game development is probably the only subdomain of the software engineering field in which there are more qualified applicants than there are jobs, you may or may not give a shit about this.

... GUIs...

http://shoesrb.com/

...or even scripts that are demanding

What do you mean by "demanding"?

The only reason no one writes blogs or posts about how shit this language is, is because no one fucking uses it.

TIOBE index

So if you want to learn a new language, learn one that's get criticized a lot like Java, or C++, or C# or even PHP.

"Criticized a lot" is not, by itself, a useful criterion for picking a language. Java, fine (though I dislike it). C++, fine (ditto). C# is what Java should have been in a lot of ways. PHP is a fractal of bad design. There are reasons to like or not like any language, but saying "I'm picking this language because everyone complains about it, since that must mean it's widely used" is fallacious. That's like saying you're going to use Windows ME because everyone complains about it.

Ruby is a joke with a circlejerk community

I agree that the Ruby community can be tough to handle sometimes.

1

u/gkaukola May 04 '13

So it sounds like you need to learn scheme, or try to at least. And by that I mean read sicp and watch the lectures and do the homeworks and assignments. After that come back here and complain about scheme and how you don't like parenthesis or something stupid and I will laugh and laugh even more at your stupidity Go!

1

u/[deleted] May 04 '13

I just stared to learn Ruby and I enjoy it. Python is more widespread but I like Ruby syntax from what I've learned so far. I might even learn Rails later. I know that Rackspace is hiring for Java, Ruby, Python, C#. Matasano uses Ruby and Metasploit and Ronin is written in Ruby. I also want to make an RPG game and I saw that RPG Maker uses Ruby for scripting as well.

Personally, I am very glad to find out that those companies, projects and engines utilize Ruby. But this is just me, I can use Ruby for all the personal projects that I always wanted to do and this language is more fun to me. I am also learning Java and it seems like I can always make a switch to Python if needed but Ruby is different and fun. Maybe I can even contribute to Ruby by writing a library that it doesn't have.

I don't know, that's just me. I stayed away from Ruby for the longest time because of the controversies and negativity. There is nothing wrong with that language.

1

u/Dinkydoo1875 May 04 '13

I'm a second year programming student and know a bit of Java, AS3 and JavaScript - HTML and CSS to structure and style the web apps I create.

I think that this is a pretty good foundation to build upon as its provided me with a good level of knowledge on pure OOP and the maintenance of Abstract Data Types with Java and, an understanding of client side web apps using a fairly flexible and less traditional OO language like JavaScript.

I'm now finished Uni for the summer and was going to build on my current experience in these languages with a few small projects. Does anyone think this would be a good idea or would it be best to try to pickup another language instead? I'll be learning C# with the .NET framework in September and hope to become software/systems developer one day.

1

u/spacemoses May 04 '13

Learning to write good code should not be a function of which programming language you choose. If I had spent 10 years writing QBASIC, I should be able to carry over good programming concepts to any other language. As for using Ruby specifically in the workplace, yes that might be another story, though I know we do use it some at my work.

1

u/Sqeaky Jun 23 '13

I actually Just a got a new job doing ruby that pays more 60% more than more previous C/C++ job.

So if I am no one and the people paying me are no-one than than this guy might be onto something.

1

u/one_boring_username May 04 '13

I'm sorry you had a bad experience with it. I do know that it can and is used as a main language for companies, but mainly for record indexing and lookup applications. I'm talking about Ruby without Rails here. Like you said in one of your comments, one can get far in Rails without understanding Ruby. One argument I can provide for learning it though is that it has taught you some new things and it will for someone new to it as well. Learning any new language will do this. I'm not just talking about learning you didn't like it. Did it give you new perspectives on your preferred languages? Did you start looking at what you know in a different light? If so then it wasn't a waste. Many times it's worth learning a new language for this reason, even if it's the only reason you do.

1

u/rcuhljr May 04 '13

Ruby is slow as shit

It's a scripting language, just like python I'm not sure what blazing speed you were expecting, but when the mantra of a community is developer speed is more important than execution speed you'd think you'd catch on.

there is no job market for non-Rails Ruby jobs

And? If you want to work professionally in Ruby you're most likely doing it in rails, it's still 10th or 11th on the TIOBE.

it's useless for learning programming concepts

I'm going to call bullshit on this well researched and expressed opinion. It's got first class functions and support for OO concepts, I'm not really sure what more you're expecting in a language for programming concepts.

it's useless for creating games, GUIs or even scripts that are demanding because it's so fucking slow.

Again, it's speed is comparable to other scripting languages, I've not experienced speed issues in any gui code I've written for it nor in scripts with tens of millions of cycles which is about all I ask from a scripting language.

The only reason no one writes blogs or posts about how shit this language is, is because no one fucking uses it.

Again, already refuted, it's like listening to someone bitch he learned C but there's no non systems jobs available.

1

u/[deleted] May 04 '13 edited Jun 25 '23

edit: Leave reddit for a better alternative and remember to suck fpez

3

u/rcuhljr May 04 '13

Zed's complaints where community centric, not issues with the language.

0

u/morethanaprogrammer May 04 '13

Your biggest mistake is not learning Ruby, but not learning what Ruby can offer to you. One of my favorite aspects of Ruby is that the community tends to favor readable, structured, testable code. Learning to write code for humans and not just machines will get you far in this world.

0

u/[deleted] May 05 '13

I got to this from /r/programmingcirclejerk

I can't believe this is a real post.

This is hilarious.

0

u/[deleted] May 04 '13

[deleted]

58

u/DarkSareon May 04 '13

OP is definitely correct about at least one point.

Ruby has the largest circlejerking community I've seen of all languages.

3

u/Mysterise May 04 '13

it's useless for creating games

"This hammer sucks! It's useless for sawing!"

GUIs

"And it doesn't cut well, either!"

Well, what is it good for then?

5

u/guebja May 04 '13

Some examples:

  1. A few weeks ago, I had to perform a bunch of transformations on several gigabytes of geographical data, and output the results as SVG and JSON. I wrote the script in the morning, and ran it during lunch. By the time I'd finished lunch, the work was done.

  2. A month or two ago, I had a few hundred thousand XML files that I needed to transform into a static website. A quick Ruby script using Mustache and Sass made it easy, quick and painless, while minimizing future maintenance needs and ensuring maintainability.

  3. For my personal blog, I use Jekyll with a few custom Ruby plugins.

For this type of stuff, scripting languages like Ruby, Python and Perl are the tools of choice, and which one you should choose depends entirely on personal preference, experience, and the availability of libraries you need.

Personally, I tend to alternate between different languages just to keep things interesting and to ensure that I stay up-to-date.

13

u/rcuhljr May 04 '13

Web development and scripting?

6

u/[deleted] May 04 '13

Ruby is good for general scripting and web development. Rails is a fantastic web-dev framework.

4

u/aloha2436 May 04 '13

Smashing things.

2

u/[deleted] May 04 '13

Teaching beginners the basics of programming concepts.

1

u/naranjas May 05 '13

It's exceptionally good for writing web applications, text manipulation, and creating domain specific languages.

2

u/Odysseus May 04 '13

Ruby is roughly comparable in speed to other scripting languages, like Python, PHP, Lua and Perl. See for yourself.

Careful with Lua. Many benchmarks allow only one interpreter and will use the official one, but LuaJIT is not only faster than any of those, it's often faster than C.

2

u/guebja May 04 '13

True, but similar things hold for the other languages there - though perhaps not to the same extent.

3

u/halfbloodprinceton May 04 '13 edited May 04 '13

The not-getting-hired for only knowing one language thing is false. I have one friend who only knows CSS (edit: she also knows HTML) and she does ok. I have another friend who only knows COBOL and he loves his job so much that he keeps delaying retirement.

12

u/arusso23 May 04 '13

How does one get a job working with CSS and not needing to know HTML or JavaScript? COBOL is a little more believable, but I still don't think that represents the norm.

1

u/halfbloodprinceton May 04 '13

It definitely doesn't represent the norm, but it happens. I forgot to add that she knows HTML 4 from her Myspace days.

3

u/SilverSlothmaster May 04 '13

Your friend that knows COBOL still has a job because of legacy systems. Your other friend doesn't know any programming languages at all in my opinion, since CSS is a stylesheet language. Technically it's Turing complete with HTML, but you really shouldn't be using it like that. And while knowing only one language doesn't mean you won't get a job, knowing multiple programming languages is considerably easier than natural languages and gives you a better chance in the market.

3

u/Dinkydoo1875 May 04 '13

What would one do with CSS simply on its own?

1

u/halfbloodprinceton May 04 '13

She does mysterious stuff for Gawker-style sites. I'm a quant so I'm not too familiar with web design...

1

u/Dinkydoo1875 May 05 '13

I just find it strange that someone would know CSS and not at least HTML.... HTML is used to structure web pages and CSS is used to give the page elements 'style' and control appearance. Neither languages are programming languages though; they can be described as a 'mark up'.

Edit: just seen your comment edit.

1

u/guebja May 04 '13

There are exceptions to every rule, but most people who think they'll be able to get a job knowing only a single language are going to have a bad time.

For example, someone looking to get into front-end dev work will generally need to know JavaScript, HTML and CSS at a minimum, and will usually be expected to be at least somewhat familiar with PHP and SQL as well, while things like Python, Ruby, ActionScript and other stuff like that will be considered a definite plus.

0

u/[deleted] May 04 '13

[deleted]

1

u/[deleted] May 04 '13

I always thought that most of Windows software is written in C++ not C#?

4

u/robhol May 04 '13

Maybe. but then, C++ has been a thing for several decades, while C# was created in 2000. C# is much more pleasant to code in, IMO.

2

u/[deleted] May 04 '13 edited Jun 25 '23

edit: Leave reddit for a better alternative and remember to suck fpez

-9

u/Capri-Sonne May 04 '13

I already know: Python, Java, C# besides Ruby, and currently learning C++.

The reason I am bashing Ruby is because it's useless. For scripting Python is faster, there are far more learning resources for it, and the community is not a circlejerk. I can even make easy games in Python or GUI.

The only defense Ruby fanboys have when someone criticises their holy language is "you used the wrong tool" - no I didn't. When Python works perfectly for a job, then Ruby which is quite similar should too. But it doesn't, because it's a useless, slow language that will never improve because the whole community is too busy worshiping Matz and whatever deity of the year they have.