Hacker News new | ask | show | jobs
by schappim 3637 days ago
I've been a Ruby (not rails) developer for 10 years and use python when hacking together hardware projects.

Generally speaking Ruby has a better standard library, the major libraries (gems) seem to be better built with nicer APIs and unit tests.

I think the best example of Ruby at it's best is the Sinatra web framework.

Having said of this, I don't think that Ruby is the language of the future.

In my humble opinion the language combination of the future is going to be Python as my interpreted language of choice + Swift* (for when I want a more strongly typed / functional language or when I need things to be fast).

* Swift could be my only language if they had an interpreter.

1 comments

Hi Marcus, have you ever taken a look at Nim? It's quite similar to Swift in several respects, but it has a primarily Python-like syntax (including indentation by blocks rather than braces) with bits of Ruby & others mixed in.

Useful links: http://nim-lang.org/ , http://nim-lang.org/docs/tut1.html , https://nim-by-example.github.io/ , http://nim-lang.org/docs/manual.html

At work, we use Python as our interpreted language & Nim as our fast, strongly-typed, compiled language. We created Nim-Pymod to enable Nim code to be compiled into Python modules: https://github.com/jboy/nim-pymod

There's also a web-framework in Nim called Jester, which describes itself as "a Sinatra-like web framework": https://github.com/dom96/jester

Embarrassing confession. I've looked at Nim before and don't want to use it because I think the crown is a ridiculous logo. Not being big on authority and not being big on people that think too highly of themselves, I'm suspicious of the entire project simply because of that poorly drawn crown.
> At work, we use Python as our interpreted language & Nim as our fast, strongly-typed, compiled language.

You most likely didn't mean to, but your sentence implies that Python is not strongly typed.

Just in case anyone else is tired and drew a blank and needs to google that, the confusion was that of strong vs weak not dynamic vs static. Strong vs weak applies to explict vs implicit type changes. Dynamic vs static applies to run time or compile time type assignment.

http://stackoverflow.com/questions/11328920/is-python-strong...

Ah yes, good catch. I meant "statically-typed".
Thanks for the tip, I'll have to check it out!