2,261 karma · joined October 1, 2011
This matches my experience because you don't chose who you work with. Skill level is uneven among the team. Less skilled co-workers will make mistakes that will have more consequences when the language is more permissive.
That's one of the reasons you want code reviews, but then you convert your skilled programmers to teachers. This is not a good trade, because the time they spend improving the skills of other programmers is partially wasted because programmers are free to come and go. AI could change this picture.
The name of the game is therefore to keep your teams small and skilled, but this is can be difficult because of typical company politics - e.g. "bus factor" considerations, shortening time-to-market is often achieved by adding more programmers.
This is actually a major cheat. Realism is expensive, and exposes your creation to the equivalent of the "uncanny valley" for vehicle simulation - the simulated world is never accurate enough and you can't help but notice the differences with reality. E.g. if you see generic buildings ("autogen") near a location you know IRL, the simulation feels immediately sloppy.
Yet, as long as I'm not interested in visiting real places, I would go for a vehicle simulation in a fictional world any day. I wouldn't mind if the vehicles were also fictional, as long as they require some technique to drive them. What matters in games is challenge and mastery, but not what you master; your RTS, FPS or chess skills have very little value IRL.
> Zoom out far enough—and for some reason it will let you—and you see the tiles, the roads that don’t line up, and the various tricks and techniques that allow it to look so realistic from low down. But don’t do that! That’s silly. This is a train sim, not a plane sim, you’ve no business in the sky.
OpenBVE one-upped BVE train sim with external cameras, and as a result you see all this too. In my eyes, they sort of miss the point of a train simulation: the view point is normally attached to the driver, so one can use all sorts of tricks to avoid having to "paint the entire wall" - which is quite important if you count on a community of fan modders who have limited resources.
The downside is that sometimes it is difficult to install addons or to figure out their custom features because the instructions are often poorly translated from Japanese and websites often have no English translations at all. One should also note that some addons include and run "homemade" DLLs to implement custom features.
It seems that the community is on the decline though, because while searching around I have found a lot of dead links. One can try OpenBVE [2] (partially compatible with BVE), which is less Japan-centric but should have some Japanese lines.
It's just an extrapolation; using the calendar being used at the considered time would be meaningless for us, e.g. the short-lived french republican calendar [1].
[1] https://en.wikipedia.org/wiki/French_Republican_calendar
France (and Normandy) was conquered by Rome before it was granted to Rollo, a Viking. A few generations later, his descendant William the Conqueror claimed the English crown. Just like what happened with Gauls and Romans, the conquered people adopted large parts of the language and customs of the conqueror. That's why the English language is ~25% of Roman origin for it's vocabulary. I suppose it is the same for English common law.
[1] https://en.cppreference.com/cpp/language/operator_alternativ...
But one would note that in order to gain memory for this particular case of slicing, one introduces 2 extra words (size and pointer) for every other cases. Like perhaps the second most common string operation, concatenation. In those other cases, the benefit is slightly negative.
I've had extensive experience with "counted strings" because I implemented a bunch of Forth interpreters which also uses this scheme. Including the common trick of using counted and zero-terminated strings, which is the worst of both worlds in the end. Forth is the kind of language that quickly show you how bad your choices are.
I eventually dropped all that and adopted ASCIIZ strings because they are generally more efficient (if you pay attention to the strlen() performance pitfalls) and having a dead simple interface with the rest of the world (OS, libraries) is more valuable.
[1] https://en.wikipedia.org/wiki/The_Unparalleled_Adventure_of_...
Besides, "ignorant" HN comments on e.g. FOSS software and funding problems have mentioned that the paperwork you have to do to buy software licences can be a PITA, so free software can be perceived as a plus when the R&D selects the parts.
People have already thought of that, sure. But has it been thought about and executed properly? Like the added value of open-sourcing the SW (made a lot easier when you don't need to copy-protect it). Or do they just go for the extra source of profit the SW licence sales provides, anyway?
So "better" means "more specialized" more often that it means "more optimized". I don't say it is a bad thing per se, but it is best to keep in mind that they are two types of improvement, fixes and specializations, because the latter is a commitment.
- M. Zuckerberg, ~2000.
Also: Blade Runner, anyone?
Bottom line: it's all a matter of balance of powers. If you're the smaller guy in the equation, you'll be "Postel'ed" anyway.
Yet Postel's law is still in the "the road to hell is paved with good intentions" category, for the reason you explain very well (AKA XKCD #1172 "Workflow"). Wikipedia even lists a couple of major critics about it [1].
In other domains, adding the delta time of your main loop to your timers can cause (logical) clock drifts in the long term because of resolution errors.
"degraded"? Aren't random mutations precisely one of the core mechanism of adaptation?