Быстро найти подход — это исследовательская часть. На этом этапе код запускается ограниченное число раз, по сути, только на отладку. Для этой части я и использую Python. После этого оптимальный алгоритм переписываю на C. Большая часть кода остается на Python в исследовательской фазе.
Кстати, дублирование кода имеет еще один плюс: программу на C гораздо удобней отлаживать при наличии эквивалентной программы на Python. Из-за этого я даже в, казалось бы, очевидных случаях сначала пишу на Python, а уже потом переношу алгоритм на С.
Такой способ дает и высокую скорость работы, и высокую скорость разработки.
Надо еще заметить, что до реализации кода доходит в гораздо меньшем числе случаев, чем можно было бы подумать. Часто проекты останавливаются по внешним причинам. Так что большую часть времени результатом работы алгоритмиста является не программный код, а промежуточные отчеты. Здесь снова быстрый и удобный язык имеет колоссальные преимущества.