Programming Languages for Photonics Career

In summary, the conversation discusses the importance of computer programming skills in applied physics and engineering jobs, and the individual is seeking advice on how to teach themselves these skills. They are currently in a Photonics Master's degree program and are interested in industries such as semiconductors, optoelectronics, and the Department of Defense. Recommendations for programming languages include Java, MATLAB, C/C++, and scripting languages like Groovy, Ruby, and Python. There are also suggestions for tools and resources, such as the Processing.org IDE, Eclipse, Netbeans, and the Open Source Physics toolkit. The conversation also emphasizes the value of learning how to program in general, rather than focusing on a specific language.
  • #1
The Head
144
2
I know computer programming skills are important in applied physics/engineering jobs and am looking for some advice as to how and what I should do to teach myself these skills. I am in a Photonics Master's degree program, which gears students toward acquiring jobs in industry (semiconductors, optoelectronics, Dept. of Defense).

The program itself has some instruction with MATLAB, though that is in a future semester. For these types of jobs, what recommendations for programming languages could you give me? It seems everywhere online recommends this or twenty different other languages for general engineering, but I was hoping someone could guide me based on the specific types of industries I hope to enter.

Also, I have virtually know programming experience myself-- what would be the best method for attempting to self-learn?

Thank you!
 
Physics news on Phys.org
  • #2
Personally I would learn Java. It runs across platforms from windows to Linux. There are great tools to make the work of programming more manageable like Eclipse and Netbeans IDEs. A lot of current development is based on Java.

However for engineering, MATLAB tends to prevail. MATLAB can interface with C/C++ so these languages would be good to learn.

If you just want to start learning a language then I'd suggest learning java using the Processing.org IDE. It's a tool geared for casual programming for graphic artists with your feedback being interactive graphics. It uses java and can deploy on windows, Linux and macosx as well as android with a different API.

However if you think you want to be more professional then choose eclipse or netbeans and use them to start learning java. There is also a toolkit called Open Source Physics at compadre.org that can get you started on developing computer simulations. It comes with a lot of cool examples.

Another route would be to learn a scripting language like groovy, ruby or python. Scripting languages always come in handy when putting together a system of apps to solve a particular problem. Groovy in particular is really neat in that can harness the power of java libraries to do its work and it's basically a superset of java that is easier to program with.
 
  • Like
Likes 1 person
  • #3
The great thing about programming is it is much more about knowing how to progam as opposed to knowing a specific language.
My experience has been that once you know one language you can pick up any other with a refrence source (internet) or a book.

That being said you can never go wrong learning C or C++ as a lot of languages are based upon the C syntax (C, C++, Java, php, C# just to name a few).

For what you're doing python might not be a bad choice either

As for how to go about learning? There are lots of online courses that can walk you through it. Or go buy a book on the language and work through it. But when you follow an example program, always spend time modifying it in some way.

Hope that helps
 
  • Like
Likes 1 person
  • #4
I have to disagree a bit with the two previous posters (regarding Java/C). I agree with the bit jedishrfu and cpscdave said about a scripting language. Java and C (Java especially) are more geared to software development rather than as tools to operate equipment, data analysis, communications and the like.

I work with some photonics engineers as well as various flavors of hardware engineer and find that they do most of their work in MATLAB and Python (although most scripting languages would work). Also, a lot of people end up doing at least a little FPGA development (or need to read FPGA code) so getting your read around VHDL and/or Verilog wouldn't be a terrible idea.

If I were you, I'd continue improving in MATLAB and try to pick up Python. They will both look very good on your resume.
 
  • #5
I think python, R, and Matlab would be good languages to learn for your purposes. Maybe learn something C like too if you have the extra time.
 

1. What are the most common programming languages used in a photonics career?

The most common programming languages used in a photonics career are Python, MATLAB, C++, and Java. These languages are versatile and have a wide range of applications in photonics research and development.

2. Do I need to have prior programming experience to pursue a career in photonics?

While having prior programming experience is beneficial, it is not a requirement for pursuing a career in photonics. Many universities and institutions offer courses and training programs specifically for scientists and engineers to learn programming languages for photonics.

3. Can I use programming languages for photonics in other fields?

Yes, programming languages used in photonics are applicable in various other fields such as telecommunications, biomedicine, and renewable energy. They are versatile tools that can be applied to solve a wide range of problems.

4. Which programming language is best for data analysis in photonics?

Python is the most commonly used language for data analysis in photonics. It has a large library of packages specifically designed for scientific computing and data analysis, making it a powerful tool in the field.

5. Are there any emerging programming languages specifically for photonics?

Yes, there are emerging programming languages that are specifically designed for photonics, such as Photonics Designing Language (PDL) and OptiX. These languages are still in the early stages of development, but they show great potential for advancing the field of photonics.

Similar threads

Replies
2
Views
722
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
17
Views
1K
  • STEM Academic Advising
Replies
6
Views
2K
Replies
2
Views
877
  • STEM Career Guidance
Replies
22
Views
3K
  • STEM Academic Advising
Replies
2
Views
613
  • STEM Academic Advising
Replies
9
Views
1K
  • STEM Academic Advising
Replies
12
Views
3K
  • STEM Academic Advising
Replies
2
Views
1K
Back
Top