Alternatives to Kotlin logo

Alternatives to Kotlin

Scala, Swift, Java, Groovy, and Python are the most popular alternatives and competitors to Kotlin.
10.8K
9.2K
+ 1
578

What is Kotlin and what are its top alternatives?

Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with Java
Kotlin is a tool in the Languages category of a tech stack.
Kotlin is an open source tool with 42.7K GitHub stars and 5.3K GitHub forks. Here’s a link to Kotlin's open source repository on GitHub

Top Alternatives to Kotlin

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

  • Swift
    Swift

    Writing code is interactive and fun, the syntax is concise yet expressive, and apps run lightning-fast. Swift is ready for your next iOS and OS X project — or for addition into your current app — because Swift code works side-by-side with Objective-C. ...

  • Java
    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! ...

  • Groovy
    Groovy

    It is a powerful multi-faceted programming language for the JVM platform. It supports a spectrum of programming styles incorporating features from dynamic languages such as optional and duck typing, but also static compilation and static type checking at levels similar to or greater than Java through its extensible static type checker. It aims to greatly increase developer productivity with many powerful features but also a concise, familiar and easy to learn syntax. ...

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

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

  • React Native
    React Native

    React Native enables you to build world-class application experiences on native platforms using a consistent developer experience based on JavaScript and React. The focus of React Native is on developer efficiency across all the platforms you care about - learn once, write anywhere. Facebook uses React Native in multiple production apps and will continue investing in React Native. ...

  • Flutter
    Flutter

    Flutter is a mobile app SDK to help developers and designers build modern mobile apps for iOS and Android. ...

Kotlin alternatives & related posts

Scala logo

Scala

8.6K
6.8K
1.5K
A pure-bred object-oriented language that runs on the JVM
8.6K
6.8K
+ 1
1.5K
PROS OF SCALA
  • 188
    Static typing
  • 179
    Pattern-matching
  • 177
    Jvm
  • 172
    Scala is fun
  • 138
    Types
  • 95
    Concurrency
  • 88
    Actor library
  • 86
    Solve functional problems
  • 83
    Open source
  • 80
    Solve concurrency in a safer way
  • 44
    Functional
  • 23
    Generics
  • 23
    Fast
  • 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
    Implicit parameters
  • 6
    Case classes
  • 4
    Used by Twitter
  • 4
    JVM, OOP and Functional programming, and static typing
  • 4
    Rapid and Safe Development using Functional Programming
  • 4
    Object-oriented
  • 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 · 571.2K 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
Swift logo

Swift

15.3K
11.4K
1.3K
An innovative new programming language for Cocoa and Cocoa Touch.
15.3K
11.4K
+ 1
1.3K
PROS OF SWIFT
  • 256
    Ios
  • 178
    Elegant
  • 125
    Not Objective-C
  • 106
    Backed by apple
  • 92
    Type inference
  • 60
    Generics
  • 54
    Playgrounds
  • 49
    Semicolon free
  • 39
    OSX
  • 35
    Tuples offer compound variables
  • 24
    Easy to learn
  • 23
    Clean Syntax
  • 21
    Open Source
  • 20
    Functional
  • 19
    Beautiful Code
  • 11
    Dynamic
  • 11
    Linux
  • 10
    Protocol-oriented programming
  • 10
    Promotes safe, readable code
  • 8
    No S-l-o-w JVM
  • 8
    Explicit optionals
  • 7
    Storyboard designer
  • 5
    Type safety
  • 5
    Optionals
  • 5
    Best UI concept
  • 5
    Super addicting language, great people, open, elegant
  • 4
    Its friendly
  • 4
    Swift is faster than Objective-C
  • 4
    Feels like a better C++
  • 4
    Highly Readable codes
  • 4
    Fail-safe
  • 4
    Powerful
  • 4
    Faster and looks better
  • 3
    Much more fun
  • 3
    Easy to learn and work
  • 3
    Protocol extensions
  • 3
    Native
  • 3
    Its fun and damn fast
  • 3
    Strong Type safety
  • 3
    Easy to Maintain
  • 2
    Protocol oriented programming
  • 2
    Esay
  • 2
    MacOS
  • 2
    Type Safe
  • 2
    All Cons C# and Java Swift Already has
  • 2
    Protocol as type
  • 1
    Objec
  • 1
    Can interface with C easily
  • 1
    Numbers with underbar
  • 1
    Optional chain
  • 1
    Runs Python 8 times faster
  • 1
    Actually don't have to own a mac
  • 1
    Free from Memory Leak
  • 1
    Swift is easier to understand for non-iOS developers.
  • 1
    Great for Multi-Threaded Programming
