All I'm asking is for a vendor to match consumer expectations and offer a factory warranty that mirrors what carriers are pushing, which is two years. That should not be asking for a lot from a company that is marketing (and defending in court) a "durable" product. If it's durable, then back up your damn marketing and legal defense with a reasonable warranty.
Why would you want to be forced into a two year warranty? You can buy one today, so the only difference between the world you are proposing and the world we live in is that you want to have no choice but to have a two year warranty. Even if the warranty is mandatory, it isn't free - it will be reflected in the cost of the product. There is also no guarantee that the company will react to the obligation to have a two year warranty by improving product quality. If it's cheaper to simply raise the price and pay the extra claims than it is to raise the price and re-engineer the product, then that's what they'll do.
I don't want to live in your world, because I only want a short warranty that protects me from a DOA or defective product - and most defects show up soon after purchase. Any longer than a few months is a waste of money.
Basically the warranty period is a company's estimate of how long the device will last before replacing failures starts to unacceptably cut into their profits. If they say they're selling an extremely durable device, then let them put their money where their mouth is and include a legally-binding commitment to replace or repair it if it fails anyway.
Nope, Hyundai has taken exactly this mindset and used it to make people believe their cars are better. They offer a 10 year warranty to give the impression of durability, then they bake a few more dollars into the price of the car to pay for the fact that their cars are, in fact, no more reliable than average and they will be paying out more in warranty claims. Tire companies do this too; their warranties are so useless that they can put whatever they want on the paperwork and people will use it as a proxy for quality when it is no such thing. Try going into the store with a set of 80,000 mile tires that are worn after 60,000. They'll tell you that they'll only give you $25 back (the prorated value) if you show them that you had the alignment checked for $100 at installation.
iPhones have so much profit baked into the retail price that the warranty term tells us nothing. They could afford to replace every single one of them and still not lose money.
They used to give you discounts off phones for signing a contract - but they didn't give you a discount in service price for running contract-free. During that era, I was always under contract. The day they stopped giving me stuff, I stopped signing contracts. Today, they pretend that financing your phone is a favor that you'd be an idiot to pass up.
Then don't buy one every year. And if you don't like the 1-year warranty that Apple provides, maybe you should just not buy an iPhone. What was that? You say NO manufacturer offers a warranty longer than 1 year? Hmph, imagine that.
Actually, just ignore it. Warranties are always bad for the consumer in the long run. Put your current phone in a drawer instead of trading it in. That's your warranty - if the new phone breaks, pull out the old one. Then, send the broken phone to a third-party repair service to be fixed for less than the cost of two phone bills. I wish Apple would offer a discount for downgrading to a 90 day warranty.
Financially responsible people don't need warranties. They do create a incentive for manufacturers to not push out garbage, but a robust after-market warranty ecosystem will do the same thing. If an after-market warranty for a product costs a bundle, don't buy that product - it's crap. If the after-market warranty is cheap, buy the product but don't buy the warranty - you probably wouldn't have needed the warranty anyways.
By your reasoning, the cell phone carriers should be on the hook for the extra year, not Apple, as it was the carriers that decided to sell a device with a one year warranty along with a two year contract. In that case, this court decision was correct to not hold Apple accountable.
No, what I'm asking for is a company that claims to make a "durable" product back up that claim. Ironically enough, some auto manufacturers are now offering warranties that are longer than your average car loan or lease (a.k.a. durability), so your example is a rather poor one to use for comparison.
Apple backs up it's claim of durability with its reputation. Organizations like Consumer Reports rate Apple as a manufacturer with lower defect rates that others in its segment. In theory, a longer warranty is less valuable on a durable product than it is on a shoddy product. If the product was "perfectly durable", then a warranty would be entirely superfluous.
Also, you mentioned cars. It's quite common for a car to be sold with five year financing (or a four year lease) and a three year warranty. A warranty isn't magic, it simple trades predictability for economy. It's always cheaper (statistically) to not buy a warranty, but some people can't handle the financial disaster that would come along with being one of the "unlucky ones", so they buy the warranty. The length of the warranty has nothing to do with the quality of the product, it only represents the owner's tolerance for risk. The price of the warranty (in the case of phones this is baked into the purchase price) is dependent on the reliability of the product.
I'm glad you are healthier. However, your results are pretty typical for a person your size sticking to any diet and excercise program, so don't read too much into your low carb choices. I too am 5'9" and went from 252lbs down to 149lbs in seven months by calorie restriction and moderate exercise. I never felt terribly hungry. I cut out all caloric drinks day one and cooked all of my own evening meals. My lunches would make the people in this discussion cringe - the first month, I walked a mile and a half to a pizza shop, ate a slice and walked back. The next few months, I walked to a McDonald's two miles away, ordered a hamburger, small fry, and a small diet coke, then walked back. After that, I switched to sandwiches and eventually cut out lunch entirely and instead snacked on about three quarters of a pound of carrots throughout the work day.
I'm listing language features. Newsflash: you have to know a language and be aware of its features to use it effectively. There are quite a few differences between C and C++ as well.
A good language allows you to discover features and is enjoyable to use and allows you to be productive quickly. JavaScript's nuances constantly stab the inexperienced developer in the eyeball. Any language is learnable - but the fact that you can eventually get to the point of building software isn't enough to make a language good.
Again, you are basing your complaint on similarity to other languages. If you don't do that, you won't have problems. "this", by definition in JavaScript, refers to the current execution context of your function. The execution context, naturally, is not fixed and can change. That is the whole point and there are very good uses for it (ex: event handlers). If you need static arguments, use static arguments. Don't use "this" as a static argument, because that is not what it is. For object methods, "this" behaves 99% like implementations in other languages (ie: it refers to the current object instance). The 1% difference is that you can change the object instance, which is useful because, among other uses, it is the JavaScript way of implementing super inheritance.
I can call any function you write and pass it anything I want for "this". Most languages have a much more straightforward concept of "this". For example, in C#, "this" always refers to the current class instance. Always. I'm not saying C# is better because I know it. I know both the C# and the JS implementation. C#'s implementation is better because one look at a line of C# that has "this" in in tells me what it does. In JS, I have to read documentation and/or experiment if I didn't write the code that makes the call (and even if I wrote it, assuming I still remember). This is a major source of errors.
Not bad, just different.
It breaks the "principal of least surprise" and is considered bad by many people with better reputations in this field than you or I.
It also helps to know that it's not a variant of Java;
If you think that, you are just ignorant. It was never true, and while it may have been an understandable mistake 15 years ago due to the similarity in naming and the push to use Java applets in the browser, it isn't anymore.
You do realize that I said that JS is not a variant of Java, right?
The rest of your post is simply you saying how to work around the badness of JS. You are simply listing all of the skills that need to be acquired to be a competent JS programmer and that is a longer list than most other languages. That's precisely why it's a bad language.
Also, if you think "this" is perfectly well defined, you are wrong. A caller can passes literally anything for "this". That means that, by language spec, "this" is completely undefined. The caller will have a definition, but it may or may not be sane and it may or may not be consistent.
Go ahead and try to use closures in Java.
That's a great example of why something who thinks JS is a variant of Java would write bad JS. Of course, they wouldn't write any closures, meaning they are almost certainly writing bad JS that looks like it was written in 1998.
Yet another poster criticising JavaScript for all the wrong reasons out of ignorance.
Yes JS has it's bad parts. Or at least annoying. All languages do. JS has a lot less annoying features than other commonly used languages.
Not ignorant, I use JS a lot and know it better than most. Most other languages have old libraries or syntax elements that have been superseded by something better. Very few languages have core feature that should almost never be used, but JS does (e.g. eval).
JS most certainly is not a variant of Forth. That shows your total ignorance of JS or Forth or both. JS was inspired by Self. As such it has always had advanced features that languages like C++, Java, C# have only recently adopted.
My central point was that JS was not "Java for web browsers". I got the language wrong, it was Scheme with a bit of Self, rather than Forth. But, that's still the reason things go wrong when a developer thinks of it as a variant of Java. Sure, it acquired some features earlier than Java and C#, but at least C# was originally designed with a sane variable scope system. Missing features can be added easily - broken fundamentals will haunt you forever.
The variable scope issue is history. I won't explain it. You can google it.
Fixed last year... it will still be years before it can be assumed to be available on a given browser.
"this" works perfectly well. Especialy with the lambda syntax that comes with the latest standard.
Now you're showing ignorance of JS. "this" is a disaster. Most languages that have an equivalent of "this" have a semantic meaning for it that makes sense. In JS, it's up to the caller. Sure, sometimes it's sensible, but when it's not, it's a problem. You gave an example of a good use of this. But, for every good use, there's code out there that abuses "this". If you ever write a callback that gets called by someone else's code - the only way to know what will be in "this" is to read the documentation (or the code).
I have no globals in my JS code under node.js. Node has modules. Modules are comming to JS in browsers very soon. All by browser side code is already using modules wih the help of a module bundler. No globals there either.
Congratulations. But, the fact that you write good code by using a subset of JS doesn't make JS a good language. It means that it's a language filled with land mines that every newcomer has to navigate. That's what makes it a bad language. Also, the things you can take for granted server-side are more bigger problems when you go client-side. The fact that you have a module system "on the way" after more than twenty years is pretty good evidence that JS is still immature.
JavaScript is only a good language if you know which 60% of it is horrible and never use that part. It also helps to know that it's not a variant of Java; it's a variant of Forth made to resemble Java. That help to reduce the temptation to try to use it like Java.
If you're wondering what the horrible parts are, my personal top five are; variable scope, type coersion, undefined, this, and global.
Back to what you said - so much of it is horrible that it really is worth hating. Sure, it can be used effectively, but only with a huge degree of self control. People who barely know the language and are learning by Googling are in for a world of hurt.
They're just following the precedent set by supermarkets. Twenty years ago, supermarkets had "sales", where a subset of their stuff was cheaper for a limited period of time - everyone was eligible. Now, they will only give you the sale price if you use their tracking program, which they usually refer to as a "Customer Loyalty Program".
It's better than that. If x is the increase in the of pedestrians that are being killed because they are inattentive during the smartphone boom, and y is the likelihood of a smartphone-using pedestrian being so consumed that they don't notice a car coming at them, then x(1-y) pedestrians are using smartphones and would have been killed if they hadn't noticed the car. Also, x(1-y)/z, where z is the proportion of walkers staring at their phone at any given time, is the total number of all walkers that are in harm's way. Assuming one-tenth of pedestrians are using smartphones, and one-tenth of the smartphone users bite it (the rest notice the car and move)... then the number of people that successfully run for their life from an inattentive driver that would have killed them is 100 times greater than the increase in fatalities.
Substitute whatever y and z you want and it's obvious the drivers are a much bigger problem than the pedestrians.
I have an opposing viewpoint... I walk for exercise most days on my lunch hour. I work in an ostensibly "walk friendly" community with a ton of antique shops on main street. I plan my route so I only cross one street that's bigger than a residential side street.
I get nearly killed at least once a month. It's almost always by someone turning left into a parking lot, so they're coming from my rear. The problem here isn't that people are on their phones. The problem is that drivers would mow down pedestrians at an alarming rate if we weren't constantly dodging cars. I once had a lady nearly kill me, then pull into the lot, get out of her car, and berate me for walking on the sidewalk that she needed to drive over.
Another one that bothers me: Car is first at a red light and is turning left. There is no possibility that this car will go anywhere until the light turns green. However, the car slowly creeps forward until they are entirely blocking the crosswalk and ten feet in front of it (on the intersection side). I now have two choices - walk in front of the car, which is nearly in the other road, or walk behind the car. I used to walk behind the car, until one day, a car turned left and almost hit me. I realized that the left turning car couldn't see me because I was completely shielded by the SUV I walked behind. Now I always walk in front of them - or stop and stare at them until they back up.
Nope, I'm moving. Seriously. Driving on this road didn't make me decide to sell my house, but it played a role in where the next one will be. They don't need me to tell them it's a bad intersection - the memorial flowers left for the people who died there say more than I ever could.
Besides, I'm too old to fight authoritarian bureaucrats that think tickets are the solution to traffic safety, jail is the solution to drugs, and kicking the troublemakers out of school is the way to fix education.
Another thing... are you suggesting that my lack of reporting this makes my analysis of the issue less valid? Or are you simply trying to gently redirect the conversation from pointing out that your counterpoint isn't very good to a conversation about my poor citizenship?
If you're referring to intersections that show the left* lane a green disc instead of a green arrow, the proper maneuver is a "LEFT TURN YIELD ON GREEN" as described in the driver's manual. First enter the intersection while the signal is green. Then by the time it turns red, you're already legally in the intersection and have the right and duty to clear it once oncoming traffic to your left ceases.
I am referring to this type of intersection. The maneuver doesn't entirely fix the problem. On my way home from work, I have to turn left off a major street at such an intersection. During the evening rush hour, there is zero chance that there will be a break in the oncoming traffic during the green. The light cycle is about three minutes. So the total volume of traffic that can make this left turn legally is 20 cars per hour. That's not nearly enough.
Nobody died because someone crossed the intersection 0.3 seconds after it turned red. The other light isn't even green yet. Your statement implies a correlation between traffic enforcement and road safety, but this correlation is frighteningly weak. Unfortunately, enforcement is concentrated on things that are easy to measure instead of things that are most dangerous.
Red light cameras are a great example of ineffective enforcement. Red light running generally falls into two categories: people that push the boundary and people that make mistakes (not paying attention, drunk, didn't clean windshield, etc.). Cameras can make people choose not to push the boundary, but they are very bad at correcting the latter behavior. So, they shift a lot of money to the government and the camera operating company, without having much of an effect on safety.
You can tell a government is serious about safety when they start redesigning bad intersections instead of wagging their fingers at people driving 36 in a 35 or going through intersections one second after the light turns red. Research has shown time and time again that if there is a trend of people running the beginning of a particular red light, the best solution is to make the yellow longer. Often blatant red light violations come from intersections with no left turn arrow. Frustrated drivers wait an entire light cycle (or four), and then finally just go when the opposite lane clears as the light turns red. Once again, the correct solution is to change the intersection. Yelling at (or fining) the drivers does nobody any good.
It goes both ways. We are currently using the principle behind this law to shield drone pilots from repercussions. There's also this case where the US says a border guard was within his rights to shoot a man in Mexico.
Given what we have to lose, it's unlikely that the US government will change its position on this issue.
At my last job, our AS/400 had to have all of the applications shut down to do a nightly backup. The backup took nearly every second that the business was closed. Scheduled maintenance had to be done on holidays.
One time we had to move its network connection to another switch port. The thing didn't work again until we hard rebooted it.
The software on it could only be accessed from the network by running CL scripts - so there was no such thing as transactional integrity. The programmers used a five digit batch number on the main thing we used the AS/400 for, which recycled every month. As a result, if we had a few production glitches in a 31 day month, everything went to shit. The idiots also used a six digit invoice number and we rolled off old invoices after two years (which had regulatory implications). As we grew and processed more than 42000 invoices per month, hundreds of hours had to be put in to expand the system capabilities.
Me: Hey boss, we spend half our time cleaning up the mess that is caused by this one bug. I suggest we put a little time into fixing the bug. Boss: Fixing the bug is build work and that requires a business unit to provide a request and the capital to do the work. Cleaning up the mess is maintenance work and the whole company pays for that. So, until some other department pays us to fix this problem, we must continue to put our time into maintenance work. Me: But, the only people that are inconvenienced by it is us - no one else cares. Oh well, I'll just go home and kick my dog.
It doesn't work out for the company, but IT managers do use this excuse regularly. I'm not suggesting that it's a good thing, just that management seems to be more about avoiding blame than providing solutions.
More specifically, they don't want to let potential buyers know that their Alexa recordings might some day be "Exhibit A" in their divorce proceedings.
Due to the cost of security breaches being borne primarily by victims, investing in security has never been a good financial decision. That's the primary reason that security sucks in the IT industry. If it weren't for public shaming and the associated damage to a company's image, it would be even worse.
All I'm asking is for a vendor to match consumer expectations and offer a factory warranty that mirrors what carriers are pushing, which is two years. That should not be asking for a lot from a company that is marketing (and defending in court) a "durable" product. If it's durable, then back up your damn marketing and legal defense with a reasonable warranty.
Why would you want to be forced into a two year warranty? You can buy one today, so the only difference between the world you are proposing and the world we live in is that you want to have no choice but to have a two year warranty. Even if the warranty is mandatory, it isn't free - it will be reflected in the cost of the product. There is also no guarantee that the company will react to the obligation to have a two year warranty by improving product quality. If it's cheaper to simply raise the price and pay the extra claims than it is to raise the price and re-engineer the product, then that's what they'll do.
I don't want to live in your world, because I only want a short warranty that protects me from a DOA or defective product - and most defects show up soon after purchase. Any longer than a few months is a waste of money.
Basically the warranty period is a company's estimate of how long the device will last before replacing failures starts to unacceptably cut into their profits. If they say they're selling an extremely durable device, then let them put their money where their mouth is and include a legally-binding commitment to replace or repair it if it fails anyway.
Nope, Hyundai has taken exactly this mindset and used it to make people believe their cars are better. They offer a 10 year warranty to give the impression of durability, then they bake a few more dollars into the price of the car to pay for the fact that their cars are, in fact, no more reliable than average and they will be paying out more in warranty claims. Tire companies do this too; their warranties are so useless that they can put whatever they want on the paperwork and people will use it as a proxy for quality when it is no such thing. Try going into the store with a set of 80,000 mile tires that are worn after 60,000. They'll tell you that they'll only give you $25 back (the prorated value) if you show them that you had the alignment checked for $100 at installation.
iPhones have so much profit baked into the retail price that the warranty term tells us nothing. They could afford to replace every single one of them and still not lose money.
They used to give you discounts off phones for signing a contract - but they didn't give you a discount in service price for running contract-free. During that era, I was always under contract. The day they stopped giving me stuff, I stopped signing contracts. Today, they pretend that financing your phone is a favor that you'd be an idiot to pass up.
Then don't buy one every year. And if you don't like the 1-year warranty that Apple provides, maybe you should just not buy an iPhone. What was that? You say NO manufacturer offers a warranty longer than 1 year? Hmph, imagine that.
Actually, just ignore it. Warranties are always bad for the consumer in the long run. Put your current phone in a drawer instead of trading it in. That's your warranty - if the new phone breaks, pull out the old one. Then, send the broken phone to a third-party repair service to be fixed for less than the cost of two phone bills. I wish Apple would offer a discount for downgrading to a 90 day warranty.
Financially responsible people don't need warranties. They do create a incentive for manufacturers to not push out garbage, but a robust after-market warranty ecosystem will do the same thing. If an after-market warranty for a product costs a bundle, don't buy that product - it's crap. If the after-market warranty is cheap, buy the product but don't buy the warranty - you probably wouldn't have needed the warranty anyways.
By your reasoning, the cell phone carriers should be on the hook for the extra year, not Apple, as it was the carriers that decided to sell a device with a one year warranty along with a two year contract. In that case, this court decision was correct to not hold Apple accountable.
No, what I'm asking for is a company that claims to make a "durable" product back up that claim. Ironically enough, some auto manufacturers are now offering warranties that are longer than your average car loan or lease (a.k.a. durability), so your example is a rather poor one to use for comparison.
Apple backs up it's claim of durability with its reputation. Organizations like Consumer Reports rate Apple as a manufacturer with lower defect rates that others in its segment. In theory, a longer warranty is less valuable on a durable product than it is on a shoddy product. If the product was "perfectly durable", then a warranty would be entirely superfluous.
Also, you mentioned cars. It's quite common for a car to be sold with five year financing (or a four year lease) and a three year warranty. A warranty isn't magic, it simple trades predictability for economy. It's always cheaper (statistically) to not buy a warranty, but some people can't handle the financial disaster that would come along with being one of the "unlucky ones", so they buy the warranty. The length of the warranty has nothing to do with the quality of the product, it only represents the owner's tolerance for risk. The price of the warranty (in the case of phones this is baked into the purchase price) is dependent on the reliability of the product.
I'm glad you are healthier. However, your results are pretty typical for a person your size sticking to any diet and excercise program, so don't read too much into your low carb choices. I too am 5'9" and went from 252lbs down to 149lbs in seven months by calorie restriction and moderate exercise. I never felt terribly hungry. I cut out all caloric drinks day one and cooked all of my own evening meals. My lunches would make the people in this discussion cringe - the first month, I walked a mile and a half to a pizza shop, ate a slice and walked back. The next few months, I walked to a McDonald's two miles away, ordered a hamburger, small fry, and a small diet coke, then walked back. After that, I switched to sandwiches and eventually cut out lunch entirely and instead snacked on about three quarters of a pound of carrots throughout the work day.
I'm listing language features. Newsflash: you have to know a language and be aware of its features to use it effectively. There are quite a few differences between C and C++ as well.
A good language allows you to discover features and is enjoyable to use and allows you to be productive quickly. JavaScript's nuances constantly stab the inexperienced developer in the eyeball. Any language is learnable - but the fact that you can eventually get to the point of building software isn't enough to make a language good.
Again, you are basing your complaint on similarity to other languages. If you don't do that, you won't have problems. "this", by definition in JavaScript, refers to the current execution context of your function. The execution context, naturally, is not fixed and can change. That is the whole point and there are very good uses for it (ex: event handlers). If you need static arguments, use static arguments. Don't use "this" as a static argument, because that is not what it is. For object methods, "this" behaves 99% like implementations in other languages (ie: it refers to the current object instance). The 1% difference is that you can change the object instance, which is useful because, among other uses, it is the JavaScript way of implementing super inheritance.
I can call any function you write and pass it anything I want for "this". Most languages have a much more straightforward concept of "this". For example, in C#, "this" always refers to the current class instance. Always. I'm not saying C# is better because I know it. I know both the C# and the JS implementation. C#'s implementation is better because one look at a line of C# that has "this" in in tells me what it does. In JS, I have to read documentation and/or experiment if I didn't write the code that makes the call (and even if I wrote it, assuming I still remember). This is a major source of errors.
Not bad, just different.
It breaks the "principal of least surprise" and is considered bad by many people with better reputations in this field than you or I.
It also helps to know that it's not a variant of Java;
If you think that, you are just ignorant. It was never true, and while it may have been an understandable mistake 15 years ago due to the similarity in naming and the push to use Java applets in the browser, it isn't anymore.
You do realize that I said that JS is not a variant of Java, right?
The rest of your post is simply you saying how to work around the badness of JS. You are simply listing all of the skills that need to be acquired to be a competent JS programmer and that is a longer list than most other languages. That's precisely why it's a bad language.
Also, if you think "this" is perfectly well defined, you are wrong. A caller can passes literally anything for "this". That means that, by language spec, "this" is completely undefined. The caller will have a definition, but it may or may not be sane and it may or may not be consistent.
Go ahead and try to use closures in Java.
That's a great example of why something who thinks JS is a variant of Java would write bad JS. Of course, they wouldn't write any closures, meaning they are almost certainly writing bad JS that looks like it was written in 1998.
Yet another poster criticising JavaScript for all the wrong reasons out of ignorance.
Yes JS has it's bad parts. Or at least annoying. All languages do. JS has a lot less annoying features than other commonly used languages.
Not ignorant, I use JS a lot and know it better than most. Most other languages have old libraries or syntax elements that have been superseded by something better. Very few languages have core feature that should almost never be used, but JS does (e.g. eval).
JS most certainly is not a variant of Forth. That shows your total ignorance of JS or Forth or both. JS was inspired by Self. As such it has always had advanced features that languages like C++, Java, C# have only recently adopted.
My central point was that JS was not "Java for web browsers". I got the language wrong, it was Scheme with a bit of Self, rather than Forth. But, that's still the reason things go wrong when a developer thinks of it as a variant of Java. Sure, it acquired some features earlier than Java and C#, but at least C# was originally designed with a sane variable scope system. Missing features can be added easily - broken fundamentals will haunt you forever.
The variable scope issue is history. I won't explain it. You can google it.
Fixed last year... it will still be years before it can be assumed to be available on a given browser.
"this" works perfectly well. Especialy with the lambda syntax that comes with the latest standard.
Now you're showing ignorance of JS. "this" is a disaster. Most languages that have an equivalent of "this" have a semantic meaning for it that makes sense. In JS, it's up to the caller. Sure, sometimes it's sensible, but when it's not, it's a problem. You gave an example of a good use of this. But, for every good use, there's code out there that abuses "this". If you ever write a callback that gets called by someone else's code - the only way to know what will be in "this" is to read the documentation (or the code).
I have no globals in my JS code under node.js. Node has modules. Modules are comming to JS in browsers very soon. All by browser side code is already using modules wih the help of a module bundler. No globals there either.
Congratulations. But, the fact that you write good code by using a subset of JS doesn't make JS a good language. It means that it's a language filled with land mines that every newcomer has to navigate. That's what makes it a bad language. Also, the things you can take for granted server-side are more bigger problems when you go client-side. The fact that you have a module system "on the way" after more than twenty years is pretty good evidence that JS is still immature.
JavaScript is only a good language if you know which 60% of it is horrible and never use that part. It also helps to know that it's not a variant of Java; it's a variant of Forth made to resemble Java. That help to reduce the temptation to try to use it like Java.
If you're wondering what the horrible parts are, my personal top five are; variable scope, type coersion, undefined, this, and global.
Back to what you said - so much of it is horrible that it really is worth hating. Sure, it can be used effectively, but only with a huge degree of self control. People who barely know the language and are learning by Googling are in for a world of hurt.
They're just following the precedent set by supermarkets. Twenty years ago, supermarkets had "sales", where a subset of their stuff was cheaper for a limited period of time - everyone was eligible. Now, they will only give you the sale price if you use their tracking program, which they usually refer to as a "Customer Loyalty Program".
Google will likely downgrade your search ranking for this. They call it cloaking
Yeah... like the 9% of my income I pay in property taxes and the 8.75% I pay in sales tax.
It's better than that. If x is the increase in the of pedestrians that are being killed because they are inattentive during the smartphone boom, and y is the likelihood of a smartphone-using pedestrian being so consumed that they don't notice a car coming at them, then x(1-y) pedestrians are using smartphones and would have been killed if they hadn't noticed the car. Also, x(1-y)/z, where z is the proportion of walkers staring at their phone at any given time, is the total number of all walkers that are in harm's way. Assuming one-tenth of pedestrians are using smartphones, and one-tenth of the smartphone users bite it (the rest notice the car and move)... then the number of people that successfully run for their life from an inattentive driver that would have killed them is 100 times greater than the increase in fatalities.
Substitute whatever y and z you want and it's obvious the drivers are a much bigger problem than the pedestrians.
I have an opposing viewpoint... I walk for exercise most days on my lunch hour. I work in an ostensibly "walk friendly" community with a ton of antique shops on main street. I plan my route so I only cross one street that's bigger than a residential side street.
I get nearly killed at least once a month. It's almost always by someone turning left into a parking lot, so they're coming from my rear. The problem here isn't that people are on their phones. The problem is that drivers would mow down pedestrians at an alarming rate if we weren't constantly dodging cars. I once had a lady nearly kill me, then pull into the lot, get out of her car, and berate me for walking on the sidewalk that she needed to drive over.
Another one that bothers me: Car is first at a red light and is turning left. There is no possibility that this car will go anywhere until the light turns green. However, the car slowly creeps forward until they are entirely blocking the crosswalk and ten feet in front of it (on the intersection side). I now have two choices - walk in front of the car, which is nearly in the other road, or walk behind the car. I used to walk behind the car, until one day, a car turned left and almost hit me. I realized that the left turning car couldn't see me because I was completely shielded by the SUV I walked behind. Now I always walk in front of them - or stop and stare at them until they back up.
Nope, I'm moving. Seriously. Driving on this road didn't make me decide to sell my house, but it played a role in where the next one will be. They don't need me to tell them it's a bad intersection - the memorial flowers left for the people who died there say more than I ever could.
Besides, I'm too old to fight authoritarian bureaucrats that think tickets are the solution to traffic safety, jail is the solution to drugs, and kicking the troublemakers out of school is the way to fix education.
Another thing... are you suggesting that my lack of reporting this makes my analysis of the issue less valid? Or are you simply trying to gently redirect the conversation from pointing out that your counterpoint isn't very good to a conversation about my poor citizenship?
If you're referring to intersections that show the left* lane a green disc instead of a green arrow, the proper maneuver is a "LEFT TURN YIELD ON GREEN" as described in the driver's manual. First enter the intersection while the signal is green. Then by the time it turns red, you're already legally in the intersection and have the right and duty to clear it once oncoming traffic to your left ceases.
I am referring to this type of intersection. The maneuver doesn't entirely fix the problem. On my way home from work, I have to turn left off a major street at such an intersection. During the evening rush hour, there is zero chance that there will be a break in the oncoming traffic during the green. The light cycle is about three minutes. So the total volume of traffic that can make this left turn legally is 20 cars per hour. That's not nearly enough.
Nobody died because someone crossed the intersection 0.3 seconds after it turned red. The other light isn't even green yet. Your statement implies a correlation between traffic enforcement and road safety, but this correlation is frighteningly weak. Unfortunately, enforcement is concentrated on things that are easy to measure instead of things that are most dangerous.
Red light cameras are a great example of ineffective enforcement. Red light running generally falls into two categories: people that push the boundary and people that make mistakes (not paying attention, drunk, didn't clean windshield, etc.). Cameras can make people choose not to push the boundary, but they are very bad at correcting the latter behavior. So, they shift a lot of money to the government and the camera operating company, without having much of an effect on safety.
You can tell a government is serious about safety when they start redesigning bad intersections instead of wagging their fingers at people driving 36 in a 35 or going through intersections one second after the light turns red. Research has shown time and time again that if there is a trend of people running the beginning of a particular red light, the best solution is to make the yellow longer. Often blatant red light violations come from intersections with no left turn arrow. Frustrated drivers wait an entire light cycle (or four), and then finally just go when the opposite lane clears as the light turns red. Once again, the correct solution is to change the intersection. Yelling at (or fining) the drivers does nobody any good.
It goes both ways. We are currently using the principle behind this law to shield drone pilots from repercussions. There's also this case where the US says a border guard was within his rights to shoot a man in Mexico.
Given what we have to lose, it's unlikely that the US government will change its position on this issue.
At my last job, our AS/400 had to have all of the applications shut down to do a nightly backup. The backup took nearly every second that the business was closed. Scheduled maintenance had to be done on holidays.
One time we had to move its network connection to another switch port. The thing didn't work again until we hard rebooted it.
The software on it could only be accessed from the network by running CL scripts - so there was no such thing as transactional integrity. The programmers used a five digit batch number on the main thing we used the AS/400 for, which recycled every month. As a result, if we had a few production glitches in a 31 day month, everything went to shit. The idiots also used a six digit invoice number and we rolled off old invoices after two years (which had regulatory implications). As we grew and processed more than 42000 invoices per month, hundreds of hours had to be put in to expand the system capabilities.
It's not all roses in the AS/400 world.
At my previous job at a Fortune 100 company...
Me: Hey boss, we spend half our time cleaning up the mess that is caused by this one bug. I suggest we put a little time into fixing the bug. Boss: Fixing the bug is build work and that requires a business unit to provide a request and the capital to do the work. Cleaning up the mess is maintenance work and the whole company pays for that. So, until some other department pays us to fix this problem, we must continue to put our time into maintenance work. Me: But, the only people that are inconvenienced by it is us - no one else cares. Oh well, I'll just go home and kick my dog.
success will prove very elusive indeed
That company makes $3 billion a year in profit.
It doesn't work out for the company, but IT managers do use this excuse regularly. I'm not suggesting that it's a good thing, just that management seems to be more about avoiding blame than providing solutions.
If you outsource, you can blame the service provider. If you do it internally, you take the blame yourself. No wonder the cloud is so popular.
More specifically, they don't want to let potential buyers know that their Alexa recordings might some day be "Exhibit A" in their divorce proceedings.
Due to the cost of security breaches being borne primarily by victims, investing in security has never been a good financial decision. That's the primary reason that security sucks in the IT industry. If it weren't for public shaming and the associated damage to a company's image, it would be even worse.