|
def ruby_is_the_ugliest_language(why_use_it_ever) all_the_clutter_of_scheme(but,none,of,the,elegance) duck = get_thing # is this real duck = get_banana # why would you do this to me duck = get_firetruck # fuck I give up mystery = is_this_a_method_or_a_variable did_I_mention_the_ugly_naming_standard = true ruby_annoys_me.each do |day| get_mildly_convenient_loop_syntax unless is_it_worth_it? ruby_sucks end end Thread.new { multithreading_is_a_joke = true } end end end end
![4.29 stars based on 7 ratings *](/images/blogs/blackstar.gif) ![4.29 stars based on 7 ratings *](/images/blogs/blackstar.gif) ![4.29 stars based on 7 ratings *](/images/blogs/blackstar.gif) ![4.29 stars based on 7 ratings *](/images/blogs/blackstar.gif)
|
|
On February 01 2014 04:14 MysteryMeat1 wrote: mystery is a method.
Maybe, maybe not. You can't know without seeing more. Even if you saw the method definition you wouldn't know for sure.
Consider:
mystery = 4
def mystery return 2 end
puts mystery
This won't even complain about the ambiguity, it just outputs 4. This is why Ruby sucks.
|
Does that code actually work?
|
On February 01 2014 04:33 rafaliusz wrote: Does that code actually work?
It's correct syntax (other than the three superfluous end statements at the bottom), yes.
|
Ah Ruby, I hated it so much.
|
On February 01 2014 04:50 Chairman Ray wrote: Ah Ruby, I hated it so much.
Seriously though, duck typing may be fine for a teaching language or a small personal project, but when you're digging through and debugging huge files and/or trying to use big libraries, it's like, what the FUCK does this method return? What kind of shit is this variable holding? What asshole named this method to_m?
end
Also Ruby can't multithread for shit, all you end up doing is context switching on a single core and making everything take 3x as long.
|
On February 01 2014 04:14 MysteryMeat1 wrote: mystery is a method. lol, +1, high five sir.
|
On February 01 2014 05:01 Alzadar wrote:Seriously though, duck typing may be fine for a teaching language or a small personal project, but when you're digging through and debugging huge files and/or trying to use big libraries, it's like, what the FUCK does this method return? What kind of shit is this variable holding? What asshole named this method to_m? end Also Ruby can't multithread for shit, all you end up doing is context switching on a single core and making everything take 3x as long.
Ehhh depends on your developers. If people are good about not being terrible, duck typing can save you a ton of code and still remain workable on large projects. Less so for primitives where it's annoying, but it's nice for some functions that aren't distinct enough to create an object hierarchy for (say load and unload if you're dealing with some sort of widget type things).
Plus it avoids an equally annoying bloat you see in large projects where you have someone doing: addNumbers(int i, int j) addNumbers(string i, string j) addNumbers(int i, string j) addNumbers(string i, int j) addNumbers(float i, float j) ... and on and on...
|
On February 01 2014 07:24 Logo wrote:Show nested quote +On February 01 2014 05:01 Alzadar wrote:On February 01 2014 04:50 Chairman Ray wrote: Ah Ruby, I hated it so much. Seriously though, duck typing may be fine for a teaching language or a small personal project, but when you're digging through and debugging huge files and/or trying to use big libraries, it's like, what the FUCK does this method return? What kind of shit is this variable holding? What asshole named this method to_m? end Also Ruby can't multithread for shit, all you end up doing is context switching on a single core and making everything take 3x as long. Ehhh depends on your developers. If people are good about not being terrible, duck typing can save you a ton of code and still remain workable on large projects. Less so for primitives where it's annoying, but it's nice for some functions that aren't distinct enough to create an object hierarchy for (say load and unload if you're dealing with some sort of widget type things). Plus it avoids an equally annoying bloat you see in large projects where you have someone doing: addNumbers(int i, int j) addNumbers(string i, string j) addNumbers(int i, string j) addNumbers(string i, int j) addNumbers(float i, float j) ... and on and on...
You could achieve a similar thing via regular polymorphism, although that takes a decent amount of foresight and would be hard to implement retroactively.
|
I was so sure this was gonna be about pokemon and I was about to get in here and defend that game to death lol.
|
On February 01 2014 08:19 docvoc wrote: I was so sure this was gonna be about pokemon and I was about to get in here and defend that game to death lol.
Same thought, but I just wanted to see TL burn.
|
Had to dev a FTP in ruby and when I realized there was no high-level storage from ruby-objects to yaml in ruby I cried. Still there is far worse than Ruby.
*shrugs* FORTRAN *shrugs*
|
Rails is excellent for quickly developing web-applications. Choose the right tool for the right job. Of course there's certain annoying things about Ruby and the asset pipeline can be frustrating.
|
|
|
|