title: Do all dynamic languages have the circular import issue?
body: <p>For the following Python code:</p>
  
  <p><strong>first.py</strong></p>
  
  <pre><code># first.py
  from second import Second
  
  class First:
      def __init__(self):
          print 'Second'
  </code></pre>
  
  <p><strong>second.py</strong></p>
  
  <pre><code># second.py
  from first import First
  
  class Second:
      def __init__(self):
          print 'Second'
  </code></pre>
  
  <p>After creating the files and running the following from the shell:</p>
  
  <pre><code>python first.py
  </code></pre>
  
  <p>I get the error: <code>ImportError: cannot import name Second</code></p>
  
  <p>Do other dynamic languages like Ruby have this kind of issue?  The reason I'm asking is because I'm encountering this issue in a Django project where 2 models depend on each other. I know that the possible solutions are re-designing the project or import on demand.  I just want to know if devs in other dynamic languages have experienced this issue.</p>