Java vs JavaScript vs Python

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

Java

91.5K
68.1K
+ 1
3.6K
JavaScript

224.3K
173.1K
+ 1
7.8K
Python

152.1K
124.2K
+ 1
6.5K
Advice on Java, JavaScript, and Python
Needs advice
on
JavaJava
and
Common LispCommon Lisp

Hello everyone! I’m interested in learning AI development, and after doing a little bit of research, I’ve learned that Common Lisp and Java are the top languages for AI. Which one should I learn? What are the differences? Are they hard to learn? If anyone can help with this, it’d be very appreciated. Thank you!

See more
Replies (4)
Václav Hodek
CEO, lead developer at Localazy · | 5 upvotes · 57.8K views
Recommends
JavaJava

Java is far more popular and you can use other JVM-based languages such as Kotlin (I would recommend Kotlin over Java). Also, for Java, there are many more libraries, tools, etc. Also, if you learn Java, you can do almost anything - mobile (Android), web, and desktop apps - without "hacks". There is native support for all of these.

As with any programming language, it's not hard to learn the syntax but it's hard to understand the ecosystem, know libraries, best practices, etc. From that point of view, I would also prefer java - more tools, more libraries, more resources, guides, how-tos, etc.

See more
Recommends
PythonPython

I'd recommend Python due to the fact that many AI libraries and frameworks are specifically developed for the Python ecosystem.

Java is good for general purpose programming: Web, Mobile and Desktop, however doesn't really have many native libraries supporting AI Development.

As for LISP, again it has some support,, however Python seems to be the leading edge in AI development

See more
پیمان سبزی زاده
Recommends
PythonPython

Hi Excuse me if I wrote the text badly because I do not know much English My suggestion is to choose Python for artificial intelligence because it has both comfortable and powerful syntax. Python is currently the best language for artificial intelligence It is better to go and learn Python and then learn one of the artificial intelligence frameworks and enter it.

See more
Recommends
JavaJava

I have not much idea about Lisp, but have been a Java professional since last 20 odd years. And I would say Java along with Python is one of the best languages for AI.

AI works on the concept of algorithms, and Java is algorithm based. Also Java has it's own AI libraries that can be reused. You have Java AI libraries for Expert Systems, Neural Networks, Natural Language Processing.

Also Java being a widely used language, brings with it certain advantages, ease of usage, debugging, has a large user base and support groups. And above all JVM helps you to create on single app, that can run on any platform. And it's features of garbage collection, simplifying work with large scale projects makes it better.

Hope this helps.

See more
Needs advice
on
PythonPythonGoGo
and
ElixirElixir

Hi! I'm currently studying Flutter for mobile apps, but I also have a demand to automate some tasks on the web and create backends' for my apps, so thinking about which one of those could be better? Considering the performance and how easy it's to learn and create stuff? (I'm already familiar with .NET stack but want something more "simple" to write)

See more
Replies (4)
Amit Mor
Software Architect at Payoneer · | 5 upvotes · 61.1K views
Recommends
PythonPython

Definitely Python. Lots of libraries, dead simple syntax. Lots of code examples and reference projects. Elixir is pure functional and takes time to grasp the concepts. Go is great, with simple syntax and performant runtime, but more strict as it is statically typed. For quick coding, nothing beats Python. As you come from .net I’d consider similar approach and be considering Java with SpringBoot as it makes Java faster and much more fun to code web servers

See more
Recommends
ElixirElixir

Elixir really has a good performance for the web (and in general). Its framework Phoenix for the web is a great tool, easy to install and to use, with features for websockets (and Pub/Sub) or LiveView to write reactive and real time app with only HTML (and Elixir) so basically everything is in one place

It can take some time to learn a few things in Elixir but I really think it's worth it, and it's very easy to go distributed and concurrent with Elixir. Also it's easier to code quickly with some features like the pattern matching or some operators like the pipe or the capture one

And in the case you need it you can still connect and interface Python and Elixir pretty quickly, and now Elixir has a lot of different frameworks : web, embedded or even neural networks now

Never went far with Go but I have some trouble with its syntax, I find it a bit messy

I don't have a lot of experience with the web with Python but I don't have a good experience with the little I did

See more
Shivam kr Shiv

Hey Vitor, You can use Node and Express JS to create a backend for your app. You can create REST APIS to connect your front end with the backend. It is a very simple and scalable solution for building backend web apps.

See more
Recommends
PythonPythonGoGo

Judging your previous experience we will benefit from Golang in terms of portability and speed. If you want to go simplier use Python. If it's only scripts use Python.

See more
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

I'm making my university community web service with a team. (6 members myself included)

