Alternatives to Java logo

Alternatives to Java

C lang, Abstract, Golang, Python, and Scala are the most popular alternatives and competitors to Java.
132.6K
100.3K
+ 1
3.7K

What is Java and what are its top alternatives?

Java is a popular programming language known for its platform independence, robustness, and scalability. Key features include strong typing, object-oriented programming, and extensive libraries. However, Java can be verbose and cumbersome, leading to longer development times and larger codebases. Additionally, Java's performance may not always be optimal compared to lower-level languages.

  1. Kotlin: Kotlin is a modern, concise programming language that interops seamlessly with Java. Key features include null safety, extension functions, and data classes. Pros of Kotlin include improved productivity and reduced boilerplate code, while cons include a steeper learning curve for Java developers.
  2. Scala: Scala is a functional programming language that combines object-oriented and functional programming paradigms. Key features include type inference, pattern matching, and immutability. Pros of Scala include strong support for concurrency and scalability, while cons include complex syntax and slower compilation times.
  3. Groovy: Groovy is a dynamic language that seamlessly integrates with Java. Key features include scripting capabilities, metaprogramming, and domain-specific language support. Pros of Groovy include rapid development and easy integration with Java libraries, while cons include performance overhead compared to Java.
  4. C#: C# is a powerful programming language developed by Microsoft. Key features include strong typing, LINQ, and asynchronous programming support. Pros of C# include a rich standard library and easy integration with Windows platforms, while cons include limited support for non-Windows environments.
  5. Go: Go is a statically typed programming language developed by Google. Key features include goroutines, channels, and a simple and efficient syntax. Pros of Go include strong support for concurrent programming and fast compilation times, while cons include a smaller standard library compared to Java.
  6. Rust: Rust is a systems programming language focused on safety and performance. Key features include ownership and borrowing, zero-cost abstractions, and fearless concurrency. Pros of Rust include memory safety guarantees and high performance, while cons include a steep learning curve and more manual memory management compared to Java.
  7. Python: Python is a versatile, high-level programming language known for its simplicity and readability. Key features include dynamic typing, strong support for data science and machine learning, and a large ecosystem of third-party libraries. Pros of Python include ease of use and rapid prototyping, while cons include slower performance compared to Java.
  8. Swift: Swift is a powerful and intuitive programming language developed by Apple. Key features include type inference, optionals, and safety checks. Pros of Swift include modern syntax and seamless integration with Apple platforms, while cons include limited support for non-Apple environments.
  9. R: R is a powerful language for statistical computing and graphics. Key features include data manipulation, plotting capabilities, and extensive libraries for data analysis. Pros of R include strong support for statistical modeling and visualization, while cons include slower performance for non-statistical tasks compared to Java.
  10. Haskell: Haskell is a functional programming language known for its strong type system and purity. Key features include lazy evaluation, type inference, and type classes. Pros of Haskell include code safety and expressiveness, while cons include a steep learning curve and limited industry adoption compared to Java.

Top Alternatives to Java

  • C lang
  • Abstract
    Abstract

    Abstract builds upon and extends the stable technology of Git to host and manage your work. ...

  • Golang
    Golang

    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. ...

  • Python
    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. ...

  • Scala
    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

    Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java ...

  • JavaScript
    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. ...

  • Java EE
    Java EE

    It is developed using the Java Community Process, with contributions from industry experts, commercial and open source organizations, Java User Groups, and countless individuals. It offers a rich enterprise software platform and with over 20 compliant implementations to choose from. ...

Java alternatives & related posts

C lang logo

C lang

13.5K
4.2K
247
One of the most widely used programming languages of all time
13.5K
4.2K
+ 1
247
PROS OF C LANG
  • 68
    Performance
  • 49
    Low-level
  • 35
    Portability
  • 28
    Hardware level
  • 19
    Embedded apps
  • 13
    Pure
  • 9
    Performance of assembler
  • 8
    Ubiquity
  • 6
    Great for embedded
  • 4
    Old
  • 3
    Compiles quickly
  • 2
    OpenMP
  • 2
    No garbage collection to slow it down
  • 1
    Gnu/linux interoperable
CONS OF C LANG
  • 5
    Low-level
  • 3
    No built in support for concurrency
  • 2
    Lack of type safety
  • 2
    No built in support for parallelism (e.g. map-reduce)

