Great video for people like me who are thinking which programming language to learn. Thanks to your videos, I am learning a lot of data visualization in R.
Your content is so underated! I just discovered you and I can belive I've been learning data science without you. Keep the friking good content and sharing your knowledge.
I use R for machine learning, statistics, vis and for fun :)) I use Python for deep learning and image processing. Both languages are fun but I always love the R community rather than the Python community and I don't know why :))
Heres my opinion: - Go with R, if you are purely going to be doing statistical analysis/reports, especially if you are in specific niche fields, R has access to a lot more specific statistical packages than python so you will be able to run them with one line of code instead of having to hard code them (which can be very tricky and time consuming to do). - Go with Python, if you need to do a mix of statistical analysis and software development, for example if you have to integrate data analysis into a backend system, or you have to include web-scraping systems, etc. Basically whenever you have to integrate statistical analysis with software even if you aren't directly responsible for the software side of things. - Go with Python, if you are planning to also start learning machine learning/deep learning/neural networks, etc. The packages in python for this are very good (e.g. tensor flow).
Exactly! I use R, i love R. I tried Python, and I do not know why I did not like it. But, I always tell people that the best language is the one they like the most. By the way, your content is really, really good. Thank you very much!!!. I am learning a lot watching your videos.
Great stuff! It can be daunting to start CS and be confronted with all these options, if you're self learning it's probably best to just get started and pick a high level language, then work your way towards programming 🤖
Add me to the stack of folks who are saying thanks. My journey with programming was, very difficult. The first language I learned and LOVED was QBASIC [an off shoot of BASIC] as a kid. And I just knew I was going to be making video games. Fast forward to college and I STRUGGLED to learn C & C++. I switch majors from computer science to photography lol. I had every kind of warehouse & retail job. But my current job needed someone who could use excel and SQL. I was proficient in excel and new basics of SQL and zilch Python & R. Then two data analysts above me left the company and in a panic hired me, someone who had no data analysis history, to do basic daily tasks. I didn't want to get fired or put back down into my call center position. So I youtubed and stack overflowed and two years later people are calling me an experienced data scientist. I have no idea, at the age of 40, why R is my jam. But I thank you for helping me along my journey.
Pascal was the first programming language that I learned too! And I'm not that old, they're just slow to update the curriculum in my country 🤣. But I'm eternally thankful to my CS teacher back then because he gave me a good foundation to tackle other languages.
Absolutely! I remember reading somewhere that the creator of pascal never imagined it would take off like it did in education. He said that if he had known he would have made it a better language. 😂
It's the same for me; I learned first pascal and uses it to run a server on french minitel's network (before internet, in the 80's). the syntax is far cleaner than C which is efficient but gibberish, and C++ is a useless mess; I am an old tinkerer now and I enjoy functional programming with scheme (racket), a mind blowing LISP dialect I gave a try to python and R, just by curiosity and if I need to use them, I will obviously choose R. but in racket, there is everything I could need : a minimalist Object Oriented system, an API for building GUI apps, librairies for plotting, for data frames, etc, ...
Great advice. One thing I wish I could tell myself in hindsight is that if you are working fairly solo going with the language that has the most tooling available for your topic/area will make your life easier when starting out. If you're in genomics/proteomics then it's hard to go past the sheer number and variety of tools available in R, if you're into serious modelling and climate science Julia seems to be excelling in that domain, etc. my 2c added to a good video!
i really like your videos.. your videos are much appreciating for me to learn R... could you please make a series of videos for biological data with R?
Hey, if your local community uses Julia, go for it. Same goes for Fortran, Haskell, whatever. There's no debate. The only rule is that people need to learn to program. It's best to learn what your local community uses. No interest in engaging in any type of language wars here 🤓
Since both languages have a large amount of users, they are going to be useful for all the kind of usage. Because users will create a way to do a new task with that language. They were saying statisticians are using R more but I don't know why I couldn't find anything about statistics that I can't do with python. And some people say it has better options to make visuals like charts with R but I love python charts especially with the module named Bokeh, although there is a rbokeh it is not updated. I think R is much better when data manipulation. It is very easy to slice or change some columns in a tabular data. And R let me create a pdf or html file for my R markdown files which is great for publishing something. And shiny apps in R is really a big deal. Interactivity of data science is great. On the other hand they use python not just for data science, it is being used for general purpose of programming. So there are pros and cons. I believe both language is very useful.
This video was great! Would you perhaps do a video on how to read or run Python code in R? Just to demonstrate that python resources and functions are still accessible to R-users
I totally agree with the suggestion "learn one language and learn it well". But I don't agree with the suggestion "learn the language that is used by your peers". Sure, using the same language comes handy in situations where someone needs some help over a bug. However, it can also be limiting since different languages may provide different solutions to the same problem. So, peers can also benefit from a different mindset that is brought by a different language. Peers should be able to communicate in terms of programming concepts. Let's not forget that algorithms are described to peers in a form of a pseudocode. You gave as an argument the example of Argentina where one should know Spanish in order to communicate. My counterargument would be mathematics. A universal language which many can understand and then translate it into R or Python code. This is my analogy for communicating with programming concepts like "for loops", "if else statements", "functions", "object oriented programming", "functional programming", "hash tables", "data types" etc. So my suggestion would be learn one language, learn it very well and at the same time learn how to express yourself programmatically in a way that can be understood by your peers. And always comment your code.
I use both R and Python, but I tend to use R a lot more. I find it easier and more more interpretable and has some amazing libraries like the Tidyverse andTidymodels, and even the built in functions are great (And RMarkdown is just superb). The main reasons I learned Python at all is that is the most common language in the data science community, particularly on Kaggle. A lot of delevopment also goes into python first, for example, Tensorflow/Keras are developed primarily for python and while these are also available in R, it's basically a thin reticulate wrapper around the Python version. My main problem with Python is the lack of consistency. For example, the Zen of Python states: "There should be one-- and preferably only one --obvious way to do it." Why then, is there at least four separate ways of adding layers to a Keras DNN? I know this isn't strictly Pythons fault, but it is typical of the Python ecosystem in general.
Thanks ! I was a bit afraid you told us python was better ! Before this video I was wondering if I had to learn python, whereas I worked hard to have a basic R level...
I’ve heard that most climate models are written in Fortran so if that’s you’re community it would seem like a pretty reasonable choice. 😂 I still remember my undergrad advisor had a million punch cards which made for great book marks 🤓
@@Riffomonas My first programming experience was with FORTRAN and punch cards... then I want through HP programming language, BASIC, Assembly to finally reach Pascal which was so much better than all these (so not the hardest language to learn...) and I used to program 10,000 lines for a flow cytometry analysis program called CytoWin. Could probably do with a few less lines with R and shiny.....
For a new beginner, get on the bus no matter R or Python, both are great! And it does not bother to learn the other one for specific usage if it is needed.😁
I would say if you start from scratch, learning Python is a better choice. It's more flexible general purpose language, and its syntax is close to other popular languages. R has more ready-to-go packages, but its syntax is so bizarre, that it looks like something that was invented by a person high on mushrooms, so in case if someone has to switch, it's going to be harder with R... Said by someone who just recently used R to create a couple of plots...
R at the beginning was very simple to write and understand. R was similar to other programming languages (Python, Matlab...). Unfortunately Hadley Wickham and the Rstudio team destroyed this simplicity by adding the %>%, |> pipe (supposedly for compact code) and the tidyverse, tibble ...
In an ideal world, maybe. My audience is often juggling another science with data science and data science is there to make their lives easier. It’s hard to recommend “both” when learning one already seems too daunting to them
I'm Argentinian. In my country, there are communities of German people and German descendants who mostly speak only German. So, if you move to one of those communities, you might not have any language problems XD
From now onwards accept me as your lifetime student please. I must get to your first videos and move along to buildup the foundation on understanding R. Sorry I troubled you a lot by asking questions via email
If someone is asking ‘Should I learn Python or R?’..the answer is a clear ‘None’. Because you are not ready yet. You should go and study statistics and advanced models and techniques like Time-Series analysis… ARMA, ARIMA, ARCH, GARCH ..what is Dickey-Fuller test… what’s F statistics what’s T statistics …what’s Hetroscadisticity ..what does ‘stationary’ mean wrt to Time Series etc… Once you have learnt that, you will realise that the Python Vs R debate is futile. 😂😂😂 One very very senior computer scientist (someone who has built models for Yahoo to Google over last 20 years) keeps getting asked this question and he says my answer to the people is ‘Did you send this question from windows/intel or Mac-OS?’
I'm afraid that this type of thinking is a type of gatekeeping that will keep people from ever being able to analyze their own data. I guess we disagree - sorry!
Bro, you spend too much time getting to the point. An explanation of interpreted vs. compiled languages? Really? Shall we go back to the invention of the transistor? It's either Python or R for DS. Preferably you are proficient in both. When someone says, say, Pandas or 'dplyr', you should know right away what they are talking about and follow the conversation. When someone says 'instantiate and fit' the model, or facet_wrap the plot, hopefully you know what pertains to what language. En you are given a stats heavy task, what do you reach for? When you have deep leaning stuff, who you gonna call?
What would make learning a programming language easier for you?
Great video for people like me who are thinking which programming language to learn.
Thanks to your videos, I am learning a lot of data visualization in R.
Thanks for tuning in! Glad to hear the videos are helpful
Interest in learning the language
Your content is so underated! I just discovered you and I can belive I've been learning data science without you. Keep the friking good content and sharing your knowledge.
Thanks Luis! I’ll do my best
I use R for machine learning, statistics, vis and for fun :)) I use Python for deep learning and image processing. Both languages are fun but I always love the R community rather than the Python community and I don't know why :))
Hey Enes - Thanks for sharing!
Same case here! I use Python for deep learning and R for everything else 😅
Heres my opinion:
- Go with R, if you are purely going to be doing statistical analysis/reports, especially if you are in specific niche fields, R has access to a lot more specific statistical packages than python so you will be able to run them with one line of code instead of having to hard code them (which can be very tricky and time consuming to do).
- Go with Python, if you need to do a mix of statistical analysis and software development, for example if you have to integrate data analysis into a backend system, or you have to include web-scraping systems, etc. Basically whenever you have to integrate statistical analysis with software even if you aren't directly responsible for the software side of things.
- Go with Python, if you are planning to also start learning machine learning/deep learning/neural networks, etc. The packages in python for this are very good (e.g. tensor flow).
Thanks for your comments.
I hear you...but you do know that both TF and Keras are available on R too, right?
@@chacmool2581and Tidymodels is so beautiful ❤
Exactly! I use R, i love R. I tried Python, and I do not know why I did not like it. But, I always tell people that the best language is the one they like the most. By the way, your content is really, really good. Thank you very much!!!. I am learning a lot watching your videos.
That’s a great attitude! Thanks for watching 🤓
Great stuff! It can be daunting to start CS and be confronted with all these options, if you're self learning it's probably best to just get started and pick a high level language, then work your way towards programming 🤖
Thanks. Certainly starting with R or Python is a better choice than C or machine language 😂
Add me to the stack of folks who are saying thanks. My journey with programming was, very difficult. The first language I learned and LOVED was QBASIC [an off shoot of BASIC] as a kid. And I just knew I was going to be making video games.
Fast forward to college and I STRUGGLED to learn C & C++. I switch majors from computer science to photography lol.
I had every kind of warehouse & retail job. But my current job needed someone who could use excel and SQL. I was proficient in excel and new basics of SQL and zilch Python & R. Then two data analysts above me left the company and in a panic hired me, someone who had no data analysis history, to do basic daily tasks.
I didn't want to get fired or put back down into my call center position. So I youtubed and stack overflowed and two years later people are calling me an experienced data scientist. I have no idea, at the age of 40, why R is my jam. But I thank you for helping me along my journey.
Oh that’s so awesome to hear! Well done and good of you to stick with it. Proud of you! 🤓
Pascal was the first programming language that I learned too! And I'm not that old, they're just slow to update the curriculum in my country 🤣. But I'm eternally thankful to my CS teacher back then because he gave me a good foundation to tackle other languages.
Absolutely! I remember reading somewhere that the creator of pascal never imagined it would take off like it did in education. He said that if he had known he would have made it a better language. 😂
It's the same for me;
I learned first pascal and uses it to run a server on french minitel's network (before internet, in the 80's).
the syntax is far cleaner than C which is efficient but gibberish, and C++ is a useless mess;
I am an old tinkerer now and I enjoy functional programming with scheme (racket), a mind blowing LISP dialect
I gave a try to python and R, just by curiosity and if I need to use them, I will obviously choose R.
but in racket, there is everything I could need : a minimalist Object Oriented system, an API for building GUI apps, librairies for plotting, for data frames, etc, ...
Thanks...a question, if there is interpreter that convert our python code to c++ so that it fastly execute
Sorry but I know nothing about Python. In R you’d want to use the Rcpp package
Great advice. One thing I wish I could tell myself in hindsight is that if you are working fairly solo going with the language that has the most tooling available for your topic/area will make your life easier when starting out. If you're in genomics/proteomics then it's hard to go past the sheer number and variety of tools available in R, if you're into serious modelling and climate science Julia seems to be excelling in that domain, etc. my 2c added to a good video!
Great advice!
Really good advice! My first language is spanish and I love speaking in english. I feel the same way about R and Python.
Beautiful!
i really like your videos.. your videos are much appreciating for me to learn R... could you please make a series of videos for biological data with R?
Thanks! Um… I think all of my videos (except for the early ones) have used biological data 🤓
I love how julia is always a honour guest in these debates
Hey, if your local community uses Julia, go for it. Same goes for Fortran, Haskell, whatever. There's no debate. The only rule is that people need to learn to program. It's best to learn what your local community uses. No interest in engaging in any type of language wars here 🤓
Since both languages have a large amount of users, they are going to be useful for all the kind of usage. Because users will create a way to do a new task with that language. They were saying statisticians are using R more but I don't know why I couldn't find anything about statistics that I can't do with python. And some people say it has better options to make visuals like charts with R but I love python charts especially with the module named Bokeh, although there is a rbokeh it is not updated. I think R is much better when data manipulation. It is very easy to slice or change some columns in a tabular data. And R let me create a pdf or html file for my R markdown files which is great for publishing something. And shiny apps in R is really a big deal. Interactivity of data science is great. On the other hand they use python not just for data science, it is being used for general purpose of programming. So there are pros and cons. I believe both language is very useful.
This video was great! Would you perhaps do a video on how to read or run Python code in R? Just to demonstrate that python resources and functions are still accessible to R-users
So you want me to learn some python?! Lol. Let me see what I can work up 😂
I totally agree with the suggestion "learn one language and learn it well". But I don't agree with the suggestion "learn the language that is used by your peers". Sure, using the same language comes handy in situations where someone needs some help over a bug. However, it can also be limiting since different languages may provide different solutions to the same problem. So, peers can also benefit from a different mindset that is brought by a different language. Peers should be able to communicate in terms of programming concepts. Let's not forget that algorithms are described to peers in a form of a pseudocode. You gave as an argument the example of Argentina where one should know Spanish in order to communicate. My counterargument would be mathematics. A universal language which many can understand and then translate it into R or Python code. This is my analogy for communicating with programming concepts like "for loops", "if else statements", "functions", "object oriented programming", "functional programming", "hash tables", "data types" etc. So my suggestion would be learn one language, learn it very well and at the same time learn how to express yourself programmatically in a way that can be understood by your peers. And always comment your code.
I use both R and Python, but I tend to use R a lot more. I find it easier and more more interpretable and has some amazing libraries like the Tidyverse andTidymodels, and even the built in functions are great (And RMarkdown is just superb). The main reasons I learned Python at all is that is the most common language in the data science community, particularly on Kaggle. A lot of delevopment also goes into python first, for example, Tensorflow/Keras are developed primarily for python and while these are also available in R, it's basically a thin reticulate wrapper around the Python version.
My main problem with Python is the lack of consistency. For example, the Zen of Python states: "There should be one-- and preferably only one --obvious way to do it." Why then, is there at least four separate ways of adding layers to a Keras DNN? I know this isn't strictly Pythons fault, but it is typical of the Python ecosystem in general.
Thanks. Yeah as I tried to point out, I think every language has its warts. We have to figure out which annoy us the least 😂
@@Riffomonas I certainly agree with what you said about there not being any perfect programming language. I love R, but debugging in R is painful.
Nobody speaks a language in my office.😅 After Excel, DAX, SQL, now I'm learning R
Sounds like you’ll have to teach them!
Thanks your video is strengthening my stance as R users among python team :)
Glad it helped!
Thanks ! I was a bit afraid you told us python was better ! Before this video I was wondering if I had to learn python, whereas I worked hard to have a basic R level...
Hi Cyrille - Glad I could help! I keep meaning to learn Python, but I just can't justify the time :)
Agreed! Nicely explained with apt justifications👍 Well, I decided to go with the both langs, being little biased towards R.
🤓
I’m waiting for FORTRAN IV to make a long overdue comeback
I’ve heard that most climate models are written in Fortran so if that’s you’re community it would seem like a pretty reasonable choice. 😂 I still remember my undergrad advisor had a million punch cards which made for great book marks 🤓
@@Riffomonas My first programming experience was with FORTRAN and punch cards... then I want through HP programming language, BASIC, Assembly to finally reach Pascal which was so much better than all these (so not the hardest language to learn...) and I used to program 10,000 lines for a flow cytometry analysis program called CytoWin. Could probably do with a few less lines with R and shiny.....
For a new beginner, get on the bus no matter R or Python, both are great! And it does not bother to learn the other one for
specific usage if it is needed.😁
Thanks for watching!
I would say if you start from scratch, learning Python is a better choice. It's more flexible general purpose language, and its syntax is close to other popular languages. R has more ready-to-go packages, but its syntax is so bizarre, that it looks like something that was invented by a person high on mushrooms, so in case if someone has to switch, it's going to be harder with R... Said by someone who just recently used R to create a couple of plots...
Thanks. I stand by my general recommendation that people should identify what their local community is using and learn that language
For people with no local community, internet is the community, in that case, what should we learn?
R at the beginning was very simple to write and understand.
R was similar to other programming languages (Python, Matlab...).
Unfortunately Hadley Wickham and the Rstudio team destroyed this simplicity by adding the %>%, |> pipe (supposedly for compact code) and the tidyverse, tibble ...
Sorry we disagree 😂 I love the pipes and in my eyes it makes for cleaner code
I love the way you explained it.
Thanks Phon
Learn both. Both are good complementary to each other.
In an ideal world, maybe. My audience is often juggling another science with data science and data science is there to make their lives easier. It’s hard to recommend “both” when learning one already seems too daunting to them
Thanks for sharing your experience!
My pleasure - thanks for watching!
As a German, I can understand that you want to learn Spanish in Argentina and not German, but it still makes me sad. 😢
Hah!
I'm Argentinian. In my country, there are communities of German people and German descendants who mostly speak only German. So, if you move to one of those communities, you might not have any language problems XD
@@martinagustinsilva6481 Thank you very much! That gives me hope for the days when I have to flee Germany.
Thanks for a great video!!
My pleasure! Thanks for watching 😊
6:19 - R is already installed on macOS? News to me!
From now onwards accept me as your lifetime student please. I must get to your first videos and move along to buildup the foundation on understanding R. Sorry I troubled you a lot by asking questions via email
Accepted! My secret goal is to create a system where everyone can join my lab 🤓
@@Riffomonas thank you for your kindness, appreciated
This is the best video I have ever seen on this stupid (sorry) topic... If you get in my lab.. you will gonna have to speak R.. dot!
Hah! Thanks 🤓
If someone is asking ‘Should I learn Python or R?’..the answer is a clear ‘None’. Because you are not ready yet.
You should go and study statistics and advanced models and techniques like Time-Series analysis… ARMA, ARIMA, ARCH, GARCH ..what is Dickey-Fuller test… what’s F statistics what’s T statistics …what’s Hetroscadisticity ..what does ‘stationary’ mean wrt to Time Series etc…
Once you have learnt that, you will realise that the Python Vs R debate is futile. 😂😂😂
One very very senior computer scientist (someone who has built models for Yahoo to Google over last 20 years) keeps getting asked this question and he says my answer to the people is ‘Did you send this question from windows/intel or Mac-OS?’
I'm afraid that this type of thinking is a type of gatekeeping that will keep people from ever being able to analyze their own data. I guess we disagree - sorry!
Bro, you spend too much time getting to the point. An explanation of interpreted vs. compiled languages? Really? Shall we go back to the invention of the transistor?
It's either Python or R for DS. Preferably you are proficient in both. When someone says, say, Pandas or 'dplyr', you should know right away what they are talking about and follow the conversation. When someone says 'instantiate and fit' the model, or facet_wrap the plot, hopefully you know what pertains to what language. En you are given a stats heavy task, what do you reach for? When you have deep leaning stuff, who you gonna call?