Best newbie language - Python or R

Hey MPU peeps! My girlfriend is trying to dip her toes in the “data analytics” waters, and the languages that keep coming up are Python and R.

I’m a programmer, but I have no experience with either of these two languages. She’s never programmed a computer a day in her life, so she’ll have to learn all the programming concepts from scratch.

If she could invest in learning ONE of these languages, which would y’all suggest - and why? And is there a course that you’d suggest for whatever language you recommend?

And yes, I’m well aware of the reasons for learning multiple languages. We’re aware that both languages are probably Good To Know in the analytics field. We’re just looking for a good “first language” that gets her closer to her goals, and helps her test the waters.

Thoughts?

I would recommend Python. You are more likely to find the kinds of resources you are looking for. R is more of a special purpose language for statistics and data analysis, Python is a general purpose language.

7 Likes

I would suggest starting off with Python. It’s a more general purpose language that can be used for both data analytics as well as data engineering.

3 Likes

Is there a cross-platform IDE for Python that’s decent? She’s on Windows, and honestly I just use BBEdit and run from the command line. But it would be nice if she could just get an IDE with an “output” window or something. :smiley:

(and yes, I know that by asking about languages and IDEs I’m venturing into “religious opinion” territory - but she needs to start somewhere, right? :smiley: )

I would suggest VS Code. Cross platform, good support and lots of videos to get started.

3 Likes

Thirding Python. I’ve made the same question at Automators forum and I hope this post may be helpful for you.

3 Likes

Another vote for python.
There are tons of books, videos, and courses available for anyone from kids on up. She should pick one that appeals to her 1.

Anaconda and pycharm are good environments to work in.

[1] But not datacamp, as they tried to protect their CEO when he sexually harassed an employee.

3 Likes

https://automatetheboringstuff.com/

:slight_smile:

2 Likes

Be very careful with the recommendations in this thread. It all depends on the use.
If it’s about coding generally, then Python without a doubt.
If it’s about data analysis specifically, do not listen to the votes saying “Python” here. R is the de facto standard software for any data analysis of any kind. In that instance, it’s not a matter of learning to code, but of getting the right tool for the job, and if the job is data analysis, then that’s R. My fiancée has a PhD in animal behavior, I am surrounded by people doing data analysis and research all day, I did some back in my day, they all, we all, to the last person, use R.
In that case, learning anything but R would be a waste of time (apart from the sheer fun of it).

10 Likes

I read Ana Bell’s Get Programming: Learn to Code with Python and found it particularly helpful for learning concepts of programming.

She has since done a video course that I haven’t taken but would recommend based on my experience learning from her book.

If she is working on academia doing research R is more common. In business Python is more popular as it can be used for much more (e.g. Big Data, web applications and AI).

I’d recommend Python as it offers more possibilities in the future. If she’s involved in post doctrinal research R is a better choice as that’s what her colleagues will likely use.

I teach data science and our students learn both.

I would definitely recommend using a book rather than online course, as it’s easier to review material that is tough (doing this with an online video course is a nightmare as you’re constantly rewinding the video of you miss anything).

2 Likes

I would recommend PyCharm from Jetbrains Its the best out there for Python.

2 Likes

I’m going to echo @KillerWhale’s suggestion. For general purpose programming but with a lot of support the the data analysis/data science space, study Python. If she’ll be in a a more academic or research lab type of space, then R will likely be better. Speaking from personal experience, Python seems to be more common in business environments but that doesn’t mean R isn’t around as well.

For IDE’s, VS Code seems to be the standard tool. It’s free and as others have said, has tons of support. I’m a big fan of Jetbrain’s software, but it’s quite pricy and can be overkill for just starting out. Both are cross-platform which is nice. Sublime is a nice option as well though seems to be falling out of favour these days.

2 Likes

Sixthed Python. It was a language I self learned with. I’d recommend “Learn Python The Hard Way” book. The part people usually struggling is the concept of function and looping, that is when you guide them with your own analogy.

If JavaScript is an option, I’d suggest that one. Building her own simple interactive website can be a nice way to learn JS along with CSS and HTML

I totally agree.

What’s even worse than this story is that as soon as the news died down the CEO was reinstated, no consequences at all.

1 Like

Are you primarily in an academic setting? Or are you in the business environment?

She won’t be anywhere near academics. This is all data analysis for private-sector businesses that she’s looking to get into.

1 Like

I went through the same decision myself when deciding which language to learn for data analysis. There are probably 100 different blog posts on R vs Python on the internet. It really depends on your girlfriend’s use case. If she’s doing pretty much only data analysis, she could consider R. If she wants to apply it to other things, then Python.

I ended up picking Python because I’d like to use it to automate things, as well.

Not necessarily. The python pandas library is excellent, as is the rest of the scipy ecosystem. If the job calls for R then use R, but it’s not a clear cut case that you need to use it to do data analysis at scale.

3 Likes

Yes, see the next statement :slight_smile:

This is an overgeneralization. I and all my lab mates, as well as the other labs in our discipline primarily use MATLAB. There are plenty of other ways to analyze data, including with python (MNE, nipype, etc.), perl, Excel, C/C++, IgorPro, the list goes on…

For someone starting out, and in the context of the original question, Python is more comprehensible and reads better than R, which can be a bit obtuse. Once ones toes are wet with programming, then one can go looking for languages that may be more suited to a particular use.

2 Likes

I’d also argue either is fine, and as @oldblueday says it’s all in the usecase.
Most of our analysts use python for its versatility and extended options in automation, but there are a lot of usecases where R is a good fit.

I personally chose Python, mainly because I can use it for other things and it has a much larger knowledge base + plugins (in my personal opinion)