Elm聽vs聽JavaScript

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

Elm

568
624
+ 1
284
JavaScript

193.4K
147.9K
+ 1
7.7K
Add tool

Elm vs JavaScript: What are the differences?

Elm: A type inferred, functional reactive language that compiles to HTML, CSS, and JavaScript. Writing HTML apps is super easy with elm-lang/html. Not only does it render extremely fast, it also quietly guides you towards well-architected code; JavaScript: Lightweight, interpreted, object-oriented language with first-class functions. 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.

Elm and JavaScript can be categorized as "Languages" tools.

"Code stays clean" is the primary reason why developers consider Elm over the competitors, whereas "Can be used on frontend/backend" was stated as the key factor in picking JavaScript.

Elm is an open source tool with 5.3K GitHub stars and 424 GitHub forks. Here's a link to Elm's open source repository on GitHub.

According to the StackShare community, JavaScript has a broader approval, being mentioned in 5080 company stacks & 6472 developers stacks; compared to Elm, which is listed in 27 company stacks and 35 developer stacks.

Advice on Elm and JavaScript
Needs advice
on
PHP
JavaScript
and
Java

Hi there. I'm looking to build an employee time tracker web app. This should also be optimized for mobile. I'm trying to figure out what the best stack is for this. I have knowledge of Java, JavaScript, some C#. I don't mind learning a new language for this purpose. Any help or advice would be really awesome! Thanks.

See more
Replies (5)
Stephen Gheysens
Senior Solutions Engineer at Twilio | 12 upvotes 路 124.2K views
Recommends
JavaScript

Hi Otensia! I'd definitely recommend using the skills you've already got and building with JavaScript is a smart way to go these days. Most platform services have JavaScript/Node SDKs or NPM packages, many serverless platforms support Node in case you need to write any backend logic, and JavaScript is incredibly popular - meaning it will be easy to hire for, should you ever need to.

My advice would be "don't reinvent the wheel". If you already have a skill set that will work well to solve the problem at hand, and you don't need it for any other projects, don't spend the time jumping into a new language. If you're looking for an excuse to learn something new, it would be better to invest that time in learning a new platform/tool that compliments your knowledge of JavaScript. For this project, I might recommend using Netlify, Vercel, or Google Firebase to quickly and easily deploy your web app. If you need to add user authentication, there are great examples out there for Firebase Authentication, Auth0, or even Magic (a newcomer on the Auth scene, but very user friendly). All of these services work very well with a JavaScript-based application.

See more
Recommends
JavaScript

As you have knowledge of Javascript, I would go towards Vue/React in Frontend and Node (with suitable framework) with backend. From my point of view Java would be too bloated for suggested kind of an app. I myself use PHP as a backend a lot and React as frontend but moving thoughts towards full stack javascript world.

See more
Recommends
PHP
JavaScript

php is the best for beginners, and one of the best for web development at all, all the host servers can handle it, a basic knowledge in java is not enough for build a web site, but a basic knowledge in php is enough. learn php basics and oop and mvc design pattern or any framework like Laravel (optional), and javascript for frontend (a framework like React or Angular is optional but good) and you will build any web site you want.

See more
pramod shirsath
Founder at Supra Software Solutions | 3 upvotes 路 25.3K views

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
pramod shirsath
Founder at Supra Software Solutions | 1 upvotes 路 25.4K views
Recommends

We migrated from PHP to Angular/PHP to Angular/Node to React/Node/AWS Lambda. React/Node(Typescript)/Lambda seems to be good so far as we have developed few applications (large and small) using this stack so far. React/Node/Lambda is also good for mobile. If you are planning to use AWS, you can use the S3 bucket to store the frontend and Lambda or EC2 for backend APIs.

See more
View all (5)
Needs advice
on
React
JavaScript
and
C#

Hi Everyone,

I have some experience working with JavaScript and React and will now try to learn C# - could you please share some similarities and differences between JS and C# and what rookie mistakes I should watch out for when learning C#?

Also, any tips & good practices are greatly appreciated :)

Thank you

See more
Replies (4)
Pavel Kalugin
Software Engineer at Paralect | 9 upvotes 路 21.7K views

If you want to learn C# to write some backend code you can also check out Node.js which is basically JavaScript running outside the browser. You can create any kind of web servers, APIs, scrapers, automation scripts, etc using all the same JavaScript.

A good entry to Node is Express.js. It is the most common web framework for Node. It's well documented and there are a lot of educational materials for it.

See more
Hameed Moshood
Recommends
C#

C# is .net framework of a programming language specially different from the programming languages you're used to. If you learn C# you will be experienceed in coding with VIsual Basic .net and also creating web development using ASP and this ASP also include JavaScript function.... I urge you to learn it

See more
Kudos Beluga
Recommends
Node.js
F#

