On Sunday, October 18, 2015 at 10:01:20 AM UTC-4, Stefan Karpinski wrote:
>
> There are different styles and levels of writing code in every language. 
> There's highly abstract C++ and there's low-level pointer-chasing C++ 
> that's basically C. Even in C there's the void*-style of programming which 
> is effectively dynamically typed without the safety. Given this fact, I'm 
> not sure what solving the two language problem would look like from the 
> perspective this post is posing. Enforcing only one style of programming 
> sounds like a problem to me, not a solution. On the contrary, I think one 
> of Julia's greatest strengths is its ability to accommodate a very broad 
> range of programming styles and levels.
>

Even forgetting about pointers etc, the fact is that highly optimized code 
often looks very different from unoptimized code in any language.   e.g. 
the simplest way to implement a matrix multiplication in C is three loops. 
  Getting decent performance (compared to peak flops) requires 100+ lines 
of code.  Super-optimized implementations require tens of thousands of 
lines of code.  This has nothing to do with safety and pointers, and 
everything to do with locality (for caches) and unrolling (for registers).

There is no language in which optimization doesn't typically involve 
rewriting critical code.

Reply via email to