Alternatives to Swift logo

Alternatives to Swift

Objective-C, React Native, Kotlin, Go, and Java are the most popular alternatives and competitors to Swift.
13.3K
9.5K
+ 1
1.2K

What is Swift and what are its top alternatives?

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.
Swift is a tool in the Languages category of a tech stack.
Swift is an open source tool with 58K GitHub stars and 9.3K GitHub forks. Here’s a link to Swift's open source repository on GitHub

Top Alternatives to Swift

  • Objective-C

    Objective-C

    Objective-C is a superset of the C programming language and provides object-oriented capabilities and a dynamic runtime. Objective-C inherits the syntax, primitive types, and flow control statements of C and adds syntax for defining classes and methods. It also adds language-level support for object graph management and object literals while providing dynamic typing and binding, deferring many responsibilities until runtime. ...

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

  • Kotlin

    Kotlin

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

  • Go

    Go

    Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language. ...

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

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

  • Rust

    Rust

    Rust is a systems programming language that combines strong compile-time correctness guarantees with fast performance. It improves upon the ideas of other systems languages like C++ by providing guaranteed memory safety (no crashes, no data races) and complete control over the lifecycle of memory. ...

  • Xcode

    Xcode

    The Xcode IDE is at the center of the Apple development experience. Tightly integrated with the Cocoa and Cocoa Touch frameworks, Xcode is an incredibly productive environment for building amazing apps for Mac, iPhone, and iPad. ...

Swift alternatives & related posts

Objective-C logo

Objective-C

8.1K
4.8K
488
The primary programming language you use when writing software for OS X and iOS
8.1K
4.8K
+ 1
488
PROS OF OBJECTIVE-C
  • 212
    Ios
  • 114
    Xcode
  • 62
    Backed by apple
  • 46
    Osx
  • 40
    Interface builder
  • 10
    Good old fashioned ooe with a modern twist
  • 2
    Goober, please
  • 1
    Object-oriented
  • 1
    Handles well null values (no NullPointerExceptions)
CONS OF OBJECTIVE-C
  • 1
    UNREADABLE

related Objective-C posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 12 upvotes · 1.1M 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

Greetings everyone. I ran a design studio for 8 years in which we designed mobile and web apps. I also lead development teams when our client asked us to carry out the development of the projects. I always had an interest in learning to code to help me understand what is going on on the dev side and also build small apps as a hobby. I tried several times to get on a learning path, but challenges always put me down, so I quit after a couple of weeks. I tried JavaScript, Python, PHP, and Objective-C.

Now I am retrying to teach myself Swift and especially SwiftUI for more than a month, and It's been going well so far. I want to build my own small apps, and I'm not focused on getting hired as a developer. I want to ask if it's the right language to start learning to program or should I learn something else first as a foundation. I'm currently taking a 100 days of code challenge and reading the Swift 5.3 PDF if I want to get more information on a specific topic. It feels like none of the stuff is sticking, but I'm not sure if it's the way it goes or my approach is wrong.

I would appreciate any kind of guidance. Thanks

See more
React Native logo

React Native

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

related React Native posts

Vaibhav Taunk
Team Lead at Technovert · | 31 upvotes · 1.6M 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
Ganesa Vijayakumar
Full Stack Coder | Module Lead · | 19 upvotes · 2.5M views

I'm planning to create a web application and also a mobile application to provide a very good shopping experience to the end customers. Shortly, my application will be aggregate the product details from difference sources and giving a clear picture to the user that when and where to buy that product with best in Quality and cost.

I have planned to develop this in many milestones for adding N number of features and I have picked my first part to complete the core part (aggregate the product details from different sources).

As per my work experience and knowledge, I have chosen the followings stacks to this mission.

UI: I would like to develop this application using React, React Router and React Native since I'm a little bit familiar on this and also most importantly these will help on developing both web and mobile apps. In addition, I'm gonna use the stacks JavaScript, jQuery, jQuery UI, jQuery Mobile, Bootstrap wherever required.

Service: I have planned to use Java as the main business layer language as I have 7+ years of experience on this I believe I can do better work using Java than other languages. In addition, I'm thinking to use the stacks Node.js.

