• Maintainable: Other than what you have mentioned, a maintainable system also means that doing major changes should not be much of a problem (obviously this depends on the size of the change itself). That is, if the client wants to make an overhaul of the entire UI layer, then, doing so would mean that you do not need to rewrite half of your business logic and data layers.

  • Scalable: Not really. An application scales well if it is able to accommodate an increasing number of users without any major impacts on its ability to perform. If your application handles requests under 10ms for 1000 users but takes 1000ms for 2000, then it might be that your application is not scaling well. Scalability is usually achieved through a clever design will allows clever usage of resources, such as database connections and other mechanisms such as caching, which can reduce the usage of heavy operations.

  • Modular: Not exactly. An application is modular if it is loosely coupled but tightly coheased. What this means is that modules are independent from each other however, they work well in unison. So, as per my previous example, if you build your application in a modular manner, doing changes in the UI layer, should not affect your business layer, and the same goes the other way round.

As per this statement:

Now how MVC makes the code modular. Probably becoz team can work independently on views, controller and models.

it is my opinion that MVC makes it easier to break the system into modules. That being said, I do not think that if a system does not use MVC then the system is not modular etc. You can encounter applications which where built with the MVC pattern but are a nightmare to maintain, and the same goes the other way round.

Answer from npinti on Stack Overflow
🌐
Quora
quora.com › What-does-Java-is-scalable-mean
What does Java is scalable mean? - Quora
Answer: Java is both a programming language and a runtime (JVM) and a collection of supporting technologies. Scalable can mean different things in the context of the programming language and the runtime. In the programming language: * Does the language support modularity and static checking to...
🌐
Reddit
reddit.com › r/learnprogramming › what does write if “scalable code” mean exactly?
r/learnprogramming on Reddit: What does write if “scalable code” mean exactly?
June 9, 2020 -

Hi,

What does it mean to write codes that scales?

What exactly does this mean in the coding world and can anyone provide some examples of “scalable code” vs “non scalable code”

Thank you

Top answer
1 of 4
12
Scalable means "how easily is it to make the job bigger or smaller". Here is a trivial example. Lets say we want a program that prints out all of the numbers from 1 to 3. Here is one approach int int1 = 1; int2 = 2; int3 = 3; print (int1, + ", " + int2 ", " + int3); Here is an alternative approach int target = 3; string result = "" for (int i = 1; i < target; i++){ result += i + ", "; } result += target; print (result); Now the second example is more complex. It has more variables. It has a for loop. It will take more memory and longer to run. However if your problem was to change to printing all the numbers from 1 to 10,000 the second solution will still work fine with a single change to a variable. The first solution is virtually impossible to implement. So the second solution is more scalable. Things to thing about for scalability Data set size. What happens if I scale up to a thousand items? A million items? Users. What happens if two people use this system at once? A thousand people? A million people? Geography. What happens if I want to deploy this solution in multiple countries? Multiple languages? Threading. What happens if I try and run this solution on four cores at once? A thousand cores? A million cores? You get the idea. Scalability is about the ease of making things bigger. Many simple problems become incredibly complex problems if you just make them big enough.
2 of 4
2
https://www.quora.com/How-does-one-write-scalable-code This explains things decently well.
🌐
IT Supply Chain
itsupplychain.com › home › building scalable and robust web applications with java
Building Scalable and Robust Web Applications with Java - IT Supply Chain
February 16, 2024 - In Java, scalability refers to the ability of a web application to use hardware well, manage more users without slowing down, and grow both up and out as more people use it. Before you start developing a web app that can handle lots of users, ...
Top answer
1 of 1
2
  • Maintainable: Other than what you have mentioned, a maintainable system also means that doing major changes should not be much of a problem (obviously this depends on the size of the change itself). That is, if the client wants to make an overhaul of the entire UI layer, then, doing so would mean that you do not need to rewrite half of your business logic and data layers.

  • Scalable: Not really. An application scales well if it is able to accommodate an increasing number of users without any major impacts on its ability to perform. If your application handles requests under 10ms for 1000 users but takes 1000ms for 2000, then it might be that your application is not scaling well. Scalability is usually achieved through a clever design will allows clever usage of resources, such as database connections and other mechanisms such as caching, which can reduce the usage of heavy operations.

  • Modular: Not exactly. An application is modular if it is loosely coupled but tightly coheased. What this means is that modules are independent from each other however, they work well in unison. So, as per my previous example, if you build your application in a modular manner, doing changes in the UI layer, should not affect your business layer, and the same goes the other way round.