CONS OF SWIFT
  • 5
    Must own a mac
  • 2
    Memory leaks are not uncommon
  • 1
    Very irritatingly picky about things that’s
  • 1
    Complicated process for exporting modules
  • 1
    Its classes compile to roughly 300 lines of assembly
  • 1
    Is a lot more effort than lua to make simple functions
  • 0
    Overly complex options makes it easy to create bad code

related Swift posts

Shivam Bhargava
AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 22 upvotes · 404.5K 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
Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 13 upvotes · 1.2M views

Excerpts from how we developed (and subsequently open sourced) Uber's cross-platform mobile architecture framework, RIBs , going from Objective-C to Swift in the process for iOS: https://github.com/uber/RIBs

Uber’s new application architecture (RIBs) extensively uses protocols to keep its various components decoupled and testable. We used this architecture for the first time in our new rider application and moved our primary language from Objective-C to Swift. Since Swift is a very static language, unit testing became problematic. Dynamic languages have good frameworks to build test mocks, stubs, or stand-ins by dynamically creating or modifying existing concrete classes.

Needless to say, we were not very excited about the additional complexity of manually writing and maintaining mock implementations for each of our thousands of protocols.

The information required to generate mock classes already exists in the Swift protocol. For Uber’s use case, we set out to create tooling that would let engineers automatically generate test mocks for any protocol they wanted by simply annotating them.

The iOS codebase for our rider application alone incorporates around 1,500 of these generated mocks. Without our code generation tool, all of these would have to be written and maintained by hand, which would have made testing much more time-intensive. Auto-generated mocks have contributed a lot to the unit test coverage that we have today.

We built these code generation tools ourselves for a number of reasons, including that there weren’t many open source tools available at the time we started our effort. Today, there are some great open source tools to generate resource accessors, like SwiftGen. And Sourcery can help you with generic code generation needs:

https://eng.uber.com/code-generation/ https://eng.uber.com/driver-app-ribs-architecture/

