Best newbie language - Python or R

I was considering this, as I’ve just been given some data tasks to do and feel I can do a number of these in R or Python as it’ll be monthly reporting and splitting of files.

In my case, the University has decided for me - R is installed on all University machines, Python is not.

I did start learning R in the past, but stopped, so this perhaps gives me the option again.

Ditto. I’m a neuroscience PhD and the number of people that I know that have been flocking to learning R recently is incredible. Python is great, but for data analysis R is where it’s at. It’s eating SPSS’s lunch in this realm now.

1 Like

+1. I finally bit the bullet and switched everything over to Python 3 about a year ago.

1 Like

Python, It’s more general purpose and also teaches basic programming concepts.

R is the standard for some types of data analysis but there are many Python options like SciPy and more that can be used within Python programs for specific types fo data analysis. Python provides you more opportunities for the future.

Eventually she will have to learn both but I think starting with Python is a better choice.

The stuff from Teclado on Udemy has been IMO well done, useful and reasonably priced

The 30 days of python is a decent intro

PyCharm, yes it’s complex and expensive but it’s very powerful. Now if I could just find an indepth course in how to use the IDE!

2 Likes

Here is a Mastering PyCharm Course Mastering PyCharm Online Course - [Talk Python Training]

2 Likes

PluralSight’s PyCharm module is reportedly pretty good. A lot of their IntelliJ training would also carry over.

I’m in @DrJJWMac’s camp here. For a new programmer trying to learn a first language, using an IDE seems counterproductive, at least as far as Python is concerned, where one can easily write code in a text editor and run it in a shell.

Thanks! That looks like just what I’m looking for.

Sure, eventually. The idea here is where to start to get the most bang for the buck, so to speak.

Last time I tried that sort of thing on Windows it was very, very clunky. Is Windows more friendly to that sort of thing now?

And I suppose we could spin her up a *NIX VM if we needed to. :smiley:

Vaguely reminds me of:

“There’s more than one way to do it.”

– The Perl Slogan

“It’s a good thing there’s more than one way to do it because most of them
don’t work.”

– The Windows Perl Slogan

1 Like

OTOH once you get a bit beyond the hello world types of program and are dealing with multiple files of code, dependencies and databases, all of which are going to be part and parcel of data analysis then a an IDE makes life so much simpler. I think it’ sbetter to start that way and learn it hence my desire for more training in the power of the IDE.

No camp here, just a recommendation for PluralSight’s JetBrains training for those who want to get better at their IDEs. There are so many factors that go into the best learning path for a particular person.

That’s one of the things I really enjoyed about learning Turbo Pascal way back . I’d moved from the built-in AppleSoft BASIC (where “save my program to a disk” was kind of an advanced topic :slight_smile: ) to the Turbo Pascal IDE. And “your program is over here, and what it outputs shows up over here” made the process super-easy.

I know that a good text editor can do some of that natively. And I know that the command line isn’t hard in any meaningful sense - I’m a server admin, and command line + VIM is how I write positively obscene amounts of code. But a nice IDE can make the whole process a bit less intimidating.

In this case that’s what it’s all about. “This isn’t scary, you can totally do this.” And for somebody’s first language, I think that’s very useful.

1 Like

But you’re an experienced programmer.

I’m happy to be able to say that I have no idea!

1 Like

Not in Python. I’m a barely functional crappy programmer in Python.

A good IDE helps you learn to write better code in the language it’s for. You’ll end up using it eventually so why not start with a way that teaches you the tools you will eventually have to learn?

If you want to learn the hard way. Learn by fixing all the errors manually. Learning all the pitfalls and syntax issues with out being prompted out then a basic text editor is the way to go.

Good coding skills can be learnt and practiced even with a plain text editor.

If you are already a seasoned programmer then IDE makes sense to get faster at coding.

1 Like

Another option for someone particularly interested in data analysis - I have not tried it myself (yet) but it looks interesting.

I capitulate.  

2 Likes

I do not have enough experience to agree or disagree with this in a blanket way. I know that, writing python functions in JupyterLab notebooks gives me as a macOS user a significant degree of ease, consistency,and peace of mind to be able to share my training in using the platform and my packages designed to run in that platform with my students who are primarily Windows users and who would otherwise be all over the place in terminal or IDE level apps.

OTOH, I purchased ScriptDebugger just this week solely because I realized that I needed a more powerful platform to develop a round of somewhat complicated AppleScript code.

But, I am learning more about how to improve my code by doing searches that might land for example on sites such as StackOverflow. ScriptDebugger is just supporting my ideas by allowing me to track the flow line-by-line over each variable.

Perhaps a better statement is therefore “A good IDE helps you track where the code is incorrect and how the algorithm is functioning down to the level of its nuts and bolts”. If this translates in part to …helps you learn to write better code … I agree fully.


JJW

1 Like

No. They cannot. Students need a development platform that will give them not just a plain text editor page to input text but also a syntax-aware environment that will point out mistakes in real time as well as a button that says Compile and/or Run. Especially first time students.

To an extreme, this statement would argue that I should have no problems to learn how to do good coding of python commands simply by using options presented in the elegance of my Maple worksheets.


JJW