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

Dart

3.8K
3.6K
+ 1
452
Erlang

1.3K
739
+ 1
327
Add tool

Dart vs Erlang: What are the differences?

Introduction:

Dart and Erlang are both programming languages that offer unique features and capabilities. In this Markdown formatted text, we will explore the key differences between Dart and Erlang in a concise manner.

  1. Concurrency: Dart supports concurrency through the use of isolates, which are lightweight threads that communicate by message passing. On the other hand, Erlang excels in concurrency as it was designed from the ground up with the Actor model, allowing for easy creation and communication between processes, making it highly scalable and fault-tolerant.

  2. Hot Reload/Hot Code Swapping: Dart offers a hot reload feature, allowing developers to instantly see code changes reflected in the running application without the need for a complete restart. This feature is particularly useful for rapid development and debugging. In contrast, Erlang has a built-in hot code swapping capability, which allows code changes to be applied to a running system without any downtime or disruption.

  3. Language Paradigm: Dart is primarily an object-oriented language that also includes support for functional programming concepts. It uses classes and interfaces for encapsulation and inheritance. On the other hand, Erlang is a functional programming language with strong support for pattern matching, immutability, and recursion. It follows a declarative style without using traditional object-oriented concepts.

  4. Virtual Machine: Dart runs on the Dart Virtual Machine (VM), which is designed to execute Dart code efficiently. It provides just-in-time (JIT) compilation for fast development cycles and ahead-of-time (AOT) compilation for optimal performance. On the other hand, Erlang code runs on the BEAM (Bogdan/Björn's Erlang Abstract Machine) virtual machine, specifically optimized to support the features of the Erlang programming language, such as process isolation and message passing.

  5. Typed vs. Dynamically Typed: Dart is a statically typed language, which means that variable types are checked at compile-time, helping to catch errors early. It enforces type safety and allows for better tooling and refactoring support. Conversely, Erlang is dynamically typed, meaning that variable types are resolved at runtime, offering more flexibility but potentially increasing the chances of runtime errors.

  6. Community and Ecosystem: Dart has been gaining popularity and has a growing developer community due to its use by Flutter, a popular framework for building cross-platform mobile apps. It has a wide range of libraries and tools available, with continuous updates and improvements. Erlang, on the other hand, has a smaller but highly dedicated community. It is widely used in the telecom industry, with a strong focus on fault tolerance and distribution.

In Summary, Dart and Erlang differ in their approach to concurrency, code reloading, language paradigm, virtual machine, typing system, and community size, providing developers with distinct choices depending on their specific requirements and preferences.

Advice on Dart and Erlang
Needs advice
on
DartDartFirebaseFirebase
and
PythonPython

I want to create a mobile-first e-commerce platform app. I think Dart and Flutter is a way for me to build cross-platform apps from a single codebase but I might be wrong so what do you guys think?

I also don't know what to do about the back-end. I mean managing the database of products and users. handing orders and invoices. I think Firebase can be an answer to my problems but how far I can go with firebase and its user authentication and database tools? Just firebase is enough for all my back-end needs?

What suits my needs, a relational database or a non-relational database?

Do I need to learn another programming language for handling back-end, like Python or Go?

I would appreciate your opinion. Thanks

See more
Replies (1)
Mohamed Reda
Recommends
on
DartDartFirebaseFirebase

Hi, I have 3 years with Flutter and I can see that Flutter with Firebase will be a good choice for you, Just start with Firebase, it's a little bit expensive when you have a lot of users, but there you will have some money to build your own API using any other language, and here I recommend Elixir or Python.

And about what you need to learn: - Dart - Flutter - State management for Flutter - Firebase

Then you can publish your app finally, and I wish you a happy published app :)

See more
Needs advice
on
DartDart
and
KotlinKotlin

Can anyone help me decide what's best for app development or even android Oreo development? I'm in a state dilemma at the moment. I want to do Android programming, not necessarily web development. I have heard a lot of people recommend one of these, and it seems that both the tools can do the job. Which language would you choose?

