This of course has nothing to do with staticness, and everything to do with Java's lack of first-class functions. In any flavor of ML, for example, nonzero-argument versions of this pattern are slightly cleaner (the exact pattern is unnecessary due to immutable state).
> or a macro that expands to inline assembly to convert a float to an int32_t
This sort of thing is actually useful on occasion, because it allows you to specify the exception handling you actually want (what to do on inf/-inf/NaN). Of course, it's better do it with a pure C function, but it's still a "reimplementation of a language feature".
Of course, you only ever do this when you want subtly different behavior than the language provides, so I think your larger point still stands.
> or a macro that expands to inline assembly to convert a float to an int32_t
This sort of thing is actually useful on occasion, because it allows you to specify the exception handling you actually want (what to do on inf/-inf/NaN). Of course, it's better do it with a pure C function, but it's still a "reimplementation of a language feature".
Of course, you only ever do this when you want subtly different behavior than the language provides, so I think your larger point still stands.