SitePoint Sponsor

User Tag List

Page 1 of 2 12 LastLast
Results 1 to 25 of 26
  1. #1
    SitePoint Enthusiast
    Join Date
    Mar 2006
    Posts
    43
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    What do u hate about ruby

    hi all,


    i assume this being a ruby forum everyone loves ruby but what do u hate about it?

    There must be some drawbacks.
    Some little thing that niggle at you when u use it.

    just thought it might spark some interesting posts

    cheers,
    Dave

  2. #2
    eschew sesquipedalians silver trophy sweatje's Avatar
    Join Date
    Jun 2003
    Location
    Iowa, USA
    Posts
    3,749
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    That I love Ruby's syntax, but I still don't find myself as productive as I do with PHP.

    And that Ruby is even further away from a corporate standard than PHP, and is therefore even harder to introduce into an "Enterprise" environment.
    Jason Sweat ZCE - jsweat_php@yahoo.com
    Book: PHP Patterns
    Good Stuff: SimpleTest PHPUnit FireFox ADOdb YUI
    Detestable (adjective): software that isn't testable.

  3. #3
    SitePoint Zealot
    Join Date
    Jul 2005
    Posts
    124
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1) How slow it is.
    2) Poor unicode support.
    3) How far some have got their heads up their arses in #ruby-lang.

    Based on my comments you can probably figure out that I prefer Python over Ruby. However, I don't think Ruby is a bad language, it was my first step out of the C style hell.

  4. #4
    SitePoint Guru
    Join Date
    Aug 2005
    Posts
    986
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    1) method aliases like collect
    2) blocks are not first-class
    3) poor keyword argument syntax

  5. #5
    SitePoint Addict
    Join Date
    Mar 2005
    Posts
    251
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I Don't like the multi-line comment syntax

  6. #6
    SitePoint Guru Majglow's Avatar
    Join Date
    Aug 1999
    Location
    B-Town
    Posts
    645
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by sweatje
    That I love Ruby's syntax, but I still don't find myself as productive as I do with PHP.

    And that Ruby is even further away from a corporate standard than PHP, and is therefore even harder to introduce into an "Enterprise" environment.
    I would just like to say that I find myself way more productive than with PHP. Also, as for the "corporate environment" it just takes time. It's starting to be adopted. I know a couple of fortune 500 companies that are starting to use ruby / rails for critical apps. It's mostly a question of people there realizing the potential... and how much respect the developers get from managers.
    Ohai!

  7. #7
    ☆★☆★ silver trophy vgarcia's Avatar
    Join Date
    Jan 2002
    Location
    in transition
    Posts
    21,236
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    It runs like crap on Windows (Rails, not necessarily Ruby) so my chances of being able to actually use it at work is near nil (you try telling a Windows software company to switch its server platforms).

  8. #8
    chown linux:users\ /world Hartmann's Avatar
    Join Date
    Aug 2000
    Location
    Houston, TX, USA
    Posts
    6,455
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)
    I've just never been able to get used to some of the syntax or naming of functions.

  9. #9
    SitePoint Addict
    Join Date
    Jan 2006
    Posts
    268
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by vgarcia
    It runs like crap on Windows (Rails, not necessarily Ruby) so my chances of being able to actually use it at work is near nil (you try telling a Windows software company to switch its server platforms).
    what about it runs like crap on windows?? I've had no problem with it on Windows, but I've only been using it for a few weeks...

    My biggest problem with rails (not ruby) is I have trouble porting my apps to my host from my local development machine. This is probably more of a problem with the way my host is set up though..

    I'm not a big fan of the Ruby manual

  10. #10
    Put your best practices away. The New Guy's Avatar
    Join Date
    Sep 2002
    Location
    Canada
    Posts
    2,087
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    CRAP ERROR MESSAGES!!!!!!!!!!!!!!
    "A nerd who gets contacts
    and a trendy hair cut is still a nerd"

    - Stephen Colbert on Apple Users

  11. #11
    SitePoint Guru silver trophy Luke Redpath's Avatar
    Join Date
    Mar 2003
    Location
    London
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Fenrir2
    1) method aliases like collect
    I actually use collect more than map

    2) blocks are not first-class
    to_proc not good enough eh?

    3) poor keyword argument syntax
    What keyword argument syntax? Heh, its easy enough to implement using a hash with symbol keys (which is what I'd imagine a native implementation would look like anyway).

    http://www.lukeredpath.co.uk/2006/7/...-easy-defaults

  12. #12
    SitePoint Guru silver trophy Luke Redpath's Avatar
    Join Date
    Mar 2003
    Location
    London
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by vgarcia
    It runs like crap on Windows (Rails, not necessarily Ruby) so my chances of being able to actually use it at work is near nil (you try telling a Windows software company to switch its server platforms).
    A small quote from RailsConf last week (actually by Martin Fowler originally):

    "If you can't change your job...change your job".


  13. #13
    ☆★☆★ silver trophy vgarcia's Avatar
    Join Date
    Jan 2002
    Location
    in transition
    Posts
    21,236
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by pjleonhardt
    what about it runs like crap on windows?? I've had no problem with it on Windows, but I've only been using it for a few weeks...
    Try deploying in production on an IIS server and without Apache or lighttpd as a proxy. It's possible, but the fact is Windows is a second-class deployment platform for Rails and it seems like Zed Shaw is the only person doing anything about it.
    Quote Originally Posted by Luke Redpath
    A small quote from RailsConf last week (actually by Martin Fowler originally):

    "If you can't change your job...change your job".

    Let's check the local RoR jobs:

    ONE. And it's a 6-week contract. Mortgage > fun job unfortunately

  14. #14
    throw me a bone ... now bonefry's Avatar
    Join Date
    Nov 2004
    Location
    Romania
    Posts
    848
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I don't like its performance.

    One of the ways I start learning a new language is by picking up my old and trusty algorithms and data-structures book, and then I start translating those into the new language to familiarize myself with the language's primitives.

    With Ruby it was a big dissapointment, as you can imagine.

    But on the other hand ... it is now my #1 scripting language because there's no other as productive.
    I have a dozen cron-jobs written in Ruby that are in production.
    I also have mixed PHP-Ruby applications ... just for fun

    And I love the productivity of Ruby on Rails ... but I still use PHP and Java for serious websites ... and yes, it has something to do with fear of unknown problems that may appear, or fear of performance issues.

    But that may fade in time, and I really hope performance improves, because its a wonderfull language.

  15. #15
    SitePoint Guru silver trophy Luke Redpath's Avatar
    Join Date
    Mar 2003
    Location
    London
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Performance should hopefully no longer be an issue come Ruby 2.0, but as to when its due...who knows.

  16. #16
    SitePoint Guru
    Join Date
    Aug 2005
    Posts
    986
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Luke Redpath
    I actually use collect more than map
    I used to use collect but after a little Haskell I'm used to map now.

    to_proc not good enough eh?
    It isn't ;-). Blocks should be first class so you can do this:

    foo({|a,b| ...})

    What keyword argument syntax? Heh, its easy enough to implement using a hash with symbol keys (which is what I'd imagine a native implementation would look like anyway).

    http://www.lukeredpath.co.uk/2006/7/...-easy-defaults
    That's pretty good but the native keyword argument syntax of Ruby 2 is better IMO.

  17. #17
    SitePoint Guru silver trophy Luke Redpath's Avatar
    Join Date
    Mar 2003
    Location
    London
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm really not sure what the point would be in having blocks as first class objects - they are essentially syntatic sugar for procs IMO. When ever you do this:

    Code:
    def takes_a_block(foo, bar, &block)
    end
    
    takes_a_block('something', 'something else') do
      #whatever
    end
    The & in front of the block argument calls to_proc anyway, so you are always dealing with a proc. The & shortcut for to_proc is also what lets you do things like:

    Code:
    # long way
    names = @users.collect { |u| u.name }
    
    # short way
    names = @users.collect(&:name)
    As long as you have the cool Symbol#to_proc extension (its in Rails and the Ruby extensions project, and Ruby 1.9 I think).

    You can do this:

    Code:
    def foo(block_one, block_two)
      puts "One is a #{block_one.class} and two is a #{block_two.class}"
    end
    
    foo(proc{|x| ...}, proc{|x| ...})
    #=> "One is a Proc and two is a Proc"
    OK its not quite as clean, but its better than Proc.new. Having Procs as first class objects is the key I feel, not having blocks as first class objects. It would be like asking for parentheses as first-class objects; they are only syntax constructs.

  18. #18
    SitePoint Enthusiast
    Join Date
    Jun 2006
    Posts
    56
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quit confusing rails with ruby
    Ruby kills php in speed in coming out of a database
    Php just has faster text processing.
    Quit comparing them please, they are better for different purposes.

  19. #19
    SitePoint Guru silver trophy Luke Redpath's Avatar
    Join Date
    Mar 2003
    Location
    London
    Posts
    794
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by EasyMarketer
    Quit confusing rails with ruby
    Ruby kills php in speed in coming out of a database
    Php just has faster text processing.
    Quit comparing them please, they are better for different purposes.
    I don't see anybody confusing the two.

    Ruby *is* slow (and it is slower than PHP). In fact, out of the many dynamic scripting languages out there, Ruby probably comes near the bottom of the list in terms of speed.

  20. #20
    ☆★☆★ silver trophy vgarcia's Avatar
    Join Date
    Jan 2002
    Location
    in transition
    Posts
    21,236
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)
    Quote Originally Posted by EasyMarketer
    Quit confusing rails with ruby
    Ruby kills php in speed in coming out of a database
    Php just has faster text processing.
    Quit comparing them please, they are better for different purposes.
    Even if PHP is faster so what? You just have to know when to use the right language for the job. If you need super performance then Ruby probably won't help you (for now, who knows with 2.0), but at the same time, very few dynamic languages would help at that kind of scale.

  21. #21
    SitePoint Guru hgilbert's Avatar
    Join Date
    Dec 2004
    Location
    London
    Posts
    839
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    what I hate about Ruby?

    ... the fact I can't program in it


  22. #22
    SitePoint Guru
    Join Date
    Aug 2005
    Posts
    986
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Then change that hgilbert; learn Ruby!.

    Quote Originally Posted by Luke Redpath
    I'm really not sure what the point would be in having blocks as first class objects
    It's good to have first class things. It's consistent and more dynamic. First class Classes are good because you don't need factories anymore.

    For example:

    Code:
    p = {|a,b| ...}
    That should be possible: there is not reason for blocks not being first class. Easier to understand.

    It doesn't matter much in practice because you can use lambda but it's just one of those not-optimal things.

  23. #23
    SitePoint Zealot
    Join Date
    Jul 2004
    Location
    Oklahoma
    Posts
    119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Fenrir2
    Then change that hgilbert; learn Ruby!.



    It's good to have first class things. It's consistent and more dynamic. First class Classes are good because you don't need factories anymore.

    For example:

    Code:
    p = {|a,b| ...}
    That should be possible: there is not reason for blocks not being first class. Easier to understand.

    It doesn't matter much in practice because you can use lambda but it's just one of those not-optimal things.
    But how would you distinguish an empty block with no arguments, and an empty hash?
    Code:
    p = { }

  24. #24
    SitePoint Guru
    Join Date
    Aug 2005
    Posts
    986
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    {||}

  25. #25
    SitePoint Zealot
    Join Date
    Jul 2004
    Location
    Oklahoma
    Posts
    119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Fenrir2
    {||}
    Except that now you've got two sets of syntax for blocks without arguments, and i'd hate to have to write do || end everytime I wanted a "normal" block without arguments.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •