JavaScript vs Swift

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

JavaScript

224.9K
174.1K
+ 1
7.8K
Swift

13.5K
9.5K
+ 1
1.2K
Add tool

JavaScript vs Swift: What are the differences?

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

What is Swift? An innovative new programming language for Cocoa and Cocoa Touch. 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.

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

"Can be used on frontend/backend", "It's everywhere" and "Lots of great frameworks" are the key factors why developers consider JavaScript; whereas "Ios", "Elegant" and "Not Objective-C" are the primary reasons why Swift is favored.

Swift is an open source tool with 48.2K GitHub stars and 7.71K GitHub forks. Here's a link to Swift's open source repository on GitHub.

reddit, Slack, and StackShare are some of the popular companies that use JavaScript, whereas Swift is used by Slack, Lyft, and Zillow. JavaScript has a broader approval, being mentioned in 5034 company stacks & 6258 developers stacks; compared to Swift, which is listed in 979 company stacks and 526 developer stacks.

Advice on JavaScript and Swift
Sadie Flick
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

Generally speaking, what are the most important things you expect a junior developer to know and be able to do from day 1 in your respective tech stack? Firm grasp of OOP? SQL? MVC? ORM? Algorithms and Datastructures? Understanding CRUD & the request response cycle? Database design? framework familiarity? Postman? Deployment? TDD? Git? Language-specific knowledge? Other things?

See more
Replies (3)
Prashant Singh Ahluwalia
Head of Engineering - AIOps at Microsoft · | 4 upvotes · 3.1K views
Recommends
at

Start with building a solid understanding of computer science fundamentals. Understand the basics of building blocks - memory, processing, storage, networking. Understand what CPU bound, memory bound, I/O bound, network bound processes are. Understand the cost of accessing data from Memory vs. Disk vs Network. Understand how multiple CPU threads help in optimizing the performance of a single machine.

Build expertise on a programming language. You may pick any language of your choice. I would recommend starting with Java / Python. Make sure you know one language really well. Build a strong understanding of Data Structures and Algorithms. You should be able to develop an intuition on when to use what. You may practice DS and Algorithm problems, using the language of your choice, on a competitive coding platform (e.g. Leetcode) or by building your own App!

Next, get familiar with basic cloud computing and distributed system concepts. Here is a good resource for that - https://www.youtube.com/watch?v=p7NkTUyEE1o&ab_channel=JeffreyRichter If you understand the computer science fundamentals well, you will be able to apply those concepts here as well.

Hope it helps!

See more
Recommends

Ability to read code and willingness to try to reason flow of operations and information. Tools and technologies change, one doesn't need to have them in toolbelt from day one. All things you name are relevant in some contexts, so it's not bad to understand them.

See more
Luan Himmlisch
Recommends

Just learn to learn. Learn to search and develop your logical thinking, that's all you need. No books, no deep study of how computers work, just logic and willingness to learn

See more
Adit Patel
Needs advice
on
SwiftSwift
and
RustRust

Hey there, we are looking to develop our own layer 1 blockchain. We're splitting the responsibilities for origination, clearing, and settlement across three independent but cooperating node networks. We've gotten our Proof of Concept up using Ruby on Rails for the nodes, you can see it as the attached link. So far, so good. Now we are looking to convert it into a distributable and are trying to figure out which language is the best for this.

Essentially our needs from the language are: solid networking tools and speed, very fast execution of basic actions, some parallel execution, and able to compile the end product into an easy to distribute and use package for end users.

I was learning Rust, but I have a healthy amount of experience with Swift and right now, it's only me coding. I've only done iOS coding, but have built a fintech app from scratch that's now in the app store so I'm pretty familiar with the language and its benefits. Haven't experimented with Vapor or any of the application development tools, and I wanted to know if it is a crazy idea to develop a blockchain node in Swift instead.

See more
Replies (2)
Recommends
RustRust