(GitHub : https://github.com/uber/RIBs )

See more
Java logo

Java

105.3K
83.3K
3.7K
A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
105.3K
83.3K
+ 1
3.7K
PROS OF JAVA
  • 591
    Great libraries
  • 444
    Widely used
  • 400
    Excellent tooling
  • 389
    Huge amount of documentation available
  • 332
    Large pool of developers available
  • 204
    Open source
  • 201
    Excellent performance
  • 155
    Great development
  • 149
    Vast array of 3rd party libraries
  • 148
    Used for android
  • 60
    Compiled Language
  • 49
    Used for Web
  • 46
    Managed memory
  • 45
    High Performance
  • 44
    Native threads
  • 43
    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
  • 14
    Great ecosystem
  • 11
    Backward compatible
  • 11
    Lots of boilerplate
  • 10
    Everywhere
  • 9
    Excellent SDK - JDK
  • 7
    Static typing
  • 7
    It's Java
  • 6
    Mature language thus stable systems
  • 6
    Better than Ruby
  • 6
    Long term language
  • 6
    Cross-platform
  • 6
    Portability
  • 5
    Clojure
  • 5
    Vast Collections Library
  • 5
    Used for Android development
  • 4
    Most developers favorite
  • 4
    Old tech
  • 3
    Javadoc
  • 3
    Stable platform, which many new languages depend on
  • 3
    History
  • 3
    Testable
  • 3
    Best martial for design
  • 3
    Great Structure
  • 2
    Faster than python
  • 2
    Type Safe
CONS OF JAVA
  • 32
    Verbosity
  • 27
    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
    Non-intuitive generic implementation
  • 2
    There is not optional parameter
  • 2
    Code are too long
  • 2
    Floating-point errors
  • 1
    Returning Wildcard Types
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Terrbible compared to Python/Batch Perormence

related Java posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 41 upvotes · 5.3M 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
Kamil Kowalski
Lead Architect at Fresha · | 28 upvotes · 1.7M views

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

See more
Groovy logo

Groovy

1.2K
719
199
A multi-faceted language for the Java platform
1.2K
719
+ 1
199
PROS OF GROOVY
  • 42
    Java platform
  • 32
    Much more productive than java
  • 28
    Concise and readable
  • 27
    Very little code needed for complex tasks
  • 21
    Dynamic language
  • 12
    Nice dynamic syntax for the jvm
  • 9
    Very fast
  • 6
    Easy to setup
  • 6
    Can work with JSON as an object
  • 5
    Literal Collections
  • 5
    Supports closures (lambdas)
  • 2
    Syntactic sugar
  • 2
    Optional static typing
  • 2
    Developer Friendly
CONS OF GROOVY
  • 3
    Groovy Code can be slower than Java Code
  • 1
    Objects cause stateful/heap mess

related Groovy posts

Alex A

Some may wonder why did we choose Grails ? Really good question :) We spent quite some time to evaluate what framework to go with and the battle was between Play Scala and Grails ( Groovy ). We have enough experience with both and, to be honest, I absolutely in love with Scala; however, the tipping point for us was the potential speed of development. Grails allows much faster development pace than Play , and as of right now this is the most important parameter. We might convert later though. Also, worth mentioning, by default Grails comes with Gradle as a build tool, so why change?

See more

Presently, a web-based ERP is developed in Groovy on Grails. Now the ERP is getting revamped with more functionalities. Is it advisable to continue with the same software and framework or try something new especially Node.js over ExpressJS?

See more
Python logo

Python

185K
158.6K
6.7K
A clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.
185K
158.6K
+ 1
6.7K
PROS OF PYTHON
  • 1.1K
    Great libraries
  • 946
    Readable code
  • 833
    Beautiful code
  • 779
    Rapid development
  • 682
    Large community
  • 426
    Open source
  • 385
    Elegant
  • 278
    Great community
  • 268
    Object oriented
  • 214
    Dynamic typing
  • 75
    Great standard library
  • 56
    Very fast
  • 51
    Functional programming
  • 43
    Scientific computing
  • 43
    Easy to learn
  • 33
    Great documentation
  • 26
    Matlab alternative
  • 25
    Productivity
  • 25
    Easy to read
  • 21
    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
    Machine learning support
  • 13
    Fast and simple
  • 12
    Scripting
  • 9
    Explicit is better than implicit
  • 8
    Clear and easy and powerfull
  • 8
    Unlimited power
  • 8
    Ease of development
  • 7
    Import antigravity
  • 6
    It's lean and fun to code
  • 6
    Print "life is short, use python"
  • 5
    Great for tooling
  • 5
    I love snakes
  • 5
    Flat is better than nested
  • 5
    Python has great libraries for data processing
  • 5
    Fast coding and good for competitions
  • 5
    There should be one-- and preferably only one --obvious
  • 5
    High Documented language
  • 5
    Although practicality beats purity
  • 4
    Rapid Prototyping
  • 4
    Readability counts
  • 3
    Great for analytics
  • 3
    Web scraping
  • 3
    Now is better than never
  • 3
    Plotting
  • 3
    Lists, tuples, dictionaries
  • 3
    Socially engaged community
  • 3
    Complex is better than complicated
  • 3
    Multiple Inheritence
  • 3
    Beautiful is better than ugly
  • 3
    CG industry needs
  • 2
    No cruft
  • 2
    Many types of collections
  • 2
    Easy to learn and use
  • 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
    List comprehensions
  • 2
    Generators
  • 2
    Simple and easy to learn
  • 2
    Easy to setup and run smooth
  • 2
    Import this
  • 1
    Powerful language for AI
  • 1
    Because of Netflix
  • 1
    A-to-Z
  • 1
    Only one way to do it
  • 1
    Can understand easily who are new to programming
  • 1
    Flexible and easy
  • 1
    Better outcome
  • 1
    Batteries included
  • 1
    Good for hacking
  • 1
    Should START with this but not STICK with This
  • 1
    Pip install everything
  • 1
    It is Very easy , simple and will you be love programmi
  • 0
    Powerful
