3 ms·
5 is not entirely correct. 6 is not true, serialisation in dynamic languages is correctly done with type definitions. 7 is not true at all, mainstream staticall
by lucian1900 13y ago
5 is not entirely correct.
6 is not true, serialisation in dynamic languages is correctly done with type definitions.
7 is not true at all, mainstream statically typed languages (like C) much more commonly overflow silently. Look at Python, there's no way to lose precision through arithmetic, as types get promoted on overflow correctly.
In general, C's type system is so weak as to be both useless and a hindrance.
- harrytuttle 13y ago5 is true for the cases where it results in static compiled output which is equivalent of say C's output. 6 you're adding metadata with type definitions. Enough metadata is present in entirely statically typed languages to not do this. 7. How do you know if 1.000000000000000000001 is decimal or float? It's weak in some places but strong in others. Knowing when to use each case effectively is the art.
- lucian1900 13y ago6. It's still necessary (or at least a good idea) to write serialisation models for most statically typed languages as well. the difference is minor 7. It's a float, unless you made it a Decimal explicitly. Arguably that's the wrong default, but almost no languages default to arbitrary precision/size everything. No, C's type system is totally unsound. It fails to catch very bad errors (pointer-related issues, null-related issues, etc.) and is perfectly happy to implicitly cast left and right. It's little more than a hindrance.