Pick Rust. Rust can provide all what you need and has been a major language in blockchain/cryptocurrency industry. Swift is slower than Rust and does not have such support in the networking and domain field. Swift tooling is great only on macOS, therefore you are likely to have troubles on other platforms.

See more
Peter Suwara
Director at Realityworks · | 5 upvotes · 20.2K views
Recommends
SwiftSwiftGoGoC++C++

You can use swift of course. It’s more of a question of being performant.

You really want to try some basic operations and find what’s most performant for you.

Rust is wonderful for cloud applications requiring heavy concurrency, it has compile time checking for such things.

Go and C++ could be more performant in your case. Swift is really quite an obtuse language, with a lot of features, some which may complicate your implementation.

Also, you want to consider the market of developers who could help build it. If you use Go or C++ there is a larger collection of people who know the languages than there is with swift.

See more
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

I'm making my university community web service with a team. (6 members myself included)

And we decided to use JavaScript, HTML, CSS (for sure, it's the basic of websites) but couldn't decide for the back end part.

There are tons of languages, tools, etc., but I'm really new to programming, so I'd like to get some help to figure out what tools we need.

So my question is this: are there any good examples of web community services we can mimic the tools or get an insight from them?

See more
Replies (6)
Recommends
PythonPythonDjangoDjango

Since you're following Python, I would recomend using Django as your main back-end language. If you know Python it would be a great experience. Django is well documented on their official website: https://www.djangoproject.com/ I would also use React for front-end as well. Also this article is worth reading, I think progressive web app is something worth learning these days: https://web.dev/progressive-web-apps/ Hope that helps :)

See more

Since your team is already using JavaScript, there's a great number of examples for backend services written with NodeJS. I'd recommend using Firebase, or any backend as a service (you can use that term to find alternatives), for setting up your backend as it is much easier for newer people to understand and lets you focus on your core application logic, and not provisioning servers, databases, etc.

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 72.7K views
Recommends
JavaScriptJavaScript

Since you're team is already using JavaScript, there are alot of examples and open source projects written with NodeJs, so I preffer this language in your backend application and also I am recommended using Mongo DB with It for saving data in it, and also for your frontend application I am recommanded using VueJs.

See more
Hüseyin Özkılıç
Senior Full-Stack Developer at RADSoft · | 1 upvotes · 72.7K views

Make it simple, most of projects doesnt need a AI, ML or big algorithms. If your project just serving end users take it to the web ready compatible. (Javascript, .Net, PHP Laravel)

See more
Jamal Abdinasir
Product manager at abdinasirjamal171@gmail.com · | 1 upvotes · 73.1K views
Recommends

Kindly I don't find any help that solve this mystery I need more help if it will happen

See more
Nash Nziramasanga
Software Developer at Billow Software · | 1 upvotes · 72.7K views

Since you are already using JavaScript on the front end it would be easy to adopt the MERN (MongoDB, Express, React, NodeJS) stack which s all javascript based making it easy to transfer knowledge with the backend and front end

See more
Needs advice
on
PythonPythonJavaScriptJavaScript
and
C++C++

Hello, I am interested in learning how to program. I am a beginner, and many articles saying I should go with Python if I am new to programming. I considered Lua a long time ago, but for my career, I believe major programming languages should be better for me. I'm considering Python at this moment, but if you have other tools I should use, let me know.

See more
Replies (2)
Recommends
JavaJavaC#C#C++C++CC

The language you choose is also dependant on the type of career / area of programming you wish to focus on: Web Based and mobile applicaitons I would lean towards Java, PC Applications I tend to like C#, Embedded industry C, C++

See more
anas mattar
Technical Lead at DPO International · | 2 upvotes · 49.6K views
Recommends

my advice , you should answer me for this question, what do you like to work: web base or mobile native or cross platform. if you like web base you should choose PHP or ASP.net or Node.js or if you like mobile native you should decide Android or IOS platform and else if you like cross platfrom you should learn Flutter with dart language. thanks

See more
Needs advice
on
PHPPHPJavaScriptJavaScript
and
JavaJava

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 (6)
Stephen Gheysens
Senior Solutions Engineer at Twilio · | 14 upvotes · 367K views
Recommends
JavaScriptJavaScript

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
JavaScriptJavaScript

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
PHPPHPJavaScriptJavaScript

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 · | 4 upvotes · 73.9K 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
Brandon Miller
Recommends

For just a time tracker app? I'd recommend going with a cloud-based approach. A couple serverless functions in whatever language you choose, and the front end can be a static website hosted inside a storage service (blob for Azure, bucket for AWS, etc). This will ultimately probably save you a little time, and them a little money on hosting.

See more
pramod shirsath
Founder at Supra Software Solutions · | 2 upvotes · 74K 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
Needs advice
on
ReactReactJavaScriptJavaScript
and
C#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 · 63.2K 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
Kudos Beluga
Recommends
Node.jsNode.jsF#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
Hameed Moshood
Recommends
C#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
Ross M.
System Architect at MomentFactory · | 2 upvotes · 50.7K views
Recommends
JavaScriptJavaScriptC#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
Needs advice
on
PythonPythonJavaScriptJavaScript
and
C++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 · 108.6K views
Recommends
PythonPython

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
JavaScriptJavaScript

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
PythonPythonFlaskFlask

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
Recommends
JavaScriptJavaScript

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
WordPressWordPress

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
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
Needs advice
on
SwiftSwiftReactReact
and
JavaScriptJavaScript

Hey guys, I learned the basics (OOP, data structures & some algorithms) with Python, but now I want to learn iOS development. I am considering to learn Swift, but I am afraid how the native mobile development will die out because of the cross-platform frameworks and reviews. My idea is to learn web development first and then learn React Native, and after all of that, finally Swift. What do you think about this roadmap? Should I just learn Swift first due to the pros of the native apps?

See more
Replies (6)
Recommends
SwiftSwift

Native apps are not going to die. Especially not Swift because now Swift can be used to develop cross platform macOS and iOS apps due to the new macs having M1 chips.

See more
Recommends
SwiftSwift

If asking about employment opportunities, native will never die out. There will always be opportunity for work in native mobile applications. There are also many advantages of using native over cross platform such as always having access to the latest APIs and developer libraries that may not be available to cross-platform without some native development involved or can wait until someone develops a bridge for you.

If you are asking about what you should develop with first? It really depends. React-Native is great for building proto-types or basic MVP application that doesn't require any of the latest and greatest features Apple has to offer at the moment. But if you're asking what to learn? I would say native will always give you a larger advantage as it will give you a good foundation in mobile development and provide you access to the latest native libraries. It is also a useful skill that can give you an edge in cross-platform mobile like react-native because you will most definitely encounter a situation where you will have to go down to the to native side to extend functionality or utilize APIs that are not yet out of the box.

See more
Recommends
SwiftSwift

I would suggest to bet more on Swift! I have developed act in React and Javascript in the past and played around with Swift a little... the performances of native code vs Javascript are way too slow compared to swift native app!

Now even more than ever M1 chip will give a boost, but if it gives a boost to JS it will give a boost also to native apps. I would seriously consider Swift more than Javascript, React or even Electron!

See more

The decision comes down to your goals and needs.

If you want to be able to create any kind of iOS app, simple or complex, learn Swift. It's indispensable if you're building specialised apps like video editing, augmented reality, machine learning or anything that uses iOS-specific APIs such as App Clips.

But if you just want to create apps that make HTTP requests and display static content such as text or basic video and music, React Native would do just fine, and you can publish the same code to Android. This is a no-brainer choice if you're on a low budget.

And if you know both, you can use both in the same app. You can add React Native screens or components inside a Swift app.

See more
Noel Broda
Founder, CEO, CTO at NoFilter · | 4 upvotes · 20.1K views

"Should I just learn Swift first due to the pros of the native apps?". React Native builds Native Apps. Technologies like ionic does NOT build native apps, but React Native does it.

Learning Swift seems to be a really bad idea from my point of view. Learning JavaScript is all what you need. Why? Because then Frontend, Backend, and Mobile Dev, is simple, because it's all JavaScript.

See more
Carlos Iglesias
Recommends

Mobile Native Development Apps will never die. Cross Plataform like React Native only exists to save time and costs for startups mainly, which is extraordinary, and indispensable often of course. But when the App get popular enough, it will probably will move to Native Development. Several improvements.

See more
Needs advice
on
PythonPythonJavaScriptJavaScript
and
JavaJava

I am new to programming and am a university student. While Computer Science is not my area of study, I am majoring in a subject that branches off computer science and health informatics, which deals with databases. I am currently in a programming fundamentals course at my university. My instructor mentioned that he develops in Java, but I have heard many good things about Python and JavaScript before taking his course; while we are only doing the fundamentals, I believe he is teaching us some in Java.

Since I am new to this, I'm not sure what I like more. I have also been self-teaching before this course but have not gotten deep into a particular language's fundamentals. I want to decide on a language and stick to it before I move to a new one after the first language is learned, but it is difficult deciding which language to start with. I want to develop medical software and medical mobile apps.

See more
Replies (10)
Dimelo Waterson
Recommends
JavaJava

There's a reason many universities start with Java- it has strict rules and lays out code in a straightforward (if excessively-boiler-plate-heavy) way. For a beginner, Java is an excellent way to learn the fundamentals of programming before taking off the training wheels and continuing in more flexible, less-syntactically-rigorous direction like Python or JavaScript.

Sticking to a language before moving on is a common goal. However, in reality you are going to transition as you find languages that better suit you or your organization's requirements. Start with Java, not because it is optimal for your end goals, but because it will teach you what you like and dislike about programming and because your instructor is more familiar with it. That will give you a valuable perspective and allow you to make a more informed decision later.

There are many ways to solve problems in different languages, but the "best" language pragmatically is the one that you feel most comfortable using. In that respect, programming is like woodworking- you want to let the tool do the work. If there is another language that is "better" objectively but more difficult or confusing to you, you will counteract the anticipated benefits by having to struggle to write code.

See more
Recommends
JavaJava

The only way to solve this problem while avoiding opinions and tastes is to objectively look at what you are trying to build.

Thus the most efficient part of your question is your last sentence: you want to build medical software and medical mobile apps.

In that case, the answer is definitely Java, as is for all "real" software projects.

Python is good for data science, in other words for statistics. Its other competitive advantage is that it is easy to learn for beginners, but that would be a bad reason to use it for a "real" software project.

JavaScript is a mess you don't want to get into. The major reason why it's popular is that many people learn it first, because its very basic features are easy to learn, although they don't get you far, and because it used to have exclusivity on the web. But in reality it will make your life a lot harder after a few weeks, without any benefit. I know I'll get criticisms for that, but I stand fully by this position.

See more
Recommends
PythonPython

try with python because easy ... its good for u when u are learning basic's and they have many library that help's u with mobile app and desktop application but it is not the best ... when u are learn programming will with python then start with js basic's and then (react native) or flutter and also u can use java for mobile development bur i recommend first choices ..and for Desktop application java is have an amazing library (java fx ) for this type of application's and C# is one of most powerful language's for software development . good luck

See more
Taimoor Mirza
Associate Software Engineer at Intech Process Automation · | 4 upvotes · 82.5K views
Recommends
PythonPythonJavaJava

Since you're already taking a CS course which involves Java, I would recommend you to keep learning it. Java's statically typed & OO nature forces you to learn a lot of important yet common programming fundamentles. C++, C# and Java type languages also force you write code more carefully (you have to think about the data types on your own and even allocate/de-allocate memories [C++ pointers]). That's why colleges prefer it as go to language for teaching CS concepts.

On the other hand, JS, Python and other such languages are dynamic in nature and hence, easy to learn. But you can't learn certain concepts (polymorphism, abstract classes, diamond problem etc) using these languages. So it makes sense to stick with Java in your case.

See more
Recommends
JavaJava

Since your instructor is using Java, i'd start with Java. If you want to get into mobile development, I'd check out flutter / dart. Good luck!

See more
Recommends
PythonPythonJavaJava

While I've seen many people recommend Java (and I agree with them), I think you can learn both. But it depends on how much time you got. I recommend you first learn Java. Then python will be easy to learn, and focus mainly on modules for graphs. The reason why I recommend to learn both is because python is much better and easier to code about statistical analysis. But again do this only if you have time to just learn them.

If your project doesn't have anything to do with statistics and data analysis (I'm pretty sure you do though), learn only java. Also if you are wondering why I never mentioned JavaScript (JS), it's because i really don't recommend it. JS is much harder to learn and requires a lot of lines of code to do simple things.

