DEV Community

Discussion on: What are the fundamentals of programming?

Collapse
 
temporal profile image
Jacek Złydach • Edited

Managing complexity.

The limit on what programs can be practically written is the ability of human developers to comprehend pieces on which they work on, and their relation to whole. As a developer, your core skill is to manage complexity, so that it's easier and faster to write programs that are more powerful and more correct.

All tools programming languages provide exist essentially for this: to help you subdivide your program into reusable, independently-understandable pieces, so that you can segregate, reduce and hide complexity. The tools may differ slightly between languages, but they serve the same ultimate goal - so once you understand what job they're really doing, it's much easier to switch between languages and be productive quickly.