Database and ORM: I'm gonna pick MySQL as DB and Hibernate as ORM since I have a piece of good knowledge and also work experience on this combination.

Search Engine: I need to deal with a large amount of product data and it's in-detailed info to provide enough details to end user at the same time I need to focus on the performance area too. so I have decided to use Solr as a search engine for product search and suggestions. In addition, I'm thinking to replace Solr by Elasticsearch once explored/reviewed enough about Elasticsearch.

Host: As of now, my plan to complete the application with decent features first and deploy it in a free hosting environment like Docker and Heroku and then once it is stable then I have planned to use the AWS products Amazon S3, EC2, Amazon RDS and Amazon Route 53. I'm not sure about Microsoft Azure that what is the specialty in it than Heroku and Amazon EC2 Container Service. Anyhow, I will do explore these once again and pick the best suite one for my requirement once I reached this level.

Build and Repositories: I have decided to choose Apache Maven and Git as these are my favorites and also so popular on respectively build and repositories.

Additional Utilities :) - I would like to choose Codacy for code review as their Startup plan will be very helpful to this application. I'm already experienced with Google CheckStyle and SonarQube even I'm looking something on Codacy.

Happy Coding! Suggestions are welcome! :)

Thanks, Ganesa

See more
Kotlin logo

Kotlin

8.7K
6.7K
523
Statically typed Programming Language targeting JVM and JavaScript
8.7K
6.7K
+ 1
523
PROS OF KOTLIN
  • 64
    Interoperable with Java
  • 48
    Functional Programming support
  • 44
    Null Safety
  • 39
    Official Android support
  • 39
    Backed by JetBrains
  • 31
    Concise
  • 29
    Modern Multiplatform Applications
  • 24
    Expressive Syntax
  • 22
    Target to JVM
  • 22
    Coroutines
  • 21
    Open Source
  • 15
    Practical elegance
  • 15
    Statically Typed
  • 14
    Type Inference
  • 14
    Android support
  • 10
    Better Java
  • 9
    Readable code
  • 9
    Pragmatic
  • 8
    Powerful as Scala, simple as Python, plus coroutines <3
  • 6
    Lambda
  • 6
    Expressive DSLs
  • 6
    Target to JavaScript
  • 6
    Better language for android
  • 5
    Less boilerplate code
  • 4
    Used for Android
  • 3
    Less code
  • 3
    Fast Programming language
  • 2
    Functional Programming Language
  • 2
    Less boiler plate code
  • 2
    Friendly community
  • 1
    Latest version of Java
CONS OF KOTLIN
  • 5
    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 · 266.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 · 254.1K 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
Go logo

Go

13.1K
11.4K
3.1K
An open source programming language that makes it easy to build simple, reliable, and efficient software
13.1K
11.4K
+ 1
3.1K
PROS OF GO
  • 528
    High-performance
  • 385
    Simple, minimal syntax
  • 351
    Fun to write
  • 293
    Easy concurrency support via goroutines
  • 265
    Fast compilation times
  • 186
    Goroutines
  • 176
    Statically linked binaries that are simple to deploy
  • 146
    Simple compile build/run procedures
  • 132
    Backed by google
  • 129
    Great community
  • 48
    Garbage collection built-in
  • 40
    Built-in Testing
  • 39
    Excellent tools - gofmt, godoc etc
  • 36
    Elegant and concise like Python, fast like C
  • 32
    Awesome to Develop
  • 24
    Used for Docker
  • 23
    Flexible interface system
  • 21
    Great concurrency pattern
  • 21
    Deploy as executable
  • 18
    Open-source Integration
  • 15
    Fun to write and so many feature out of the box
  • 14
    Easy to read
  • 13
    Go is God
  • 13
    Its Simple and Heavy duty
  • 12
    Easy to deploy
  • 12
    Powerful and simple
  • 10
    Best language for concurrency
  • 10
    Concurrency
  • 9
    Rich standard library
  • 9
    Safe GOTOs
  • 8
    Clean code, high performance
  • 8
    Easy setup
  • 7
    High performance
  • 7
    Hassle free deployment
  • 7
    Simplicity, Concurrency, Performance
  • 6
    Used by Giants of the industry
  • 6
    Single binary avoids library dependency issues
  • 5
    Cross compiling
  • 5
    Simple, powerful, and great performance
  • 4
    Excellent tooling
  • 4
    WYSIWYG
  • 4
    Very sophisticated syntax
  • 4
    Gofmt
  • 4
    Garbage Collection
  • 3
    Kubernetes written on Go
  • 2
    Keep it simple and stupid
  • 2
    Widely used
  • 0
    No generics
  • 0
    Operator goto