See more

My advice to anyone learning to program is to not obsess on the language.. You SHOULD learn all languages.. Same as learning human spoken languages - the more you learn, the more ways your mind can interpret a new problem set. Learning them at the same time isn't a big deal (just like growing up in a bilingual home). Your language and your software stack are guaranteed to change 3 times in your career. Don't assume you're going to choose the "right one". And you wont waste any time learning one you never wind up using.

As a person who works on linux and OSX desktops, I have a personal bias against working for companies and software stacks that require C# or Visual Studio. But this is not due to their technical merits, but instead the OS as a platform condusive to efficient CLI toolchains and container management. But aside from that, I can use vi/IntelliJ-suite to write most languages, so language isn't a real concern. If you're windows bound, pretty much everything is available to you (through VMs and docker).

Ideally you do at least SOME full stack development learning. This means you'll need javascript, and thus nodejs would be a good stack to learn. If you ultimately like gaming or 3D, you might need C# and certainly python.

Any AI (which is a hot employment topic for the forseeable future) would like python skillz.

I personally love Java (and Android's Kotlin varient) for it's very very well designed multi-threaded libraries. go and rust are newer and thus do a slightly better job at this, but due to the open-source nature of java and editors that auto-reveal function call source code, it's very easy to learn how vendors implemented MT code and various other algorithms. Python should be equally "open" to 3rd party library review (and thus again how they solve complex problems), though a lot of times, I see python resorting to compiled C-libraries (and thus the cost to crack open the code and or trace through the code becomes too burdensome to bother).

See more
Srikanth Gopalakrishnan
WIreless Security Intern at Aruba Networks · | 2 upvotes · 85.1K views
Recommends
PythonPythonJavaJava

Although java seems to be a good fit for you. It is a cumbersome language to get started out. It will be far easier for you to learn Python and stick with it long term. This is due to the fact you will be easily able to google things for python and you will spend less time learning the language, and more time using it to do what you want.

Making mobile apps is easier with Java due to the fact that google does not directly support app building with python. If this is your biggest priority stick with Java.

Javascript: This language is the best language to learn if you are making a website. However, for easy of use you can do all the database access stuff with python. And send back the data to your website. Javascript is also another cumbersome language in my opinion.

Each language has its use. If I were In your situation, I would choose the language that's easy to start with.

See more

There is always trade off between them. If you want to make mobile app JavaScript is better. I suggest start the one you feel more close and learn all of them :) You are quite young you have enough time for them.

