🧩 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

Contents¶