What are the fundamentals of programming?

twitter logo ・1 min read

what are the core basic fundamentals of programming which if you learn it well you can easily switch between programming languages because the principles are the same in every language? I have been thinking about this for a while and searched a lot but couldn`t find the right answer to my question. I hope i can get a clear explanation from the experienced developer in DEV.to

twitter logo DISCUSS (6)
markdown guide

I'd say it'd be the notion of variables and function (AKA methods). It seems like most, if not all, programming languages—not markup languages—have some sort of way to define variables and functions. Master these concepts and you're pretty much set to learn every programming language out there.


Thank you for the precise and clear answer. Does "variables and function (AKA methods)" have a defined way to learn them I mean what they call them in the programming world? There must be a term for that.


I think they're just called variables and functions in general. In functional programming, you would have functions everywhere, as its name suggests. In object-oriented programming, you encounter object methods (in classes) rather than functions. They're still pretty much the same thing, though.


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.


Functions, variables, interfaces. Probably the notion of “mental models”, not a pure programming thing per se, but a very fundamental part.


Ben Thank you, but I`m still confused. Mental models are applied everywhere but how we can relate them to programming? And could you please elaborate more, still doesn't click in my mind? Also what you mean by "not a pure programming thing per se".

Classic DEV Post from Apr 11

What's in your podcast rotation right now?

Curious what everyone is listening to for podcasts these days, whether it be te...

Ghaleb Al-Nakhlani profile image
Passionate web developer

Do you prefer sans serif over serif?

You can change your font preferences in the "misc" section of your settings. ❤️