Need advice about which tool to choose?Ask the StackShare community!
Java vs JavaScript: What are the differences?
Java and JavaScript are both popular programming languages. Here are the key differences between Java and JavaScript:
Language Purpose and Execution Environment: Java is a general-purpose programming language designed for building scalable applications. It is compiled to bytecode and runs on the Java Virtual Machine (JVM), which allows Java programs to be executed on any platform. JavaScript, on the other hand, is primarily used for client-side web development. It is interpreted by web browsers and runs in the browser's JavaScript engine, providing dynamic behavior to web pages.
Typing and Object-Oriented Programming: Java is a statically typed language, meaning that variable types are explicitly declared. It follows a strong type system and supports strict object-oriented programming (OOP) principles such as classes, interfaces, and inheritance. JavaScript, on the other hand, is a dynamically typed language, allowing for flexibility and more concise coding. It is based on a prototype-based object-oriented programming model and supports object creation and manipulation at runtime.
Application Scope: Java is commonly used for developing large-scale enterprise applications, including server-side applications, web services, and Android apps. It offers extensive libraries, frameworks, and tools that facilitate enterprise development. JavaScript, on the other hand, is primarily used for web development and runs directly in web browsers. It provides functionalities for client-side scripting, manipulating the Document Object Model (DOM), and creating interactive web interfaces. JavaScript is also widely used for server-side development with frameworks like Node.js.
Concurrency and Multithreading: Java has built-in support for multithreading and provides a robust concurrency model. It offers thread management and synchronization mechanisms to create multithreaded applications for concurrent processing and improved performance. JavaScript, however, is single-threaded by nature, meaning it can execute only one task at a time. However, with the introduction of asynchronous programming using callbacks, promises, and async/await, JavaScript can handle concurrent operations efficiently.
Performance and Optimization: Java's bytecode compilation and JVM execution enable optimization for efficient applications. The JIT compilation in the JVM dynamically enhances code performance. Although JavaScript's interpretation may have limitations, modern engines like V8 (e.g., in Google Chrome) have greatly improved JavaScript's speed through JIT compilation and runtime optimizations.
In summary, Java is a statically typed language with a strong focus on enterprise-level application development and runs on the JVM. JavaScript, on the other hand, is a dynamically typed language primarily used for web development and executed within web browsers.
Hello Devs,
I am planning to implement a ETL test system for checking data quality and business use cases. I am confused on what stack to use. Any advice on the below will be very helpful.
- Any existing frameworks and its source code for help
- Any other stack apart from the mentioned stack (that might be suitable)
- Any ideas for features are welcomed.
- The usage of multiple BE stacks.
If you want to create using Python language, Robot Framework is one very helpful tool to improve your test scripting and we have a lot of methods created by the community. If you want to use Javascript, Cypress in terms of benefits is the better option to create and maintain tests, and run and generate reports in many browsers is really easy with them.
Hello everybody,
I'm Syed, recently graduated from university. I studied C++ as the first programming language and later I have (a little) experience working with C#. I also have a basic understanding of Kotlin, JavaScript and Python. As of today, I am studying Kotlin from https://developer.android.com/.
Please give me some tips about my career. Which language should I choose in today's modern era? Whether I go with Web development or work on Android app development. Thank you for your assistance.
Hi Syed, I wish you all the best. I'm an experienced programmer with more than 15 years of experience. Recently in my company, we were trying to hire a MERN Full-Stack developer and we found many who can code in React but few who were capable of thinking logically and actually able to solve the business problem. Learn any language or package, but keep in mind to learn for a goal. Syntaxes don't matter, we hire to achieve goals. Small to medium companies, usually hire full-stack developers due to the lack of resources. So it would be great to learn the following: For Web, I would suggest "React", and for mobile development, "Flutter" comes in handy with lots of promising future. How about learning both? much better but it's all about you. Good luck!
I will use Elixir for personal projects. It's productive, reliable, secure, simple, etc. But when performance is critical, I need job opportunities, when I work with mutability, which do I pick? I need advice on which "bureaucratic, mainstream" programming language to pick when wanting performance and jobs. Elixir is often "slow", and it hasn't boomed yet the way Golang and Rust have, so which?
Well for those performant tasks maybe you can use Rust nifs for elixir. Elixir enables to write fault-tolerant, scalable code for concurrent systems, and as such, it is perfect for messaging systems and web applications that might need to handle a lot of users efficiently. But if you need speed you can plug in Rust or write a microservice using Goland/Rust.
Hello Folks, my first time here, and for requesting advice. I am trying to create some automation from my cloud stack on AWS to something more cloud native. I have containerised the services, however, I am stuck at DB, my Data warehouse, and messaging. Would love some recommendations on how can I automate this for some future work too.
I recommend cloud-init for base setup of machines and configuring them.. Its simple (YAML file) and is industry standard. Even works on bare metal as well as cloud.
Hey everyone, I have a matrix chart drawn in HTML5/CSS 3 dominantly using CSS grid. I would like to add interactive features and am unsure about the best tool. My programming knowledge is limited to 2 semesters of Java in college, so I'd have to learn the language as I go. I am open to anything, but the selected languages would be useful in future projects.
Here are the features I am attempting to add to the site linked as my blog:
Assign over 120 attributes each to over 400 elements (probably in a DB)
Procedurally position elements in a matrix chart based on user-inputted filters (filtering and searching)
Procedurally position matrix elements based on attributes weighted by user-input
Change style of elements based on user input (highlighting)
Allow saving matrix chart states to be revisited or shared
Provide a user-friendly interface for users to submit the above input
Build several columns or matrices that are separate but related and seamless to the viewer
PyCharm + Python + Flask + Jinja2 is enough to build web server/ajax and JavaScript + JQuery (maybe React). You can write small easy application but also extreme high scalable application.
I know Java but it need 4x time more code and code is not clear (too much forced use of @decorators) - too complex and takes more memory :)
Remember if you code in Python it is easy to code in Java but if you code in Java you must understand that Python is much more flexible and powerful - also easier to learn.
There are two main facets to interactivity - whether your frontend (Javacsript, HTML, CSS) is programmed to behave dynamically based on events and on any other preprogrammed behavior, and based on what information your server can send and receive and compute for the benefit of your frontend. For the former (a dynamic frontend) you'll need to use Javascript (or Typescript) in some form. For the latter (a server with custom behavior and data endpoints beyond just sending static HTML etc. files), any of the major languages can serve this purpose. However, if you are going to create a dynamic frontend with Javascript and don't know that language at all, then learning it will be a task in itself, and without knowing a backend language well either (probably the case with only two semesters of one language a while back), you ideally don't want to also have to learn a whole other backend language on top of that. That's where NodeJS comes in. It has essentially the same exact syntax as frontend Javascript (just different native libraries). Since you already need to learn Javascript to make the frontend behave dynamically, if you also want a custom backend, NodeJS will spare you a big learning curve on top of the existing learning curve of learning JS. NodeJS is also highly performant for low-compute high-volume requests, i.e. handling a large barrage of requests if each doesn't require a lot of complicated behavior on the backend. A lot of coding bootcamps teach this, commonly called "full stack JS", for this reason - it allows someone to learn a constellation of full stack web development skills from the mastery of one language syntax. NodeJS + ExpressJS is also one of the easiest backend languages + REST API library to use to build a backend. Look up "NodeJS Express Hello World", and you'll be shocked at how easy it is to build a basic server. As far as frontend frameworks go, if this project is very limited in scope, JQuery could be fine, but I'd highly recommend learning React for something more involved - it will be immensely easier to manage and maintain, and generally lends itself to much better and more intuitive code organization. Its use of components will also be somewhat familiar and intuitive from the object oriented programming you learned through Java. Create React App is great tool to use, especially when first learning React, to avoid all of the finicky nonsense in configuring transpilation etc.
React is hands-down the tool I recommend to add interactivity to your matrix. Because it is Javascript, it will leverage a lot of the formatting from Java. Python would be very foreign to you. React shines in allowing you to use OOP principles within the JavaScript language and it is really powerful, fast and browser friendly.
Use Javascript alongwith HTML CSS and you have complete set of application ready (even for future for PWA or bundled applications).
You can use charts.js library https://www.chartjs.org/ or https://apexcharts.com/javascript-chart-demos/. You can find many examples, you can have a look at https://codepen.io/ksarpotdar/pen/NWyqqZM?editors=0010
Ok. Clearly you forgot the best tool to give for interactive features. JavaScript! In particular I recommend the freeCodeCamp JavaScript course. Here it is.
I am unhappy. When doing my research, I heard Python is useless. Data science is an unworthy field thanks to TensorFlow, and web scraping has also become pointless since the introduction of the PWA. Since PWAs are only frontend, I feel forced to learn JavaScript, and to ditch Python. I love Python with all my mind, it's simplicity, conciseness, and easiness as a tool. Here are a few questions:
- Should I forget Python and move on?
- Are there any PWA alternatives to JavaScript/TypeScript. I've been thinking of using Python for WASM and use HTML+CSS for the DOM to create the PWA. Is this possible?
- Why is JavaScript such a pain in the butt
- What's the point of me learning Python if it's not useful for web development?
You should not ditch or forget Python because of what you hear or because of one particular project. It's probably going to stay relevant and useful for the coming 20 years. If you're a programmer, you should however be prepared to use several tools, and programming languages are just part of the toolbox (like HTML or CSS, but also your IDE, powershell, linux commands, etc.) It's not for nothing that this site is called "stackshare".
Python is great for data science but it's not very performant and eats up loads of resources. I recommend that you give Go a go. It's easy to learn and very fast!
JavaScript is reduced Python. Python is powerful. If Python is not powerful you can mix it with C/C++ - this is not available in JavaScript in easy way. I am programmer and electrical engineer too - I think for research Python is the best thing. JavaScript is better for Web. I code in both very good.
Python is definitely not useless, It has a ton of usecases, with a huge community behind it, but not that performant and consumes lots of resources, I don't think you should abandon it, and PWA is kind a in its early stage, so I doubt that there will be any language better than js for developing it any time soon, so I guess there are no alternatives, but I guess you will like js/ts if you spend a little more time playing with it, and the same goes for wasm it is also in its early stage, and i guess web assembly and rust will be used a lot for that, and lets say you have built a frontend web app , now with the help of python + django or flask you can write server code, and learn a little bit about databases, then bravo you are a full stack dev.
Hi, I am working as a web developer (PHP, Laravel, AngularJS, and MySQL) with more than 8 years of experience and looking for a tech stack that pays better. I have a little bit of knowledge of Core Java. For better opportunities, Should I learn Java, Spring Boot or Python. Or should I learn Drupal, WordPress or Magento? Any guidance would be really appreciated! Thanks.
Hard to answer it depend on market. Python + Flask + Jinja2 is better that SpringBoot. Java can be paid better now but I think that future is Python. I code very good in PHP, Java, Python - prefer Python for less code and more effects. PHP is little ugly and limited to web.
What do you think about Node JS with React? I feel like this stack is fairly paid more than PHP.
I am also a Laravel developer, in process of transitioning towards Node js.
If you wanna personally connect with me, hit me up at @izshreyansh on twitter.
Actually, I'll add, C++ and C# as well.
Well, I'm into Computer Science since 1996, so I understand a bit of everything plus a lot of different OSs, I study 10 hours per day every day. However back in the 90s we didn't have books or universities about programming, all were passed through if you knew somebody in that profession. Which I did and in that time, he showed me .NET and MySQL, and that offered a lot of jobs also Java. Today you have a lot of options but I'm already discarding new languages as I believe they will jot succeed.
My always dream was to create game, and software. I don't understand all programming concepts and I'm studying all languages at the same time, so I'm heavy loaded. But that keeps me more aware.
I made a choice: use Python for everything but if you want performance, apps, security, compatibility, Multiplatform. What should I choose? The real question here is: which language should I go 100% and that language will teach me all I need about programming BUT without getting lost in that language forever (I discard any Assembly possibility) and one that has full documentation, support and libraries.
In my experience: I found a lot of info for python and java. But hardly I have ever found anything for C lang, C++ and, what about C# (it's only for Windows, is it easy, I saw a lot of documentation). Thanks!!
Python can be linked with C++ both language are similar in many places (using same libraries or concepts to build libraries) - except memory and static types. C++ is more assembler and have different syntax (need 3x-4x coding more).
If you do engineering it is perfect stack - Java is to slow in coding (4x more code) and little faster than Python - whatever it is hard to mix Java/C++ what is easy Python/C++.
In the most program you do not need super performance but if you need C++ is the best and have rich Object Language much richer than Java and more poor than Python. Python is true object language - everything is object.
Whatever sometimes more important is framework than language for specific use.
I would go with Python, it is fast to code, readable and very powerful without giving you too much to think about (e.g. memory management). If you're looking for speed, Cython is a fairly good way to get there, since Python is a C-based language it can be compiled to C using Cython and will get you a very significant boost in speed! You can also make use of C libraries if you prefer. The only downside to Cython over Python is that it is compiled and not interpreted, which can make debugging a pain (but you might find yourself doing most of the debugging in Python before switching to Cython). C languages are a bit of a pain to read up on (API, libraries etc.), but Stack Overflow has you covered in most cases!
All programming languages are cross platform except Java, but even that's not that bad. Performance: C(++), Go, Rust, Java, Ada, OCaml, Haskell, C# Apps: JS, TS, ReScript, Go, C(++), Java, Haskell, C#, Dart Security: Java, Go, Rust, COBOL, C(++), C# Compatibility: Java(due to it's VM), C(++), Go, C# Libraries: Java, Go, C(++), C# Documentation: Java, C(++) (since they are mature) What do you mean without getting lost in the language? I'd not advocate for C(or C++), considering it's hard to understand the memory, and it's for those into programming theory. You are looking for all you need. Go for Java, it has a library for everything, it has a reasonable learning curve, and pretty much you are going to encounter it everywhere- it's like a programming black hole you can't escape.
Hey I'm currently an undergraduate in computer science for almost 5 years now, still left with a few courses before I complete. I know that I'm not good at programming but still I choose developer based programming career approach, I have made plans to start my career in websites, etc, for that, I have purchased books related to HTML5, CSS , JavaScript. I'm currently learning HTML5 and CSS only and after this some JavaScript I am really confident in my decision but would love to know what an expert developer advice thanks in advance.
Whatever you do don't go WordPress path. Developers over-there tend to ignore system limitations and hardcode and overengineer their solutions so as to please their clients. If you are a beginner probably you'll get to work on someone else's shitty code and will be asked by your boss to do "yet another impossible thing with Wordpress". And... Probably... You'll do it.
My suggestion is: think in stacks and don't start too low. Starting with HTML, CSS3 and JavaScript is too low. Start on higher levels and with something practical. You'll have time for basics some time later and it would be much easier, because you'll see those technologies are compliment to what you do and not your main objective.
My suggestion for you:
- Android Mobile App Development path (complex enough so you won't get bored)
- All things web3 crypto, nft, virtual reality, blockchain path (has tons of computing web development tasks)
- Cloud computing setup and administration path (good, because you say you're not good at programming)
- Artificial intelligence and automation (this is future, people need this)
I've also found it helpful to think of each stack as a surface (find Google Images "radar chart") . Every time you try to learn something new you start in the center, with all technology-points overlapping. You are as low as you can get and you know nothing. Your job is to expand outwards each technology so as to make a stack-surace. The more surface the better. You'll see that some technological-aspects are easier to expand than others and plan your time accordingly.
Have a good start!
You can also try starting with one of the big marketing agencies. Even if you don't feel like you're ready to start as a web developer (you likely are, though, they hire at all levels) you can start as a content author or similar supporting role until you're more comfortable, then transition into a development role within the same company when you're ready.
I would recommend you to learn these quickly and get on learning a good front-end framework like Vue, ReactJs, Svelte. Pick up real world projects not just learn from books. Always keep learning about the new technologies used to develop things because IT Web development tools and their approach is growing faster than ever, you have got to keep up with those new techs and tools. Final advise, open any job portal, find your targeted job and see what requirements are their.
JavaScript is an ever growing technology with lots of opportunities and great depth for both front end and back end development. I would say that JavaScript is a safe bet in terms of furthering your career as a developer in 2022 and beyond. There’s lots of tools and frameworks based on this language that you would have to make decisions on which ones you want to become an expert. I recommend you follow interesting people that you admire to draw inspiration from. Such as Ben Awad or Jeff Delaney. Check this web page recommended to me by the latter on his YouTube channel “Fireship”: https://2021.stateofjs.com/en-US/resources/
I don't believe that you are confident about your decision to follow a career path as a developer. This migh be your department's fault and not necessarily yours. Most good developers are already working as developers at that age. Although your current status states that you are an intern you are struggling to find a good starting point. Since you are interested in website developmnet you can start learning programming using a mainstream CMS such as wordpress. Do you know how many companies and self employed guys make their living by customizing wordpess? But if you want to step out of the crowd then seek for junior jobs on a fintech or on a vertical market such as travel or betting. Search for online job oportunities and find out what technologies these guys use then take an online course and start learning the language. Within a month or two apply for a job as a junior and use as reference the online course.
JS + HTML + CSS only tackles the front-end of programming. I suggest you can start to learn by finding an open API related to something you love and then creating a website for it. (E.g. movies, documentaries, music, whatever you are into) Also you can do this dude's tutorials https://www.youtube.com/watch?v=dtKciwk_si4
Later on, when you've already one a few projects, start to learn the backend side of things (database + whatever you want - C#, Python...)
this article might help you. Web development is a combination of skills. not only developing skills but also SEO and other stuff. codehub.lk/web-development-skills-you-must-have/
I am about to complete my graduation with a computer science background. I want to pursue my career in software development. My front-end knowledge is very poor. I didn't like PHP so I didn't go for Laravel. My university offers a course on ASP.NET, I liked C# that's why I took asp.net. But now I think .net tech is unnecessarily complicated and most of the job offers available for .net are not for freshers. Should I try js and Node.js now? I mean as a fresher which tech stack should I choose for web development(Backend)?
Just don't .NET
. It was a failed idea from the start. Node and javascript are easier to learn, with much wider adoption, and more active communities.
.NET
is an old experiment in using a markup language to separate the UI from the business logic. The idea was that this would allow a small team of hyper-competent engineers to build the tooling and code for a large team of less-skilled front-end developers to leverage. In practice, leveraging that customized UI markup requires understanding and adjusting the underlying code. The result is that any UI change requires a hyper-competent .NET engineer.
However, many larger companies bought into it a long time ago, and now have a hard dependency on old monolithic .NET ecosystems, and they do need .NET developers to maintain them.
So, you can get a well paying .NET job without much difficulty. However, you'll neither like it, nor be doing anything interesting. There's no growth here, only a very long slow death of .NET (that'll probably take another 20 years).
Node and Javascript are sticking around, and still growing.
What I can see, you are confusing yourself, if you studied .Net now it's better to work as .Net developer, and you will find opportunities as fresh. Just search and don't waste your time. After you get more experience in .Net, then you can learn NodeJS if you still need to learn it.
We're moving from Java to Kotlin with our Microservice Stack (Spring Boot) because it is excellently supported by framework and tools and the learning curve is not very steep Kotlin is way more straightforward and convenient to use while providing less boilerplate and more strictness, which finally leads to better code, which is more readable, maintainable and less error-prone. We especially like Kotlin's (functional) data structures, which are, e.g. compared to Scala, easier to understand and don't require deep knowledge in functional programming.
We have chosen a mix of Java and Python for building an open source data observability tool. The application can work as a standalone command line tool with a rich shell interface (using even command completion). The Java ecosystem is more mature when it comes to connectivity to various databases using JDBC. Also picocli with jline3 let us make a very dynamic shell interface with command completion. The definitions of data quality checks that should be executed are defined in YAML files, backed by a YAML (in fact JSON) schema files. Our YAML files can be edited in Visual Studio Code (and other code editors) with support of the code completion. It is possible because all the data model is defined as pure Java classes for which we are generating a YAML/JSON schema. There is still place for Python because it is very popular in the database space. We are simply starting a Python interpreter in the background (from a Java code). Python is used to evaluate validation rules (defined as Python functions) and render SQL queries from Jinja2 templates.
I wanted to develop a student app that possibly could be used by many teams (students from other schools)
I chose Ionic, because:
single codebase: previously, we used React Native for Android and Angular for web/PWA, which was troublesome
portability: runs on PWA (which is important, because iOS license is too expensive for school app), web, Android iOS (+ others, if needed)
full use of web technologies: Next.js, Tailwind, React in this example (in oppose to Flutter/Java/Kotlin)
stability and maintainability: low-entry level due to basic web technologies without new syntax (in oppose to React Native and Flutter), web is really stable and won't lose support (which doesn't have to be true with Flutter/Dart)
I’m well aware of the hate that php receives and some of it is well warranted. But the ease of implementation for so many features that I find myself needed on a daily basis is head and shoulders above what I could achieve with JavaScript on my backend. I can do more without the need of frameworks but I still have many options if I want that. Especially with database handling I find many of the complainants about php to be pure rhetoric.
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.
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.
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
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
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.
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.
Pros of Java
- Great libraries600
- Widely used445
- Excellent tooling400
- Huge amount of documentation available395
- Large pool of developers available334
- Open source208
- Excellent performance202
- Great development157
- Used for android150
- Vast array of 3rd party libraries148
- Compiled Language60
- Used for Web52
- High Performance46
- Managed memory46
- Native threads44
- Statically typed43
- Easy to read35
- Great Community33
- Reliable platform29
- Sturdy garbage collection24
- JVM compatibility24
- Cross Platform Enterprise Integration22
- Universal platform20
- Good amount of APIs20
- Great Support18
- Great ecosystem14
- Lots of boilerplate11
- Backward compatible11
- Everywhere10
- Excellent SDK - JDK9
- Static typing7
- Cross-platform7
- It's Java7
- Mature language thus stable systems6
- Better than Ruby6
- Long term language6
- Portability6
- Clojure5
- Used for Android development5
- Vast Collections Library5
- Best martial for design4
- Most developers favorite4
- Old tech4
- Javadoc3
- History3
- Testable3
- Great Structure3
- Stable platform, which many new languages depend on3
- Type Safe2
- Faster than python2
- Job0
Pros of JavaScript
- Can be used on frontend/backend1.7K
- It's everywhere1.5K
- Lots of great frameworks1.2K
- Fast897
- Light weight745
- Flexible425
- You can't get a device today that doesn't run js392
- Non-blocking i/o286
- Ubiquitousness237
- Expressive191
- Extended functionality to web pages55
- Relatively easy language49
- Executed on the client side46
- Relatively fast to the end user30
- Pure Javascript25
- Functional programming21
- Async15
- Full-stack13
- Setup is easy12
- Its everywhere12
- Future Language of The Web12
- Because I love functions11
- JavaScript is the New PHP11
- Like it or not, JS is part of the web standard10
- Expansive community9
- Everyone use it9
- Can be used in backend, frontend and DB9
- Easy9
- Most Popular Language in the World8
- Powerful8
- Can be used both as frontend and backend as well8
- For the good parts8
- No need to use PHP8
- Easy to hire developers8
- Agile, packages simple to use7
- Love-hate relationship7
- Photoshop has 3 JS runtimes built in7
- Evolution of C7
- It's fun7
- Hard not to use7
- Versitile7
- Its fun and fast7
- Nice7
- Popularized Class-Less Architecture & Lambdas7
- Supports lambdas and closures7
- It let's me use Babel & Typescript6
- Can be used on frontend/backend/Mobile/create PRO Ui6
- 1.6K Can be used on frontend/backend6
- Client side JS uses the visitors CPU to save Server Res6
- Easy to make something6
- Clojurescript5
- Promise relationship5
- Stockholm Syndrome5
- Function expressions are useful for callbacks5
- Scope manipulation5
- Everywhere5
- Client processing5
- What to add5
- Because it is so simple and lightweight4
- Only Programming language on browser4
- Test1
- Hard to learn1
- Test21
- Not the best1
- Easy to understand1
- Subskill #41
- Easy to learn1
- Hard 彤0
Sign up to add or upvote prosMake informed product decisions
Cons of Java
- Verbosity33
- NullpointerException27
- Nightmare to Write17
- Overcomplexity is praised in community culture16
- Boiler plate code12
- Classpath hell prior to Java 98
- No REPL6
- No property4
- Code are too long3
- Non-intuitive generic implementation2
- There is not optional parameter2
- Floating-point errors2
- Java's too statically, stronglly, and strictly typed1
- Returning Wildcard Types1
- Terrbible compared to Python/Batch Perormence1
Cons of JavaScript
- A constant moving target, too much churn22
- Horribly inconsistent20
- Javascript is the New PHP15
- No ability to monitor memory utilitization9
- Shows Zero output in case of ANY error8
- Thinks strange results are better than errors7
- Can be ugly6
- No GitHub3
- Slow2
- HORRIBLE DOCUMENTS, faulty code, repo has bugs0