(no title)
olooney | 4 months ago
* Text file encodings, in particular Unicode, UTF-8, Mojibake
* Time: Time Zones, leap day / seconds, ISO-8601
* Locales, i18n, and local date/number formats
* IEEE 754 floats: NaN and inf, underflow, overflow, why 0.1 + 0.2 != 0.3, ±0, log1p
* Currencies, comma/dot formats, fixed-point decimal representations, and exchange rates
* Version strings, dependencies, semantic versioning, backwards compatibility
There's another list for web/REST developers, and one for data scientists, but this is the core set.
What'd I miss?
aleph_minus_one|4 months ago
Having colleagues for who this topic is "daily business", I really don't know what you intend to teach about this topic to computer science students:
It's either
- basically trivial: you use the provided exchange rate tables which can vary from day to day; you thus just have to thoroughly pay attention concerning the exchange rates of which day you have to use for a given calculation (but this is something the business people will tell you), the rest is like unit conversion, which you learn in school: If the "exchange rate" between yards and inches is 36 in/yd, then 2.5 yd = 2.5 yd * 36 in/yd = 90 in. Similarly, if the f/x rate that is to be used is 1.1612 USD/EUR, then 2.50 EUR = 2.5 EUR * 1.1612 USD/EUR = 2.903 USD (you now just need to ask the business people whether they want to use this raw result, or the result is to be rounded. In the latter case, they will tell you which kind of rounding they want).
- or it is something that you rather need to become an auditor (or a similar qualification) for.
olooney|4 months ago
shrikant|4 months ago
NetMageSCW|4 months ago
badc0ffee|4 months ago
High school AP computer science had this in the 90s.
throwaway127482|4 months ago
akoboldfrying|4 months ago
* Similar to encodings and locales: Variation in line endings, path separators, command line quoting, case sensitivity
* OS and language-specific package management
* CI/CD
* VMs, containers
* Licenses