Live data from Hacker News

Ask HN: What should I learn next: Ruby or Python ?

news.ycombinator.com

11–20 of 24 posts

Re: Ask HN: What should I learn next: Ruby or Python ?

#11
post #2

I work professionally in Django. Django is nicer starting out, but it's starting to chafe. I'd rails, even if it is a "grass greener" type situation.

What are your hangups with Django?

I've gone through the same so I'm wondering if we are running in to the same kind of issues.

Re: Ask HN: What should I learn next: Ruby or Python ?

#12
post #2

I work professionally in Django. Django is nicer starting out, but it's starting to chafe. I'd rails, even if it is a "grass greener" type situation.

Django != Python and Rails != Ruby. There are other solutions in either language that might suit your project better.

Re: Ask HN: What should I learn next: Ruby or Python ?

#13
Things I love about Ruby (I have not used Python yet):

- everything is an object, so you can e.g. store code in a Proc to execute it later or add new methods to Numbers (e.g. 1.kilobyte => 1024)

- very clean syntax and expressive method names means you don't need to document much, it's pretty obvious most of the time (e.g. 3.times do print "ho" * 3 end => "hohoho")

- very flexible, allows nice DSLs that read a lot like english (e.g. Rails or RSpec)

- interesting community with lots of free material (e.g. _why's poignant guide, railscasts.com, therubyshow.com, ...)

I'm sure Python is pretty cool as well, but from all I've heard (I had the same question a while ago) Ruby seems to fit me better with its "more fun and freedom" philosophy.

Re: Ask HN: What should I learn next: Ruby or Python ?

#14
post #6

Whether you pick Python or Ruby, you should try to avoid diving right into Django or Rails. Work through Mark Pilgrim's "Dive Into Python" or _why's "Poignant Guide to Ruby". If you want to write a web app, start with Google AppEngine w/ it's webapp framework, or Heroku w/ Sinatra.

This! If you are doing Ruby, definitely start with Heroku and Sinatra. It's very simple, clean, and an excellent starting point.

You can move to Rails once you got the basics of Ruby down -- Rails will make a lot more sense then.

Re: Ask HN: What should I learn next: Ruby or Python ?

#15
post #12
post #2

I work professionally in Django. Django is nicer starting out, but it's starting to chafe. I'd rails, even if it is a "grass greener" type situation.

Django != Python and Rails != Ruby. There are other solutions in either language that might suit your project better.

>There are other solutions in either language that might suit your project better.

What I use at work isn't up to me. I'm paid to work, not whine and whinge about the spade in my hand.

Re: Ask HN: What should I learn next: Ruby or Python ?

#16
post #2

I work professionally in Django. Django is nicer starting out, but it's starting to chafe. I'd rails, even if it is a "grass greener" type situation.

What are your hangups with Django? I've gone through the same so I'm wondering if we are running in to the same kind of issues.

Forms are a fragile waste of time 80% of the time.

Only reusable modelforms + generic views really redeem them in my eyes.

The ORM is enjoyable but terrible for doing mass migrations. I've had to do some pretty ridiculous backflips just to get migrations to finish on our VPS.

The utter lack of real migrations. For. Fuck's. Sake. Makes it impossible to make any rapid changes to your models without thinking, "OH GOD WHAT AM I GOING TO BREAK!?!"

There are random and strange install-specific errors that will crop up and we'll either have to reinstall python/django, the OS, or ignore it and trudge on.

And there won't be any mentions of said problems on the mailing list to speak of either. (These kinds of things have occurred on OS X and Win32 both, so don't start pointing fingers.)

The incredible awkwardness of AJAX in Django. Utterly useless. It apparently suited Jacob and Adrian to pretend javascript didn't exist in their world.

It's opaque, doesn't support multiple databases, doesn't support non-relational databases, and it's nearly impossible to modify/rip out any given portion of the framework. It's the epitome of what people hate about full'ish stack frameworks.

I'm to the point where I no longer feel Django is saving me any time. The crippling of templates doesn't create a substantial separation of duties at work because I work with incompetents. Instead I'm left with crippled templates and whiny coworkers.

I'd rather work with Werkzeug/Web.py/Sinatra/Rails at this point. At least Rails was designed to be modular, allowing me to rip the parts I don't like out.

Re: Ask HN: What should I learn next: Ruby or Python ?

#17
post #3
post #2

I work professionally in Django. Django is nicer starting out, but it's starting to chafe. I'd rails, even if it is a "grass greener" type situation.

Thanks for the honest insight.

Thanks for the friendly response, haha. I went into more detail about what was bothering me in Django in another reply by the way.

Re: Ask HN: What should I learn next: Ruby or Python ?

#19
post #18

Python

For what it's worth, several universities have chosen Python to teach introductory CS rather than Lisp/Scheme. Also NASA, Industrial Light and Magic, Disney, etc have chosen Python. But as others have pointed out, try out both and see which one feels more "natural" to you. For me, Python was like "executable pseudo code" and I found I could grok the batteries included libraries much better than anything that Ruby had to offer at the time (about v2.1 vintage).

Re: Ask HN: What should I learn next: Ruby or Python ?

#20

Earlier quoted context omitted.

What are your hangups with Django? I've gone through the same so I'm wondering if we are running in to the same kind of issues.

Forms are a fragile waste of time 80% of the time. Only reusable modelforms + generic views really redeem them in my eyes. The ORM is enjoyable but terrible for doing mass migrations. I've had to do some pretty ridiculous backflips just to get migrations to finish on our VPS. The utter lack of real migrations. For. Fuck's. Sake. Makes it impossible to make any rapid changes to your models without thinking, "OH GOD WH…

Ok. We're on the same track then but I would put it a little more friendly at the moment but I probably haven't got enough experience yet.

I spotted werkzeug ('tool' in German) a while ago and it definitely looked very good.

I've built 3 sites in Django now, two small ones and one larger one. The small ones worked fine, the larger one Django immediately turned from 'enabler' in to 'straightjacket'.

I hand coded the forms so they're not even part of the frustration, the ORM is definitely a limiting factor, agreed with the AJAX oversights, even the simplest stuff and you're immediately out of django in to 'roll your own' mode.

Not having multiple db connections was one of the first things I was wondering about how serious this package really was, after all almost all non-trivial setups will access multiple dbs, even if not at the same time then sequentally.

Import wasn't much of a problem for me because I did the import by talking to the DB exclusively, I had the 'export' in exactly the right format for import into the mysql django tables. But it would have been nice to have a tool handy to do that.

The admin is fine until you have more than just a toy dataset, and the way in which you configure the admin has altogether too many little 'magic' steps in it.

So far it's been a mixed bag. For small sites probably a good fit, for larger ones probably not.

Fully agreed on the template limitations, and the lame excuses around not having some basic functionality in there are really trying my patience.

But I haven't seen anything yet that I felt really was a step up from the rest.

I'll keep looking though.

Post reply on HN