To Ruby from Python
as someone who has used ruby for years, and more recently got a job working in python, I think the most significant difference between the two languages is how they handle imports.<p>in python every file is also a module, and all imported symbols are namespaced within that module (unless you deliberately use &quot;import *&quot; to bring them into the current module&#x27;s namespace). so you can define function foo in module bar and use it via &quot;import  bar; foo.bar()&quot;.<p>in ruby, modules&#x2F;namespaces and files are two entirely orthogonal concepts; you define a module by enclosing code in a &quot;module Foo; ...; end&quot; block, and any file can open up the same module and add stuff to it. when you import a file it adds everything within it to the current global namespace, which makes it really hard to read a piece of ruby code and see where everything within it was defined.<p>for the most part where ruby and python differ I prefer the ruby way, but I feel like automatically namespaced imports is something python got right, and was a really big miss for ruby.