As per this statement:

Now how MVC makes the code modular. Probably becoz team can work independently on views, controller and models.

it is my opinion that MVC makes it easier to break the system into modules. That being said, I do not think that if a system does not use MVC then the system is not modular etc. You can encounter applications which where built with the MVC pattern but are a nightmare to maintain, and the same goes the other way round.

🌐
O'Reilly
oreilly.com › library › view › java-server-pages › 156592746X › ch13s03.html
Scalability - Java Server Pages [Book]
There are many ways to develop ... avoided. Scalability means that an application can deal with more and more users by changing the hardware configuration rather than the application itself....
🌐
Reddit
reddit.com › r/learnprogramming › what does it mean to say one language is more scalable than another?
r/learnprogramming on Reddit: What does it mean to say one language is more scalable than another?
June 27, 2024 -

I often hear things like, "PHP is good because it's easy to learn, but Java is more scalable". What exactly is meant by this? I know it's referencing that the language does better under higher traffic, but what would make one language better at handling this than another? Thank you for any responses

Top answer
1 of 14
110
PHP is good because it's easy to learn, but Java is more scalable Well, this sentence is dumb as shit, so whoever said it is an idiot likely just parroting r/ProgrammerHumor "Scaling" and "Scalability" are terms representing performance at growth. Mind you, "performance" doesn't necessarily just mean speed of code execution. It can represent performance of anything. So, languages being more 'scalable' than others is a meaningless stat without more context. Labor Performance Python is more scalable than Java when the job requires writing many one-off scripts per day. Could you imagine writing a bunch of one-and-dones in Java? Regardless of actual code performance, the scalability here comes how much more quickly a single dev can crunch quick and dirty one off scripts. Distributed Performance Go is more scalable than Javascript when it comes to writing concurrent applications meant to run in 100s of virtual containers. This is because Go's concurrency is easy as shit, super resource cheap, and the binaries not only take a short time to build, but can also be built easily within containers themselves to match container architecture. Calculation intensive Performance Rust is more scalable than Python when it comes to writing highly performance, memory optimized code since Rust's whole shtick is memory safety. It's also more scalable than other languages, like python and Java, due to not having a runtime or garbage collection High IO Performance NoSQL is more scalable than relational ACID dbs because it's almost-consistent integrity promises allow for more distributed reads and write. It scales large amounts of non-relational data better Vertical Consistent Performance Postgres is more scalable than mongo due to how it's scheduler handles keys and hashtables. It scales large amounts of relational data much better
2 of 14
11
Nothing really. Too vague. Scaling for what? What is the app and what is the problem? (assuming simultaneous use of a back end from here...) Scaling for lots of simultaneous use is usually done with the infrastructure running the code. Scalability is not an intrinsic property of the programming language used. It's more about the ecosystem surrounding the development and deployment of projects written in it. Also, the techniques and architectures used. Scalability is usually more about cost than tech initially. You'd be surprised what code you can make "scale" when you have money to throw at computing resources. There are very few free lunches in tech. It's all tradeoffs. What makes one thing "scalable" in one context makes it "inflexible" in others.
Top answer
1 of 5
8

If you want an academic viewpoint, read this paper. If you are thinking about Scala, read Odersky and friends’ overview where they discuss what makes Scala scalable. There’s also a related question.

In a nutshell, Scala has features such as operator overloading, user-defined classes, traits, and many others, that allow one to express many domain-specific problems in a very natural way.

2 of 5
6