CONS OF GO
  • 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
  • 14
    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)

related Go posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.2M 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
Director of Developer Marketing at Stream · | 35 upvotes · 1.4M 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
Java logo

Java

90.3K
68.1K
3.6K
A concurrent, class-based, object-oriented, language specifically designed to have as few implementation dependencies as possible
90.3K
68.1K
+ 1
3.6K
PROS OF JAVA
  • 583
    Great libraries
  • 439
    Widely used
  • 398
    Excellent tooling
  • 385
    Huge amount of documentation available
  • 330
    Large pool of developers available
  • 203
    Open source
  • 198
    Excellent performance
  • 154
    Great development
  • 148
    Vast array of 3rd party libraries
  • 147
    Used for android
  • 59
    Compiled Language
  • 49
    Used for Web
  • 46
    Managed memory
  • 44
    High Performance
  • 44
    Native threads
  • 41
    Statically typed
  • 35
    Easy to read
  • 33
    Great Community
  • 29
    Reliable platform
  • 24
    Sturdy garbage collection
  • 24
    JVM compatibility
  • 21
    Cross Platform Enterprise Integration
  • 20
    Good amount of APIs
  • 20
    Universal platform
  • 18
    Great Support
  • 13
    Great ecosystem
  • 11
    Backward compatible
  • 11
    Lots of boilerplate
  • 10
    Everywhere
  • 9
    Excellent SDK - JDK
  • 7
    Static typing
  • 6
    Mature language thus stable systems
  • 6
    Portability
  • 6
    Cross-platform
  • 6
    Long term language
  • 6
    Better than Ruby
  • 6
    It's Java
  • 5
    Vast Collections Library
  • 5
    Clojure
  • 5
    Used for Android development
  • 4
    Most developers favorite
  • 4
    Old tech
  • 3
    Testable
  • 3
    Javadoc
  • 3
    Best martial for design
  • 3
    Great Structure
  • 3
    Stable platform, which many new languages depend on
  • 2
    History
CONS OF JAVA
  • 30
    Verbosity
  • 25
    NullpointerException
  • 16
    Overcomplexity is praised in community culture
  • 14
    Nightmare to Write
  • 11
    Boiler plate code
  • 8
    Classpath hell prior to Java 9
  • 6
    No REPL
  • 4
    No property
  • 2
    Floating-point errors
  • 2
    There is not optional parameter
  • 2
    Code are too long
  • 2
    Non-intuitive generic implementation
  • 1
    Returning Wildcard Types
  • 1
    Java's too statically, stronglly, and strictly typed
  • 1
    Terrbible compared to Python/Batch Perormence

related Java posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.2M 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 · | 27 upvotes · 1.2M 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
Python logo

Python

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

related Python posts

Conor Myhrvold
Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.2M 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
Director of Developer Marketing at Stream · | 35 upvotes · 1.4M 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
Rust logo

Rust

2.8K
3.2K
1K
A safe, concurrent, practical language
2.8K
3.2K
+ 1
1K
PROS OF RUST
  • 131
    Guaranteed memory safety
  • 118
    Fast
  • 76
    Open source
  • 72
    Minimal runtime
  • 64
    Pattern matching
  • 58
    Type inference
  • 53
    Algebraic data types
  • 50
    Concurrent
  • 44
    Efficient C bindings
  • 41
    Practical
  • 34
    Best advances in languages in 20 years
  • 27
    Fix for C/C++
  • 26
    Safe, fast, easy + friendly community
  • 20
    Closures
  • 20
    Stablity
  • 17
    Zero-cost abstractions
  • 15
    Extensive compiler checks
  • 14
    Great community
  • 12
    No NULL type
  • 11
    Completely cross platform: Windows, Linux, Android
  • 10
    No Garbage Collection
  • 10
    Async/await
  • 9
    Great documentations
  • 9
    Super fast
  • 9
    High-performance
  • 8
    High performance
  • 8
    Safety no runtime crashes
  • 7
    Generics
  • 7
    Fearless concurrency
  • 7
    Guaranteed thread data race safety
  • 6
    RLS provides great IDE support
  • 6
    Painless dependency management
  • 6
    Prevents data races
  • 6
    Easy Deployment
  • 6
    Helpful compiler
  • 6
    Compiler can generate Webassembly
  • 5
    Macros
  • 3
    Real multithreading
  • 2
    Good package management
  • 2
    Support on Other Languages