And we decided to use JavaScript, HTML, CSS (for sure, it's the basic of websites) but couldn't decide for the back end part.

There are tons of languages, tools, etc., but I'm really new to programming, so I'd like to get some help to figure out what tools we need.

So my question is this: are there any good examples of web community services we can mimic the tools or get an insight from them?

See more
Replies (6)
Recommends
PythonPythonDjangoDjango

Since you're following Python, I would recomend using Django as your main back-end language. If you know Python it would be a great experience. Django is well documented on their official website: https://www.djangoproject.com/ I would also use React for front-end as well. Also this article is worth reading, I think progressive web app is something worth learning these days: https://web.dev/progressive-web-apps/ Hope that helps :)

See more

Since your team is already using JavaScript, there's a great number of examples for backend services written with NodeJS. I'd recommend using Firebase, or any backend as a service (you can use that term to find alternatives), for setting up your backend as it is much easier for newer people to understand and lets you focus on your core application logic, and not provisioning servers, databases, etc.

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 70.6K views
Recommends
JavaScriptJavaScript

Since you're team is already using JavaScript, there are alot of examples and open source projects written with NodeJs, so I preffer this language in your backend application and also I am recommended using Mongo DB with It for saving data in it, and also for your frontend application I am recommanded using VueJs.

See more
Hüseyin Özkılıç
Senior Full-Stack Developer at RADSoft · | 1 upvotes · 70.6K views

Make it simple, most of projects doesnt need a AI, ML or big algorithms. If your project just serving end users take it to the web ready compatible. (Javascript, .Net, PHP Laravel)

See more
Jamal Abdinasir
Product manager at abdinasirjamal171@gmail.com · | 1 upvotes · 71K views
Recommends

Kindly I don't find any help that solve this mystery I need more help if it will happen

See more
Nash Nziramasanga
Software Developer at Billow Software · | 1 upvotes · 70.6K views

Since you are already using JavaScript on the front end it would be easy to adopt the MERN (MongoDB, Express, React, NodeJS) stack which s all javascript based making it easy to transfer knowledge with the backend and front end

See more
Needs advice
on
PythonPythonJavaScriptJavaScript
and
C++C++

Hello, I am interested in learning how to program. I am a beginner, and many articles saying I should go with Python if I am new to programming. I considered Lua a long time ago, but for my career, I believe major programming languages should be better for me. I'm considering Python at this moment, but if you have other tools I should use, let me know.

See more
Replies (2)
Recommends
JavaJavaC#C#C++C++CC

The language you choose is also dependant on the type of career / area of programming you wish to focus on: Web Based and mobile applicaitons I would lean towards Java, PC Applications I tend to like C#, Embedded industry C, C++

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 47.3K views
Recommends

my advice , you should answer me for this question, what do you like to work: web base or mobile native or cross platform. if you like web base you should choose PHP or ASP.net or Node.js or if you like mobile native you should decide Android or IOS platform and else if you like cross platfrom you should learn Flutter with dart language. thanks

See more
Needs advice
on
PHPPHPJavaScriptJavaScript
and
JavaJava

Hi there. I'm looking to build an employee time tracker web app. This should also be optimized for mobile. I'm trying to figure out what the best stack is for this. I have knowledge of Java, JavaScript, some C#. I don't mind learning a new language for this purpose. Any help or advice would be really awesome! Thanks.

See more
Replies (6)
Stephen Gheysens
Senior Solutions Engineer at Twilio · | 14 upvotes · 357.8K views
Recommends
JavaScriptJavaScript

Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

See more
Recommends
JavaScriptJavaScript

As you have knowledge of Javascript, I would go towards Vue/React in Frontend and Node (with suitable framework) with backend. From my point of view Java would be too bloated for suggested kind of an app. I myself use PHP as a backend a lot and React as frontend but moving thoughts towards full stack javascript world.

See more
Recommends
PHPPHPJavaScriptJavaScript

php is the best for beginners, and one of the best for web development at all, all the host servers can handle it, a basic knowledge in java is not enough for build a web site, but a basic knowledge in php is enough. learn php basics and oop and mvc design pattern or any framework like Laravel (optional), and javascript for frontend (a framework like React or Angular is optional but good) and you will build any web site you want.

See more
pramod shirsath
Founder at Supra Software Solutions · | 4 upvotes · 72.1K views

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
Brandon Miller
Recommends

For just a time tracker app? I'd recommend going with a cloud-based approach. A couple serverless functions in whatever language you choose, and the front end can be a static website hosted inside a storage service (blob for Azure, bucket for AWS, etc). This will ultimately probably save you a little time, and them a little money on hosting.

See more
pramod shirsath
Founder at Supra Software Solutions · | 2 upvotes · 72.2K views
Recommends

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
Brayden W
Needs advice
on
RustRustPythonPython
and
GoGo

Hey, 👋

My name is Brayden. I’m currently a Frontend React Developer, striving to move into Fullstack so I can expand my knowledge.

For my main backend language, I am deciding between Python, Rust, and Go. I’ve tried each of them out for about an hour and currently, I like Python and Rust the most. However, I’m not sure if I’m missing out on something!

If anyone has advice on these technologies, I’d love to hear it!

Thanks.

See more
Replies (4)
Recommends
PythonPythonGoGo

Rust is still in low demand. It's a great language but you'll have a hard time finding jobs. Go is the mix of both Rust and Python. Great language with modern features, fast, scalable, fun to write, and at the same time it has high demand (not as much as python).

Python on the other hand is a language that you can't go wrong with. Look around you and see what your job market prefers. If there isn't much difference to you personally, pick the one with more demand.

See more
Recommends
PythonPythonNode.jsNode.jsGoGo

All of these are solid options, however considering your expertise currently, I would probably suggest Node.JS considering your past experience with JS. However Python offers a similar development environment to JS in my opinion, and Go is a good sort of intermediate between Rust and Node.JS and Python. It's fast, but not as fast as Rust, and offers a development experience that combines C-styled languages (like Rust), and Python-y languages... So: Rust for the fastest, Node for familiarity, Python for ease of development, and Go for a good middle ground. I have used all in personal projects... If you use Go, I suggest a easy to use web server framework like Fiber.

See more
Akihito KIRISAKI
Recommends
RustRustPythonPython

Rust is a challenging choice, but worth to be chosen. It has strong memory-safety and type-safety, this gives you no bother about those errors. However, static typing languages often slow our developing speed down in early stage. In that case, it's effective to write prototype in an easy language like Python, and rewrite it in a hard language. It's important not to be afraid to throw away first code you write.

See more
Donald Tran
Software Engineer at T-Mobile · | 3 upvotes · 129.9K views
Recommends
RustRust

The other answers are excellent, but I want to be a bit of a contrarian and say you should learn Rust. While the number of jobs for it are (relatively) low(er), it is certainly expanding and you'd be surprised at which companies do use Rust (Discord, for example, is starting to move away from Golang to Rust!).

But the main reason is that learning Rust itself will teach you a lot about systems design (/backend) because of its borrow checker. You can try out a lot of ideas and make a lot mistakes and the borrow checker will always be there guide you to a better solution (thereby teaching you in the process).

Also, I wouldn't underestimated how important managing memory (and memory safety) is. While Golang is great in some ways, it doesn't protect you from pushing memory leaks into production. And eventually you'll come upon a scenario where you'll have to make your Python code run faster and the optimizations you'd have to do won't look pretty (or be very Pythontic).

And Rust is freakin fast! If you have Rust, you wouldn't need any other language for the backend (or any other systems level code). Check this blog post: https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f?gi=dd8bc5d669d. Discord found that even after spending months optimizing Golang code it still wasn't fast enough. But unoptimized, first-draft Rust code was (is) faster by an order of magnitude!

See more
Piusha Kalyana
Needs advice
on
PythonPythonPHPPHP
and
GoGo

Hi

I want to build a tool to check asset availability (video, images, etc.) from third-party vendors. These vendors have APIs. However, this process should run daily basis and update the database with the status. This is a kind of separate process. I need to know what will be the good approach and technology for this?

See more
Replies (5)
Hannes Holst
at 365 Consulting Services Ltd. · | 7 upvotes · 127.9K views
Recommends
PythonPython

hi - I think this depends on how you want to provide the information to the user. If you want to build a Wordpress-plugin: PHP If you want to build your own website: Python+Django / PHP / JavaScript+Node.js As Desktop application?

See more
anas mattar
Technical Lead at DPO International · | 3 upvotes · 114.7K views
Recommends
PHPPHP

for what technologies you should use, this is depend on what technology do you prefer? your should think best structuing for your code because each API vendor has different to a nother one so it's better no merege code vendores together. your code must be using SOLID principle pattern and some design pattern such as Factory Pattern

See more
Recommends
GoGo

The major advantage of Go is that you can run queries in parallel. Fire off a Go thread for each vendor and each thread can check the availability of assets from a specific vendor and update the database. Go supports hundreds of threads with ease.

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 111.1K views
Recommends
PHPPHPGoGoC#C#

your decision depend on what language do you know. if you know php you can use laravel framework

See more
Oluwafemi Lawrence
Recommends
GoGo

Hi, I would recommend Go because of strongly-typed nature which makes a developer more productive as it is less error prone compared to the other dynamic-typed language. Go also has cron-job library(powered by goroutines) that can help with your automated tasks.

See more
Needs advice
on
RustRustKotlinKotlin
and
JavaJava

I was thinking about adding a new technology to my current stack (Ruby and JavaScript). But, I want a compiled language, mainly for speed and scalability reasons compared to interpreted languages. I have tried each one (Rust, Java, and Kotlin). I loved them, and I don't know which one can offer me more opportunities for the future (I'm in my first year of software engineering at university).

