Why do we say languages such as C are top-down while OOP languages like Java or C++ are bottom-up? Does this classification have any importance in software development?
Java – Top down and Bottom up programming
cjava
Related Topic
- C++ – How to set, clear, and toggle a single bit
- C++ – What are the differences between a pointer variable and a reference variable in C++
- Java – How to round a number to n decimal places in Java
- C++ – The Definitive C++ Book Guide and List
- Java – Does Java support default parameter values
- Sqlite – Improve INSERT-per-second performance of SQLite
- C++11 introduced a standardized memory model. What does it mean? And how is it going to affect C++ programming
- C++ – use a pointer rather than the object itself
Best Answer
The "top down" approach takes a high level definition of the problem and subdivides it into subproblems, which you then do recursively until you're down to pieces that are obvious and easy to code. This is often associated with the "functional decomposition" style of programming, but needn't be.
In "bottom up" programming, you identify lower-level tools that you can compose to become a bigger program.
In reality, almost all programming is done with a combination of approaches. in object oriented programming, you commonly subdivide the problem by identifying domain objects (which is a top down step), and refining those, then recombining those into the final program — a bottom up step.