Live data from Hacker News

Ruby 2.0.0-rc2 is released

ruby-lang.org

51–58 of 58 posts

Re: Ruby 2.0.0-rc2 is released

#52

Earlier quoted context omitted.

OR it is having a mature and charming 35 year-old with lots of experience as your first girlfriend/boyfriend. The gap is huge at first but with the growing relationship you learn about all the intricate details of being with someone on a daily basis, which can make all subsequent relationships much easier to handle. C is rough, it's roots, but it doesn't distort the programmer in any way and teaches very sane princip…

Writing C code on an older machine kind of taught me that programming is mostly about just one thing: Managing memory in the most efficient way. Writing PHP or Ruby code spoils you. You completely forget that memory even exists, until you need to do something heavy. It's a good lesson to learn if you want to move beyond just basic web dev personal project stuff. But if all you need is to automate some calculations or…

This sounds a lot like Stockholm Syndrome :P

Re: Ruby 2.0.0-rc2 is released

#54

Earlier quoted context omitted.

Languages like ruby and python democratize programming. Learning programming with C is like having a 25 years old mother of 2 as your first girlfriend.

Ha! So true. I am currently teaching my 8yo programming, or rather in the process of building a set of teaching tools for her - right now things are very early stage, and she's busy playing VIM Adventures to familiarize herself to the keyboard and keystrokes. I'm trying to decide between Ruby and Python, which has the highly recommended Snake Wrangling For Kids going for it.

Opinionated advice: go full Python or Javascript! Being exposed to first class functions and higher order functions, without needing to wrap your head around OOP or even simple things like code blocks gives you a clear and "functional ready mind": after Python you can jump into Javascript or just as well into Haskell. From Ruby you have a little "baby wall" to climb when you go out of it to the larger world.

Re: Ruby 2.0.0-rc2 is released

#55
post #52

Earlier quoted context omitted.

Writing C code on an older machine kind of taught me that programming is mostly about just one thing: Managing memory in the most efficient way. Writing PHP or Ruby code spoils you. You completely forget that memory even exists, until you need to do something heavy. It's a good lesson to learn if you want to move beyond just basic web dev personal project stuff. But if all you need is to automate some calculations or…

This sounds a lot like Stockholm Syndrome :P

Not too sure about this. With the explosion of ajax websites and mobile apps the burden has been put on the client. This means less memory.

It's very odd because as far as mobile is concerned, history is repeating itself. You have local apps running code. You can't assume those people running the app have as much memory as you. To build the best working app, run it on a smartphone with horrible specs. If it runs clean there, it will run clean most anywhere.

On the ajax website side it's the same thing. You're pushing the code execution off on the user. You have to be crafty about not assuming anything about the client.

A recent example I encountered was a "suggest as you type" feature for a website. If you try to lookup suggestions everytime a user types a letter in a search it will fail horribly on machines that are even slightly old. However on newer machines it works like a champ. So should we just not worry about those older machines?

Even the recent local sql db stuff (Web SQL DB) for HTML5 is an attempt to solve memory efficiency with current trends of pushing code execution to the client. Desktops (and most smartphones) now can handle large amounts of data, but the older models of ram storage via javascript arrays etc are not the way to maximize this. The local SQL storage stuff solves this issue by using the ROM.

Really this could have been done from the start (and was with cookies on some level), but necessity is the mother of invention.

No dev has a "love" of being trapped by constraints, but learns to utilize those constraints in the best way possible so when better things come along they can go above and beyond.

A real world example would be someone who learns to efficiently use memory can push off audio/video/image editing processes to the client side, while someone who relies on an abundant amount of memory could only push off maybe a few statistic calculations to the client side.

If you're looking for a business benefit to this: Pushing code execution off on the client without interrupting the user experience saves money on servers when dealing with scalability. Cut the processing in half by putting 50% of processing off on the client side and you cut your server cost in half.

Re: Ruby 2.0.0-rc2 is released

#56

Don't wait to try this out, I've been using this in production and it really flies ... I'm getting results in simple tests right around 60-70% which is right in line with this guy https://gist.github.com/soffes/4478454 . Can't really measure performance boost in production though, since I can't afford to get newrelic just yet

newrelic ruby agent is unusable on ruby 2.0 yet anyway. It breaks the whole app. Pretty much everything else works for me though!
Post reply on HN