CONS OF PYTHON
  • 51
    Still divided between python 2 and python 3
  • 28
    Performance impact
  • 26
    Poor syntax for anonymous functions
  • 21
    GIL
  • 19
    Package management is a mess
  • 14
    Too imperative-oriented
  • 12
    Hard to understand
  • 12
    Dynamic typing
  • 10
    Very slow
  • 8
    Not everything is expression
  • 7
    Explicit self parameter in methods
  • 7
    Indentations matter a lot
  • 6
    Poor DSL capabilities
  • 6
    Incredibly slow
  • 6
    No anonymous functions
  • 6
    Requires C functions for dynamic modules
  • 5
    Hard to obfuscate
  • 5
    Threading
  • 5
    Fake object-oriented programming
  • 5
    The "lisp style" whitespaces
  • 4
    Official documentation is unclear.
  • 4
    Circular import
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    Not suitable for autocomplete
  • 4
    The benevolent-dictator-for-life quit
  • 2
    Meta classes
  • 1
    Training wheels (forced indentation)

related Python posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 41 upvotes · 5.3M 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 · 1.7M 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
Golang logo

Golang

14.5K
12.8K
3.2K
An open source programming language that makes it easy to build simple, reliable, and efficient software
14.5K
12.8K
+ 1
3.2K
PROS OF GOLANG
  • 531
    High-performance
  • 387
    Simple, minimal syntax
  • 354
    Fun to write
  • 295
    Easy concurrency support via goroutines
  • 267
    Fast compilation times
  • 189
    Goroutines
  • 177
    Statically linked binaries that are simple to deploy
  • 148
    Simple compile build/run procedures
  • 134
    Backed by google
  • 131
    Great community
  • 50
    Garbage collection built-in
  • 42
    Built-in Testing
  • 41
    Excellent tools - gofmt, godoc etc
  • 38
    Elegant and concise like Python, fast like C
  • 34
    Awesome to Develop
  • 25
    Used for Docker
  • 24
    Flexible interface system
  • 22
    Deploy as executable
  • 22
    Great concurrency pattern
  • 19
    Open-source Integration
  • 16
    Fun to write and so many feature out of the box
  • 15
    Go is God
  • 15
    Easy to read
  • 14
    Its Simple and Heavy duty
  • 13
    Powerful and simple
  • 13
    Easy to deploy
  • 12
    Best language for concurrency
  • 11
    Concurrency
  • 10
    Safe GOTOs
  • 10
    Rich standard library
  • 9
    Easy setup
  • 9
    Clean code, high performance
  • 8
    High performance
  • 8
    Hassle free deployment
  • 8
    Simplicity, Concurrency, Performance
  • 7
    Single binary avoids library dependency issues
  • 7
    Used by Giants of the industry
  • 6
    Cross compiling
  • 6
    Simple, powerful, and great performance
  • 5
    Very sophisticated syntax
  • 5
    Garbage Collection
  • 5
    Excellent tooling
  • 5
    Gofmt
  • 5
    WYSIWYG
  • 4
    Widely used
  • 4
    Kubernetes written on Go
  • 3
    Keep it simple and stupid
  • 2
    No generics
  • 1
    Operator goto
CONS OF GOLANG
  • 41
    You waste time in plumbing code catching errors
  • 25
    Verbose
  • 22
    Packages and their path dependencies are braindead
  • 15
    Dependency management when working on multiple projects
  • 15
    Google's documentations aren't beginer friendly
  • 10
    Automatic garbage collection overheads
  • 8
    Uncommon syntax
  • 6
    Type system is lacking (no generics, etc)
  • 2
    Collection framework is lacking (list, set, map)
  • 2
    Best programming language

