🧩 Dev¶
%%{init: {'theme': 'dark'}}%%
timeline
title Evolution of Programming Languages
1972 : C : Created by Dennis Ritchie (Bell Labs)
1985 : C++ : Introduction of Object-Oriented Programming (Bjarne Stroustrup)
1991 : Python : First public release (Guido van Rossum)
1995 : Java : "Write Once, Run Anywhere" (Sun Microsystems)
2015 : Rust : Focus on memory safety and performance (Mozilla)
1970s-1980s: Procedural
void process_data(int *data, int size) {
for (int i = 0; i < size; i++) {
data[i] *= 2;
}
}
1990s-2000s: Object-Oriented
class DataProcessor {
public:
void process(std::vector<int>& data) {
for (auto& val : data) val *= 2;
}
}
2000s-2010s: Improvement of expressiveness
def process_data(data):
return [x * 2 for x in data]
2010s-2020s: Memory Security
fn process_data(data: &mut Vec<i32>) {
data.iter_mut().for_each(|x| * x *= 2);
}
Books¶
Knuth - 1997 - The Art of Computer Programming v1 Fundamental Algorithms
Knuth - 1997 - The Art of Computer Programming v2 Seminumerical Algorithms
Knuth - 1997 - The Art of Computer Programming v3 Sorting and Searching
Garey, Johnson - 1979 - computers and intractability