Estava eu lendo humildemente o meu livro ai ele começou a falar das estruturas de repetição(for, while, do/while), escolha(switch, if/else)… essas coisas.
Entendi que essa parte ai eh programação estruturada, aí ele fala dos comandos break e continue, só que o autor avisa que estes comandos são considerados por muitos programadores uma volta à programação desestruturada. Será?
To começando java agora e é minha primeira linguagem, os tipos de linguagem (estruturada, desestruturada e OO) eu entendo como funciona, mas só queria saber o que vocês da comunidade acham dessa obs do autor???
[]'s
Thiago
Olá,
Uma linguagem OO incorpora aspectos de linguagem estruturada, mas no caso o que você mencionou foram laços de repetição e condicionais, isso não faz uma linguagem estruturada ou OO, qualquer linguagem utilizável vai precisar de estruturas assim, seja qual for sua categoria.
Se você está começando agora, a sugestão é sempre que se concentre em aprender algoritmos e estruturas de dados 9memso que usando Java como ferramenta), e esqueça objetos, programação estruturada e demais ate´que domine esta prática.
pcalcado:
laços de repetição e condicionais, isso não faz uma linguagem estruturada ou OO, qualquer linguagem utilizável vai precisar de estruturas assim, seja qual for sua categoria.
Então o que é uma linguagem estruturada? E a procedural? E, bom, não existem linguagens sem loops e condicionais? Assembly? BASIC? Fortran?
???
Programação OO e programação estruturada não está na sintaxe de uma línguagem, e sim na forma como o problema é resolvido!
(Desculpem pela passagem rápida!!! As coisas que tenho que resolver são para ontem… aff…)
Abraços!
Thiago
Procedural may refer to:
Procedural programming is a programming paradigm based upon the concept of the modularity and scope of program code (i.e., the data viewing range of an executable code statement). A main procedural program is composed of one or more modules (also called packages or units), either coded by the same programmer or pre-coded by someone else and provided in a code library.
Each module is composed of one or more subprograms (which may consist of procedures, functions, subroutines or methods, depending on programming language). It is possible for a procedural program to have multiple levels or scopes, with subprograms defined inside other subprograms. Each scope can contain names which cannot be seen in outer scopes.
Procedural programming offers many benefits over simple sequential programming since procedural code:
* is easier to read and more maintainable
* is more flexible
* facilitates the practice of good program design
Procedural programming languages facilitate the programmer’s task in following a procedural programming approach.
The canonical example of a procedural programming language is ALGOL. Others include Fortran, PL/I, Modula-2, and Ada.
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).
A feature of objects is that an object's own procedures can access and often modify the data fields of itself (objects have a notion of this or self). In OOP, computer programs are designed by making them out of objects that interact wit...
In computer science, Object-oriented programming, OOP for short, is a computer programming style that emphasizes the following concepts:
* Objects - Packaging data and functionality together into units within a running computer program; objects are the basis of modularity and structure in an object-oriented computer program.
* Abstraction - The ability for a program to ignore some aspects of the information that it is manipulating, i.e. the ability to focus on the essential.
* Encapsulation - Ensures that users of an object cannot change the internal state of the object in unexpected ways; only the object's own internal methods are allowed to access its state. Each object exposes an interface that specifies how other objects may interact with it.
* Polymorphism via message sending. Instead of subroutine calls, object-oriented languages can make message sends; the specific method which responds to a message send depends on what specific object the message is sent to. This gains polymorphism, because a single variable in the program text can hold different kinds of objects as the program runs, and thus the same program text can invoke different methods at different times in the same execution. To contrast, functional languages gain polymorphism through the use of first-class functions.
* Inheritance- Organizes and facilitates polymorphism and encapsulation by permitting objects to be defined and created that are specialized types of already-existing objects - these can share (and extend) their behavior without having to reimplement that behavior. (Object-based languages do not always have inheritance.)
Aidna que não exista um construto próprio (um IF, WHILE…) o programador vai emular esse comportamento, do contrário não consegue fazer nada muito interessante.
basic tem loops sim…
e assembly até onde eu sei não é considerada linguagem de programação, e sim linguagem de montagem (asm r0x!!! mas enche o saco…)