See more
Recommends
JavaJava

It would be great if you first go with Java. It could give you complete understanding of programming concepts. Such as data types. Later you can move to Python , which is great for data processing and Machin learning stuff.

See more
Needs advice
on
JavaScriptJavaScript
and
Java EEJava EE

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

See more
Replies (2)
Joshua H

They have nothing in common except the name Java. J2EE is the enterprise edition of Java and JavaScript is a web-based programming language without typing etc. There are a lot of differences between them and they serve very different purposes. If you want to get into web development learn JS, if you want to get into e.g. android development go for Java.

See more
Recommends
Java EEJava EE

Java EE is an Enterprise environment based on the Java language. Javascript is a language originally developed for use in web browsers. Javascript and Java are not the same language. Not even close. They share no history. All they have in common is the first four letters of there name. You can use Javascript as part of the web ui for a Java EE application, but in that case the Javascript files are just payload to the Java EE application, on a par with a plain HTML file. They get sent to the user's browser, which is where the Javascript would execute.

If you really only want to learn the one language and don't need the Enterprise features of Java EE then consider Node.js, which uses Javascript on both the server and the client. I've not used that myself, however.

See more
Decisions about JavaScript and Swift
James Bender
Lead Application Architect at TekPartners · | 4 upvotes · 2.5K views

