doza_and
дженерики которые недавно появились в плюсах и черт знает когда в джаве и сишарпе
Ради исторической справедливости, template появились в c++ очень давно, где-то в девяностых. У меня есть диск с компиляторами 1998 года они там уже вовсю используются.
В шарпе и яве дженерики тоже были не от самого рождения.
http://ru.wikipedia.org/wiki/Java#Java_1.2 как я понимаю они начались с версии 5.0 в 2004 году. Могу ошибаться не спец я по яве.
Шарп списывался с обоих и generics полноценно появились в 2005 году в версии 2.0.
FishHook
Где хочешь там и вставляй.
Ну конечно, для строк умножение в c++ не определено. Доопределите и будет работать. Абсолютно аналогично будет и питон работать:
def dva(obj):
return obj*2
>>> dva({2:3,1:3})
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 2, in dva
TypeError: unsupported operand type(s) for *: 'dict' and 'int'
Прописывать или не прописывать проверку типов и в каком объеме и какую часть оставить на unit тестирование это уже просто архитектурное решение.
Когда я еще не писал на питоне, я писал на c++. В некторых проектах код был настолько обобщенным, что практически весь состоял из шаблонов. Автодополнение тоже работало через пень колоду, а сообщения об ошибках компиляции размером в несколько страниц могли интерпретировать только особо умудренные опытом особы.
Думаю что при разработке ide для питона надо больше обращать внимание на упрощение переключения между режимами отладки и интерпретации, может быть имеет смысл сохранять состояние интерпретатора на диск и пользоваться этой информацией в ide. Например для восстановления сессий или для периодических снимков состояний системы, чтобы было проще отлаживаться, особенно в многопоточных приложениях.
p.s.
:) конечно python и c++ не одно и тоже