Python vs R Language

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

Python

245.3K
200.3K
+ 1
6.9K
R Language

3.2K
1.9K
+ 1
416

JavaScript vs Python vs R: What are the differences?

Introduction

In this article, we will explore the key differences between JavaScript, Python, and R programming languages. Each of these languages has its own unique features and use cases. Let's dive into the differences between the three languages.

  1. Execution Environment: JavaScript is primarily used for client-side web development and runs in a web browser. Python is a general-purpose language that can be used for a wide range of applications and it requires an interpreter to execute the code. R, on the other hand, is a language specifically designed for statistical computing and graphics and it also requires an interpreter.

  2. Syntax and Coding Style: JavaScript is a dynamically typed language with C-style syntax. It uses curly braces { } to define blocks of code and semicolons ; to separate statements. Python has a clean and readable syntax with significant whitespace. It uses indentation to define blocks of code and does not require any semicolons at the end of statements. R has a syntax similar to the S programming language and it uses <- as an assignment operator instead of =.

  3. Application Domains: JavaScript is widely used for web development and can be used to create interactive web applications, build user interfaces, and manipulate web elements. Python is a versatile language used in various domains such as web development, data analysis, machine learning, and artificial intelligence. R is predominantly used for statistical analysis, data visualization, and research in the field of data science.

  4. Community and Libraries: JavaScript has a large and active community with an extensive collection of libraries and frameworks like React, Angular, and Node.js, making it easier to build complex web applications. Python also has a strong community support and a rich ecosystem of libraries and frameworks such as Django, Flask, and NumPy, which are widely used in web development and data analysis. R, although it has a smaller community compared to JavaScript and Python, has a specialized set of libraries like ggplot2 and dplyr that are specifically designed for statistical analysis and data visualization.

  5. Error Handling: JavaScript follows a traditional try-catch exception handling mechanism. It allows developers to catch and handle exceptions using try-catch blocks. Python also uses try-catch blocks for exception handling, but it has a more comprehensive error handling mechanism with the ability to define custom exceptions. R mostly relies on the if-else statements for error handling and it doesn't have specific built-in exception handling mechanisms like try-catch.

  6. Performance and Scalability: JavaScript is known for its speed and performance, especially in web browsers, allowing for smooth user experiences. Python, although slower than JavaScript for certain tasks, has powerful libraries like NumPy and Pandas that enhance its performance in data analysis tasks. R, being a specialized language for statistical computing, is highly optimized for data manipulation, analysis, and visualization, providing excellent performance in its domain.

In summary, JavaScript is widely used for web development, Python is a versatile language suitable for various domains including web development and data analysis, and R is a specialized language specifically designed for statistical computing and graphics. Each language has its own syntax, application domains, community support, error handling mechanisms, and performance characteristics that make them unique and suitable for different purposes.

Advice on Python and R Language
Needs advice
on
ElixirElixirGolangGolang
and
PythonPython

Hi! I'm currently studying Flutter for mobile apps, but I also have a demand to automate some tasks on the web and create backends' for my apps, so thinking about which one of those could be better? Considering the performance and how easy it's to learn and create stuff? (I'm already familiar with .NET stack but want something more "simple" to write)

See more
Replies (4)
Amit Mor
Software Architect at Payoneer · | 5 upvotes · 219.8K views
Recommends
on
PythonPython

Definitely Python. Lots of libraries, dead simple syntax. Lots of code examples and reference projects. Elixir is pure functional and takes time to grasp the concepts. Go is great, with simple syntax and performant runtime, but more strict as it is statically typed. For quick coding, nothing beats Python. As you come from .net I’d consider similar approach and be considering Java with SpringBoot as it makes Java faster and much more fun to code web servers

See more
Recommends
on
ElixirElixir

Elixir really has a good performance for the web (and in general). Its framework Phoenix for the web is a great tool, easy to install and to use, with features for websockets (and Pub/Sub) or LiveView to write reactive and real time app with only HTML (and Elixir) so basically everything is in one place

