Best newbie language - Python or R

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 @anon85228692’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)

I highly recommend Pythonista on iPad!!! It hides a lot of the complexity of setting up your computer properly for Python. This means she can just focus on learning to program. By the time she outgrows Pythonista, she’ll be ready for dealing with all the environment stuff.

(Oops, missed the part about her being on Windows but here’s her excuse to buy an iPad :smirk:)

1 Like