I mean that's a big part of why so many people want the USA dollar to go even lower. The administration has been very explicit that they want a cheaper dollar but unlike a lot of their other polices that goal has a lot of support among economists.
And it's still worse, and has to rely on contrived setups to almost reach parity. People will insist on using a new language construct, even if it's objectively worse than the standard. What's so hard about a conventional for (let i ...) loop?
At least for of is better than forEach (ill never forgive crockford for goading people into this functional-lite code with horrible runtime footprint), but these things are fetishes.
This was added to the language 10 years ago. So while it's "newer" than a plain old for-loop, it's definitely not "new". It was designed to work with Symbol.iterator. This is the mechanism whereby one can iterate anything that implements the Symbol.iterator interface.
As far as why folks won't just do simple for-loops, it's the same reasining every language tends to implement a "foreach", because there are annoying off-by-one errors lurking in the < vs <=. Of course one could argue that developers should be smart enough to handle this. But that's an argument even older than for-loops.
These barely if ever happen for simple iterations, it's an idee fixe. Off-by-one sneak in when trying to do something special, and then a for-on loop is useless anyway.
> Symbol.iterator interface
I get it, but it's unnecessary abstraction to overgeneralize a vanilla array to an iterable.
anyway, for..of is not an issue, it's alright. I think if there's one main point i'm trying to make, is that devs will write objectively worse code base on gut wants (in this case, obsession to use higer level abstractions to iterate over an array).
It's hard to put a finger on, but I do think it only "works" in a locale where you have a certain degree of anonymity, where it makes sense. Chicken egg for sure. But yeah, categorically, you can't really do city activities in the burbs, the feel isn't right.
Perhaps it would be useful to define what we mean by "commoditization" in terms of software. I would say a software product that is not commoditized is one where the brand still can command a premium, which in the world of software, generally means people are willing to pay non-zero dollars for it. Once software is commoditized it generally becomes free or ad-supported or is bundled with another non-software product or service. By this standard I would say there are very few non-commoditized consumer software products. People pay for services that are delivered via software (e.g. Spotify, Netflix) but in this case the software is just the delivery mechanism, not the product. So perhaps one viable path for chatbots to avoid commoditization would be to license exclusive content, but in this scenario the AI tech itself becomes a delivery mechanism, albeit a sophisticated one. Otherwise it seems selling ads is the only viable strategy, and precedents show that the economics of that only work when there is a near monopoly (e.g. Meta or Google). So it seems unlikely that a lot of the current AI companies will survive.
spain was no longer a major player in world politics by 1800s, but they had a good 2-3 century run. not sure if the monetary crisis was really did them in, or more just it being the ebb and flow of history. britain's world dominance is long over too. if they did "fuck up", it was because charles v was the first global hegemon, nobody know how to do that, he was in uncharted territory. and obviously no, the merino sheep weren't a better bet long term, that's absurd. global dominion required a cohesive domestic home country to serve as the wellspring of power, not the fractured foedal remnants of a mediaeval europe that required constant war to keep together. and then of course, industrialize early.
> In the Paleogene and Neogene Periods (~66 million to ~1.8 million years ago), the mountain chains that today constitute the Atlas were uplifted, as the land masses of Europe and Africa collided at the southern end of the Iberian Peninsula.
But it also notes,
> The Anti-Atlas Mountains are believed to have originally been formed as part of the Alleghenian orogeny. These mountains were formed when Africa and America collided
Anti-Atlas? If we jump over to the Anti-Atlas article we see,
> In some contexts, the Anti-Atlas is considered separate from the Atlas Mountains system, as the prefix "anti" (i.e. opposite) implies.
and
> The summits of the Anti-Atlas reach average heights of 2,500–2,700 m (8,200–8,900 ft),
So in addition to subsequent events, the portion of the Atlas originally formed with the Appalachian is geologically distinguishable from the other portions of the Atlas chain, and actually significantly lower than the parts of the chain formed later, though not as low as the Appalachians.
reply