Which language should I choose?

See more
Replies (8)
Recommends
KotlinKotlinJavaJava

I will highly recommend Kotlin. I have worked with all three intensely and so far the development speed and simplicity is the best with Kotlin. Kotlin supports coroutines out of the box. Now, it isn't something that can't be implemented in other languages but Kotlin makes it super easy to work with them. Kotlin has a bit of learning curve, so, by the time you can actually use it idiomatically chances are that you will get proficient in Java too. But once you get it, you get it, then there is no other language ;) Kotlin is backed by Google and Jetbrains team so you can expect latest programming features and good community support.

See more
Recommends
RustRust

If you want a compiled language then go for Rust. It takes a certain mindset to get your head around its memory management system and the way it handles "borrowed" memory. However, it will generate blindingly fast code that you can cross-compile for other platforms. As a systems programming language I highly recommend it. Take time and learn it.

Java is only compiled to bytecode, not to machine code. So it executes in the Java Virtual Machine. DOn't think that its not fast, because the latest incarnation are very fast indeed. For most practical purposes, users of your code won't notice any difference. There are a heck of a lot of features in Java that you either have to import via crates in Rust, or write yoursef. So productivity-wise, Java may well beat Rust.

Kotlin is a Java-lookalike. It's a nice, and succinct version of Java and is totally interoperable. But its a bit niche, and for me it fails because my dev environment of choice (Spring Tool Suite) doesn't really play well with Kotlin. To use it you would be well advised to use iDeaj. I have used kotlin, and I like it, but not enough to ditch all my Java code.

