<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3" -->

---
title: Nine unlikely trends shaping software development
description: An opinion piece argues that several 'inevitable' modern software trends are reversing: JavaScript is absorbing TypeScript via type-stripping rather than the...
canonical: https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Nine unlikely trends shaping software development | daily.dev
og:description: An opinion piece argues that several 'inevitable' modern software trends are reversing: JavaScript is absorbing TypeScript via type-stripping rather than the...
og:url: https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3
og:image: https://api.daily.dev/og/posts/DgxIizlg3.png
og:image:alt: Nine unlikely trends shaping software development
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Nine unlikely trends shaping software development

**[InfoWorld](https://daily.dev/sources/infoworld)** · 10 min read · 18 upvotes · 2 comments

## Summary

An opinion piece argues that several 'inevitable' modern software trends are reversing: JavaScript is absorbing TypeScript via type-stripping rather than the other way around; SQL is resurging over ORMs and NoSQL, including running in browsers via WebAssembly; local IDEs are outcompeting cloud dev environments thanks to powerful laptops; monoliths are regaining favor over microservices; opinionated 'batteries included' frameworks (Next.js, Spring Boot) are beating fragmented Jamstack-style integrations; on-prem infrastructure is reclaiming ground from cloud; specialized engineers are valued over mythical full-stack developers; WebAssembly runtimes are challenging Docker on speed and simplicity; and Java, boosted by virtual threads and structured concurrency, is said to be outperforming Node, Go, and Rust for server-side scalability.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.infoworld.com/article/4225151/nine-unlikely-trends-shaping-software-development.html>

## Questions this post answers

### How do Java virtual threads improve concurrency compared to traditional threads?

Virtual threads push thread management into the JVM itself, letting the platform schedule and juggle them automatically, similar to how memory management works. This allows Java servers to scale to potentially millions of parallel requests with a single import change, while remaining fully compatible with older thread APIs. Structured concurrency is a related upgrade that complements this model.

_Developers weighing Java concurrency upgrades can follow deeper explainers and comparisons on daily.dev._

### What is TypeScript type stripping and how does it change how TypeScript runs?

Type stripping is an approach where runtimes like Node.js remove TypeScript type annotations at run time, replacing them with blank space, so plain JavaScript becomes the executed code and no separate compilation step is needed. This effectively turns TypeScript into something closer to a linting layer in the IDE rather than a required build step.

_Anyone deciding between TypeScript tooling approaches can track this shift with daily.dev._

### Why are some teams choosing monolithic architectures over microservices again?

Monoliths are regaining favor because microservices introduce network latency at every service boundary and operational complexity, such as debugging Kubernetes, that outweighs their benefits unless the situation truly demands them. A monolith's tiered layers (data, service, UI) offer a simpler mental model, though it still requires proper architecture to avoid its own complexity.

_Architects debating monolith versus microservices trade-offs can find ongoing discussion on daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@petermrozek** · 2 upvotes

> I guess it's a natural cycle: status quo solution -> new arrival gradually changing the landscape -> status quo being broken (solution somewhat adapting) -> both solutions finding their niche.
>
> A good example would probably be monoliths and micro-services. After the hype train for micro-services, some started turning back towards monoliths, finding micro-services a bit too complex for certain usages. That resulted in evolving the approach - modular monoliths, trying to get the best of both worlds.
>
> Another one started from server-side rendered dynamic WWW pages, getting more and more AJAX,...

**@adiaga** · 0 upvotes

> Every tool has it's own use cases. There is nothing that will replace everything everywhere.

## Similar posts on daily.dev

- [The 8 trends that will define web development in 2026](https://daily.dev/posts/the-8-trends-that-will-define-web-development-in-2026-tkot4sdil) · LogRocket · 2 upvotes · 1 comments
- [Trends That Defined JavaScript in 2025](https://daily.dev/posts/trends-that-defined-javascript-in-2025-qmioldgd4) · The New Stack · 61 upvotes · 0 comments
- [Why local-first matters for JavaScript](https://daily.dev/posts/why-local-first-matters-for-javascript-72fzuqij4) · InfoWorld · 1 upvotes · 0 comments
- [Programming peaked](https://daily.dev/posts/programming-peaked-intvizwz3) · Hacker News · 0 upvotes · 0 comments

---

Tags: [#java](https://daily.dev/tags/java), [#architecture](https://daily.dev/tags/architecture), [#typescript](https://daily.dev/tags/typescript), [#microservices](https://daily.dev/tags/microservices), [#webassembly](https://daily.dev/tags/webassembly)

[View this post on daily.dev](https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Nine unlikely trends shaping software development","url":"https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3"},"datePublished":"2026-09-28T09:05:31.115Z","dateModified":"2026-09-28T09:26:07.775Z","description":"An opinion piece argues that several 'inevitable' modern software trends are reversing: JavaScript is absorbing TypeScript via type-stripping rather than the...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a9a1bbfb3d16839e356cf2fb74e70db5?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/a9a1bbfb3d16839e356cf2fb74e70db5?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"InfoWorld","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"InfoWorld","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/bf6d68a999064029b0bb09aa6268f1f3","url":"https://daily.dev/sources/infoworld"},"commentCount":2,"discussionUrl":"https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":18},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":2}],"keywords":"java,architecture,typescript,microservices,webassembly","timeRequired":"PT10M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"InfoWorld","item":"https://daily.dev/sources/infoworld"},{"@type":"ListItem","position":3,"name":"Nine unlikely trends shaping software development"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3","comment":[{"@type":"Comment","text":"I guess it’s a natural cycle: status quo solution -&gt; new arrival gradually changing the landscape -&gt; status quo being broken (solution somewhat adapting) -&gt; both solutions finding their niche.\nA good example would probably be monoliths and micro-services. After the hype train for micro-services, some started turning back towards monoliths, finding micro-services a bit too complex for certain usages. That resulted in evolving the approach - modular monoliths, trying to get the best of both worlds.\nAnother one started from server-side rendered dynamic WWW pages, getting more and more AJAX, resulting in the creation of SPA frameworks, to finally have some go back to server-side rendering via HDA (HTMX, DataStar, etc.) - again trying to get the best of both worlds.\nFor SQL, I have an example from the Java realm: first there’s JDBC with native SQL queries, then come ORMs with automatic query generation and data mapping, to finally land on a solution like MyBatis, where you have dynamic creation of native SQL queries (think: templating engine for your native SQL queries) with the ability to automatically map the query results to an object hierarchy.\nEvery round-trip like this needs years to happen, but it eventually happens. 🙂","datePublished":"2026-09-29T11:23:46.205Z","dateModified":"2026-09-29T11:25:45.421Z","url":"https://daily.dev/posts/DgxIizlg3#c-QUjnt3rkC","author":{"@type":"Person","name":"Peter Mrożek","url":"https://daily.dev/petermrozek","image":"https://media.daily.dev/image/upload/s--pBfYX68K--/f_auto/v1769247960/avatars/avatar_Qz65P1nVw3Bu6C5YwaZgA?_a=BAMAMiiu0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"Every tool has it’s own use cases. There is nothing that will replace everything everywhere.","datePublished":"2026-10-06T06:02:47.975Z","url":"https://daily.dev/posts/DgxIizlg3#c-QqZ0vRaIU","author":{"@type":"Person","name":"Adi Agafitei","url":"https://daily.dev/adiaga","image":"https://avatars1.githubusercontent.com/u/338271?v=4"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/nine-unlikely-trends-shaping-software-development-dgxiizlg3#faq","mainEntity":[{"@type":"Question","name":"How do Java virtual threads improve concurrency compared to traditional threads?","acceptedAnswer":{"@type":"Answer","text":"Virtual threads push thread management into the JVM itself, letting the platform schedule and juggle them automatically, similar to how memory management works. This allows Java servers to scale to potentially millions of parallel requests with a single import change, while remaining fully compatible with older thread APIs. Structured concurrency is a related upgrade that complements this model. Developers weighing Java concurrency upgrades can follow deeper explainers and comparisons on daily.dev."}},{"@type":"Question","name":"What is TypeScript type stripping and how does it change how TypeScript runs?","acceptedAnswer":{"@type":"Answer","text":"Type stripping is an approach where runtimes like Node.js remove TypeScript type annotations at run time, replacing them with blank space, so plain JavaScript becomes the executed code and no separate compilation step is needed. This effectively turns TypeScript into something closer to a linting layer in the IDE rather than a required build step. Anyone deciding between TypeScript tooling approaches can track this shift with daily.dev."}},{"@type":"Question","name":"Why are some teams choosing monolithic architectures over microservices again?","acceptedAnswer":{"@type":"Answer","text":"Monoliths are regaining favor because microservices introduce network latency at every service boundary and operational complexity, such as debugging Kubernetes, that outweighs their benefits unless the situation truly demands them. A monolith's tiered layers (data, service, UI) offer a simpler mental model, though it still requires proper architecture to avoid its own complexity. Architects debating monolith versus microservices trade-offs can find ongoing discussion on daily.dev."}}]}
```