related Golang posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 41 upvotes · 5.3M 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 · 1.7M 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
React Native logo

React Native

27.6K
24.2K
1.1K
A framework for building native apps with React
27.6K
24.2K
+ 1
1.1K
PROS OF REACT NATIVE
  • 207
    Learn once write everywhere
  • 168
    Cross platform
  • 165
    Javascript
  • 120
    Native ios components
  • 67
    Built by facebook
  • 63
    Easy to learn
  • 44
    Bridges me into ios development
  • 40
    It's just react
  • 39
    No compile
  • 36
    Declarative
  • 22
    Fast
  • 13
    Virtual Dom
  • 12
    Insanely fast develop / test cycle
  • 12
    Livereload
  • 11
    Great community
  • 9
    It is free and open source
  • 9
    Native android components
  • 9
    Easy setup
  • 9
    Backed by Facebook
  • 7
    Highly customizable
  • 7
    Scalable
  • 6
    Awesome
  • 6
    Everything component
  • 6
    Great errors
  • 6
    Win win solution of hybrid app
  • 5
    Not dependent on anything such as Angular
  • 5
    Simple
  • 4
    Awesome, easy starting from scratch
  • 4
    OTA update
  • 3
    As good as Native without any performance concerns
  • 3
    Easy to use
  • 2
    Many salary
  • 2
    Can be incrementally added to existing native apps
  • 2
    Hot reload
  • 2
    Over the air update (Flutter lacks)
  • 2
    'It's just react'
  • 2
    Web development meets Mobile development
  • 1
    Ngon
CONS OF REACT NATIVE
  • 23
    Javascript
  • 18
    Built by facebook
  • 12
    Cant use CSS
  • 4
    30 FPS Limit
  • 2
    Generate large apk even for a simple app
  • 2
    Some compenents not truly native
  • 2
    Slow

related React Native posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 2.1M views

I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

See more

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

See more
Flutter logo

Flutter

11.8K
12.1K
1.1K
Cross-platform mobile framework from Google
11.8K
12.1K
+ 1
1.1K
PROS OF FLUTTER
  • 127
    Hot Reload
  • 106
    Cross platform
  • 98
    Performance
  • 82
    Backed by Google
  • 69
    Compiled into Native Code
  • 54
    Fast Development
  • 54
    Open Source
  • 49
    Fast Prototyping
  • 44
    Expressive and Flexible UI
  • 43
    Single Codebase
  • 35
    Reactive Programming
  • 31
    Material Design
  • 26
    Widget-based
  • 25
    Dart
  • 24
    Target to Fuchsia
  • 17
    IOS + Android
  • 14
    Easy to learn
  • 14
    Great CLI Support
  • 13
    Tooling
  • 13
    You can use it as mobile, web, Server development
  • 12
    Have built-in Material theme
  • 11
    Target to Android
  • 11
    Good docs & sample code
  • 11
    Community
  • 11
    Debugging quickly
  • 10
    Support by multiple IDE: Android Studio, VS Code, XCode
  • 9
    Easy Testing Support
  • 9
    Written by Dart, which is easy to read code
  • 8
    Target to iOS
  • 8
    Real platform free framework of the future
  • 8
    Have built-in Cupertino theme
  • 7
    Easy to Unit Test
  • 7
    Easy to Widget Test
CONS OF FLUTTER
  • 28
    Need to learn Dart
  • 10
    No 3D Graphics Engine Support
  • 9
    Lack of community support
  • 7
    Graphics programming
  • 6
    Lack of friendly documentation
  • 2
    Lack of promotion
  • 1
    Https://iphtechnologies.com/difference-between-flutter

related Flutter posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 2.1M views

I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

See more
Shared insights
on
DartDartFlutterFlutter

Hi, I'm considering building a social marketplace app on android, ios and web, Flutter seems to be a good UI framework for cross-platform apps, it's safe type, hot reload, and native compiling on native machine code (thanks to Dart). My question is, for an MVP product is it a good choice? if yes, will it be on the mid-term, long term? Or will I have to change as the users grow?

thank you

See more