Guess I'm going to have to give in and learn a language

  • Thread starter Thread starter Shackleford
  • Start date Start date
  • Tags Tags
    Language
AI Thread Summary
For junior physics majors and math minors without programming knowledge, learning programming is essential for research and engineering roles. Recommended languages include Python, which is beginner-friendly and has strong libraries like SciPy and NumPy for scientific work, making it a solid foundation before moving on to C, which is highly practical. Matlab is also suggested due to its similarities with Python, making it an accessible starting point. For those interested in high-performance computing, C/C++ is advisable, especially for processing-intensive tasks. Fortran, while still in use at institutions like CERN, may not be as relevant for newcomers. Resources for learning Python include Mark Lutz's "Learning Python," which is suitable for absolute beginners.
Shackleford
Messages
1,649
Reaction score
2
I'm a junior physics major/math minor. I don't have any programming knowledge whatsoever. I'd rather not hassle with learning it, but I know it's a prerequisite if I want to do any research or engineering job. What should I learn? No more than I should and no less than would be prudent.
 
Technology news on Phys.org
Matlab, if you consider it a language.
Fortran has been used for quite some time, in fact if, memory serves right, people at CERN program Fortran but I don't exactly know the status of the Fortran development scene.
You could also learn C/C++ if you are going to be writing processing intensive programs, plus there is a lot of libraries written for them.
These are just a few things from the top of my mind.

Can you be clear what is it you are expecting to program?
 
owowo said:
Matlab, if you consider it a language.
Fortran has been used for quite some time, in fact if, memory serves right, people at CERN program Fortran but I don't exactly know the status of the Fortran development scene.
You could also learn C/C++ if you are going to be writing processing intensive programs, plus there is a lot of libraries written for them.
These are just a few things from the top of my mind.

Can you be clear what is it you are expecting to program?

I have no idea whatsoever. If I remember correctly, my vector analysis professor last semester said I should learn at least C. I could be mistaken though.
 
Python is a very good first language for someone who doesn't have programming experience. It's not exactly the most popular language out there for scientific work, but there are excellent libraries available for doing calculations and simulations in Python (SciPy/NumPy for instance), and besides it'll give you a good foundation on which to learn C, which is probably the most practically useful language to learn.

Matlab actually wouldn't be a bad start, it does have some similarities to Python (or vice-versa, if you like).
 
I think I started to look at Python a couple years ago, but I didn't get anywhere with it. Is there a good book out there for it?
 
Since you're starting off with no programming knowledge, I would probably suggest a book like Mark Lutz's Learning Python. I learned Python using Alex Martelli's Python in a Nutshell and David Beazley's Python Essential Reference, but I already had programming experience in C, Java, and MATLAB.
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
Back
Top