title: What is the benefit of having many different data types?
body: <p>What is the benefit of using many different data types in a language? I have been working with pyqt and pyqwt recently and I keep finding myself typing lines like this:</p>
  
  <pre><code>grid.setPen(Qt.QPen(Qt.Qt.gray, 0, Qt.Qt.DotLine))
  curve.setSymbol(Qwt.QwtSymbol(Qwt.QwtSymbol.Ellipse,
                                Qt.QBrush(),
                                Qt.QPen(Qt.Qt.black),
                                Qt.QSize(5, 5)))
  </code></pre>
  
  <p>What would be lost if the above lines were instead the following?:</p>
  
  <pre><code>grid.setPen('gray', 0 ,'dotted')
  curve.setSymbol('ellipse', 'k', (5,5))
  </code></pre>
  
  <p>Even if the specific types are needed for some technical reason, couldn't the strings be converted to those types inside the method that needs them?</p>
  
  <p>Is this because pyqt and pyqwt are simply bindings for C++ libraries? If so why are they needed in C++?</p>