Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of The Ruby programming language

    The Ruby programming language

    David Flanagan, Yukihiro Matsumoto · 2007

    A guide to Ruby programming covers such topics as datatypes and objects, expressions, classes and modules, control structures, and the Ruby platform.

    Programming
    Open LibraryAmazon
    Stats for nerds
    14recommend
    37mentions
    35people
    2008–2023years
    43% recommend43% neutral14% critical

    Mentions per year

    200820102012201420162018202020222023

    What Hacker News says

    1. valbacaSep 2021
      > How did you first get into programming? Were any books, blogs, forums, or people particularly helpful for your growth? What is it about coding that got you hooked?

      First, first started with a web-page summer class in middle-school. We learned HTML and a tiny bit of CSS/JS, all handwritten in Notepad and copied and pasted into Geocities (c. 2002)

      I was strong in math and science at a young age and wanted to be an astronaut, but wearing glasses, I decided being an engineer (of some sort) would be better.

      In High School, I went to an engineering Magnet school, so I got to play with Lego Mindstorm and other robotics. We built a solid-state rocket that broke the sound barrier and I helped program the beacon used to help find it when it came down.

      Between high school and college, I picked up "C++ for Dummies" and while I didn't learn much, it at least introduced some concepts (like pointers and classes) and syntax.

      In college, the books I consider the most influential were: "The Pragmatic Programmer" (that's a career-defining book) and my favorite languages were C ("The C Programming Language" by K&R) and Ruby ("The Ruby Programming Language" from O'Reilly).

      For today's programers, I'd suggest Python (it's ubiquitous, and perfect for learning and building fundamentals) and/or JavaScript (also ubiquitous for working with the web).

      > What is your experience with university? Did you get a degree, was it worth it, do you think it helped you find work, what did you love/hate about uni?

      I went to a state college (Texas Tech University) because it's what my family could afford. I got into more prestigious colleges (MIT, NYU) but would've had to take on massive college debt as I didn't qualify for much financial aid nor many scholarships. (Not rich enough or genius enough nor poor nor dumb). I still decided to make the best of my situation and replicate the MIT EE/CS program by dual-majoring in Electrical Engineering & Computer Science.

      I'm really glad I did EE/CS dual-major b/c it gave me a full spectrum of understanding: from electrons->fields->gates->circuits->low-level architecture->operating systems-> C -> C++ -> Java -> Python -> Lisp

      Also at the time, CS wasn't as solid of a career path after the dot-com bubble. It was honestly nice to have an EE degree as a "backup" and I also did most of my programming for my EE lab work.

      Given that I made the frugal decision to stay in-state, take on minimal loans by living at home, and got two degrees out of 5-years, and the college really helped me find my first job through career fairs (even in the tail-end of a recession), I would definitely say that a degree was worth it. I was also the first in my family to ever graduate from college, which was/is a major source of pride for me and my family. I also met my fiancé-now-wife in college and other life-long friends. I worked through college at the college IT dept as well, in addition to my 15-18hr course load. This got me tangentially-relevant work experience. College and work taught me how to study and work efficiently and effectively.

      There's definitely a larger no-degree movement and I would never say you need a degree; there's also a lot a degree entails that is nonsense.

      My EE & CS classes were worthwhile and taught me the most fundamental concepts of programming: language (as in language design, compilers, interpreters), functions, recursion, pointers. You really understand "the stack" when you build C-function calls in assembly. You understand compiler errors better when you've written one. Again, not saying you need to go to university to learn these things; just sharing that these parts were what's valuable.

      > How did you get your first paid work (family & friends, internship, freelance, full-time)?

      Career fair and interviewing pretty much my whole last year at uni. I already had an internship, which also greatly helped.

      > What do you do now and what do you love/hate about your job?

      I'm a senior software engineer. I love the coding and the scale and scope at which my work applies. I can launch features to literally millions of people and help generate hundreds of millions of dollars in donations. I get to learn new concepts and apply them.

      I love that I pretty much set my hours, I work comfortably indoors. I work remotely, so my gym, my dog, and my wife are just a room or two away. I don't like office nonsense (arguing over fridge space or who filled the coffee or what did you do this weekend), so remote is fantastic. And I

      love* the pay.

      I hate the inefficiencies and bad politics, but that's just part of white-collar work. When people would rather feel right or appear smart than be right or smart. When metrics are given priority over substance; when how something is measured is prioritized over what the measurement was meant to represent (an analogy would be chasing a higher credit score while you're in deep debt to your family or losing weight by cutting off a limb). Long-term results are sacrificed for short-term gains.

      I'm happy to share more.

      * My opinions are my own and not my employers. I don't speak for them nor they for me.

      thread
    2. valbacaJul 2021
      BLUF: I love crystal and can't wait for it to get the attention I think it deserves.

      To give a bit of history of myself and programming languages, I first started as an EE/CS major working with ASM/C/C++/Matlab for EE and C++/Java/Lisp for CS. Up until graduation, it was just a given that programming languages were just a concession given to you so you didn't have to write assembly. OO in the form of C++/Java was the "better alternative" to imperative C. Lucky me.

      Then I heard about Ruby and Ruby on Rails. After reading "The Ruby Programming Language" and working through the examples, I was blown away by the idea that a language could be for a programmer and be a way to express ideas rather than something we translate ideas into. Metaprogramming and mixins and Procs oh my.

      Then I started working through Project Euler questions with Ruby and it all came crashing down with the reality of Ruby's runtime. Ruby gave me expressiveness but just could't give me the speed of my equivalent C/Java code. Granted, I was definitely doing very sub-optimal algos but even then, C/Java just didn't care and gave the answer in seconds, not minutes.

      Since then, Java & JS have paid my bills. I've seen the popularity of Ruby die as Rails fell out of style when Twitter moved away.

      I've messed around with Crystal, trying to work through the problems in "The Go Programming Language" in Crystal and finding that Crystal is a beautiful language and fast as hell. That said, there's always a trade-off right? Crystal's trade off is in compile time, especially with --release. However, I think that's a reasonable trade-off since your release builds should be on a beefy server and it could save you $$$ if it means your actual production servers can be lean as hell. That said, I'm also aware that this problem is exactly one that the Go language was meant to address (C++'s exponentially growing compile time).

      Crystal definitely needs:

      1. IDE/Debugger support, understandable for a new language, but the language should be "finished" and tooling needs critical attention

      2. Libraries. The classic problem of any new language.

      3. Major sponsorship (would greatly help with point 1 & 2)

      thread
    3. ArgorakAug 2014
      "The Ruby Programming Language" by Flanagan and Matsumoto may not have that as it's main goal, but gives a very good overview on why features are how they are and even gives some advice from the creator of the language himself and some commentary on them (e.g. flip-flops are considered an implementation oddity kept around for backwards compat).

      http://www.amazon.com/Ruby-Programming-Language-David-Flanag...

      I think it's the most relevant Ruby book, because it documents the basic thinking and mental approach of the language, which is actually very stable.

      thread
    4. JonnieCacheJun 2012
      The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto (Matz)

      http://shop.oreilly.com/product/9780596516178.do

      Know the fundamentals.

      thread
    5. jamesbrittNov 2011
      BTW, that online copy is the 1st edition of the book, for ruby 1.8.6 (or maybe even earlier).

      The language is now at 1.9.3, and while things are fundamentally the same there are assorted little differences.

      Still, as a free intro to the language it's not bad.

      If you want to buy a book I'd suggest The Ruby Programming Language, as well as anything by Gregory Brown or David A. Black.

      Greg also produces the Practicing Ruby newsletter which I cannot recommend highly enough.

      http://practicingruby.com/

      Greg does amazing stuff.

      See also http://university.rubymendicant.com and http://blog.rubybestpractices.com

      thread
    6. telemachosSep 2011
      For tutorial/walkthrough with lots of example small scripts Beginning Ruby, 2nd ed by Peter Cooper. For a straight reference The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto. A middle-ground (tutorial first half; reference second half): Programming Ruby 1.9 (aka, the Pickaxe Book) by Dave Thomas.

      A great second book (maybe even first if you're comfortable enough learning basic syntax on your own) is Eloquent Ruby by Russ Olsen.

      thread

    Related

    Cover of Ruby For Rails
    2007–2020

    Ruby For Rails

    David A. Black
    17 recommend · 25
    Cover of Beginning Ruby
    2007–2019

    Beginning Ruby

    Peter Cooper
    18 recommend · 45
    Ruby Best PracticesGregory Brown
    2010–2013

    Ruby Best Practices

    Gregory Brown
    8 recommend · 12
    Cover of The well-grounded Rubyist
    2009–2023

    The well-grounded Rubyist

    David A. Black
    31 recommend · 47
    Cover of Eloquent Ruby
    2011–2026

    Eloquent Ruby

    Russ Olsen
    44 recommend · 68
    Cover of Cloning Internet Applications with Ruby
    2011

    Cloning Internet Applications with Ruby

    Chang Sau Sheong
    3 recommend · 3
    Programming Ruby 1.9
    2009–2013

    Programming Ruby 1.9

    11 recommend · 16
    Cover of Programming Ruby
    2008–2019

    Programming Ruby

    Dave Thomas
    6 recommend · 8