I've yet to see a non-native application that I felt performed as well and/or provided the same user experience with Cordova/PhoneGap/Xamarin. Frankly, at best they all seemed like underpowered web applications deployed to a sandbox that ran on a phone. They didn't feel "slick" or "mobile-first" and in some cases the performance was unacceptable. At previous companies, we built a few of these apps at the client's insistence, and in every case, they re-engaged us about 18 months later to re-write the app(s) natively.

We are doing some research on React Native and Flutter, but I am not yet convinced that they can provide the same level of experience and performance as native, though I am trying to keep an open mind.

See more

Python will be used in order to train machine learning models from our data. We chose python for this task because it is the most common language for machine learning. It has very performant libraries like numpy and scikit-learn that provide functionality for manipulating data and creating models that you cannot get in other languages like JavaScript and Java. Additionally, it is the most familiar language for us to use for machine learning because almost every machine learning course teaches ml using python.

See more

Javascript will be used for both our frontend and backend on the web service. JavaScript is ubiquitous as the language to use for the frontend. For the backend, we decided to create our server using JavaScript because of its easy setup; using Express we can create a server in just a few short lines of code. It is simple not only to run the server locally, but to host it as well because any major service will support the language. JavaScript is a simple language to code in and familiar among our team members, so using it will help speed up development. Using JavaScript allows us to use NodeJS and npm, so we can use packages to easily set up the server, connect to a database and other convenient utilities. We also considered Python for our server. It is also very simple to create a server in Python, especially using flask. However, the extra familiarity with the JavaScript language and the ease of using packages were enough for us to pick JavaScript as our language of choice.

