jabl
Joined 11 years ago
Joined 11 years ago
Not saying this as some kind of general "anti-AI" argument or anything. I'm not advocating for the Butlerian Jihad. I find AI a very useful tool, and I used it at work pretty much every day. But for art, which in a sense is a celebration of human creativity, something gets lost if we use AI to generate it, doesn't it?
This kind of code then easily breaks by overflowing the stack if the compiler allocates them there.
But this then doesn't work that well if the procedure is called recursively, or concurrently from multiple threads.
Making this even worse, in a recent Fortran standard (2008?) this was reversed such that procedures must be explicitly marked with NON_RECURSIVE in order to allow the compiler to allocate variables statically. Undoubtedly the right decision given the increasing prevalence of threads as well as recursive algorithms, but a gotcha for compiling old dusty deck code.
https://www.nber.org/system/files/working_papers/w35854/w358...
But yes, you're certainly right that taxing unrealized gains is difficult for many types of wealth. But e.g. property taxes are often already based on some estimation of the market value of said property anyway, so no change there. And similarly publicly traded stocks and such have a clear market value. For other types of wealth, sure there are difficulties, but usually it's possible to do it in some way, be it by estimating the worth somehow or then delaying the tax until the thing is sold or the owner dies etc.
The counter is of course that when you buy a house you should make sure you have enough income and/or liquid wealth so that you can pay the taxes. And if not, move to a smaller house. Of course, opponents of such taxation will then roll out all kinds of grannies living in mansions on meager pensions. Then again, is it fair that this prices out younger people from the property market?
As difficult as they are, I do think we'll need some form of wealth taxation in order to put a brake on spiraling inequality. Yes, call me a fan of Piketty if you want.
But speaking of arrays, one definitive advantage of Fortran is that it has built-in multidimensional arrays in the language. Which is very nice when writing code that needs them. In C many people resort to the Fischer-Price My First Multidimensional Array implementation where they allocate each row separately, which is of course horrible. (In C++ you can use libraries like Eigen or Armadillo which use expression templates and operator overloading to have sensible multidimensional array support even if it isn't built-in.)
- Procedure arguments are not allowed to alias. Similar to restrict pointers in C99+. This is often critical to allow loops to be vectorized, but the onus is on the programmer to ensure no aliasing or else you get UB.
- Unspecified evaluation order for expressions. E.g. C requires that "a+b+c+d" be evaluated as "((a+b)+c)+d)" and with floating point it can't do it another way due to rounding. Fortran can do e.g. "(a+b) + (c+d)" where each subterm can be computed in parallel, but again at the cost of slightly different results due to rounding behavior for floats.
- Old school Fortran lacked pointers which led programmers to program algorithms using arrays rather than fancier data structures, which cpu's love.
In principle there's nothing preventing a competent C or C++ programmer can reach Fortran level performance. In practice, might be difficult.
Of course, nowadays performance is much about designing for cache hierarchies (see e.g. "Data Oriented Design") where Fortran doesn't have a built-in advantage.
In the meantime, while waiting for the magical Star Trek future to arrive, I'd much prefer if we'd store the waste we have and continue to generate in a safe and responsible manner. Which, whether we do reprocessing or not, would involve deep geological disposal. If we later come up with a significantly better idea and for some reason have a motivation for doing something, sure, then we can dig it up again and shoot it into space, transmute it, or whatever the idea at that time is.
What I'm saying is that with anything like current day rocket technology, disposing of nuclear waste by shooting it into space is just a laughably insane idea.