Scientific Programming: C, C++ & Mathematica Explored

Click For Summary
SUMMARY

The discussion emphasizes the importance of learning C and C++ alongside Mathematica for scientific programming. While Mathematica excels in mathematical evaluations, C and C++ are essential for performance-critical applications, especially in massively parallel programming and supercomputing environments. Users can customize their code in C/C++ for specific needs, making it a versatile choice. Additionally, Python is suggested as a complementary tool due to its numerical and symbolic capabilities through libraries like NumPy and SciPy.

PREREQUISITES
  • Understanding of C and C++ programming languages
  • Familiarity with Mathematica for mathematical computations
  • Knowledge of parallel programming concepts
  • Basic understanding of Python and its scientific libraries (NumPy, SciPy)
NEXT STEPS
  • Explore advanced C++ features for performance optimization
  • Learn about parallel programming techniques in C and C++
  • Investigate the use of Python with NumPy and SciPy for numerical analysis
  • Study the integration of assembly language within C for performance-critical applications
USEFUL FOR

Students in mathematics or computer science, software developers focused on scientific computing, and professionals working in high-performance computing environments.

Barioth
Messages
47
Reaction score
0
Hi everyone, as an undergrad in Pure math I have to take two classes of C and C++ programing.


I also have to take a mathematica class. I really donMt mind because I love programing and I'll probably get more class like this. But I'm wondering what good is C and C++ when one can use mathematica witch seem to be better at evaluating mathematical and numerical stuff.


What do you think?

Thanks for passing by!
 
Technology news on Phys.org
Re: Scientific Programing

To me it is very important to study a programming language . Sometimes you need to evaluate things that Mathematica can't or computation time exceeded. If you have your own code then you can adjust it the way you want and improve it as much as you can. For example ,you can easily implement series and evaluate an approximated value.
 
Re: Scientific Programing

As a note: in some situations, such as massively parallel programming, C and C++ are the only languages used, because they run much faster than Mathematica or anything else. C and C++ are typically the tool of choice on a super-computer. Anything you can do on a computer, you can do in C++. It's not always the best tool, but often it is.
 
Re: Scientific Programing

That make a lot of sense!

Thanks!
 
Re: Scientific Programing

In the real world it's not all math or mathematica.
A programming language like C/C++ is used a lot however.
 
Re: Scientific Programing

I like Serena said:
In the real world it's not all math or mathematica.
A programming language like C/C++ is used a lot however.

Maybe you should consider Python, it has extensions to give it the numerical power of Matlab (numpy, scipy and matplotlib), and to give it symbolic capability (sympy) while still being a GP scripting language. Also it is free ...

.
 
I may be dating myself (think 2 decades ago), but one thing I liked about C was the ability to embed assembler in the code for bottlenecks. But, this was in the days when memory was at a premium. (Happy)
 
MarkFL said:
I may be dating myself (think 2 decades ago), but one thing I liked about C was the ability to embed assembler in the code for bottlenecks. But, this was in the days when memory was at a premium. (Happy)

Ten years ago we wrote DSP code in plain C, today the default seems to be C++ (when we aren't using domain specific tools) despite the overheads.

.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 19 ·
Replies
19
Views
4K
  • · Replies 31 ·
2
Replies
31
Views
3K
  • · Replies 17 ·
Replies
17
Views
5K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 29 ·
Replies
29
Views
8K
Replies
3
Views
4K
  • · Replies 26 ·
Replies
26
Views
5K