See more

Python: The top language in machine learning area because of the various open-source libraries. Our company will rely on open-source libraries for development as well.

Amazon EC2: Training machine learning model needs to be running on independent 3rd party computing resources. AWS EC2 can provide a variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API endpoint.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

Python: Top one language in machine learning area because of the various open source libraries. Our company will rely on the open source libraries for development as well.

Amazon EC2: Training machine learning model needs to be ran on independent 3rd party computing resources. AWS EC2 can provide variety of virtual computing resources based on what users need.

React+Javascript: React is popular and everyone in the team is familiar with it. React is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications.

ExpressJS: Everyone in the team has used expressJS for development. It can create server-side web applications faster and smarter.

Amazon RDS: relational database service and free to use

Postman: Tool for the team to test API end point.

Circle CI: is lightweight and open. Therefore for faster deployment jobs, one can execute their codes on CircleCI as it deploys on scalable and robust cloud servers.

Docker: Easily pack, ship, and run any application as a lightweight, portable, self-sufficient container, which can run virtually anywhere

Github+Git: Julian is from Github so no other choice for us 😎

Slack: Everyone likes it and it's free

See more

2 major challenges for which JS comes as a handy tool, 1st its integration with AWS SDK was at par as Python and .net and the solution comes to hand with the reverse proxy solutions for the application to be running as an instance taking the situation of inside organization demography of resources expertise over the technology.

See more
Ismael Ghanim
Senior Mobile Engineer at Homecoming · | 5 upvotes · 44.8K views

