DEV Community

Matheus Gomes πŸ‘¨β€πŸ’»
Matheus Gomes πŸ‘¨β€πŸ’»

Posted on

5 4

Programming Paradigms: Structured

Sup dudes, it's me again!😎

Now to talk about programming paradigm, this time about the STRUCTURED programming paradigm.

If you are new to this article, i explain everything about the basics of programming in my previous article, this is a series of articles about this topic. Every time i learn about one i come here and write another one.

Here you can get to all of my articles of this series!

Programming paradigm #1
You are here!

So...

What is a Structured Programming Paradigm?πŸ€”

More Technical ExplanationπŸ‘¨β€πŸ’»:

According to Ray Toal (see references) structured programming paradigm is defined by a Programming with clean, goto-free, nested control structures.

What does it mean? It means that structured programming is a kind of imperative programming where control flow is defined by nested loops, conditionals, and subroutines, rather than via GOTOS. Variables are generally local to blocks (have lexical scope).

Early languages emphasizing structured programming: Algol 60, PL/I, Algol 68, Pascal, C, Ada 83, Modula, Modula-2. Structured programming as a discipline is sometimes though to have been started by a famous letter by Edsger Dijkstra entitled Go to Statement Considered Harmful.

More practical explanationπŸ˜‹:

It's simple a advance or improvement on the clarity, quality and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines.

Graphical representation of the three basic patterns β€” sequence, selection, and repetition β€” using NS diagrams (blue) and flow charts (green).

Practical example:

result = [];
for i = 0; i < length(people); i++ {
    p = people[i];
    if length(p.name)) > 5 {
        addToList(result, toUpper(p.name));
    }
}
return sort(result);
Enter fullscreen mode Exit fullscreen mode

In shortπŸ‘

It's a advance in the early programming languages by using if/else/while/for and block structures and subroutines.

Imagine programming in something the doesn't even have a if else statement, that was a reality a few years ago in the early beginnings of programming. That's why we need to be thankfully to Dijkstra and his hate to GOTO statements.

References:

https://cs.lmu.edu/~ray/notes/paradigms/

https://en.wikipedia.org/wiki/Structured_programming

https://en.wikipedia.org/wiki/Goto#Criticism

https://cs.lmu.edu/~ray/

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (2)

Collapse
 
wakeupmh profile image
Marcos Henrique β€’

Awesome 🀘

Collapse
 
matheusgomes062 profile image
Matheus Gomes πŸ‘¨β€πŸ’» β€’

Thanks Marcos!

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❀️