See more
Replies (4)
Ondrej Malek
Recommends
on
DartDart

I assume that you mean Flutter by Dart. I have over 6 years experience programming in Android SDK, but about 1,5 month in Flutter. So far I think that Flutter is the future for mobile development. Flutter SDK is much better designed. Ecosystem of libraries seems having much higher quality. I would even say that android opensource libs are having really poor quality. Many times I am wondering how can garbage like that have so many stars at GitHub. Android SDK is hard to compose so you reinvent even basic things on and on, which is totally different story at Flutter. Lolcycle? Both are having good documentation. I quess apps in Flutter can be done in 1/3 of time compared to develop AndroidSDK and iOS, its design is that much better and contemporary. As of language comparison - Kotlin is better, but the difference is not that important. Go from one language to other is no problem. Dart is being updated with new features.

See more
Recommends
on
DartDart

I've selected Flutter and Dart for my side projects and never regretted. Dart learning curve is easy after any OOP language . Flutter as a framework is also has a low entry threshold. I've already started development after a week of learning. Pros for me: code can be build for Android and IOS devices (for ios you need mac or VM), apps written in Dart have great performance on each of these platforms, flexibility. Cons: if you want to build a product as a business and want to hire a new Flutter Developer in the future it can be a problem as the framework and language is not popular for the moment.

See more
Ranjeet Sinha
Senior Software Engineer · | 3 upvotes · 259.2K views
Recommends
on
KotlinKotlin

It depends on what is the purpose of your app development. Do you want to make one app that shares the codebase for both iOS and Android? If yes, then Dart is the way to go. Does your app include interacting with hardware features like camera, Bluetooth, if yes, then go for native Android for better performance? Dart is good for simpler UI apps where you just do basic crud operations over the network and show data but if you need richer UI experience go with native.

See more
Tran Phuc
CTO at Nextfunc Co., Ltd · | 3 upvotes · 259.2K views
Recommends
on
DartDart

I have worked in mobile development since 2010. I have experienced myself on various techs including Native SDK (Android), React Native (from 2016) and Flutter (2018). Almost the apps nowadays can be built using cross-platforms frameworks like React Native or Flutter. I suggest you start with Flutter. Flutter SDK is designed well to speed up your development and it still keeps the quality for your apps. If you're familiar with OOP languages (Java, C#...), switching to Dart is really quick and easy. Of course, sometimes you will need to dive deep into native parts but almost the cases you don't need. Good luck!

See more
Needs advice
on
DartDartDjangoDjango
and
JavaScriptJavaScript

I am currently learning web development with Python and JavaScript course by CS50 Harvard university. It covers python, Flask, Django, SQL, Travis CI, javascript,HTML ,CSS and more. I am very interested in Flutter app development. Can I know what is the difference between learning these above-mentioned frameworks vs learning flutter directly? I am planning to learn flutter so that I can do both web development and app development. Are there any perks of learning these frameworks before flutter?

See more
Replies (5)
Gagan Jakhotiya
Engineering Manager at BigBasket · | 11 upvotes · 220.8K views
Recommends
on
Node.jsNode.js

Hey Muhamed, For web development, you'll have to learn how to write backend APIs and how to build UI for browsers, apps, etc. If you're just starting off with programming, I'd suggest you stick to one language and trying developing everything using it to cut the unnecessary learning overhead. Although Python and JavaScript are very similar for beginners, JavaScript is the only available option for both frontend and backend development for a web application. You can start working with Node.js for your API development and Vanilla JS along with HTML/CSS for UI. You'll only need to learn one language to do all of this. Hope this helps.

See more
Dennis Barzanoff
Recommends
on
DartDart

Flutter is good for everything and it is getting better as I am speaking. Flutter Web is almost ready for production and I have made 2 complex working websites already.

See more
Recommends
on
DartDart

Well. Flutter is just a Framework (just like Django btw.) and it uses Dart as a programming language. Django is kind of solving a different problem than Dart. Dart is intened for use in Front End Applications and Django is a Framework for Back-End Web Development.