We chose React Native over native Android and iOS development because of React Native's cross-platform capabilities. React Native has really matured over the years, developing a native feel, with simple and intuitive APIs. The community is also huge, filling in any gaps in the default APIs. These are also the reasons why we didn't choose other hybrid mobile tools. Largely, other hybrid mobile tools don't have the same mobile feel and close connection to the underlying mobile APIs.

At a larger scale, the control that native development offers beats React Native's simplicity. However, at this early stage, it's worth the trade-off. Maintaining two mobile teams and two mobile apps, as we iterate the product rapidly would not be practical. Plus, there is always the escape hatch of native modules if more control is needed.

See more
Gabor Galazzo

As a startup, we need the maximum flexibility and the ability to reach our customers in a more suitable way. So a hybrid application approach is the best because it allows you to develop a cross-platform application in a unique codebase. The choice behind Ionic is Angular, I think that angular is the best framework to develop a complex application that needs a lot of service interaction, its modularity forces you (the developer) to write the code in the correct way, so it can be maintainable and reusable.

See more
Lucas Litton
Founder & CEO at Macombey · | 7 upvotes · 38.4K views

Expo was a tool Macombey really wanted to utilize from the beginning. I have been working with React Native since 2016 and originally I had to use simulators in Xcode, install pods on top of node packages, configure certificates, and more abundant objectives that take time away from actual development. As a development studio, we have to move quick and get projects to our clients and partners in a matter of months.

Expo made this easy for us. We now have a mobile app for clients to download and test their project on, there is no need to install pods or configure Xcode, and development is super fast and reliable now.

See more
Alexandre Desroches
Founder & Developper at Finance D · | 52 upvotes · 115.4K views

I had a goal to create the simplest accounting software for Mac and Windows to help small businesses in Canada.

This led me to a long 2 years of exploration of the best language that could provide these features:

  • Great overall productivity
  • International wide-spread usage for long-term sustainability and easy to find documentation
  • Versatility for creating websites and desktop softwares
  • Enjoyable developper experience
  • Ability to create good looking modern UIs
  • Job openings with this language

I tried Python, Java, C# and C++ without finding what I was looking for.

When I discovered Javascript, I really knew it was the right language to use. Thinking of this today makes me realize even more how great a decision this has been to learn, use and master Javascript. It has been a fun, challenging and productive road on which I am still satisfied.

Obviously, when I refer to Javascript, it is not without implying the vast ecosystem around it. For me, JS is a whole universe in which almost every imaginable tools exist. It's awesome - for real. Thanks to all the contributors which have made it possible.

To be even clearer about how intense I am with Javascript, let's just say that my first passion was music. Until, I find coding with Javascript! Yep, I know!