Other contenders, depending on your platform of choice are Golang, C, C++, and C# (available as Mono on Linux systems).

I use Rust and Java and if you need a compiled language I recommend Rust.

See more
Mayur Borse
Software Engineer at hyphenOs · | 4 upvotes · 97.4K views
Recommends
RustRust

I'd say Rust's knowledge will be more valuable in comparison. You can work in Blockchain development, compile to WASM (WebAssembly). There is a new JavaScript/TypeScript runtime named Deno (by the creator of Node.js) that has its backend in Rust.

See more
ALESSIO SALTARIN
Master IT Architect at IBM · | 4 upvotes · 97.2K views
Recommends
GoGo

As you certainly know, there are languages that compile in meta-code for Virtual Machines (Java, C#, Kotlin) and languages that compile in Machine Language (Go, Rust). Apart specific domains (blockchain, IoT embedded software, AI, cloud) almost no-one uses languages that compile in machine language, for a series of reason, most of all security and portability. So, if you are going to learn for business go with Kotlin - Java is a bit ancien regime. If you seriously need to learn a language that compiles in ML - for example you will code for IoT - go with Go - or Rust - but keep in mind that Rust is much less used than Go. PS: Kotlin also compiles in ML, but I would choose a language designed for that, instead of one that compiles "also" in ML. PPS: Some Virtual Machines - ie: GraalVM - allow you to compile Java in ML. The world of IT is beautiful.

See more
malekmfs
at Meam Software Engineering Group · | 4 upvotes · 89K views
Recommends
RustRustRubyRubyKotlinKotlin

It depends on which level and use cases you prefer to work at. Close to the machine? Rust is great but if you need to find more job opportunities, then take C/C++. Java has many job positions but I suggest Kotlin over it. Think about it as a better Java, but fewer job positions. Do you want to do your own projects? So a productive language like Ruby is way better. Like to program front-end apps? Take JS. Find your passion.

See more
Luiz H. Rapatão
Senior Software Engineer at rapatao.com · | 3 upvotes · 90.3K views
Recommends
KotlinKotlinJavaJava

I'd recommend you to take a look at Java and Kotlin, the first due to the number of companies that actively use it in your products. Kotlin is gaining adept since it is fully compatibly with the Java ecosystem but usually requires less code to do the same (ignoring other benefits of the language). Another benefits of the Kotlin is that it is in fact multiplatform, where you could use the same syntax to code for mobile, web and backend applications. The drawback of Kotlin, is the number of open jobs that exists currently compared to Java, but I pretty sure that it will change in the near future.

See more
Radu Maerza
Software Engineer at Freelancer · | 3 upvotes · 90.5K views
Recommends
KotlinKotlin

I would go with Kotlin. It is pretty hyped currently.

You can use Kotlin for a lot of application types. To name some:

  • Kotlin Multiplatform with Gradle
  • Ktor (https://ktor.io)
  • Spring Boot
  • Kotlin JS (as you already know Javascript, you might like this one)

The code is also really concise, readable and modern. It also provides many features that you will find in many other programming languages.

See more
Alexander Nozik
Senior researcher at MIPT · | 3 upvotes · 90.3K views
Recommends
KotlinKotlin

All those are nice languages, but Rust is harder to learn properly and has a smaller ecosystem. If you want to work in system programming (like hardware drivers) Rust is probably your choice. Otherwise, Java/Kotlin ecosystem is much larger and gives much more possibilities (maybe excluding low-level system programming).

When talking about Kotlin and Java, both are good. But Kotlin, again, gives much more opportunities. Kotlin-JS gives you browser applications, Kotlin-Native allows to compile to native application (and interop with them). Kotlin-WASM will be available shortly. Rust is better than Kotlin-Native for native development tight now, but not by far and it makes sense only if you are focusing only on native development.

See more
Needs advice
on
PythonPython
and
PowerShellPowerShell

I am technical support. I work daily with Windows Server / Exchange, Active directory. I would like to learn scripting and automation to make my life easier. I just started learning PowerShell but not really sure about the correct study path from where I can start. I am taking some courses on Udemy and YouTube. Is it enough?

See more
Replies (3)
Recommends
PowerShellPowerShell

My first foray into programming was with powershell and it continues to be an enormous help for me in my career (caveat being that I have primarily worked on windows boxes). That being said, PowerShell is a weird language that has some unique syntax and operators that don't translate well to other languages. Python is weird too, but for other reasons (spacing!). I suspect you'll get more immediate benefit spending some time on Powershell since your working in an environment that fully supports the ps toolset.

As for learning, I read "PowerShell Toolmaking in a Month of Lunches" and found that helpful. However, I think your course of study is sufficient. Think the most return for the effort was just messing around in the powershell IDE on my local computer and working the Microsoft documentation.

See more
Witt Allen
Systems Administrator at National Seating & Mobility · | 5 upvotes · 48.7K views
Recommends
PowerShellPowerShell

Taking courses on Udemy and YouTube will be helpful I'm sure, but don't neglect the power of practice. If you work largely with Windows right now, pick powershell. Take opportunities to convert the knowledge you already have (example: unlocking an account in Active Directory or adding an email alias in Exchange) from a manual process to a powershell method. Sometimes that's a single cmdlet (Unlock-AdAccount) and sometimes it's a script.

Once you have a good understanding of variables, the pipeline, and foreach loops, you'll be in a position to accelerate your learning. Looking up Microsoft docs is part of the process :)

See more
Recommends
PowerShellPowerShell

I would consider reading "Powershell for sysadmins" from No Starch Press. Start small with the ActiveDirectory and AzureAd modules. Start with read only operations like pulling AD Group Members into a variable and then pipe that variable into a .csv file with Export-CSV cmdlet. Once you feel more comfortable with the syntax, specific cmdlets, and piping data start looking at specific techniques like using hashtables (dictionaries) and globbing. From there you can begin to construct your own functions and modules. Just start small and don't let yourself get overwhelmed.

See more
Needs advice
on
ReactReactJavaScriptJavaScript
and
C#C#

Hi Everyone,

I have some experience working with JavaScript and React and will now try to learn C# - could you please share some similarities and differences between JS and C# and what rookie mistakes I should watch out for when learning C#?

Also, any tips & good practices are greatly appreciated :)

Thank you

See more
Replies (4)
Pavel Kalugin
Software Engineer at Paralect · | 9 upvotes · 61.5K views

If you want to learn C# to write some backend code you can also check out Node.js which is basically JavaScript running outside the browser. You can create any kind of web servers, APIs, scrapers, automation scripts, etc using all the same JavaScript.

A good entry to Node is Express.js. It is the most common web framework for Node. It's well documented and there are a lot of educational materials for it.

See more
Kudos Beluga
Recommends
Node.jsNode.jsF#F#

I prefer functional programming because it produces less buggy code (thus I recommend F#), and is simply better to learn this paradigm earlier on in your coding career rather than later. It can also do most stuff C# can do, namely code with .NET core. If you're going to learn .NET then you should learn Node.js+Express first though before doing web development with C#/F#

See more
Hameed Moshood
Recommends
C#C#

C# is .net framework of a programming language specially different from the programming languages you're used to. If you learn C# you will be experienceed in coding with VIsual Basic .net and also creating web development using ASP and this ASP also include JavaScript function.... I urge you to learn it

See more
Ross M.
System Architect at MomentFactory · | 2 upvotes · 49K views
Recommends
JavaScriptJavaScriptC#C#

I think you can manage to find something about this topic. it's pretty popular one. ex: https://www.educba.com/c-sharp-vs-js/

Something I don't see discussed enough over the internet is the performance difference. I don't think you should worry about this. 95% of the time you won't notice the difference on your day to day projets. You will know what you need in terms of performance when you get there.

See more
Decisions about Java, JavaScript, and Python

Python will be used in order to train machine learning models from our data. We chose python for this task because it is the most common language for machine learning. It has very performant libraries like numpy and scikit-learn that provide functionality for manipulating data and creating models that you cannot get in other languages like JavaScript and Java. Additionally, it is the most familiar language for us to use for machine learning because almost every machine learning course teaches ml using python.

See more

Javascript will be used for both our frontend and backend on the web service. JavaScript is ubiquitous as the language to use for the frontend. For the backend, we decided to create our server using JavaScript because of its easy setup; using Express we can create a server in just a few short lines of code. It is simple not only to run the server locally, but to host it as well because any major service will support the language. JavaScript is a simple language to code in and familiar among our team members, so using it will help speed up development. Using JavaScript allows us to use NodeJS and npm, so we can use packages to easily set up the server, connect to a database and other convenient utilities. We also considered Python for our server. It is also very simple to create a server in Python, especially using flask. However, the extra familiarity with the JavaScript language and the ease of using packages were enough for us to pick JavaScript as our language of choice.

See more

MACHINE LEARNING

Python is the default go-to for machine learning. It has a wide variety of useful packages such as pandas and numpy to aid with ML, as well as deep-learning frameworks. Furthermore, it is more production-friendly compared to other ML languages such as R.

Pytorch is a deep-learning framework that is both flexible and fast compared to Tensorflow + Keras. It is also well documented and has a large community to answer lingering questions.

See more

Python: The top language in machine learning area because of the various open-source libraries. Our company will rely on open-source libraries for development as well.

Amazon EC2: Training machine learning model needs to be running on independent 3rd party computing resources. AWS EC2 can provide a variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API endpoint.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

Python: Top one language in machine learning area because of the various open source libraries. Our company will rely on the open source libraries for development as well.

Amazon EC2: Training machine learning model needs to be ran on independent 3rd party computing resources. AWS EC2 can provide variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API end point.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

2 major challenges for which JS comes as a handy tool, 1st its integration with AWS SDK was at par as Python and .net and the solution comes to hand with the reverse proxy solutions for the application to be running as an instance taking the situation of inside organization demography of resources expertise over the technology.

See more
Gabor Galazzo

As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase. The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.

See more
Lucas Litton
Founder & CEO at Macombey · | 7 upvotes · 36.5K views

Expo was a tool Macombey really wanted to utilize from the beginning. I have been working with React Native since 2016 and originally I had to use simulators in Xcode, install pods on top of node packages, configure certificates, and more abundant objectives that take time away from actual development. As a development studio, we have to move quick and get projects to our clients and partners in a matter of months.

Expo made this easy for us. We now have a mobile app for clients to download and test their project on, there is no need to install pods or configure Xcode, and development is super fast and reliable now.

See more
Alexandre Desroches
Founder & Developper at Finance D · | 52 upvotes · 111.6K views

I had a goal to create the simplest accounting software for Mac and Windows to help small businesses in Canada.

This led me to a long 2 years of exploration of the best language that could provide these features:

  • Great overall productivity
  • International wide-spread usage for long-term sustainability and easy to find documentation
  • Versatility for creating websites and desktop softwares
  • Enjoyable developper experience
  • Ability to create good looking modern UIs
  • Job openings with this language

I tried Python, Java, C# and C++ without finding what I was looking for.

When I discovered Javascript, I really knew it was the right language to use. Thinking of this today makes me realize even more how great a decision this has been to learn, use and master Javascript. It has been a fun, challenging and productive road on which I am still satisfied.

Obviously, when I refer to Javascript, it is not without implying the vast ecosystem around it. For me, JS is a whole universe in which almost every imaginable tools exist. It's awesome - for real. Thanks to all the contributors which have made it possible.

To be even clearer about how intense I am with Javascript, let's just say that my first passion was music. Until, I find coding with Javascript! Yep, I know!

So in conclusion, I chose Javascript because it is versatile, enjoyable, widely used, productive for both desktop softwares and websites with ability to create modern great looking user interfaces (assuming HTML and CSS are involved) and finally there are job openings.

See more
Leonardo Henrique da Paixão
Student, QA Developer at SolarView Business · | 11 upvotes · 43K views

Simple Customer Registration Crud, with the functions of Register, Delete, Edit and List new and old customers registered in the Database. PostgreSQL was used as DBMS, due to its easy use and practicality.

Crud de Cadastro a Clientes simples, com as funções de Registrar, Deletar, Editar e Listar novos e antigos clientes cadastrado no Banco de Dados. Foi utilizado como SGBD o PostgreSQL, pelo seu facil uso e praticidade.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Java
Pros of JavaScript
Pros of Python
  • 583
    Great libraries
  • 439
    Widely used
  • 398
    Excellent tooling
  • 385
    Huge amount of documentation available
  • 330
    Large pool of developers available
  • 203
    Open source
  • 198
    Excellent performance
  • 154
    Great development
  • 148
    Vast array of 3rd party libraries
  • 147
    Used for android
  • 59
    Compiled Language
  • 49
    Used for Web
  • 46
    Managed memory
  • 44
    High Performance
  • 44
    Native threads
  • 41
    Statically typed
  • 35
    Easy to read
  • 33
    Great Community
  • 29
    Reliable platform
  • 24
    Sturdy garbage collection
  • 24
    JVM compatibility
  • 21
    Cross Platform Enterprise Integration
  • 20
    Good amount of APIs
  • 20
    Universal platform
  • 18
    Great Support
  • 13
    Great ecosystem
  • 11
    Backward compatible
  • 11
    Lots of boilerplate
  • 10
    Everywhere
  • 9
    Excellent SDK - JDK
  • 7
    Static typing
  • 6
    Mature language thus stable systems
  • 6
    Portability
  • 6
    Cross-platform
  • 6
    Long term language
  • 6
    Better than Ruby
  • 6
    It's Java
  • 5
    Vast Collections Library
  • 5
    Clojure
  • 5
    Used for Android development
  • 4
    Most developers favorite
  • 4
    Old tech
  • 3
    Testable
  • 3
    Javadoc
  • 3
    Best martial for design
  • 3
    Great Structure
  • 3
    Stable platform, which many new languages depend on
  • 2
    History
  • 1.6K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.1K
    Lots of great frameworks
  • 887
    Fast
  • 736
    Light weight
  • 416
    Flexible
  • 383
    You can't get a device today that doesn't run js
  • 284
    Non-blocking i/o
  • 233
    Ubiquitousness
  • 188
    Expressive
  • 51
    Extended functionality to web pages
  • 44
    Relatively easy language
  • 42
    Executed on the client side
  • 26
    Relatively fast to the end user
  • 22
    Pure Javascript
  • 17
    Functional programming
  • 11
    Async
  • 8
    Setup is easy
  • 7
    Because I love functions
  • 7
    JavaScript is the New PHP
  • 7
    Like it or not, JS is part of the web standard
  • 7
    Its everywhere
  • 7
    Full-stack
  • 6
    Expansive community
  • 6
    Future Language of The Web
  • 6
    Can be used in backend, frontend and DB
  • 5
    Evolution of C
  • 5
    Everyone use it
  • 5
    Love-hate relationship
  • 5
    Easy to hire developers
  • 5
    Supports lambdas and closures
  • 5
    Agile, packages simple to use
  • 5
    Popularized Class-Less Architecture & Lambdas
  • 5
    For the good parts
  • 4
    Everywhere
  • 4
    Hard not to use
  • 4
    Promise relationship
  • 4
    Scope manipulation
  • 4
    It's fun
  • 4
    Client processing
  • 4
    Nice
  • 4
    Easy to make something
  • 4
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 4
    Easy
  • 4
    Photoshop has 3 JS runtimes built in
  • 4
    Can be used both as frontend and backend as well
  • 4
    Most Popular Language in the World
  • 4
    It let's me use Babel & Typescript
  • 4
    What to add
  • 4
    Clojurescript
  • 4
    Function expressions are useful for callbacks
  • 4
    No need to use PHP
  • 4
    Its fun and fast
  • 4
    Powerful
  • 4
    Versitile
  • 4
    Client side JS uses the visitors CPU to save Server Res
  • 4
    1.6K Can be used on frontend/backend
  • 4
    Stockholm Syndrome
  • 3
    Because it is so simple and lightweight
  • 3
    Only Programming language on browser
  • 2
    JavaScript j.s
  • 2
    Acoperișul 0757604335
  • 1.1K
    Great libraries
  • 933
    Readable code
  • 824
    Beautiful code
  • 772
    Rapid development
  • 674
    Large community
  • 420
    Open source
  • 380
    Elegant
  • 270
    Great community
  • 262
    Object oriented
  • 209
    Dynamic typing
  • 71
    Great standard library
  • 53
    Very fast
  • 50
    Functional programming
  • 37
    Scientific computing
  • 36
    Easy to learn
  • 31
    Great documentation
  • 25
    Matlab alternative
  • 23
    Productivity
  • 23
    Easy to read
  • 20
    Simple is better than complex
  • 18
    It's the way I think
  • 17
    Imperative
  • 15
    Very programmer and non-programmer friendly
  • 15
    Free
  • 14
    Powerfull language
  • 14
    Powerful
  • 13
    Fast and simple
  • 12
    Scripting
  • 11
    Machine learning support
  • 9
    Explicit is better than implicit
  • 8
    Ease of development
  • 8
    Unlimited power
  • 8
    Clear and easy and powerfull
  • 7
    Import antigravity
  • 6
    Print "life is short, use python"
  • 6
    It's lean and fun to code
  • 5
    Fast coding and good for competitions
  • 5
    Flat is better than nested
  • 5
    There should be one-- and preferably only one --obvious
  • 5
    Python has great libraries for data processing
  • 5
    High Documented language
  • 5
    I love snakes
  • 5
    Although practicality beats purity
  • 5
    Great for tooling
  • 4
    Readability counts
  • 3
    Plotting
  • 3
    CG industry needs
  • 3
    Beautiful is better than ugly
  • 3
    Complex is better than complicated
  • 3
    Great for analytics
  • 3
    Multiple Inheritence
  • 3
    Now is better than never
  • 3
    Lists, tuples, dictionaries
  • 3
    Rapid Prototyping
  • 3
    Socially engaged community
  • 2
    List comprehensions
  • 2
    Web scraping
  • 2
    Many types of collections
  • 2
    Ys
  • 2
    Easy to setup and run smooth
  • 2
    Generators
  • 2
    Special cases aren't special enough to break the rules
  • 2
    If the implementation is hard to explain, it's a bad id
  • 2
    If the implementation is easy to explain, it may be a g
  • 2
    Simple and easy to learn
  • 2
    Import this
  • 2
    No cruft
  • 2
    Easy to learn and use
  • 1
    Better outcome
  • 1
    It is Very easy , simple and will you be love programmi
  • 1
    Powerful language for AI
  • 1
    Should START with this but not STICK with This
  • 1
    Flexible and easy
  • 1
    Batteries included
  • 1
    Good
  • 1
    A-to-Z
  • 1
    Only one way to do it
  • 1
    Because of Netflix
  • 1
    Pip install everything
  • 0
    Powerful
  • 0
    Pro

Sign up to add or upvote prosMake informed product decisions

Cons of Java
Cons of JavaScript
Cons of Python
  • 30
    Verbosity
  • 25
    NullpointerException
  • 16
    Overcomplexity is praised in community culture
  • 14
    Nightmare to Write
  • 11
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 2
    Floating-point errors
  • 2
    There is not optional parameter
  • 2
    Code are too long
  • 2
    Non-intuitive generic implementation
  • 1
    Returning Wildcard Types
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Terrbible compared to Python/Batch Perormence
  • 21
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 14
    Javascript is the New PHP
  • 8
    No ability to monitor memory utilitization
  • 6
    Shows Zero output in case of ANY error
  • 5
    Can be ugly
  • 4
    Thinks strange results are better than errors
  • 2
    No GitHub
  • 1
    Slow
  • 51
    Still divided between python 2 and python 3
  • 29
    Performance impact
  • 26
    Poor syntax for anonymous functions
  • 21
    GIL
  • 19
    Package management is a mess
  • 14
    Too imperative-oriented
  • 12
    Dynamic typing
  • 12
    Hard to understand
  • 10
    Very slow
  • 8
    Not everything is expression
  • 7
    Indentations matter a lot
  • 7
    Explicit self parameter in methods
  • 6
    No anonymous functions
  • 6
    Poor DSL capabilities
  • 6
    Incredibly slow
  • 6
    Requires C functions for dynamic modules
  • 5
    The "lisp style" whitespaces
  • 5
    Fake object-oriented programming
  • 5
    Hard to obfuscate
  • 5
    Threading
  • 4
    Circular import
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Official documentation is unclear.
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    Not suitable for autocomplete
  • 2
    Meta classes
  • 1
    Training wheels (forced indentation)

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -
- No public GitHub repository available -

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!

What is JavaScript?

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.

What is Python?

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.

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

What companies use Java?
What companies use JavaScript?
What companies use Python?

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

What tools integrate with Java?
What tools integrate with JavaScript?
What tools integrate with Python?

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

Blog Posts

Sep 29 2020 at 7:36PM

WorkOS

PythonSlackG Suite+17
6
2549
PythonDockerKubernetes+7
3
696
May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
3
2355
PythonDockerKubernetes+14
11
2109
What are some alternatives to Java, JavaScript, and Python?
C
Abstract
Abstract builds upon and extends the stable technology of Git to host and manage your work.
Go
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
Scala
Scala is an acronym for “Scalable Language”. This means that Scala grows with you. You can play with it by typing one-line expressions and observing the results. But you can also rely on it for large mission critical systems, as many companies, including Twitter, LinkedIn, or Intel do. To some, Scala feels like a scripting language. Its syntax is concise and low ceremony; its types get out of the way because the compiler can infer them.
Kotlin
Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
See all alternatives