related C lang posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 17 upvotes · 1.6M views

Why Uber developed H3, our open source grid system to make geospatial data visualization and exploration easier and more efficient:

We decided to create H3 to combine the benefits of a hexagonal global grid system with a hierarchical indexing system. A global grid system usually requires at least two things: a map projection and a grid laid on top of the map. For map projection, we chose to use gnomonic projections centered on icosahedron faces. This projects from Earth as a sphere to an icosahedron, a twenty-sided platonic solid. The H3 grid is constructed by laying out 122 base cells over the Earth, with ten cells per face. H3 supports sixteen resolutions: https://eng.uber.com/h3/

(GitHub Pages : https://uber.github.io/h3/#/ Written in C w/ bindings in Java & JavaScript )

See more

One important decision for delivering a platform independent solution with low memory footprint and minimal dependencies was the choice of the programming language. We considered a few from Python (there was already a reasonably large Python code base at Thumbtack), to Go (we were taking our first steps with it), and even Rust (too immature at the time).

We ended up writing it in C. It was easy to meet all requirements with only one external dependency for implementing the web server, clearly no challenges running it on any of the Linux distributions we were maintaining, and arguably the implementation with the smallest memory footprint given the choices above.

See more
Abstract logo

Abstract

128
85
3
A platform for modern design teams to work together
128
85
+ 1
3
PROS OF ABSTRACT
  • 2
    Great way to maintain historical uxd knowledge
  • 1
    Easy to track down versions
CONS OF ABSTRACT
    Be the first to leave a con

    related Abstract posts

    Golang logo

    Golang

    22.1K
    13.7K
    3.3K
    An open source programming language that makes it easy to build simple, reliable, and efficient software
    22.1K
    13.7K
    + 1
    3.3K
    PROS OF GOLANG
    • 548
      High-performance
    • 395
      Simple, minimal syntax
    • 363
      Fun to write
    • 301
      Easy concurrency support via goroutines
    • 273
      Fast compilation times
    • 193
      Goroutines
    • 180
      Statically linked binaries that are simple to deploy
    • 150
      Simple compile build/run procedures
    • 136
      Backed by google
    • 136
      Great community
    • 53
      Garbage collection built-in
    • 45
      Built-in Testing
    • 44
      Excellent tools - gofmt, godoc etc
    • 39
      Elegant and concise like Python, fast like C
    • 37
      Awesome to Develop
    • 26
      Used for Docker
    • 25
      Flexible interface system
    • 24
      Deploy as executable
    • 24
      Great concurrency pattern
    • 20
      Open-source Integration
    • 18
      Easy to read
    • 17
      Fun to write and so many feature out of the box
    • 16
      Go is God
    • 14
      Easy to deploy
    • 14
      Powerful and simple
    • 14
      Its Simple and Heavy duty
    • 13
      Best language for concurrency
    • 13
      Concurrency
    • 11
      Rich standard library
    • 11
      Safe GOTOs
    • 10
      Clean code, high performance
    • 10
      Easy setup
    • 9
      High performance
    • 9
      Simplicity, Concurrency, Performance
    • 8
      Hassle free deployment
    • 8
      Single binary avoids library dependency issues
    • 7
      Gofmt
    • 7
      Cross compiling
    • 7
      Simple, powerful, and great performance
    • 7
      Used by Giants of the industry
    • 6
      Garbage Collection
    • 5
      Very sophisticated syntax
    • 5
      Excellent tooling
    • 5
      WYSIWYG
    • 4
      Keep it simple and stupid
    • 4
      Widely used
    • 4
      Kubernetes written on Go
    • 2
      No generics
    • 1
      Operator goto
    • 1
      Looks not fancy, but promoting pragmatic idioms
    CONS OF GOLANG
    • 42
      You waste time in plumbing code catching errors
    • 25
      Verbose
    • 23
      Packages and their path dependencies are braindead
    • 16
      Google's documentations aren't beginer friendly
    • 15
      Dependency management when working on multiple projects
    • 10
      Automatic garbage collection overheads
    • 8
      Uncommon syntax
    • 7
      Type system is lacking (no generics, etc)
    • 5
      Collection framework is lacking (list, set, map)
    • 3
      Best programming language
    • 1
      A failed experiment to combine c and python

    related Golang posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 10.1M views

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Nick Parsons
    Building cool things on the internet 🛠️ at Stream · | 35 upvotes · 3.5M views

    Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

    We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

    We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

    Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

    #FrameworksFullStack #Languages

    See more
    Python logo

    Python

    239.6K
    195.6K
    6.9K
    A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.
    239.6K
    195.6K
    + 1
    6.9K
    PROS OF PYTHON
    • 1.2K
      Great libraries
    • 961
      Readable code
    • 846
      Beautiful code
    • 787
      Rapid development
    • 689
      Large community
    • 435
      Open source
    • 393
      Elegant
    • 282
      Great community
    • 272
      Object oriented
    • 220
      Dynamic typing
    • 77
      Great standard library
    • 59
      Very fast
    • 55
      Functional programming
    • 49
      Easy to learn
    • 45
      Scientific computing
    • 35
      Great documentation
    • 29
      Productivity
    • 28
      Easy to read
    • 28
      Matlab alternative
    • 23
      Simple is better than complex
    • 20
      It's the way I think
    • 19
      Imperative
    • 18
      Free
    • 18
      Very programmer and non-programmer friendly
    • 17
      Powerfull language
    • 17
      Machine learning support
    • 16
      Fast and simple
    • 14
      Scripting
    • 12
      Explicit is better than implicit
    • 11
      Ease of development
    • 10
      Clear and easy and powerfull
    • 9
      Unlimited power
    • 8
      It's lean and fun to code
    • 8
      Import antigravity
    • 7
      Print "life is short, use python"
    • 7
      Python has great libraries for data processing
    • 6
      Although practicality beats purity
    • 6
      Flat is better than nested
    • 6
      Great for tooling
    • 6
      Rapid Prototyping
    • 6
      Readability counts
    • 6
      High Documented language
    • 6
      I love snakes
    • 6
      Fast coding and good for competitions
    • 6
      There should be one-- and preferably only one --obvious
    • 6
      Now is better than never
    • 5
      Great for analytics
    • 5
      Lists, tuples, dictionaries
    • 4
      Easy to learn and use
    • 4
      Simple and easy to learn
    • 4
      Easy to setup and run smooth
    • 4
      Web scraping
    • 4
      CG industry needs
    • 4
      Socially engaged community
    • 4
      Complex is better than complicated
    • 4
      Multiple Inheritence
    • 4
      Beautiful is better than ugly
    • 4
      Plotting
    • 3
      If the implementation is hard to explain, it's a bad id
    • 3
      Special cases aren't special enough to break the rules
    • 3
      Pip install everything
    • 3
      List comprehensions
    • 3
      No cruft
    • 3
      Generators
    • 3
      Import this
    • 3
      It is Very easy , simple and will you be love programmi
    • 3
      Many types of collections
    • 3
      If the implementation is easy to explain, it may be a g
    • 2
      Batteries included
    • 2
      Should START with this but not STICK with This
    • 2
      Powerful language for AI
    • 2
      Can understand easily who are new to programming
    • 2
      Flexible and easy
    • 2
      Good for hacking
    • 2
      A-to-Z
    • 2
      Because of Netflix
    • 2
      Only one way to do it
    • 2
      Better outcome
    • 1
      Sexy af
    • 1
      Slow
    • 1
      Securit
    • 0
      Ni
    • 0
      Powerful
    CONS OF PYTHON
    • 53
      Still divided between python 2 and python 3
    • 28
      Performance impact
    • 26
      Poor syntax for anonymous functions
    • 22
      GIL
    • 19
      Package management is a mess
    • 14
      Too imperative-oriented
    • 12
      Hard to understand
    • 12
      Dynamic typing
    • 12
      Very slow
    • 8
      Indentations matter a lot
    • 8
      Not everything is expression
    • 7
      Incredibly slow
    • 7
      Explicit self parameter in methods
    • 6
      Requires C functions for dynamic modules
    • 6
      Poor DSL capabilities
    • 6
      No anonymous functions
    • 5
      Fake object-oriented programming
    • 5
      Threading
    • 5
      The "lisp style" whitespaces
    • 5
      Official documentation is unclear.
    • 5
      Hard to obfuscate
    • 5
      Circular import
    • 4
      Lack of Syntax Sugar leads to "the pyramid of doom"
    • 4
      The benevolent-dictator-for-life quit
    • 4
      Not suitable for autocomplete
    • 2
      Meta classes
    • 1
      Training wheels (forced indentation)

    related Python posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 10.1M views

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Nick Parsons
    Building cool things on the internet 🛠️ at Stream · | 35 upvotes · 3.5M views

    Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

    We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

    We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

    Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

    #FrameworksFullStack #Languages

    See more
    Scala logo

    Scala

    10.7K
    7.7K
    1.5K
    A pure-bred object-oriented language that runs on the JVM
    10.7K
    7.7K
    + 1
    1.5K
    PROS OF SCALA
    • 187
      Static typing
    • 178
      Pattern-matching
    • 177
      Jvm
    • 172
      Scala is fun
    • 138
      Types
    • 95
      Concurrency
    • 88
      Actor library
    • 86
      Solve functional problems
    • 81
      Open source
    • 80
      Solve concurrency in a safer way
    • 44
      Functional
    • 24
      Fast
    • 23
      Generics
    • 18
      It makes me a better engineer
    • 17
      Syntactic sugar
    • 13
      Scalable
    • 10
      First-class functions
    • 10
      Type safety
    • 9
      Interactive REPL
    • 8
      Expressive
    • 7
      SBT
    • 6
      Case classes
    • 6
      Implicit parameters
    • 4
      Rapid and Safe Development using Functional Programming
    • 4
      JVM, OOP and Functional programming, and static typing
    • 4
      Object-oriented
    • 4
      Used by Twitter
    • 3
      Functional Proframming
    • 2
      Spark
    • 2
      Beautiful Code
    • 2
      Safety
    • 2
      Growing Community
    • 1
      DSL
    • 1
      Rich Static Types System and great Concurrency support
    • 1
      Naturally enforce high code quality
    • 1
      Akka Streams
    • 1
      Akka
    • 1
      Reactive Streams
    • 1
      Easy embedded DSLs
    • 1
      Mill build tool
    • 0
      Freedom to choose the right tools for a job
    CONS OF SCALA
    • 11
      Slow compilation time
    • 7
      Multiple ropes and styles to hang your self
    • 6
      Too few developers available
    • 4
      Complicated subtyping
    • 2
      My coworkers using scala are racist against other stuff

    related Scala posts

    Shared insights
    on
    JavaJavaScalaScalaApache SparkApache Spark

    I am new to Apache Spark and Scala both. I am basically a Java developer and have around 10 years of experience in Java.

    I wish to work on some Machine learning or AI tech stacks. Please assist me in the tech stack and help make a clear Road Map. Any feedback is welcome.

    Technologies apart from Scala and Spark are also welcome. Please note that the tools should be relevant to Machine Learning or Artificial Intelligence.

    See more
    Marc Bollinger
    Infra & Data Eng Manager at Thumbtack · | 5 upvotes · 1.8M views

    Lumosity is home to the world's largest cognitive training database, a responsibility we take seriously. For most of the company's history, our analysis of user behavior and training data has been powered by an event stream--first a simple Node.js pub/sub app, then a heavyweight Ruby app with stronger durability. Both supported decent throughput and latency, but they lacked some major features supported by existing open-source alternatives: replaying existing messages (also lacking in most message queue-based solutions), scaling out many different readers for the same stream, the ability to leverage existing solutions for reading and writing, and possibly most importantly: the ability to hire someone externally who already had expertise.

    We ultimately migrated to Kafka in early- to mid-2016, citing both industry trends in companies we'd talked to with similar durability and throughput needs, the extremely strong documentation and community. We pored over Kyle Kingsbury's Jepsen post (https://aphyr.com/posts/293-jepsen-Kafka), as well as Jay Kreps' follow-up (http://blog.empathybox.com/post/62279088548/a-few-notes-on-kafka-and-jepsen), talked at length with Confluent folks and community members, and still wound up running parallel systems for quite a long time, but ultimately, we've been very, very happy. Understanding the internals and proper levers takes some commitment, but it's taken very little maintenance once configured. Since then, the Confluent Platform community has grown and grown; we've gone from doing most development using custom Scala consumers and producers to being 60/40 Kafka Streams/Connects.

    We originally looked into Storm / Heron , and we'd moved on from Redis pub/sub. Heron looks great, but we already had a programming model across services that was more akin to consuming a message consumers than required a topology of bolts, etc. Heron also had just come out while we were starting to migrate things, and the community momentum and direction of Kafka felt more substantial than the older Storm. If we were to start the process over again today, we might check out Pulsar , although the ecosystem is much younger.

    To find out more, read our 2017 engineering blog post about the migration!

    See more
    Kotlin logo

    Kotlin

    14.9K
    11.5K
    647
    Statically typed Programming Language targeting JVM and JavaScript
    14.9K
    11.5K
    + 1
    647
    PROS OF KOTLIN
    • 73
      Interoperable with Java
    • 55
      Functional Programming support
    • 50
      Null Safety
    • 46
      Official Android support
    • 44
      Backed by JetBrains
    • 37
      Concise
    • 36
      Modern Multiplatform Applications
    • 28
      Expressive Syntax
    • 27
      Target to JVM
    • 26
      Coroutines
    • 24
      Open Source
    • 19
      Statically Typed
    • 19
      Practical elegance
    • 17
      Android support
    • 17
      Type Inference
    • 14
      Readable code
    • 13
      Powerful as Scala, simple as Python, plus coroutines <3
    • 12
      Better Java
    • 10
      Pragmatic
    • 9
      Lambda
    • 8
      Better language for android
    • 8
      Expressive DSLs
    • 8
      Target to JavaScript
    • 6
      Used for Android
    • 6
      Less boilerplate code
    • 5
      Fast Programming language
    • 5
      Less code
    • 4
      Native
    • 4
      Less boiler plate code
    • 4
      Friendly community
    • 4
      Functional Programming Language
    • 3
      Spring
    • 3
      Official Google Support
    • 2
      Latest version of Java
    • 1
      Well-compromised featured Java alternative
    CONS OF KOTLIN
    • 7
      Java interop makes users write Java in Kotlin
    • 4
      Frequent use of {} keys
    • 2
      Hard to make teams adopt the Kotlin style
    • 2
      Nonullpointer Exception
    • 1
      Friendly community
    • 1
      Slow compiler
    • 1
      No boiler plate code

    related Kotlin posts

    Shivam Bhargava
    AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 773.2K views

    Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

    What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

    See more
    Jakub Olan
    Node.js Software Engineer · | 17 upvotes · 693.2K views

    In our company we have think a lot about languages that we're willing to use, there we have considering Java, Python and C++ . All of there languages are old and well developed at fact but that's not ideology of araclx. We've choose a edge technologies such as Node.js , Rust , Kotlin and Go as our programming languages which is some kind of fun. Node.js is one of biggest trends of 2019, same for Go. We want to grow in our company with growth of languages we have choose, and probably when we would choose Java that would be almost impossible because larger languages move on today's market slower, and cannot have big changes.

    See more
    JavaScript logo

    JavaScript

    351K
    267.3K
    8.1K
    Lightweight, interpreted, object-oriented language with first-class functions
    351K
    267.3K
    + 1
    8.1K
    PROS OF JAVASCRIPT
    • 1.7K
      Can be used on frontend/backend
    • 1.5K
      It's everywhere
    • 1.2K
      Lots of great frameworks
    • 896
      Fast
    • 745
      Light weight
    • 425
      Flexible
    • 392
      You can't get a device today that doesn't run js
    • 286
      Non-blocking i/o
    • 237
      Ubiquitousness
    • 191
      Expressive
    • 55
      Extended functionality to web pages
    • 49
      Relatively easy language
    • 46
      Executed on the client side
    • 30
      Relatively fast to the end user
    • 25
      Pure Javascript
    • 21
      Functional programming
    • 15
      Async
    • 13
      Full-stack
    • 12
      Its everywhere
    • 12
      Future Language of The Web
    • 12
      Setup is easy
    • 11
      JavaScript is the New PHP
    • 11
      Because I love functions
    • 10
      Like it or not, JS is part of the web standard
    • 9
      Expansive community
    • 9
      Can be used in backend, frontend and DB
    • 9
      Easy
    • 9
      Everyone use it
    • 8
      Most Popular Language in the World
    • 8
      Can be used both as frontend and backend as well
    • 8
      Powerful
    • 8
      For the good parts
    • 8
      No need to use PHP
    • 8
      Easy to hire developers
    • 7
      Love-hate relationship
    • 7
      Agile, packages simple to use
    • 7
      Its fun and fast
    • 7
      Hard not to use
    • 7
      Nice
    • 7
      Versitile
    • 7
      Evolution of C
    • 7
      Photoshop has 3 JS runtimes built in
    • 7
      It's fun
    • 7
      Popularized Class-Less Architecture & Lambdas
    • 7
      Supports lambdas and closures
    • 6
      Can be used on frontend/backend/Mobile/create PRO Ui
    • 6
      1.6K Can be used on frontend/backend
    • 6
      Client side JS uses the visitors CPU to save Server Res
    • 6
      It let's me use Babel & Typescript
    • 6
      Easy to make something
    • 5
      What to add
    • 5
      Clojurescript
    • 5
      Stockholm Syndrome
    • 5
      Function expressions are useful for callbacks
    • 5
      Scope manipulation
    • 5
      Everywhere
    • 5
      Client processing
    • 5
      Promise relationship
    • 4
      Because it is so simple and lightweight
    • 4
      Only Programming language on browser
    • 1
      Easy to learn
    • 1
      Not the best
    • 1
      Hard to learn
    • 1
      Easy to understand
    • 1
      Test
    • 1
      Test2
    • 1
      Subskill #4
    • 0
      Hard 彤
    CONS OF JAVASCRIPT
    • 22
      A constant moving target, too much churn
    • 20
      Horribly inconsistent
    • 15
      Javascript is the New PHP
    • 9
      No ability to monitor memory utilitization
    • 8
      Shows Zero output in case of ANY error
    • 7
      Thinks strange results are better than errors
    • 6
      Can be ugly
    • 3
      No GitHub
    • 2
      Slow

    related JavaScript posts

    Zach Holman

    Oof. I have truly hated JavaScript for a long time. Like, for over twenty years now. Like, since the Clinton administration. It's always been a nightmare to deal with all of the aspects of that silly language.

    But wowza, things have changed. Tooling is just way, way better. I'm primarily web-oriented, and using React and Apollo together the past few years really opened my eyes to building rich apps. And I deeply apologize for using the phrase rich apps; I don't think I've ever said such Enterprisey words before.

    But yeah, things are different now. I still love Rails, and still use it for a lot of apps I build. But it's that silly rich apps phrase that's the problem. Users have way more comprehensive expectations than they did even five years ago, and the JS community does a good job at building tools and tech that tackle the problems of making heavy, complicated UI and frontend work.

    Obviously there's a lot of things happening here, so just saying "JavaScript isn't terrible" might encompass a huge amount of libraries and frameworks. But if you're like me, yeah, give things another shot- I'm somehow not hating on JavaScript anymore and... gulp... I kinda love it.

    See more
    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 44 upvotes · 10.1M views

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Java EE logo

    Java EE

    549
    460
    2
    The standard in community-driven enterprise software
    549
    460
    + 1
    2
    PROS OF JAVA EE
    • 1
      Inherits all java advantages
    • 1
      High level of security
    CONS OF JAVA EE
    • 2
      PAID

    related Java EE posts

    Shared insights
    on
    JavaScriptJavaScriptJava EEJava EE

    Hi, I'm looking to learn Java EE and JavaScript.... but confused about exactly the difference between J2EE and JavaScript.....are both interconnected or different??? And if I want to learn both, should I learn JavaScript first and then touch J2EE or learn J2EE first and then JavaScript??.... please suggest

    See more
    Hajed Khlifi
    Shared insights
    on
    DockerDockerGradleGradleJava EEJava EE

    Hi, I'm working on dockerizing a heavy Java EE application where the process of installation requires a complex process maintained by a Gradle project we've developed to install, configure and customize specific jar files to generate a runnable server application at the end for the user. I'm new to Docker. As I said, the problem is that we have got a long process to install the app. The first alternative pop into my head is to put the installer Gradle project in the docker image and manage stateful data using the writable layer (in this case, I need to add Gradle too and the writable layer will be too heavy). Any advice! Thank you

    See more