I thought it was common programming knowledge that ln(x) is log(x), and log(x) is log10(x).
As an EE, I use both frequently. Seems a lot of errors could be avoided by just comparing your code to a simple hand calculation. I suppose few do that these days.
Just that all languages and CAD environments I have used define log(x) as natural logarithm, and log10(x) and base 10 logarithm. Again, this is common knowledge in engineering programming, but maybe not so in general programming.
The article you link would is about biology, not only that but Wikipedia has to try to be consistent across various fields, unlike mathematics and physics where the natural logarithm is used almost exclusively, so it makes sense to use a more explicit notation.
Sure physics (and sometimes mathematics) do use the notation 'ln' every so often (if only because it's shorter) but you'd be hard pressed to find a reference in anything related to mathematics or physics that uses log as the base 10 logarithm.
Clearly the easiest way to avoid the ambiguity is to only ever use the natural logarithm, which is the choice made by all the programming languages you listed at the end. And since you don't list any references where log should refer to the base-10 logarithm I'll have to conclude that they made the right choice.
I think this guy is just wrong, except maybe in saying that `log` is ambiguous and we should be using `log10` and `ln`. Incidentally he uses comma as both a thousand separator and a decimal point in the article.
I mean in your assertion that `log` must mean `log10`. I have huge sympathy for contending with inconsistent use of ambiguous notation. My pet hate is `gamma` vs. `tgamma`.
I wouldn't dare to suggest that, yet that's the route that physics and all derivatives have adopted!
We are essentially at the crossroad and obviously, programming, which develops nowadays a bit faster than theoretical physics or mathematics, pushes in one direction.
They are for sure! Obviously, all depends on the complexity of the problem and the willingness of programmers to install tests :/
In my company, we are ridiculously pedantic about unit testing, but even with proper level of attention to detail we sometimes fail with getting 100% code coverage.
The biggest pain are log(x)/ln(x) issues in numerical optimization.