So in conclusion, I chose Javascript because it is versatile, enjoyable, widely used, productive for both desktop softwares and websites with ability to create modern great looking user interfaces (assuming HTML and CSS are involved) and finally there are job openings.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of JavaScript
Pros of Swift
  • 1.6K
    Can be used on frontend/backend
  • 1.5K
    It's everywhere
  • 1.1K
    Lots of great frameworks
  • 887
    Fast
  • 736
    Light weight
  • 416
    Flexible
  • 383
    You can't get a device today that doesn't run js
  • 284
    Non-blocking i/o
  • 233
    Ubiquitousness
  • 188
    Expressive
  • 51
    Extended functionality to web pages
  • 44
    Relatively easy language
  • 42
    Executed on the client side
  • 26
    Relatively fast to the end user
  • 22
    Pure Javascript
  • 17
    Functional programming
  • 11
    Async
  • 8
    Setup is easy
  • 7
    Because I love functions
  • 7
    JavaScript is the New PHP
  • 7
    Like it or not, JS is part of the web standard
  • 7
    Its everywhere
  • 7
    Full-stack
  • 6
    Expansive community
  • 6
    Future Language of The Web
  • 6
    Can be used in backend, frontend and DB
  • 5
    Evolution of C
  • 5
    Everyone use it
  • 5
    Love-hate relationship
  • 5
    Easy to hire developers
  • 5
    Supports lambdas and closures
  • 5
    Agile, packages simple to use
  • 5
    Popularized Class-Less Architecture & Lambdas
  • 5
    For the good parts
  • 4
    Everywhere
  • 4
    Hard not to use
  • 4
    Promise relationship
  • 4
    Scope manipulation
  • 4
    It's fun
  • 4
    Client processing
  • 4
    Nice
  • 4
    Easy to make something
  • 4
    Can be used on frontend/backend/Mobile/create PRO Ui
  • 4
    Easy
  • 4
    Photoshop has 3 JS runtimes built in
  • 4
    Can be used both as frontend and backend as well
  • 4
    Most Popular Language in the World
  • 4
    It let's me use Babel & Typescript
  • 4
    What to add
  • 4
    Clojurescript
  • 4
    Function expressions are useful for callbacks
  • 4
    No need to use PHP
  • 4
    Its fun and fast
  • 4
    Powerful
  • 4
    Versitile
  • 4
    Client side JS uses the visitors CPU to save Server Res
  • 4
    1.6K Can be used on frontend/backend
  • 4
    Stockholm Syndrome
  • 3
    Because it is so simple and lightweight
  • 3
    Only Programming language on browser
  • 2
    JavaScript j.s
  • 2
    Acoperișul 0757604335
  • 251
    Ios
  • 176
    Elegant
  • 124
    Not Objective-C
  • 105
    Backed by apple
  • 91
    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
    Linux
  • 11
    Dynamic
  • 10
    Promotes safe, readable code
  • 9
    Protocol-oriented programming
  • 8
    Explicit optionals
  • 8
    No S-l-o-w JVM
  • 6
    Storyboard designer
  • 5
    Best UI concept
  • 5
    Optionals
  • 5
    Type safety
  • 5
    Super addicting language, great people, open, elegant
  • 4
    Its friendly
  • 4
    Powerful
  • 4
    Fail-safe
  • 4
    Highly Readable codes
  • 4
    Faster and looks better
  • 4
    Swift is faster than Objective-C
  • 4
    Feels like a better C++
  • 3
    Its fun and damn fast
  • 3
    Easy to learn and work
  • 3
    Much more fun
  • 3
    Protocol extensions
  • 3
    Native
  • 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
    Actually don't have to own a mac
  • 1
    Can interface with C easily
  • 1
    Numbers with underbar
  • 1
    Optional chain
  • 1
    Runs Python 8 times faster
  • 1
    Free from Memory Leak
  • 1
    Swift is easier to understand for non-iOS developers.
  • 1
    Great for Multi-Threaded Programming
  • 1
    Objec

Sign up to add or upvote prosMake informed product decisions

Cons of JavaScript
Cons of Swift
  • 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
  • 5
    Must own a mac
  • 2
    Memory leaks are not uncommon
  • 1
    Its classes compile to roughly 300 lines of assembly
  • 1
    Complicated process for exporting modules
  • 1
    Very irritatingly picky about things that’s
  • 1
    Is a lot more effort than lua to make simple functions
  • 0
    Overly complex options makes it easy to create bad code

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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.

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

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

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

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

What tools integrate with JavaScript?
What tools integrate with Swift?

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

Blog Posts

May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
3
2369
JavaScriptGitHubReact+12
5
3531
Oct 24 2019 at 7:43PM

AppSignal

JavaScriptNode.jsJava+8
5
733
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
1587
Oct 3 2019 at 7:13PM

Ably Realtime

JavaScriptPythonNode.js+8
4
3263
JavaScriptPythonPubNub+4
7
965
What are some alternatives to JavaScript and Swift?
TypeScript
TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.
Node.js
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.
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.
CoffeeScript
It adds syntactic sugar inspired by Ruby, Python and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and de-structuring assignment.
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