Home Web Front-end JS Tutorial To fold or to double down? That's a tech question!

To fold or to double down? That's a tech question!

Aug 25, 2024 am 06:37 AM

To fold or to double down? That’s a tech question!

We can’t stop now, as we already invested 1x in it, but let’s proceed to spend 100x more over the years! STONKS!

The Javascript example

You might have heard it before, but Javascript was written in 10 days. It had a rapid growth of adoption and they didn’t want to introduce breaking changes even after some years of using the language… so, now the language is almost 30 years old (remember it's from 1995!) and we still have to deal with those decisions.

They knew way back in the early years of JS that there were a lot of changes that would benefit the language, but didn’t want to break the “countless” websites from back then (there were a couple of million total websites worldwide back then, not necessarily using JS at all!).

Hindsight is 20/20, and they might have broken JS in a way that wouldn’t be what it is today.

Then again… Angular did just that when breaking and launching “Angular 2”. Just because many people were using Angular, they knew it was not sustainable to keep going with AngularJS, so they started to phase out from it to Angular2 and Angular got better because of it.

Would you invest in this today?

When investing, we feel like “losing” or “quitting” by jumping ship, but the people who can go farther are those who know when to quit a bad decision (not necessarily bad, but things change over time).

Back to the Angular/JS/2 example. Some companies are still using AngularJS, even though it reached end of life and some more some years ago. Now, they have to support and patch it on its own as they increase their codebase and make the decision to stick to it more and more painful and harder to change because of all the investments in it.

Of course, on the other side of this are people jumping from fad to fad and creating monsters that show whatever tech was more popular at each time, some that just stopped being used once people tried to start using it or that, some reason or another, just died and stopped being maintained.

The name of this is the sunk cost fallacy

You think you’ve invested “too much” already, so you can’t back down. You also think you don’t need the new shiny things if the boring old LAMP stack is enough and working.

But one thing is “it works” and another is: “in the long term, this will cost more than changing”.

In the financial sense, some new thing might let you go faster and farther, or at least, will let you be free to pursue other opportunities you might have missed otherwise.

The COBOL example

Banks run on COBOL, it’s been decades in “decline” but at each turn, they say it’s worth more to keep their COBOL legacy and hire COBOL developers at higher and higher prices than it is to work on migrating from it. TBF, hopefully, they are strangling their legacy. But if they are still actively developing in COBOL, no LLM will help them when it starts costing prohibitively more to hire COBOL devs in a market with fewer and fewer available people.

Meanwhile, new competitors without that legacy can enter the market with other stacks that let them move faster, cheaper, and with a bigger hiring pool available.

Should you? When?

The analogy is that of steering a huge ship. When you turn the ship’s wheel, the change is not immediate. You need to prepare beforehand and there are strategies to make this easier. Then it will still take some time until it’s clear that yes, the ship is turning.

ROI

But coming back to the financial analogies: ROI (return on investment).

You use ROI to calculate which investment is better, usually comparing the one you’re assessing against a “base” investment.

This would mean calculating how much time is “wasted” by keeping the status quo against the estimated gains from the proposed change. Of course, you would need to add the time spent on the change and with that, you would get some number of how much time it would start netting you “profits” on that investment.

If the calculated gains are so small that it would take a long time to take effect, then it might not be worth it.

This one was about time spent on a task, but you can also use other metrics like accessibility, security, and reliability… if you can measure something, then it can be used to justify a change.

The above is the detailed content of To fold or to double down? That's a tech question!. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Have Crossplay?
1 months ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do I create and publish my own JavaScript libraries? How do I create and publish my own JavaScript libraries? Mar 18, 2025 pm 03:12 PM

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

How do I optimize JavaScript code for performance in the browser? How do I optimize JavaScript code for performance in the browser? Mar 18, 2025 pm 03:14 PM

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

Who gets paid more Python or JavaScript? Who gets paid more Python or JavaScript? Apr 04, 2025 am 12:09 AM

There is no absolute salary for Python and JavaScript developers, depending on skills and industry needs. 1. Python may be paid more in data science and machine learning. 2. JavaScript has great demand in front-end and full-stack development, and its salary is also considerable. 3. Influencing factors include experience, geographical location, company size and specific skills.

How do I debug JavaScript code effectively using browser developer tools? How do I debug JavaScript code effectively using browser developer tools? Mar 18, 2025 pm 03:16 PM

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

How to merge array elements with the same ID into one object using JavaScript? How to merge array elements with the same ID into one object using JavaScript? Apr 04, 2025 pm 05:09 PM

How to merge array elements with the same ID into one object in JavaScript? When processing data, we often encounter the need to have the same ID...

How do I use source maps to debug minified JavaScript code? How do I use source maps to debug minified JavaScript code? Mar 18, 2025 pm 03:17 PM

The article explains how to use source maps to debug minified JavaScript by mapping it back to the original code. It discusses enabling source maps, setting breakpoints, and using tools like Chrome DevTools and Webpack.

Demystifying JavaScript: What It Does and Why It Matters Demystifying JavaScript: What It Does and Why It Matters Apr 09, 2025 am 12:07 AM

JavaScript is the cornerstone of modern web development, and its main functions include event-driven programming, dynamic content generation and asynchronous programming. 1) Event-driven programming allows web pages to change dynamically according to user operations. 2) Dynamic content generation allows page content to be adjusted according to conditions. 3) Asynchronous programming ensures that the user interface is not blocked. JavaScript is widely used in web interaction, single-page application and server-side development, greatly improving the flexibility of user experience and cross-platform development.

See all articles