The speed of light is an integer. Why should we care?

At least this is false (for the REPL with alternative REPL modes):

Your exact code can work with first doing:

julia> using SafeREPL  # note, exact installation instructions (since not yet registered) at: https://github.com/rfourquet/SafeREPL.jl

i.e. without doing:

c = 299_792_458.0; 

what you otherwise could do, to get a floating point number, arguably better.

I’m not sure about that, I support Julia’s defaults, as it’s faster, while I can see both sides on the topic of the defaults, and thus I agree with you; and because of the danger of getting used to that non-default mode, maybe even it shouldn’t be used/installed by default?

My rule of thumb is that what can be measured, e.g. in meters (per sec), such as the speed of light, should use floating point, and what MUST (can?) be counted, e.g. currency (photons?), should use floats integers. [Those rules are sometimes broken, in banking integer cents or decimal (floating point), for dollars, should be used, while for a hedge fund floats can be appropriate for amounts.]

Since the Avogato constant was also brought up, since its SI redefinition in 2019, it’s exactly 6.02214076×10^23, and as atoms can be counted, its an argument for integers (BigInt then)…, while I guess floats (almost) always used.