Scientific computing advice needed

In summary, the conversation discusses the use of various science-related software and languages in the professional world, with the speaker seeking advice on which ones to focus on. They mention using Octave, gnuplot, and Maxima for university lab reports, but are open to learning other tools. Other professionals mention using Mathematica, Matlab, Maple, and various free/open source alternatives for programming, math, statistics, productivity, and graphing. They also note that once one learns how to program in one language, learning others is relatively easy.
  • #1
freemind
Hello folks,

I'm a budding physicist who needs advice on science-related software that's used in The Real World (TM). I've recently had a look at Octave, Maxima, matplotlib (python plotting), gnuplot, Ocaml and "The R environment for statistical computing". Problem is, I can't make up my mind on which to learn. Given my goldfish-like memory, familiarising myself with the syntax of all those applications/languages is quite unfeasible.
Hence, I'd like to know what some of the professionals use at work, so I can focus on those instead of all - worse yet, focus on only some of them which don't find much usage outside their respective developer communities. I'm completely an open-source user (would like to be a contributor as well), due to my non-existent budget - and I'd rather not obtain proprietary commercial software by illegal means. Please feel free to post other languages/apps as well.

Thanks.

P.S: I've been using Octave and gnuplot (with a little bit of maxima) for my university lab-reports so far. I'm relatively comfy with those, but I do find the lack of error-analysis capabilities to be a hindrance.
 
Computer science news on Phys.org
  • #2
I think the variety of software people use in the 'real world' is about as varied as the number of people using them and where the software is being used. you'll likely get different answers from everybody who responds.

That said, the big ones are probably Mathematica, Matlab and Maple. Personally, I go with the free/open source alternatives since I have no budget for software (no budget for much of anything really). My tools of choice are
[*]programming: C, Fortran, PHP, shell
[*]Math: Octave, FreeMat
[*]Statistics: R
[*]Productivity: Excel, Word, OpenOffice, LaTeX
[*]Graphing: Excel

As far as programming goes, once you've learned how to program in one language, learning other languages is usually just a matter of learning the syntax. The programming principles remain the same.
 
  • #3
Thanks for the insight imabug. I guess I'm on the right track in terms of software and languages. I really didn't realize that there would be a large variation (I thought MATLAB and C would be the only major ones).
 
  • #4
hi,
There are somethings like scilab. Good for use.
 

1. How do I choose the right programming language for scientific computing?

The best programming language for scientific computing depends on the specific needs of your project. Some popular languages used in this field include Python, MATLAB, and R. Consider factors such as your data type, required analysis techniques, and available libraries before selecting a language.

2. Can you recommend any resources for learning scientific computing?

There are many online resources available for learning scientific computing, such as online courses, tutorials, and forums. Some popular options include Coursera, DataCamp, and Stack Overflow. Additionally, many universities offer courses in this subject, so you may want to check with your local college or university as well.

3. What are the most common challenges in scientific computing?

Some common challenges in scientific computing include managing large and complex datasets, ensuring accuracy and reproducibility of results, and dealing with computational limitations. It's important to have a solid understanding of your data and the underlying algorithms to overcome these challenges.

4. How can I optimize my code for faster computation?

There are a few ways to optimize your code for faster computation. One approach is to use parallel processing techniques, such as multi-threading or distributed computing. Another option is to optimize your algorithms and data structures for efficiency. Additionally, using compiled languages instead of interpreted languages can also improve computation speed.

5. Are there any ethical considerations in scientific computing?

Yes, there are ethical considerations in scientific computing, particularly in the use of sensitive or personal data. It's important to ensure that your research and analysis methods are ethical and adhere to any applicable laws or regulations. Additionally, it's crucial to maintain data privacy and security to protect the individuals or organizations involved in your study.

Similar threads

  • STEM Academic Advising
Replies
7
Views
2K
  • STEM Career Guidance
Replies
18
Views
4K
  • STEM Academic Advising
Replies
1
Views
2K
Replies
8
Views
2K
Replies
10
Views
4K
  • STEM Career Guidance
Replies
2
Views
1K
Replies
8
Views
1K
Replies
5
Views
7K
  • STEM Academic Advising
Replies
1
Views
4K
Back
Top