There is no such thing as a scalable language. Every language to date fails in some regard.

  • Does the program support libraries written in that language?
    Pascal exemplifies this problem. not scalable in this sense.

  • Is the language consistent?
    Visual Basic is not scalable in this sense. Visual Basic is an outlier in this sense in that it consistently exhibits an utter lack of consistency. Operating overloading in C++ and other languages is a nice feature, but also a misfeature when the overload is inconsistent with the base meaning (e.g. std::isteam::operator>>).

  • Is the language stable?
    A program written 20 years ago in Fortran or Lisp has a good chance of being compilable and runnable today. Python and scala are not scalable in this sense. Upgrade to the latest and greatest and you may well break code that was written last week.

  • Is the language widely accessible?
    The first computers were programmed at the bit level (ENIAC) or machine level (UNIVAC-1). Six women were capable of programming the ENIAC. Those six women have been recognized by multiple organizations for this incredible feat. A modern day large-scale complex of programs is written by people with varying levels of programming skill. A language that requires an advanced degree in computer science is not scalable. Lisp, for example, is a beautiful language that has pretty much languished in academia because it is not accessible to the masses.

  • Does the language support strings?
    Good luck writing a parser in Fortran.

  • Does the language support numerical processing?
    Good luck writing a scientific program in Cobol. Diehard Fortran programmers reject C (and C++, and Java, and ...) because in their minds nothing comes close to Fortran when it comes to scientific programming. For this reason, a lot of the scientific libraries provided by non-Fortran languages are simply wrappers around Fortran libraries rather than ports of the Fortran implementations to the target language.

  • Is the language applicable to a wide scale of problems?
    The above two questions are specializations of this broader question. The original general-purpose languages, Fortran, Lisp, and Cobol. were anything but general purpose.

  • Does the language perform well?
    Good luck writing a simulation of a galaxy in python or scala. The answer might come back when the universe ends. Performance doesn't matter, until it does matter. When it does matter, performance can be paramount. A language that shuns addressing performance issues is not scalable.

  • Does the language invite bad programming techniques?
    Perl invites programmers to write write-only code. FORTRAN (Fortran much less so) invited programmers to write spaghetti code. Modern languages invite programmers to hide the spaghetti with constructs such as exceptions and breaks, but it's still old-style spaghetti. There's also spaghetti inheritance in C++ and Smalltalk, spaghetti call trees in languages where a ten line function is viewed as being too long. And of course holey lasagna, leaky ravioli, and a host of other kinds of bad pasta code. These misfeatures argue against scalability.

  • Is the language a good language for authoring legacy code?
    Far too many large projects find they need to hire an ex-employee as a consultant because the original author is the only person who has even the slightest chance of understanding the code. A language that is good for authoring legacy systems is not a good choice as a scalable language.

  • Is the language safe?
    Large systems are inevitably written by people who somehow manage to find all of the flaws in the implementation language. Project managers of a large, complex system can choose from two classes of people to author the system: Computer scientists who are clueless of the problem domain or domain experts who are clueless about how to write code well. They can't use people who can live in both worlds because such people are few in number and would destroy the company's pay scale. A scalable language has to be safe with regard to the domain and with regard to computer science constructs. Such a language does not exist.

Find elsewhere
🌐
Aegissofttech
aegissofttech.com › home › java › building scalable besides robust java applications: a beginner’s guide
Java Applications: Build Scalable Besides Robust Apps
December 12, 2025 - Similar principles apply to software development, chiefly when crafting custom Java application development. In this guide, we’ll explore best practices to ensure your Java applications are both scalable (able to handle increased demand) and ...
🌐
Medium
medium.com › @AlexanderObregon › writing-scalable-java-applications-best-practices-and-strategies-718a338e41c0
Writing Scalable Java Applications: Best Practices and Strategies
November 11, 2023 - Scalability in the context of Java applications refers to the ability of an application to handle increased loads without compromising performance. This involves not only the capability to serve more requests but also to do so efficiently and ...
Top answer
1 of 1
8

As Robert mentioned in a comment, what they mean is that the software performs well under increasing volumes of load.

Any programming language has potential for code that performs or scales well and code that performs or scales poorly.

However, Java is an interesting language to be picky about in regards to scaling perhaps because of its popularity and low barrier-to-entry.

I see two reasons to be concerned about developers who claim expertise in Java but make poorly performing or poorly scaling software:

  • Commonly taught - every IT, SE and CS curriculum that I have seen teaches Java first. At least in the US, it's the de facto programming 101 language. Not a bad idea since it teaches the basics of control flow such as loops, functions, arrays, I/O etc. and allows for a "warming" into OOP.
  • It is popular and heavily marketed.

