Learning Python: Where to start?

  • Context: Python 
  • Thread starter Thread starter some_letters
  • Start date Start date
  • Tags Tags
    Python
Click For Summary

Discussion Overview

The discussion revolves around resources and recommendations for learning Python, particularly for someone with prior experience in Java. Participants explore various learning materials and consider the relevance of other programming languages in the context of a physics major.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • One participant mentions their intent to self-teach Python due to a busy summer schedule and seeks recommendations for beginner-friendly resources.
  • Another participant suggests "Learn Python the Hard Way" but expresses a personal critique of its memorization approach.
  • A different participant shares several resources they found useful, including links to SciPy, Matplotlib, and a YouTube playlist.
  • One participant notes that an introductory CS course at MIT uses Python and expresses enjoyment of the course.
  • Another participant references a previous discussion indicating that FORTRAN and C++ are widely used in physics, suggesting that learning these languages could be beneficial for a physics career.
  • Some participants argue that while FORTRAN and C++ are important, Python is more practical for everyday use, especially for non-programmers.
  • One participant advises against learning FORTRAN as a first language, citing its simplicity and potential to instill poor programming habits.
  • A participant recommends the Python Programming website as a useful resource with step-by-step directions.

Areas of Agreement / Disagreement

Participants express a range of opinions on the best programming languages to learn for a physics major, with some advocating for Python while others emphasize the importance of C++ and FORTRAN. There is no consensus on a single best approach or resource for learning Python.

Contextual Notes

Participants mention various resources and their personal experiences, but there is no agreement on the most effective learning path or the necessity of learning additional languages like FORTRAN or C++ alongside Python.

Who May Find This Useful

This discussion may be useful for individuals interested in learning Python, particularly those with a background in Java or those pursuing studies in physics and related fields.

some_letters
Messages
54
Reaction score
0
I'll be working for most of the summer and won't be able to take classes in anything so instead I will be teaching myself a new programming language! I have experience with java already and I've heard from places around the web that Python is both fun and useful. I figure I'll give it a shot.

Does anyone know of a good site to get started learning python? MIT has courseware for their intro to CSC class that teaches python but if there is an easier way for an amateur (I've had two semesters of java) then please point me in that direction.

if this happens to be in the wrong section, my apologies. Thanks!

EDIT: I'm a rising sophomore majoring in Physics. Are there different languages that would best suit my needs at this point?
 
Last edited:
Technology news on Phys.org
So you have some experience in another Object-oriented language, Java, already?

In which case, I've heard good things about Learn Python the Hard Way, though you'll have to pay for any format other than HTML. I don't like their approach about memorizing the names of all the symbols (arbitrary conventions given to shapes), but it's still okay.
 
Last edited:
some_letters said:
I'll be working for most of the summer and won't be able to take classes in anything so instead I will be teaching myself a new programming language! I know java already and I've heard from places around the web that Python is both fun and useful. I figure I'll give it a shot.

Does anyone know of a good site to get started learning python? MIT has courseware for their intro to CSC class that teaches python but if there is an easier way for an amateur (I've had two semesters of java) then please point me in that direction.

if this happens to be in the wrong section, my apologies. Thanks!

I would say I'm still learning python but these have been real useful resources for me:

http://www.scipy.org/SciPy

http://matplotlib.sourceforge.net/

http://www.youtube.com/playlist?list=PL9FAE4422FA13FDE4&feature=plcp
 
Last edited by a moderator:
One of the introductory CS courses on MIT OCW teaches using Python. I enjoyed it.
 
In that "So You Want to Be a Physicist?" thread, he states that the two most widely used programming languages used by physicists are FORTRAN and C++.

Although, if they're so widely used by physicists, my guess is that there are various course options to learn those languages, and that they wouldn't require you to learn them on your own, in which case there can't be any harm in expanding your knowledge and learning another programming language.

I'm not fit to really tell you what to do, I just know that, in that specific thread written by a physicist, he pointed towards FORTRAN and C++ being beneficial to learn if you want to pursue a career in physics.

Here's the link to the thread: https://www.physicsforums.com/showthread.php?t=240792

I've been thinking about possibly learning C++ myself, since I'm still not entirely sure that physics is for me, so I want to experiment with computer programming and other scientific or technological endeavors that could potentially point me in the right direction.
 
AnTiFreeze3 said:
In that "So You Want to Be a Physicist?" thread, he states that the two most widely used programming languages used by physicists are FORTRAN and C++.
You generally want to know both a hard language (like C++) and a glue language (like Python). Those languages have different application domains. If you really can learn only one of them, not both, then choose Python because it will be more useful in your daily life (as non-programmer).

I would strongly advise against learning Fortran unless you really need it, *especially* not as a first language. First: Fortran is very simple, and if you are fluent in any other procedural language (like C++), you can pick it up in one or two days (I'm not joking). Second: Fortran, as commonly practiced, is missing many essential language features (e.g., it is quite possible to find a million line Fortran application which does not have a single compound type). Not having those features from the start will prevent you from learning how to use them naturally and productively, and it will lead to very bad and counterproductive programming habits.
 
Hey, just go tho the Pythong Programming website. It's really useful and gives you step-by-step directions.
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
Replies
13
Views
4K
Replies
1
Views
2K
Replies
18
Views
3K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 21 ·
Replies
21
Views
2K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 10 ·
Replies
10
Views
3K