Hacker News new | past | comments | ask | show | jobs | submit login

I still recommend Ruby as the first language because it has all of the features you want to know about as a newbie and at the same time there are very few quirks. The things you sacrifice are performance and memory efficiency. I have seen junior programmers picking up Ruby as be able to write production ready code in couple of weeks. I guess the learning curve is not as steep.



I don't think it's a performance and memory issue that the author is raising. Ruby, much like Python, mostly wraps some lower level libraries for game dev. In both cases, you either make sure your users have dependencies installed, or you use one of the clumsy "compiler" solutions that don't always work well.

Consequently, Ruby isn't any better for the author's usage case (kids wanting to learn to write games that are super easily portable). It can be done, but it's not going to be as easy as some of the other languages/toolkits (for that specific usage case).


> for the author's usage case (kids wanting to learn to write games that are super easily portable)

This is an artificial use case. Kids wanting to learn to write games should be concerned with whatever works on the hardware they have available. Portability is premature optimization at this point.


Really? You don't think they'd want to be able to show their friends?

Mobile might be an artificial use case or a premature optimization, but it is solved with his choice of JS.


> Portability is premature optimization at this point.

It really isn't. If I am a new developer, you're raining on my parade by telling me that I or my friends will have to jump through a bunch of hoops to run my game.

In the context of learning to program as a younger person, this is a pretty big deal. This is anything but an artificial usage case, and is what the author is specifically looking at (education).


Expectations, expectations.

Mobile means stuff looks easier than what really is. If you cannot be bothered to jump through hoops, this is not a career for you. What I recall of my novice days is literally one hoop after the other. It is just that some people enjoy jumping (this particular type of) hoops.

And regarding the social aspect, think of the days of microcomputers before the PC. I am too young to have experienced first hand, but I recall my uncle having a Commodore 64 and letting me use it. What I recall is that he had 2 different circles of friends: the C64 guys he traded knowledge and warez with, and his actual friends who really need to come over home to be shown the new feat (if they were interested at all).


I would not recommend Ruby over Python, as the core languages and libraries make the Ruby API set much larger than Python to do the simplest things. Example: How many APIs do you need to traverse an Enumerable in Ruby versus a a list in Python? I'd suspect it's easier to just learn 1 API for them instead of 20.

For now, if they want to learn something as a start, even though it still has its quirks, write them in Swift. You get a bit of everything plus you can code some UI without the deep diving into ObjC.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: