Part of
← Software Engineering ← Computer Science
-
- Use for applications such as image recognition and natural language processing.
- Cloud computing
- Data Manipulation
- Use for applications such as image recognition and natural language processing.
-
- Use for applications that place a high value on data visualization (ggplot2) and/or can take advantage of the powerful Shiny framework in combination with the RStudio Products
- Data Manipulation
-
- Speed
- Used for time-critical or resource-intensive applications
- Extensible
- Multiple dispatch ⇒ all functions and operators can be extended to work with user types arbitrarily.
- Combined with dynamic typing
- Cutting edge of compiler technology
- Best libraries for differential equations, mathematical optimization, and automatic differentiation
Concepts
Memory Management
Manual Memory Management
Garbage Collection
Concurrency
Thread Creation
Parallelism
- Amdahl’s Law
Your program can only benefit from parallelism to the extent that its tasks are parallelizable p is the fraction of the program that can be parallelized.