I agree with you in that most of the code I start out with usually
contains some dirty hacks that I later refactor. But that is just my
personal approach to programming -> get something running quickly and
iterate on it
That being said, based on my personal experience with Julia (which is
about 2 months now) one can write simple readable code that is also
efficient. To me it was just a matter of getting used to the language.
Coming from C++ and Scala that "getting used" took me about 1 month.
To me the most important aspect to at least somewhat consider the
two-language problem addressed is that non-programmers should be able to
read and understand an underlying implemented algorithm if he/she has
the domain knowledge. With underlying I mean the algorithm that really
does the heavy lifting. I am pretty happy with the state of Julia in
that regard
On 2015-10-18 14:51, Sisyphuss wrote:
The two-language problem refers to prototyping with one slow dynamic
language and rewrite it with a fast static language for the final product.
If Julia really solves the two-language problem, it should meet the
following criteria:
Let A be the code written during prototyping, B be the code written
for the final product, with a small net increment $\Delta$, A+\Delta=B.
If Julia uses one code style to do prototyping, and then uses a
completely different style to write final product, then it can't be
called the same language. At best, Julia turns the 2-language problem
to a 1.5-language problem.