I prefer functional programming because it produces less buggy code (thus I recommend F#), and is simply better to learn this paradigm earlier on in your coding career rather than later. It can also do most stuff C# can do, namely code with .NET core. If you're going to learn .NET then you should learn Node.js+Express first though before doing web development with C#/F#

See more
Ross M.
System Architect at MomentFactory | 2 upvotes 路 10.8K views
Recommends
JavaScript
C#

I think you can manage to find something about this topic. it's pretty popular one. ex: https://www.educba.com/c-sharp-vs-js/

Something I don't see discussed enough over the internet is the performance difference. I don't think you should worry about this. 95% of the time you won't notice the difference on your day to day projets. You will know what you need in terms of performance when you get there.

See more
View all (4)
Needs advice
on
Python
JavaScript
and
C++

Hi, I'm just starting to learn code, and I stumbled upon this website. I think I should learn JavaScript, Python, and C++ to begin with. I'm a quick learner so I am only worried about what would be more useful. Suppose my goal is to build an online clothing store or something. Then what languages would be best? I need advice. Please help me out. I'm 13 and just beginning and it's hard to understand when people use technical terms so please keep it simple. Thanks a lot.

See more
Replies (8)
Taimoor Mirza
Associate Software Engineer at Intech Process Automation | 21 upvotes 路 57.7K views
Recommends
Python

Go with Python. It's syntax is really simple and less verbose compare to others. You can use Python for basically anything like web dev, task automation, data science, data engineering, cybersecurity etc. At initial level, it's more important to get an understanding of programming fundamentals. Once you get conformable with coding in general, then you can explore other languages.

See more

I would worry less about languages when you're first starting out. If you want to build an online store, then javascript is a great language that is used all over the web! Get comfortable with your first language, learn some computer science concepts and how to build things the right way, and then just work towards a goal and learn as you go!

https://www.w3schools.com/ is a great resource and it's completely free, everything you need to know to build a website is on that page if you have the drive to learn it. Best of luck to you!

Here's a neat roadmap too, in case you find yourself lost on what to learn next https://roadmap.sh/frontend

See more
Recommends
JavaScript

I recommend JavaScript to build your first website, for both FrontEnd and BackEnd , even tho I am a BIG fan of C++ it is not well suited yet to create websites, and Python would be just as good for the BackEnd as JavaScript but having everything written in only one language will make your learning curve way easier, so it is easy to recommend JavaScript.

See more

Python is an easy and beginner-friendly language. As you've mentioned about Online Clothing store, you'll need to deal with the website part and you'll need Javascript to make the site accessible and functional. Javascript will be more easy to learn if you learn Python first, so you can just start with Python.

See more
Recommends
JavaScript

I have worked with all these a ton. I make ecommerce and enterprise apps now. The only one of these you need is JavaScript. You can use JS on the backend as Node.js in AWS Lambda. You will need HTML and CSS skills, as well as a database. I recommend MongoDB. Please forget about C++ until you built your first company. Python fits the same purpose as Node.js but is currently popular in the Data Science community so skip it until you have a LOT of customers.

See more
Recommends
Python
Flask

Hello Rachel, as a fellow programmer, I am glad that you are planning on expanding your coding knowledge and skills.

I recommend learning python first as it has a very simple syntax (syntax is how your code looks and how simple it is to type) and is also very user-friendly. Once you get to know how to code in python, you can use this thing called Flask.

Flask is what you call a "web application framework" or a WAF, it basically is a tool used to develop websites and other similar things. You don't have to worry much about it's difficulty because it is based on python. You will still have to learn how to use Flask though as it could be a bit complicating in first glance.

If you are looking for simpler ways for making website without having to learn a lot of programming, you can learn HTML and CSS. These 2 will help you in making a basic and functional website. The catch is, from a career perspective, HTML won't get you far, as literally every programmer knows it. So it is best to use programming languages.

I hope this gave you a clear understanding of the ways in which you can build websites. Wishing you the best of luck!

See more
John Akhilomen

Since you're new, I'd recommend Javascript and Python. With Javascript, just learn React and Node. And with Python, learn Django. With JavaScript, Node, React, Python, and Django; you can accomplish quite a lot for both frontend and backend.

See more
Recommends
WordPress

Hi, When saying that "Suppose my goal is to build an online clothing store or something", I would go for a ready to use platform like Wordpress. it will give you a fast jump into the online world. By using WP you'll have to catch on with PHP\JQuery Goodluck.. Ping me when store is ready, I might buy something....

See more
View all (8)
Decisions about Elm and JavaScript
Leonardo Henrique da Silva Paix茫o

Simple Customer Registration Crud, with the functions of Register, Delete, Edit and List new and old customers registered in the Database. PostgreSQL was used as DBMS, due to its easy use and practicality.

Crud de Cadastro a Clientes simples, com as fun莽玫es de Registrar, Deletar, Editar e Listar novos e antigos clientes cadastrado no Banco de Dados. Foi utilizado como SGBD o PostgreSQL, pelo seu facil uso e praticidade.

See more
  • Client-Side: \ The form of our product is a web app because we would also provide a dashboard for displaying data and for some further purpose including data filtering and comparison. Hence, we would definitely use HTML5 for structuring the web, CSS3 for styling the web, and JavaScript for building the front-end logic. As for frameworks, we would use React because it is component-based that can keep our front-end code clean and organized. The virtual DOM of React also provides better efficiency in time when rendering the page. Furthermore, React has a greater number of users than Vue and Angular, thus have active communities for problem-spotting and problem-solving. We would also incorporate Bootstrap into our web app to provide an aesthetic user interface and thus to improve the user experience. The fact that Boostrap supports responsive site would also ease our workload if future adaptation for mobiles is needed.
See more

A major part of our project includes visualizing the data through graphs and charts. We chose to use d3.js since it provides a wide selection of well-designed graphics and animations. As a library, it is also easy to use and be included in our UI. JavaScript which our team has experience with was also selected to integrate graphics from d3.js into the UI, as well as to integrate the UI with the backend system. Along with JavaScript, HTML5 and CSS 3 are also selected mostly for styling and formatting the webpage. These three languages are widely used which means that more support will be available, making the implementation process easier.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Elm
Pros of JavaScript
  • 42
    Code stays clean
  • 40
    Great type system
  • 38
    No Runtime Exceptions
  • 31
    Fun
  • 26
    Easy to understand
  • 20
    Correctness
  • 20
    Type safety
  • 14
    JS fatigue
  • 10
    Declarative
  • 10
    Ecosystem agrees on one Application Architecture
  • 8
    Friendly compiler messages
  • 6
    Welcoming community
  • 6
    Fast rendering
  • 5
    If it compiles, it runs
  • 4
    Stable ecosystem
  • 3
    'Batteries included'
  • 1
    Package.elm-lang.org
  • 1.6K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.1K
    Lots of great frameworks
  • 884
    Fast
  • 733
    Light weight
  • 412
    Flexible
  • 378
    You can't get a device today that doesn't run js
  • 280
    Non-blocking i/o
  • 230
    Ubiquitousness
  • 185
    Expressive
  • 49
    Extended functionality to web pages
  • 42
    Relatively easy language
  • 40
    Executed on the client side
  • 24
    Relatively fast to the end user
  • 20
    Pure Javascript
  • 15
    Functional programming
  • 9
    Async
  • 7
    Setup is easy
  • 6
    JavaScript is the New PHP
  • 6
    Full-stack
  • 6
    Because I love functions
  • 5
    Like it or not, JS is part of the web standard
  • 5
    Future Language of The Web
  • 5
    Can be used in backend, frontend and DB
  • 5
    Its everywhere
  • 5
    Expansive community
  • 4
    Everyone use it
  • 4
    Supports lambdas and closures
  • 4
    Love-hate relationship
  • 4
    Popularized Class-Less Architecture & Lambdas
  • 4
    Evolution of C
  • 4
    For the good parts
  • 4
    Easy to hire developers
  • 3
    Only Programming language on browser
  • 3
    Nice
  • 3
    Easy to make something
  • 3
    Promise relationship
  • 3
    Scope manipulation
  • 3
    Hard not to use
  • 3
    Client processing
  • 3
    Client side JS uses the visitors CPU to save Server Res
  • 3
    Stockholm Syndrome
  • 3
    Clojurescript
  • 3
    Easy
  • 3
    Can be used both as frontend and backend as well
  • 3
    Most Popular Language in the World
  • 3
    Versitile
  • 3
    No need to use PHP
  • 3
    Photoshop has 3 JS runtimes built in
  • 3
    Function expressions are useful for callbacks
  • 3
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 3
    Because it is so simple and lightweight
  • 3
    Its fun and fast
  • 3
    It let's me use Babel & Typescript
  • 3
    What to add
  • 3
    1.6K Can be used on frontend/backend
  • 3
    Powerful
  • 3
    It's fun
  • 3
    Everywhere
  • 3
    Agile, packages simple to use
  • 1
    JavaScript j.s
  • 1
    Acoperi葯ul 0757604335

Sign up to add or upvote prosMake informed product decisions

Cons of Elm
Cons of JavaScript
  • 2
    No typeclasses -> repitition (i.e. map has 130versions)
  • 2
    JS interoperability a bit more involved
  • 1
    Backwards compability breaks between releases
  • 1
    More code is required
  • 1
    Main developer enforces "the correct" style hard
  • 1
    JS interop can not be async
  • 1
    No communication with users
  • 21
    A constant moving target, too much churn
  • 20
    Horribly inconsistent
  • 14
    Javascript is the New PHP
  • 8
    No ability to monitor memory utilitization
  • 6
    Shows Zero output in case of ANY error
  • 5
    Can be ugly
  • 4
    Thinks strange results are better than errors
  • 2
    No GitHub
  • 1
    Slow

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

What is Elm?

Writing HTML apps is super easy with elm-lang/html. Not only does it render extremely fast, it also quietly guides you towards well-architected code.

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

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

What companies use Elm?
What companies use JavaScript?
See which teams inside your own company are using Elm or JavaScript.
Sign up for Private StackShareLearn More

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

What tools integrate with Elm?
What tools integrate with JavaScript?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

+6
3
1998
+12
5
3249
Oct 24 2019 at 7:43PM

AppSignal

+8
5
685
Oct 11 2019 at 2:36PM

LogRocket

+8
5
1511
Oct 3 2019 at 7:13PM

Ably Realtime

+8
4
3197
+4
7
928
What are some alternatives to Elm and JavaScript?
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
React
Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
PureScript
A small strongly typed programming language with expressive types that compiles to JavaScript, written in and inspired by Haskell.
ReasonML
It lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.It is powerful, safe type inference means you rarely have to annotate types, but everything gets checked for you.
Haskell
It is a general purpose language that can be used in any domain and use case, it is ideally suited for proprietary business logic and data analysis, fast prototyping and enhancing existing software environments with correct code, performance and scalability.
See all alternatives
Reviews of Elm and JavaScript
Review of
JavaScript

excellent!!

How developers use Elm and JavaScript
Andrew Faulkner uses
JavaScript

Almost the entire app was written in Javascript, with JSON-based configuration and data storage. The following components were written and/or configured with Javascript:

  • Most server-side scripts, all unit tests, all build tools, etc. were driven by NodeJS.
  • ExpressJS served as the 'backend' server framework.
  • MongoDB (which stores essential JSON) was the main database.
  • MongooseJS was used as the main ORM for communicating with the database, with KnexJS used for certain edge cases.
  • MochaJS, ChaiJS, and ExpectJS were used for unit testing.
  • Frontend builds were done with Gulp and Webpack.
  • Package management was done primarily with npm - with a few exceptions that required the use of Bower (also configured with JSON).
  • "Templating" was done with Javascript dialect JSX.
  • The frontend was build primarily with ReactJS (as the View) and Redux (as the Controller / Store / frontend model).
  • Configuration was done with json files.

The only notable exceptions were the use of SCSS (augmented by Compass) for styling, Bash for a few basic 'system chores' and CLI utilities required for development of the app (most notably git and heroku's CLI interface), and a bit of custom SQL for locations where the ORM extractions leaked (the app is DB-agnostic, but a bit of SQL was required to fill gaps in the ORMs when interfacing with Postgres).

OutSystems uses
JavaScript

Read more on how to extend the OutSystems UI with Javascript here.

OutSystems provides a very simple to use AJAX mechanism. However, developers can also use JavaScript extensively to customize how users interact with their applications, to create client side custom validations and dynamic behaviors, or even to create custom, very specific, AJAX interactions. For example, each application can have an application-wide defined JavaScript file or set of files included in resources. Page-specific JavaScript can also be defined.

Gorka Llona uses
JavaScript

This GNU/GPL licensed Javascript library allows you to draw complex organizational charts that can't be drawn using Google's tool or equivalents. Orgchart structures are specified with JSON and can be generated on-the-fly by server-side scripts and databases. Events can be attached to clicks over the boxes. Multiple options can be defined; look at the repo for examples. This 1300-code-lines software component with contributors from 8 countries (and others for which I have to integrate their works) appears in the first page of Google Search results when searching for "Javascript Organizational Chart Library".

Cloudcraft uses
JavaScript

JavaScript gets a bad rep, quite undeservedly so in my opinion. Today, JS is closer to functional languages than to the traditional-OO languages, and when used as such provides a great development experience. The pace of development is just picking up with transpilers like Babel making future advanced language features available to the masses today. At Cloudcraft.co, we write 100% of both the front-end (with React) and the backend (with Node.js) in Javascript, using the latest ES6 and even some ES7 features. This is not your grandfather's Javascript!

MOKA Analytics uses
JavaScript

The application front-end is written in JavaScript (ES6). We originally selected it over TypeScript because many library typings at the time were still flaky and the transpilation time was slow.

We are now re-considering TypeScript because 1) the tooling has improved significantly, and 2) and the root cause of the majority of our front-end bugs are related to typing (despite having PropTypes).

Tinkhaven uses
Elm

Frontend application