So if you want to program Flutter Apps (although i wouldn't recommend it for any serious web development yet since Flutter web isn't very mature yet) i would recommend you just lern Dart.

See more
Yohnathan Carletti
Senior Technical Product Manager · | 3 upvotes · 214.9K views
Recommends
on
DartDart

From a management and hiring perspective, I recommend Flutter (Dart). It provides native solutions to both mobile platform ( (Android and IOS) while having the same knowledge. Hiring managers look at this as an advantage since a developer can provide solutions for both platforms whit the same knowledge. The Flutter framework is growing and there is a lot of resources to ground your knowledge and start experimenting. Dart is also a great language that covers most E2E necessities, so again, no further need of learning one language for FE and another for BE and services. It is my belief that Dart will surpass Kotlin soon, and will leverage to Python and Java in the upcoming year.

See more
Recommends
on
DartDart

If you are interested in Flutter, learn it on your own time, parallel to the course. No matter what order you do them, eventually you will end up learning them all anyway ;-)

See more
Decisions about Dart and Erlang
Lucas Litton
Founder & CEO at Macombey · | 8 upvotes · 248.8K views

JavaScript is at the forefront of our entire development approach. Not only do we use different JavaScript frameworks and management tools, but we also use pure vanilla JavaScript to solve simple problems throughout all of our client's builds. JavaScript is a general purpose programming language that can be blazing fast and fun to work with. There's not one project we are working on that doesn't involve it.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Dart
Pros of Erlang
  • 59
    Backed by Google
  • 53
    Flutter
  • 39
    Twice the speed of Javascript
  • 35
    Great tools
  • 30
    Scalable
  • 27
    Open source
  • 26
    Made for the future
  • 25
    Can be used on Frontend
  • 22
    Polymer Dart
  • 22
    Angular Dart
  • 18
    Cross platform
  • 16
    Like Java
  • 14
    Easy to learn
  • 13
    Dartanalyzer
  • 12
    Runs on Google Cloud Platform
  • 10
    Easy to Understand
  • 9
    Amazing concurrency primitives
  • 8
    Is to JS what C is to ASM
  • 7
    Flutter works with darts
  • 3
    R
  • 3
    Can run Dart in AWS Lambda
  • 1
    Looks familiar, with purposely implemented features
  • 60
    Concurrency Support
  • 60
    Real time, distributed applications
  • 56
    Fault tolerance
  • 35
    Soft real-time
  • 31
    Open source
  • 21
    Functional programming
  • 20
    Message passing
  • 15
    Immutable data
  • 13
    Works as expected
  • 5
    Facebook chat uses it at backend
  • 4
    Practical
  • 4
    Knowledgeable community
  • 3
    Bullets included

Sign up to add or upvote prosMake informed product decisions

Cons of Dart
Cons of Erlang
  • 3
    Lack of ORM
  • 3
    Locked in - JS or TS interop is very hard to accomplish
  • 0
    A
    Be the first to leave a con

    Sign up to add or upvote consMake informed product decisions

    - No public GitHub repository available -

    What is Dart?

    Dart is a cohesive, scalable platform for building apps that run on the web (where you can use Polymer) or on servers (such as with Google Cloud Platform). Use the Dart language, libraries, and tools to write anything from simple scripts to full-featured apps.

    What is Erlang?

    Some of Erlang's uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang's runtime system has built-in support for concurrency, distribution and fault tolerance. OTP is set of Erlang libraries and design principles providing middle-ware to develop these systems.

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

    What companies use Dart?
    What companies use Erlang?
    See which teams inside your own company are using Dart or Erlang.
    Sign up for StackShare EnterpriseLearn More

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

    What tools integrate with Dart?
    What tools integrate with Erlang?

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

    What are some alternatives to Dart and Erlang?
    TypeScript
    TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
    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.
    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.
    Kotlin
    Kotlin is a statically typed programming language for the JVM, Android and the browser, 100% interoperable with 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!
    See all alternatives