5 ms·
This has a click-baity title. A mostly math/calculation heavy C++ program is translated into a mostly math/calculation heavy C# program. You could replace eithe
by mooman219 8y ago
This has a click-baity title. A mostly math/calculation heavy C++ program is translated into a mostly math/calculation heavy C# program. You could replace either side with any language and get the same outcome. At best, the end of the article lists some hacks you _could_ write in C# to get what you consider "low-level", but ultimately defeat the purpose of using a "high-level" language in the first place. If you're using unsafe calls and platform intrinsics, it's more than a one off situation, and the language doesn't encourage it, then maybe you're trying to hammer a nail with a shoe.
- BoorishBears 8y agoPeople jump to clickbait way too quickly these days, the title is clearly tongue-in-cheek.
- guu 8y agoIf they replaced C# with a language like ruby I suspect it would not get within the same order of magnitude of performance. I agree that it may not be the best choice, but it is still interesting to see what is possible.
- EpicEng 8y agoSo you're saying JavaScript isn't a low level language because it has operators and function calls?
- galangalalgol 8y agoYes. Original usage is anything but assembly is high level. Anything that has auto memory management is "very high". Words change in our field faster than most and those were just terms in the glossary of textbooks that have been made into other textbooks.
- EpicEng 8y agoIt was a joke. I agree with the GP.
- neokantian 8y agoYeah, agreed, the real problem does not occur in mere math calculations. The problem occurs when you liberally allocate a dynamically-sized list of dynamically-sized lists (possibly of a union of different data types). That situation will always throw up an engineering trade-off between memory size, algorithm performance, and code complexity. The solution will usually consist in severely constraining and restricting runaway flexibility in the data structure being managed, simply because it won't badly affect real-user use cases. Once in a while the strategy will exact a serious and real price anyway, but hey, you cannot please everybody.