CONS OF RUST
  • 24
    Hard to learn
  • 22
    Ownership learning curve
  • 8
    Unfriendly, verbose syntax
  • 3
    Many type operations make it difficult to follow
  • 3
    High size of builded executable
  • 3
    Variable shadowing
  • 2
    No jobs

related Rust posts

James Cunningham
Operations Engineer at Sentry · | 18 upvotes · 110.7K views
Shared insights
on
PythonPythonRustRust
at

Sentry's event processing pipeline, which is responsible for handling all of the ingested event data that makes it through to our offline task processing, is written primarily in Python.

For particularly intense code paths, like our source map processing pipeline, we have begun re-writing those bits in Rust. Rust’s lack of garbage collection makes it a particularly convenient language for embedding in Python. It allows us to easily build a Python extension where all memory is managed from the Python side (if the Python wrapper gets collected by the Python GC we clean up the Rust object as well).

See more
Jakub Olan
Node.js Software Engineer · | 17 upvotes · 254.1K 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
Xcode logo

Xcode

14K
10.1K
209
The complete toolset for building great apps
14K
10.1K
+ 1
209
PROS OF XCODE
  • 129
    IOS Development
  • 32
    Personal assistant on steroids
  • 29
    Easy setup
  • 17
    Excellent integration with Clang
  • 1
    Beautiful
  • 1
    Built-in everything
  • 0
    Con
CONS OF XCODE
  • 4
    Massively bloated and complicated for smaller projects
  • 2
    Horrible auto completiting and text editing
  • 1
    Very slow emulator

related Xcode posts

Julien DeFrance
Principal Software Engineer at Tophatter · | 8 upvotes · 330.2K views

As a Engineering Manager & Director at SmartZip, I had a mix of front-end, back-end, #mobile engineers reporting to me.

Sprints after sprints, I noticed some inefficiencies on the MobileDev side. People working multiple sprints in a row on their Xcode / Objective-C codebase while some others were working on Android Studio. After which, QA & Product ensured both applications were in sync, on a UI/UX standpoint, creating addional work, which also happened to be extremely costly.

Our resources being so limited, my role was to stop this bleeding and keep my team productive and their time, valuable.

After some analysis, discussions, proof of concepts... etc. We decided to move to a single codebase using React Native so our velocity would increase.

After some initial investment, our initial assumptions were confirmed and we indeed started to ship features a lot faster than ever before. Also, our engineers found a way to perform this upgrade incrementally, so the initial platform-specific codebase wouldn't have to entirely be rewritten at once but only gradually and at will.

Feedback around React Native was very positive. And I doubt - for the kind of application we had - no one would want to go back to two or more code bases. Our application was still as Native as it gets. And no feature or device capability was compromised.

See more
Sezgi Ulucam
Developer Advocate at Hasura · | 7 upvotes · 667.3K views

I've recently switched to using Expo for initializing and developing my React Native apps. Compared to React Native CLI, it's so much easier to get set up and going. Setting up and maintaining Android Studio, Android SDK, and virtual devices used to be such a headache. Thanks to Expo, I can now test my apps directly on my Android phone, just by installing the Expo app. I still use Xcode Simulator for iOS testing, since I don't have an iPhone, but that's easy anyway. The big win for me with Expo is ease of Android testing.

The Expo SDK also provides convenient features like Facebook login, MapView, push notifications, and many others. https://docs.expo.io/versions/v31.0.0/sdk/

See more