It can take some time to learn a few things in Elixir but I really think it's worth it, and it's very easy to go distributed and concurrent with Elixir. Also it's easier to code quickly with some features like the pattern matching or some operators like the pipe or the capture one

And in the case you need it you can still connect and interface Python and Elixir pretty quickly, and now Elixir has a lot of different frameworks : web, embedded or even neural networks now

Never went far with Go but I have some trouble with its syntax, I find it a bit messy

I don't have a lot of experience with the web with Python but I don't have a good experience with the little I did

See more
Recommends
on
GolangGolangPythonPython

Judging your previous experience we will benefit from Golang in terms of portability and speed. If you want to go simplier use Python. If it's only scripts use Python.

See more
Shivam kr Shiv

Hey Vitor, You can use Node and Express JS to create a backend for your app. You can create REST APIS to connect your front end with the backend. It is a very simple and scalable solution for building backend web apps.

See more
Needs advice
on
JavaJavaJavaScriptJavaScript
and
PythonPython

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
on
DjangoDjangoPythonPython

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 · 245.5K views
Recommends
on
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
Nash Nziramasanga
Software Developer at Billow Software · | 1 upvotes · 245.3K 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
Jamal Abdinasir
Product manager at abdinasirjamal171@gmail.com · | 1 upvotes · 245.7K views
Recommends

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

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

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
Needs advice
on
C++C++JavaScriptJavaScript
and
PythonPython

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 (3)
Pat Fitzner
Recommends
on
PythonPython

