Java foi uma das linguagens que popularizou o uso de Padrões...

Próximas questões
Com base no mesmo assunto
Q3881286 Programação
Java foi uma das linguagens que popularizou o uso de Padrões de Projeto (Design Patterns) no desenvolvimento corporativo, transformando esses conceitos em padrões de mercado para criar sistemas robustos.
Com relação à Linguagem de desenvolvimento JAVA, analise os itens a seguir:

I. O desenvolvimento de aplicações empresariais, APIs RESTful e microsserviços, focando em arquitetura e produtividade, pode ser obtido pelo uso de Frameworks (Spring Boot, Quarkus).
II. A partir do Java 8 (JSR 335: Lambda Expressions for the Java™ Programming Language) houve transição do paradigma puramente imperativo para o paradigma funcional, permitindo que o código Java fosse mais conciso, legível e preparado para processamento paralelo.
III. O acesso a dados em Java pode ocorrer pelo uso de frameworks ORM (Object-Relational Mapping), como o Hibernate, sendo viabilizado de forma robusta pela API JDBC que provê a conectividade base, e evolui para uma gestão estruturada através da especificação Jakarta Persistence (JPA).

Está correto o que se afirma em
Alternativas

Comentários

Veja os comentários dos nossos alunos

Não entendi o porquê da alternativa II ser dada como correta. Java em algum momento utilizava "puramente" o paradigma funcional ?

A questão aborda a evolução e o ecossistema moderno da linguagem Java. Todas as afirmações estão corretas, o que torna a alternativa E (I, II e III) a correta.

Aqui está um resumo de cada ponto:

I. Frameworks e Produtividade

O Java moderno é amplamente utilizado para microserviços e APIs RESTful através de frameworks como Spring Boot (o padrão de mercado) e Quarkus (focado em alto desempenho e baixo consumo de memória, ideal para ambientes cloud-native). Eles automatizam configurações complexas, aumentando a produtividade.

II. Java 8 e Paradigma Funcional

O lançamento do Java 8 (JSR 335) foi um marco. Com a introdução de Expressões Lambda e a Stream API, o Java deixou de ser estritamente imperativo/orientado a objetos para aceitar elementos de programação funcional. Isso permitiu um código mais limpo e facilitou o processamento de dados em paralelo.

III. Persistência de Dados (Hibernate e JPA)

O acesso a bancos de dados em Java evoluiu em camadas:

* JDBC: É a base tecnológica que provê a conexão direta com o banco.

* Jakarta Persistence (antigo JPA): É a especificação (o "livro de regras") para mapear objetos Java para tabelas de banco de dados.

* Hibernate: É a implementação mais famosa dessa especificação (o framework ORM que realmente executa o trabalho).

Resumo da Resposta:

* Item I: Verdadeiro (Spring Boot/Quarkus são pilares atuais).

* Item II: Verdadeiro (Java 8 trouxe lambdas e estilo funcional).

* Item III: Verdadeiro (JDBC é a base, JPA a regra e Hibernate a ferramenta).

Tenho visto que as "banquíces" estão incomodando professores também. Isso é ótimo.

Analíse essa afirmação:

A partir do Java 8 (JSR 335: Lambda Expressions for the Java™ Programming Language) houve transição do paradigma puramente imperativo para o paradigma funcional, permitindo que o código Java fosse mais conciso, legível e preparado para processamento paralelo

"

A afirmação contém verdades parciais, mas exageros significativos que precisam ser esclarecidos.

  1. Java 8 introduziu expressões lambda e API Stream (JSR 335) ✓
  2. O código pode ficar mais conciso ✓ - Exemplo:

java

  1. Facilita processamento paralelo ✓ - permite uso eficiente de múltiplos núcleos

AfirmaçãoProblema"Transição do paradigma puramente imperativo"Java nunca foi puramente imperativo - já tinha herança, polimorfismo, encapsulamento (OO desde o início)"para o paradigma funcional"Java não se tornou funcional. Continua sendo multiparadigma com predominância OO"permitindo que o código fosse mais legível"Nem sempre - expressões lambda mal usadas prejudicam legibilidade

Java continua sendo OO:

  • Lambdas são implementadas como interfaces funcionais (SAM - Single Abstract Method)
  • Não há funções de alta ordem puras no sentido Haskell/Scala
  • Tipos ainda são fortemente baseados em classes

Limitações do "funcional" em Java:

  • Ausência de imutabilidade por padrão (diferente de linguagens funcionais)
  • Efeitos colaterais são comuns e permitidos
  • Não há tail call optimization nativo

Legibilidade é subjetiva:

java

A afirmação é imprecisa. O correto seria:

Java é hoje uma linguagem multiparadigma com forte base OO, não uma linguagem funcional.

"

Acho estranho a afirmação II estar correta. Até onde eu sei, o Java sempre foi compatível com o paradigma orientado a objetos. Como a afirmação de que no Java 8 houve transição do paradigma puramente imperativo para o paradigma funcional está correta?

Recurso na hora. Java nunca foi ser puramente imperativo. OO não é imperativo.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo