Need advice about which tool to choose?Ask the StackShare community!


+ 1

+ 1
Add tool

Apex vs Java: What are the differences?


This Markdown code provides the key differences between Apex and Java in a concise and specific manner.

  1. Syntax Differences: Apex and Java have different syntax structures. While both are derived from C-style syntax, Apex has a syntax more similar to that of a scripting language like JavaScript. For example, in Apex, you do not need to specify the data type of a variable explicitly, whereas in Java, it is mandatory to declare the type of every variable.

  2. Use Case Differences: Apex is primarily used for building applications on the Salesforce platform, such as developing customizations for Salesforce CRM. On the other hand, Java is a general-purpose language that can be used to build a wide range of applications, ranging from web applications to enterprise software.

  3. Platform Dependency: Apex runs exclusively on the platform, which is a proprietary platform owned by Salesforce. In contrast, Java is platform-independent and can be executed on any platform that has Java Virtual Machine (JVM) installed.

  4. Exception Handling: Both Apex and Java have similar concepts of exception handling, but there are some differences in the way they are implemented. Apex has a different set of predefined exceptions compared to Java and also provides custom exceptions specific to the Salesforce platform.

  5. Object-Oriented Programming (OOP) features: Java is known for its robust support for pure object-oriented programming, including features like multiple inheritance through interfaces and abstract classes. In contrast, Apex does not support multiple inheritance, and the Object-Oriented Programming (OOP) features are relatively simpler.

  6. Integration Capabilities: While Java has extensive support for integration with various systems and technologies, Apex is primarily designed for seamless integration with the Salesforce ecosystem, including accessing Salesforce's database, APIs, and services.

In Summary, Apex and Java differ in syntax, use case, platform dependency, exception handling, OOP features, and integration capabilities.

Advice on Apex and Java
Kamal Makroum
Needs advice

Hi everyone.

I am willing to build a used car sales platform, which will have a lot of stock/photos and will rely a lot on the back end functions and data generating. Java seems to be a good choice, but what other options can I consider that can also be easily scalable as well as a little faster to write?

Thank you

See more
Replies (2)

Firstly, you must know that java and python are both amazing languages. But I recommend python mainly because of the variety of modules and packages available to do almost anything. If you are planning on adding graphs, you can use the matplotlib library and to add photos, use the pillow module. And just note that both of these aren't available by default, so you need to install them through pip.

See more
Ruslan Rayanov

Hi, Kamal! I don't know if your question is still relevant. But I would like to introduce you to our solution, perhaps it will be useful for future projects. We have developed a web application constructor that can be used to create almost any website or application The entire development stack is reduced to SQL only. The platform is easy to configure and make subsequent changes if necessary.

See more
Needs advice

I am trying to make Roblox game which requires Lua. I quite don't want to go with Lua just because other tools just might let me do more projects later on. I heard that Python is most similar to Lua, but I am still not sure which tool to use. Java, I think it will help me with many stuff later on for websites, projects, and more!

See more
Replies (2)
Rafey Iqbal Rahman

Since you are trying to make a Roblox game, you have no other option than to use Lua, since Roblox only allows coding in Lua. Yes, you've heard right, Python is identical and as easy as Lua, although Lua is easier than Python. Beginning from Lua and then escalating to Python is recommended. Java is only helpful when you are creating a heavy, big-budget, enterprise-level product, otherwise, Python would suffice.

See more

If you really hate lua check out roblox-ts, a tool that compiles typescript code into roblox lua.

See more
Needs advice

Hi everyone, I have just started to study web development, so I'm very new in this field. I would like to ask you which tools are most updated and good to use for getting a job in medium-big company. Front-end is basically not changing by time so much (as I understood by researching some info), so my question is about back-end tools. Which backend tools are most updated and requested by medium-big companies (I am searching for immediate job possibly)?

Thank you in advance Davit

See more
Replies (4)
Pierrick Martos
Engineering Manager at Akeneo · | 20 upvotes · 329.3K views

Go with Python definetly. It's used everywhere by web developers for backend developments : API, website backend, workers... but also by data scientists (lot lot of resources, models and libraries in Python it's language #1). For the web parts, best web framework are in Python : (Flask #2 and Django #3). Java is good but trend is not great in terms of popularity amongs developers and tech leaders.

See more
Vijayakumar Rajagopal

As per my experience java is most wanted for web development as of now. micro service is evolving . with frameworks like spring boot supports rapid development. Spring boot + Docker + kubernetes great combination.

See more
sharik zama
Software engineering Intern at EPAM Systems · | 5 upvotes · 328.4K views

I would recommend learning HTML, CSS, and JavaScript (most important). JavaScript forms the backbone of web development. And, there are many popular and widely used frameworks like Angular and React that heavily rely on the knowledge of JavaScript. The number of job opportunities are much more when it comes to javascript.

See more
Chathuranga Bandara

I would recommend Python as the programming language and as you are a new developer, Flask to start with. It gives you a solid understanding on the web patterns such as REST and will get you up and running in no time. However, I suggest you to read and study on front-end technologies like (React or Vue) and databases (SQL and NoSQL) and probably some NodeJS as well. First grasp the concepts (which Python is ideal for) then it does not really matter the language as such.

See more
Decisions about Apex and Java
Noel Broda
Founder, CEO, CTO at NoFilter · | 5 upvotes · 235.5K views

1 code deploys for both: Android and iOS. There is a huge community behind React Native. And one of the best things is Expo. Expo uses React Native to make everything even more and more simple. Awesome technologies. Some other important thing is that while using React Native, you are reusing all JavaScript knowledge you have in your team. You can move easily a frontend dev to develop mobile applications.

A huge PRO of Expo, is that it includes a full building process. You run 1 line in the terminal, and 10 minutes after you have 2 builds done. Double check EAS Expo.

See more
Erik Ralston
Chief Architect at LiveTiles · | 14 upvotes · 560.1K views

C# and .Net were obvious choices for us at LiveTiles given our investment in the Microsoft ecosystem. It enabled us to harness of the .Net framework to build ASP.Net MVC, WebAPI, and Serverless applications very easily. Coupled with the high productivity of Visual Studio, it's the native tongue of Microsoft technology.

See more
Brent Maxwell

Node.js has been growing in popularity, and the ability to access the global pool of Javascript developers is great. There is a decreased amount of effort for people to work across the frontend and backend, and the language itself is easy and works well for many common use cases.

Go was the other serious candidate, but it just hasn't been implemented in as many Production systems yet, and the best Go engineers I've known have been hackers, whereas we're building a robust analytics platform that requires more caution. Type safety is easily added with TypeScript, and NPM is awesomely handy.

See more

When developing a new blockchain, we as a team chose Go lang over Java and other candidates, due to Go being (a) natively suited to concurrency - there are primitives in the language itself (goroutines, channels) that really help with reasoning about concurrency (b) super fast - build time, running, testing are all much faster that Java, this gives a far superior developer experience (c) shorter and stricter than Java - code is much shorter (less verbose), and there is usually one good way to do things, and even the code formatter that is bundled with Go is very opinionated - over a short time this makes reading other people's code far smoother than having to deal with different styles.

You should be aware that Go presently (v1.13) lacks Generics.

See more
Alaeddin Alzeybek
Head of Engineering at Volt Lines · | 1 upvote · 216.7K views

From cross platform development point of view: Using kotlin multiplatform is more convenient than java for implementing cross platform code, since it can be converted to be used in iOS (swift) projects, and it can be easily learned if you already know swift. It still an experimental feature but it helped so far to unify a lot of the common code between our iOS and Android projects. And it is more future proof than java regarding support and maintain multiplatform converting.

See more

We needed to incorporate Big Data Framework for data stream analysis, specifically Apache Spark / Apache Storm. The three options of languages were most suitable for the job - Python, Java, Scala.

The winner was Python for the top of the class, high-performance data analysis libraries (NumPy, Pandas) written in C, quick learning curve, quick prototyping allowance, and a great connection with other future tools for machine learning as Tensorflow.

The whole code was shorter & more readable which made it easier to develop and maintain.

See more
Kyle Harrison
Web Application Developer at Fortinet · | 2 upvotes · 149.9K views

The decision behind choosing a server side technology is never an easy one. Every single language has it's pro's and con's around each.

For me, this decision came down to a couple simple points: 1. Node is a web tech first class citizen, designed around handling web events, in a web technology world 2. Asynchronous

The thing about Python and Java is that they TOO can handle these, and handle these very well. Java for instance powers most of Twitter and Netflix's architecture. Where Python is what's behind giants like Instagram and Patreon. Certainly, you can't go wrong. Heck, Ruby powered GitHub and GitLab, and those things see HUGE traffic.

But this project is a web technology first. And node feels right at home as it itself is a web technology. This decision was more about homogeneous synergy than most anything else. I need it to be screaming fast, asynchronous, and play extremely well with web standards.

Node fits the bill on every front.

See more
Nick Parsons
Building cool things on the internet 🛠️ at Stream · | 11 upvotes · 156.2K views

I work at Stream and I'm immensely proud of what our team is working on here at the company. Most recently, we announced our Android SDK accompanied by an extensive tutorial for Java and Kotlin. The tutorial covers just about everything you need to know when it comes to using our Android SDK for Stream Chat. The Android SDK touches many features offered by Stream Chat – more specifically, typing status, read state, file uploads, threads, reactions, editing messages, and commands. Head over to and give it a whirl!

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Apex
Pros of Java
    Be the first to leave a pro
    • 599
      Great libraries
    • 445
      Widely used
    • 400
      Excellent tooling
    • 395
      Huge amount of documentation available
    • 334
      Large pool of developers available
    • 208
      Open source
    • 202
      Excellent performance
    • 157
      Great development
    • 150
      Used for android
    • 148
      Vast array of 3rd party libraries
    • 60
      Compiled Language
    • 52
      Used for Web
    • 46
      High Performance
    • 46
      Managed memory
    • 44
      Native threads
    • 43
      Statically typed
    • 35
      Easy to read
    • 33
      Great Community
    • 29
      Reliable platform
    • 24
      JVM compatibility
    • 24
      Sturdy garbage collection
    • 22
      Cross Platform Enterprise Integration
    • 20
      Good amount of APIs
    • 20
      Universal platform
    • 18
      Great Support
    • 14
      Great ecosystem
    • 11
      Lots of boilerplate
    • 11
      Backward compatible
    • 10
    • 9
      Excellent SDK - JDK
    • 7
      It's Java
    • 7
      Static typing
    • 7
    • 6
      Long term language
    • 6
      Better than Ruby
    • 6
      Mature language thus stable systems
    • 6
    • 5
      Used for Android development
    • 5
      Vast Collections Library
    • 5
    • 4
      Old tech
    • 4
      Best martial for design
    • 4
      Most developers favorite
    • 3
      Stable platform, which many new languages depend on
    • 3
    • 3
      Great Structure
    • 3
    • 3
    • 2
      Faster than python
    • 2
      Type Safe
    • 0

    Sign up to add or upvote prosMake informed product decisions

    Cons of Apex
    Cons of Java
      Be the first to leave a con
      • 33
      • 27
      • 17
        Nightmare to Write
      • 16
        Overcomplexity is praised in community culture
      • 12
        Boiler plate code
      • 8
        Classpath hell prior to Java 9
      • 6
        No REPL
      • 4
        No property
      • 3
        Code are too long
      • 2
        Non-intuitive generic implementation
      • 2
        There is not optional parameter
      • 2
        Floating-point errors
      • 1
        Java's too statically, stronglly, and strictly typed
      • 1
        Returning Wildcard Types
      • 1
        Terrbible compared to Python/Batch Perormence

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is Apex?

      Apex is a small tool for deploying and managing AWS Lambda functions. With shims for languages not yet supported by Lambda, you can use Golang out of the box.

      What is Java?

      Java is a programming language and computing platform first released by Sun Microsystems in 1995. There are lots of applications and websites that will not work unless you have Java installed, and more are created every day. Java is fast, secure, and reliable. From laptops to datacenters, game consoles to scientific supercomputers, cell phones to the Internet, Java is everywhere!

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use Apex?
      What companies use Java?
      See which teams inside your own company are using Apex or Java.
      Sign up for StackShare EnterpriseLearn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with Apex?
      What tools integrate with Java?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      Blog Posts

      Oct 24 2019 at 7:43PM


      Aug 28 2019 at 3:10AM


      PythonJavaAmazon S3+16
      Jul 16 2019 at 9:19PM


      JavaAndroid SDKBugsnag+3
      What are some alternatives to Apex and Java?
      JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
      GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
      Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
      jQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML.
      See all alternatives