Although Lua is a very simple,efficient, elegant and welcoming language, Python is extremely versatile. Therefore, if you want to get into programming without a defined direction, Python is the way to go. It has a lot of libraries, the ability to do anything and it is closer to other languages than Lua is (yeah I know about Lua and C, but from a learner's point of view, it makes sense). Additionally, Python will be a marketable skill, but I for one have not yet seen job offers for Lua devs.

See more
Recommends
on
C langC langC++C++C#C#JavaJava

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 · 222.9K 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
JavaJavaJavaScriptJavaScript
and
PHPPHP

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
Lead Solutions Engineer at Inscribe · | 14 upvotes · 1.8M views
Recommends
on
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
on
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
on
JavaScriptJavaScriptPHPPHP

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 · 241.7K 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 · | 2 upvotes · 241.7K 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
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
Brayden W
Needs advice
on
GolangGolangPythonPython
and
RustRust

Hey, 👋

My name is Brayden. I’m currently a Frontend React Developer, striving to move into Fullstack so I can expand my knowledge.

For my main backend language, I am deciding between Python, Rust, and Go. I’ve tried each of them out for about an hour and currently, I like Python and Rust the most. However, I’m not sure if I’m missing out on something!

If anyone has advice on these technologies, I’d love to hear it!

Thanks.

See more
Replies (4)
Recommends
on
GolangGolangPythonPython

Rust is still in low demand. It's a great language but you'll have a hard time finding jobs. Go is the mix of both Rust and Python. Great language with modern features, fast, scalable, fun to write, and at the same time it has high demand (not as much as python).

Python on the other hand is a language that you can't go wrong with. Look around you and see what your job market prefers. If there isn't much difference to you personally, pick the one with more demand.

See more

All of these are solid options, however considering your expertise currently, I would probably suggest Node.JS considering your past experience with JS. However Python offers a similar development environment to JS in my opinion, and Go is a good sort of intermediate between Rust and Node.JS and Python. It's fast, but not as fast as Rust, and offers a development experience that combines C-styled languages (like Rust), and Python-y languages... So: Rust for the fastest, Node for familiarity, Python for ease of development, and Go for a good middle ground. I have used all in personal projects... If you use Go, I suggest a easy to use web server framework like Fiber.

See more
Akihito KIRISAKI
Recommends
on
PythonPythonRustRust

Rust is a challenging choice, but worth to be chosen. It has strong memory-safety and type-safety, this gives you no bother about those errors. However, static typing languages often slow our developing speed down in early stage. In that case, it's effective to write prototype in an easy language like Python, and rewrite it in a hard language. It's important not to be afraid to throw away first code you write.

See more
Donald Tran
Software Engineer at T-Mobile · | 3 upvotes · 412.5K views
Recommends
on
RustRust

The other answers are excellent, but I want to be a bit of a contrarian and say you should learn Rust. While the number of jobs for it are (relatively) low(er), it is certainly expanding and you'd be surprised at which companies do use Rust (Discord, for example, is starting to move away from Golang to Rust!).

But the main reason is that learning Rust itself will teach you a lot about systems design (/backend) because of its borrow checker. You can try out a lot of ideas and make a lot mistakes and the borrow checker will always be there guide you to a better solution (thereby teaching you in the process).

Also, I wouldn't underestimated how important managing memory (and memory safety) is. While Golang is great in some ways, it doesn't protect you from pushing memory leaks into production. And eventually you'll come upon a scenario where you'll have to make your Python code run faster and the optimizations you'd have to do won't look pretty (or be very Pythontic).

And Rust is freakin fast! If you have Rust, you wouldn't need any other language for the backend (or any other systems level code). Check this blog post: https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f?gi=dd8bc5d669d. Discord found that even after spending months optimizing Golang code it still wasn't fast enough. But unoptimized, first-draft Rust code was (is) faster by an order of magnitude!

See more
piusha kalyana
Senior software engineer at Getir · | 13 upvotes · 380.8K views
Needs advice
on
GolangGolangPHPPHP
and
PythonPython

Hi

I want to build a tool to check asset availability (video, images, etc.) from third-party vendors. These vendors have APIs. However, this process should run daily basis and update the database with the status. This is a kind of separate process. I need to know what will be the good approach and technology for this?

See more
Replies (5)
Hannes Holst
at 365 Consulting Services Ltd. · | 7 upvotes · 379.5K views
Recommends
on
PythonPython

hi - I think this depends on how you want to provide the information to the user. If you want to build a Wordpress-plugin: PHP If you want to build your own website: Python+Django / PHP / JavaScript+Node.js As Desktop application?

See more
anas mattar
Technical Lead at DPO International · | 3 upvotes · 366.5K views
Recommends
on
PHPPHP

for what technologies you should use, this is depend on what technology do you prefer? your should think best structuing for your code because each API vendor has different to a nother one so it's better no merege code vendores together. your code must be using SOLID principle pattern and some design pattern such as Factory Pattern

See more
Recommends
on
GolangGolang

The major advantage of Go is that you can run queries in parallel. Fire off a Go thread for each vendor and each thread can check the availability of assets from a specific vendor and update the database. Go supports hundreds of threads with ease.

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 362.5K views
Recommends
on
C#C#GolangGolangPHPPHP

your decision depend on what language do you know. if you know php you can use laravel framework

See more
Oluwafemi Lawrence
Recommends
on
GolangGolang

Hi, I would recommend Go because of strongly-typed nature which makes a developer more productive as it is less error prone compared to the other dynamic-typed language. Go also has cron-job library(powered by goroutines) that can help with your automated tasks.

See more
Needs advice
on
PowerShellPowerShell
and
PythonPython

I am technical support. I work daily with Windows Server / Exchange, Active directory. I would like to learn scripting and automation to make my life easier. I just started learning PowerShell but not really sure about the correct study path from where I can start. I am taking some courses on Udemy and YouTube. Is it enough?

See more
Replies (3)
Recommends
on
PowerShellPowerShell

My first foray into programming was with powershell and it continues to be an enormous help for me in my career (caveat being that I have primarily worked on windows boxes). That being said, PowerShell is a weird language that has some unique syntax and operators that don't translate well to other languages. Python is weird too, but for other reasons (spacing!). I suspect you'll get more immediate benefit spending some time on Powershell since your working in an environment that fully supports the ps toolset.

As for learning, I read "PowerShell Toolmaking in a Month of Lunches" and found that helpful. However, I think your course of study is sufficient. Think the most return for the effort was just messing around in the powershell IDE on my local computer and working the Microsoft documentation.

See more
Witt Allen
DevOps Engineer at Provisions Group · | 5 upvotes · 128.5K views
Recommends
on
PowerShellPowerShell

Taking courses on Udemy and YouTube will be helpful I'm sure, but don't neglect the power of practice. If you work largely with Windows right now, pick powershell. Take opportunities to convert the knowledge you already have (example: unlocking an account in Active Directory or adding an email alias in Exchange) from a manual process to a powershell method. Sometimes that's a single cmdlet (Unlock-AdAccount) and sometimes it's a script.

Once you have a good understanding of variables, the pipeline, and foreach loops, you'll be in a position to accelerate your learning. Looking up Microsoft docs is part of the process :)

See more
Recommends
on
PowerShellPowerShell

I would consider reading "Powershell for sysadmins" from No Starch Press. Start small with the ActiveDirectory and AzureAd modules. Start with read only operations like pulling AD Group Members into a variable and then pipe that variable into a .csv file with Export-CSV cmdlet. Once you feel more comfortable with the syntax, specific cmdlets, and piping data start looking at specific techniques like using hashtables (dictionaries) and globbing. From there you can begin to construct your own functions and modules. Just start small and don't let yourself get overwhelmed.

See more
Needs advice
on
C#C#JavaScriptJavaScript
and
ReactReact

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 · 215.1K 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
on
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
Kudos Beluga
Recommends
on
F#F#Node.jsNode.js

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 · 197K views
Recommends
on
C#C#JavaScriptJavaScript

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
GolangGolangPythonPython
and
RustRust

I am a beginner, and I am totally confused, which of these 3 languages to learn first. Go, Rust, or Python. As my studies are going which of them will be easy to learn with studies that is, I can learn and do my studies also. Which one of them will be easily handled with my studies, and will be much much useful in future?

See more
Replies (17)
Recommends
on
PythonPython

python is a good language to start for the beginner.

See more
Will Vandebelt
Recommends
on
GolangGolangPythonPython

Python is a great language to learn as a beginner. However, Go is really easy to learn as well and has a much more powerful standard library that will allow you to build very complex and powerful applications in the future. Go is becoming a standard in Cloud computing and concurrency. Both of which are very advanced but important.

See more
Recommends
on
GolangGolang

I'd definitely start with Go. I know Python, Go and quite a few other languages.

Rust is not easy to learn as a beginner.

Python has way too many features to be called "easy" to learn. While it is very forgiving to beginner mistakes it feels like playing in a puddle of mud. It does not teach you clean programming at all. Unless of course you like messy.

Go on the other hand is very easy to learn. As a professional you can learn the entire language in under 2 hours. I have already given the tour of Go (https://tour.golang.org/) to complete beginners and they went through it very thoroughly and thereby knew the entire Go language in less than 5 days. While it is very easy to learn and very easy to read, it is quite strict on other things, guiding you to write clean code. For one it is a typed language and it is good to learn very early about types.

Knowing the entire language is of course not all there is to know. There is the standard library and a lot of other libraries to get to know in every language. Also one has to learn patterns in every language, get experience on how to structure code, dig deeper into the language itself to understand its inner workings, etc. That takes years in every language.

That being said, it depends very much on what you want to do with a language. If you want to go into ML and science you definitely need Python. If you want to go into cloud computing, distributed servers (which in my opinion any server should be nowadays), use Go. If you want to do systems level programming, e.g in hardware programming, use Rust.

See more
Recommends
on
PythonPython

I have experience in all three languages, and you should learn python first. These are three different languages (read: tools) to solve different problems you may have. Python is a high level language you can use for writing cross-platform scripts, web servers, AI, websites (e.g. Django) and the list goes on. Python can be used for most programming tasks while being the easiest to learn of the three and probably the most productive as well.

A lot of tech companies start out with Python for their web services, but due to Pythons slow speed and the pain that comes with dynamically typed languages when the code base grows, switch to Go later on when they need to scale. Go is a systems language that thrives when used for high performance cloud/web or networking services. Go is used in performance critical networking situations such as Twitch's streaming services and Uber's geofence services. It's also very clean and simple syntax that makes it very easy to quickly understand what code does.

Python is an interpreted language and Go is a garbage collected language, but Rust is a highly performant and reliable compiled programming language without the extra baggage of runtime memory management. Rust forces you to follow coding patterns that assure memory safety. This makes Rust a perfect fit for high performance algorithms, game engines or safety-critical systems, but would be overkill for web servers or scripts on modern hardware.

See more
Recommends
on
C#C#PythonPython

If all you want is a gentle intro and have access to tools and libs that can help with your tasks, Python is the way to go. It's ecosystem is huge and the language is easy to pick up. However, if you are aiming to get into software industry, I'd highly recommend you also pick up another classic language like C++/C#/Java. It really helps you cement some CS & programming fundamentals and get more familiar with the concept of software design and software architecture. Not saying you cannot achieve good architecture in Python or Go, but traditionally you have more materials covering these classic OOP languages. And once you learn them, you can apply your knowledge to other languages and it helps you understand other languages faster.

See more
Kudos Beluga
Recommends
on
PythonPython

Rust is probably a bad choice for starting out. It is a low level language where garbage collection is not done automatically, and has to get you thinking about all the technical aspects. It is statically typed and compiled, so it's very strict with how you code. I do love Rust though, it's a nice language. Golang is also compiled and statically typed, but it aims to be for quick development, which makes it a better choice for starting out.

Python though can be great for starting out and getting a hold on how to program. You don't need to worry about things such as types, garbage collection, or an overwhelming amount of data types. Since I'm a JavaScript fanboy I can't help but say another great popular choice to start is JavaScript 😁

See more
Stanislav Petrov
Senior Software Engineer at GfK · | 3 upvotes · 332.5K views
Recommends
on
PythonPython

If you start learning programming I'd suggest Python language. I have no experience with Go and Rust so I cannot give you advice for them.

See more
Recommends

Python has the broadest reach as it's been around the longest; rust is much more difficult for a beginner to learn; I work with Go every day and it's probably the most productive general use language.

See more
Recommends
on
GolangGolangPythonPython

Go and Python are going to be much easier to learn than Rust. The memory management for Rust is pretty hard to wrap your head around when you are first learning how to do basic things with the language. Get familiar with programming first, then learn Rust.

See more
Recommends

Learn/start with C; don't rush after buzz words. Python is easy to learn but you would not get the underpinnings of memory and pointers, an important aspect of programming.

See more
Recommends
on
PythonPython

Python is a great language to start programming with, there is an awesome python course on coursera by Dr. Charles Severance called Programming for everybody, check it out :)

See more
Recommends

I agree with most of the other answers here. Python is the best choice because it is super user-friendly, has an easy syntax, and can do many complex things in relatively fewer lines.

While Rust is a more recent and a great language nonetheless, it is slightly more complicated as it involves compiling and the syntax isn't so great.

And Go is the not a great choice either. While it has a decent syntax, keep in mind that Go won't be of much use unless you plan on working in Google. Even if you want to learn it, you can do so later.

I hope this helped you in making your decision, and welcome to the world of programming! I hope you enjoy.

See more
Amity International School Sec Gurugram
Vice Cyber Captain at Student · | 1 upvotes · 332.2K views
Recommends
on
PythonPython

Python, because its the easiest to learn as a beginer. Its often called "English without grammar" because its terms and writing style is quite similar to English. Python also has a diverse range of applications like Web App, Desktop App, Data Science etc

See more
Recommends
on
PythonPython

Python is the easiest of the languages to learn, and while the slowest in production, it will teach many of the basic fundamental concepts of programming, especially if you're not going to be doing anything low level or at a system level.

See more
Recommends

I'd choose python because with a good knowledge of python and it's libraries, you could do literally anything. Also it has a relatively simple structure, so it won't be tough for a beginner.

Later on if you wish to learn Rust and Go, please do by all means.

See more
Recommends
on
PythonPython

Python is the best programming language for starting out as it is quite easy to learn, but it also is very powerful and you can do plenty with it. It will be useful for a long time. Python is my recommendation.

See more
Recommends
on
GolangGolang

Study, machine learning = Python | High performance computing, safety-oriented programming = Rust | Backend, feel productive with less runtime performance drawback = Go

See more
Needs advice
on
C#C#DjangoDjango
and
PythonPython

Hi all, I have been working on the development and automation of construction software using C# and Python. Recently I have started working on Django python web framework and basic frontend for web development. I am really confused to choose between C# and Python to move forward in my career. Seeking your advice on these technologies and their future market value from a career perspective. Thanks,

See more
Replies (3)
ALESSIO SALTARIN
Distinguished IT Architect at IBM · | 10 upvotes · 220.1K views
Recommends
on
C#C#DjangoDjangoPythonPython

In my opinion, a modern developer should have deep knowledge about Object Oriented (OOP) and Functional Programming (FP). The programming language is something that must come later. Any good programmer should be able to switch from one programming language to another easily, if they follow OOP and FP. There are languages, though, that must absolutely be in the portfolio of a modern developer: Java, C#, Python and JavaScript. But be prepared to know also Scala, Kotlin, Swift, Go, Ruby, Rust and TypeScript.

See more
Recommends
on
DjangoDjango

It depends on your preferred career path, if you want to work in start-up/scale-up environments, you probably want to go with a language like Django for the rapid development (fast to production). On the other hand, C# or Java would be better for building long term and large scaled applications, although, Django could certainly achieve this as well. I also want to second that it won't hurt to know both languages, pick your technologies wisely according to the use case, don't stick to a single technology stack. :)

See more
Carlos Iglesias
Recommends

C# and Python are both great languages. With great communities, libraries, frameworks, opportunities. I think it will be the same in a near future.

It’s matter of your likes, and your next jobs.

Dot net core is a little faster on performance. Python more popular with dynamic types. Probably the most lovable language.

See more
Decisions about Python and R Language
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
Alexandre Desroches
Founder & Developper at Finance D · | 71 upvotes · 376.9K 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
Leonardo Henrique da Paixão
Junior QA Tester at SolarMarket · | 11 upvotes · 113.8K views

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

Python has become the most popular language for machine learning right now since almost all machine learning tools provide service for this language, and it is really to use since it has many build-in objects like Hashtable. In C, you need to implement everything by yourself.

C++ is one of the most popular programming languages in graphics. It has many fancy libraries like eigen to help us process matrix. I have many previous projects about graphics based on C++ and this time, we also need to deal with graphics since we need to analyze movements of the human body. C++ has much more advantages than Java. C++ uses only compiler, whereas Java uses compiler and interpreter in both. C++ supports both operator overloading and method overloading whereas Java only supports method overloading. C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.

See more
Kirill Mikhailov

Go is a way faster than both Python and PHP, which is pretty understandable, but we were amazed at how good we adapted to use it. Go was a blessing for a team , since strict typing is making it very easy to develop and control everything inside team, so the quality was really good. We made huge leap forward in dev speed because of it.

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
Chose
PythonPython
over
ScalaScala

I am working in the domain of big data and machine learning. I am helping companies with bringing their machine learning models to the production. In many projects there is a tendency to port Python, PySpark code to Scala and Scala Spark.

This yields to longer time to market and a lot of mistakes due to necessity to understand and re-write the code. Also many libraries/apis that data scientists/machine learning practitioners use are not available in jvm ecosystem.

Simply, refactoring (if necessary) and organising the code of the data scientists by following best practices of software development is less error prone and faster comparing to re-write in Scala.

Pipeline orchestration tools such as Luigi/Airflow is python native and fits well to this picture.

I have heard some arguments against Python such as, it is slow, or it is hard to maintain due to its dynamically typed language. However cost/benefit of time consumed porting python code to java/scala alone would be enough as a counter-argument. ML pipelines rarerly contains a lot of code (if that is not the case, such as complex domain and significant amount of code, then scala would be a better fit).

In terms of performance, I did not see any issues with Python. It is not the fastest runtime around but ML applications are rarely time-critical (majority of them is batch based).

I still prefer Scala for developing APIs and for applications where the domain contains complex logic.

See more

Context: Writing an open source CLI tool.

Go and Rust over Python: Simple distribution.

With Go and Rust, just build statically compiled binaries and hand them out.

With Python, have people install with "pip install --user" and not finding the binaries :(.

Go and Rust over Python: Startup and runtime performance

Go and Rust over Python: No need to worry about which Python interpreter version is installed on the users' machines.

Go over Rust: Simplicity; Rust's memory management comes at a development / maintenance cost.

Go over Rust: Easier cross compiles from macOS to Linux.

See more
E Tidalgo

I use Powershell for everyday scripting, text manipulation, simple REST api testing and other tasks. My choice to use Powershell was primarily based on availability. At the time (2010), every company machine I was using or going to use was Windows and guaranteed to have Powershell. Python was an option but not guaranteed to be installed on every machine. The choice was not based on ease of use, flexibility or support.

See more

We’re a new startup so we need to be able to deliver quick changes as we find our product market fit. We’ve also got to ensure that we’re moving money safely, and keeping perfect records. The technologies we’ve chosen mix mature but well maintained frameworks like Django, with modern web-first and api-first front ends like GraphQL, NextJS, and Chakra. We use a little Golang sparingly in our backend to ensure that when we interact with financial services, we do so with statically compiled, strongly typed, and strictly limited and reviewed code.

You can read all about it in our linked blog post.

See more
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of Python
Pros of R Language
  • 1.2K
    Great libraries
  • 963
    Readable code
  • 847
    Beautiful code
  • 788
    Rapid development
  • 691
    Large community
  • 438
    Open source
  • 393
    Elegant
  • 282
    Great community
  • 273
    Object oriented
  • 221
    Dynamic typing
  • 77
    Great standard library
  • 60
    Very fast
  • 55
    Functional programming
  • 50
    Easy to learn
  • 46
    Scientific computing
  • 35
    Great documentation
  • 29
    Productivity
  • 28
    Matlab alternative
  • 28
    Easy to read
  • 24
    Simple is better than complex
  • 20
    It's the way I think
  • 19
    Imperative
  • 18
    Very programmer and non-programmer friendly
  • 18
    Free
  • 17
    Machine learning support
  • 17
    Powerfull language
  • 16
    Fast and simple
  • 14
    Scripting
  • 12
    Explicit is better than implicit
  • 11
    Ease of development
  • 10
    Clear and easy and powerfull
  • 9
    Unlimited power
  • 8
    Import antigravity
  • 8
    It's lean and fun to code
  • 7
    Print "life is short, use python"
  • 7
    Python has great libraries for data processing
  • 6
    High Documented language
  • 6
    I love snakes
  • 6
    Readability counts
  • 6
    Rapid Prototyping
  • 6
    Now is better than never
  • 6
    Although practicality beats purity
  • 6
    Flat is better than nested
  • 6
    Great for tooling
  • 6
    There should be one-- and preferably only one --obvious
  • 6
    Fast coding and good for competitions
  • 5
    Web scraping
  • 5
    Lists, tuples, dictionaries
  • 5
    Great for analytics
  • 4
    Beautiful is better than ugly
  • 4
    Easy to learn and use
  • 4
    Easy to setup and run smooth
  • 4
    Multiple Inheritence
  • 4
    CG industry needs
  • 4
    Socially engaged community
  • 4
    Complex is better than complicated
  • 4
    Plotting
  • 4
    Simple and easy to learn
  • 3
    List comprehensions
  • 3
    Powerful language for AI
  • 3
    Flexible and easy
  • 3
    It is Very easy , simple and will you be love programmi
  • 3
    Many types of collections
  • 3
    If the implementation is easy to explain, it may be a g
  • 3
    If the implementation is hard to explain, it's a bad id
  • 3
    Special cases aren't special enough to break the rules
  • 3
    Pip install everything
  • 3
    No cruft
  • 3
    Generators
  • 3
    Import this
  • 2
    Batteries included
  • 2
    Securit
  • 2
    Can understand easily who are new to programming
  • 2
    Should START with this but not STICK with This
  • 2
    A-to-Z
  • 2
    Because of Netflix
  • 2
    Only one way to do it
  • 2
    Better outcome
  • 2
    Good for hacking
  • 1
    Best friend for NLP
  • 1
    Sexy af
  • 1
    Procedural programming
  • 1
    Automation friendly
  • 1
    Slow
  • 0
    Keep it simple
  • 0
    Powerful
  • 0
    Ni
  • 86
    Data analysis
  • 64
    Graphics and data visualization
  • 55
    Free
  • 45
    Great community
  • 38
    Flexible statistical analysis toolkit
  • 27
    Easy packages setup
  • 27
    Access to powerful, cutting-edge analytics
  • 18
    Interactive
  • 13
    R Studio IDE
  • 9
    Hacky
  • 7
    Shiny apps
  • 6
    Shiny interactive plots
  • 6
    Preferred Medium
  • 5
    Automated data reports
  • 4
    Cutting-edge machine learning straight from researchers
  • 3
    Machine Learning
  • 2
    Graphical visualization
  • 1
    Flexible Syntax
Cons of Python
Cons of R Language
  • 53
    Still divided between python 2 and python 3
  • 28
    Performance impact
  • 26
    Poor syntax for anonymous functions
  • 22
    GIL
  • 19
    Package management is a mess
  • 14
    Too imperative-oriented
  • 12
    Hard to understand
  • 12
    Dynamic typing
  • 12
    Very slow
  • 8
    Indentations matter a lot
  • 8
    Not everything is expression
  • 7
    Incredibly slow
  • 7
    Explicit self parameter in methods
  • 6
    Requires C functions for dynamic modules
  • 6
    Poor DSL capabilities
  • 6
    No anonymous functions
  • 5
    Fake object-oriented programming
  • 5
    Threading
  • 5
    The "lisp style" whitespaces
  • 5
    Official documentation is unclear.
  • 5
    Hard to obfuscate
  • 5
    Circular import
  • 4
    Lack of Syntax Sugar leads to "the pyramid of doom"
  • 4
    The benevolent-dictator-for-life quit
  • 4
    Not suitable for autocomplete
  • 2
    Meta classes
  • 1
    Training wheels (forced indentation)
  • 6
    Very messy syntax
  • 4
    Tables must fit in RAM
  • 3
    Arrays indices start with 1
  • 2
    Messy syntax for string concatenation
  • 2
    No push command for vectors/lists
  • 1
    Messy character encoding
  • 0
    Poor syntax for classes
  • 0
    Messy syntax for array/vector combination
- No public GitHub repository available -

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

What is R Language?

R provides a wide variety of statistical (linear and nonlinear modelling, classical statistical tests, time-series analysis, classification, clustering, ...) and graphical techniques, and is highly extensible.

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

What companies use Python?
What companies use R Language?

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

What tools integrate with Python?
What tools integrate with R Language?

Blog Posts

Sep 29 2020 at 7:36PM

WorkOS

PythonSlackG Suite+17
8
3162
PythonDockerKubernetes+7
5
1160
May 6 2020 at 6:34AM

Pinterest

JavaScriptC++Varnish+6
7
3492
PythonDockerKubernetes+14
12
2657
JavaScriptGitHubReact+12
5
4206
What are some alternatives to Python and R Language?
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!