One of the dangers of garbage collected languages is that you do not need to understand how a computer works to make software with it. You can even make software that performs fairly well without understanding memory management, CPU registers, GC algorithms, etc. these days. However, if you want the software to scale, you need some understanding of these concepts (not necessarily an expert however).

For example, you write code that selects a bunch of data from a database table and then load it into an ArrayList in Java. You try it in development and it works great. Try it in QA, it works great. Run it in production where the table has 2 million rows instead of the 10 rows from development and 2,000 users are selecting from it at the same time, suddenly your database CPU spikes up and your app servers run low on memory. How would you handle this?

🌐
DZone
dzone.com › coding › java › the basics of scaling java ee applications
The Basics of Scaling Java EE Applications
October 21, 2015 - Scalability is not a standardized component within the Java EE Platform specification. The associated techniques are mostly vendor (application server) specific and often involve using more than one products (apart from the app server itself). That’s why, architecting Java EE applications to be scalable can be a little tricky.
🌐
Oracle
docs.oracle.com › cd › E19528-01 › 819-2326 › aavfl › index.html
Determining Strategies for Scalability (Sun Java Enterprise System Deployment Planning Guide)
These projections of the number ... numbers for the deployed system. Your design should be flexible enough to allow for variance in your projections. A design that is scalable includes sufficient latent capacity to handle increased loads until a system can be upgraded with ...
🌐
Artima
artima.com › articles › scala-a-scalable-language
artima - Scala: A Scalable Language
The name Scala stands for “scalable language.” The language is so named because it was designed to grow with the demands of its users. You can apply Scala to a wide range of programming tasks, from writing small scripts to building large systems. Scala is easy to get into.
🌐
Coderanch
coderanch.com › t › 403814 › java › Scalable-Robust
Scalable and Robust (Beginning Java forum at Coderanch)
June 13, 2006 - ... Can anyone explain me these two terms. ... Wikipedia: Scalable - In telecommunications and software engineering, scalability indicates the capability of a system to increase total throughput under an increased load when resources (typically hardware) are added.
🌐
Medium
medium.com › @rebmbula › unraveling-scalability-in-programming-languages-what-makes-the-difference-6e3f3d062818
Unraveling Scalability in Programming Languages: What Makes the Difference? | by BecksBlog | Medium
December 5, 2023 - Scalability in programming languages is influenced by various factors, ranging from language design and architecture to the ecosystem and libraries available. A scalable language can efficiently manage growing data, user load, and complex operations. Efficient Garbage Collection: Languages with advanced garbage collection mechanisms (like Java) can manage memory more effectively, making them more scalable.
🌐
Dynatrace
dynatrace.com › __home__ › dynatrace resources › ebooks › ebook: java enterprise performance › differentiating performance from scalability
Differentiating Performance from Scalability
November 18, 2025 - The ability to overcome performance limits by adding resources is defined as scalability. No matter how much hardware we have at a certain point we will see decreasing performance.
🌐
Quora
quora.com › How-do-you-achieve-scalability-in-Java
How to achieve scalability in Java - Quora
Answer: Scalability is the ability to improve specific characteristics of the system (e.g. number of users, throughput, performance) by increasing the available resources . High/Extreme Scalability might not be a requirement for every Java EE ...
🌐
InfoQ
infoq.com › articles › scalable-java-components
Creating Highly-Scalable Components in Java - InfoQ
August 27, 2009 - An efficient way to ensure scalability of applications is to use highly-scalable components to build the applications. For example, in various applications, java.util.concurrent.ConcurrentHashMap can replace a synchronized HashTable and make the application more scalable.
🌐
Quora
quora.com › What-do-you-mean-by-scalable-application-and-what-advantages-does-Java-have-over-Python-in-scalability
What do you mean by scalable application and what advantages does Java have over Python in scalability? - Quora
Answer (1 of 3): 1. Python optimizes developer time over CPU time. (ie it runs a little slower but is (typically) much faster to develop) 2. Python(is dynamically static typed) has no guarantees to the type of arguments a function supports nor its return type, Java has enforced return types and a...