Executando verificação de segurança...
4

JavaScript necessita de uma "gambiarra".

Se formos levar ao pé da letra a maquina java é uma gambiarra em C/C++
Igual JS com V8/libuv(embora aqui tenhamos um event loop bem explicito)

adoção intrisíca da melhores práticas da orientação a objetos, dão ao Java uma abordagem estruturada para o desenvolvimento de aplicativos, permitindo a construção de sistemas complexos e de grande escala com requisitos rigorosos de confiabilidade e desempenho

Java não é a melhor linguagem OOP. Java nem adota muita coisa de OOP.
Java é o que é pelo marketing da Sun(que convenhamos era muito bom).
E deu muito certo. Parabéns pra Sun. E java não é ruim. Java é mais uma linguagem
que faz seu trabalho, tendo bons devs faz muito bem seu trabalho, assim com C#(que chamo de java da microsoft, já que eles basicamente copiaram e melhoraram os problemas de java)

basta ler a especificação.

Bota o link, ajuda muito em!

Quase sempre é interpretado pois são usados justamente.

Java é interpretado. Mas graças ao JIT(ele é interpretado e compilado ao mesmo tempo igual ao JS na V8 e nas outras engines)

JavaScript foi propositalmente escolhido para surfar em sua popularidade.

Foi uma parceria, o nome javascript pertencia a Sun e passou a ser da Oracle quando a mesma comprou a Sun. JS seria os irmão menor de java. Isso ta literalmente no site do Brendan.

funcionalidade de linguagens feitas para desenvolver aplicativos complexos

Isso é uma bobagem. Uma linguagem pode esconder as partes feias e o programador achar que ela foi feita para coisas complicadas. Mas as partes feias estão abstraídas!

Lua por exemplo, da pra vc fazer algo funcional ou oop. Mas vc vai ter que criar isso na mão(as partes feias) e vai poder usar de boa como uma linguagem quase igual as outras. Lua tem poucas palavras reservadas e esconde pouco as coisas.

Uma linguagem muito abstraida vai ajudar bastante para criar coisas. Pq parece que
ela foi feita pra criar coisas. Mas na verdade esta escondendo.
Isso é ruim? Nem um pouco. Mas não mesmo!

Patterns do GOF estão ai pra mostrar que problemas eles existem para sanar problemas de linguagens OOP. Que em linguagens funcionais poucos patterns fazem sentido, pq elas já tem todos os outros integrados.

Node/Typescript/Prisma parecem adotar padrões de design, abordagens de arquitetura e rationales que são típicos do Java, ou qualquer outra linguagem focada no desenvolvimento de aplicações como C#.

A resposta é mais simples do que parece. Os devs dessas linguagens saem delas. Mas eles não esquecem. Não querem aprender uma nova forma de criar coisas. Querem continuar como antes! Isso fica claro. Um dev que vem dessas outras linguagens carrega os maneirismo delas. O que acaba refletindo no código dela. Eu acho isso bem ruim. Mas não é o fim do mundo. (colocas Class palavra em js prova um pouco disso)

Js é uma linguagem OOP prototipica(linguagens prototipicas foram desenvolvidas para sanar problemas de linguagens OOP classicas).

Coloca class em JS(mesmo que quase fake) trás mais problemas que soluções. Pessoas vão usar achando que vai ter certos efeitos, mas nem todos os efeitos vão aparecer, criando problemas. Pois Js é prototipica, outra forma de obter oop. O pensamento precisa mudar!
O que é bem dificil kkkk Seria esse o motivo deste tipo de linguagem não fazer muito sucesso o pensamento tem que mudar e mudar é complicado!

JavaScript no desenvolvimento de back-end da Web não está em replicar a funcionalidade de linguagens feitas para desenvolver aplicativos complexos,

Concordo plenamente. O dev de outra linguagem deve aprender a linguagem que esta usando. Vale pra python, Go e outras.

Aqui ilustro apenas que usar o JavaScript para 'fazer computações' no banco de dados oferece muitas vantagens em relação ao utilizar o PL/pgSQL.

Nunca tinha ouvido falar no plv8 muito interessante!

módulo JS do Nginx

Pq não usar Lua que já vem integrado ao Nginx e é outra linguagem de script que é usada em tudo para fazer tudo como js?

todas as regras de negócios única e exlusivamente dentro do banco de dados e foi all-in.

Isso era bem comum. Antigamente o banco tinha de tudo. O que foi mudando com a evolução das coisas. Mudandos as regras pra aplicação e deixando menos coisas pro banco resolver!

Ao usar a ferramenta certa para cada tarefa

Concordo!

linguagens fortemente tipadas por natureza

Não existem artigos cientificos que provem que linguagens tipadas são melhores.
Ou resultam em menos problemas. Tudo que vejo são evidencias anedóticas!
Se a linguagem nasceu assim que continue, se não que não.
Se existem as tipadas e a não tipadas algum motivo tem! rsrsrsr

controlar ferramentas como Nginx e Postgres?

Penso que o Nginx ja tem Lua pra isso. Mas JS nele pode ajudar muito quem não quer aprender lua.

Já no caso do postgres pra mim é uma novidade. Nem sei o que pensar ainda!

deveríamos reconsiderar a especificação como uma linguagem de script

Acho que isso pouco importa no final! Java por exemplo começou como linguagem simples para embarcados. Depois foi mudando e chegamos onde chegamos. Mérito da sun.
Pegou o hype OO da época, e ajudou a moldar o pensamento OO de uma grande geração.
Embora esse pensamento não esteja lá muito certo. Muita gente acha que Java é o suprasumo do OO. Que ela implementa tudo correto e certo de OO. O que não é verdade!

Segundo o criador do JSON, deveriamos aposentar o JavaScript.

Ele fala isso pq esta promovendo uma nova linguagem.
E o que mais impactante que dizer que é pra aposentar o JS?
Logo quem, ele mesmo o cara mais famoso de Js que podemos dizer!

O impacto foi grande, bem grande e deu muito certo. Os holofotes foram para ele.
E ele pode mostrar uma "alternativa" que ele estava promovendo.

Errado? Não! Genial? tbm não, mas foi perspicas kkkk

Abraços bom texto.

Carregando publicação patrocinada...
1

Excelente. Muito obrigado por seus comentários muito pertinentes. De fato concordo com muita coisa que disse e dão pano para muito manga e boas discussões.

Primeiro, queria apenar responder alguns pontos.

Se formos levar ao pé da letra a maquina java é uma gambiarra em C/C++

Não, existe uma diferença fundamental. A JVM é parte integral e fundamental da especificação do Java, enquanto no JS:

"ECMAScript is not intended to be computationally self-sufficient; indeed, there are no provisions in it's specification for input of external data or output of computed results"

Pq não usar Lua que já vem integrado ao Nginx e é outra linguagem de script que é usada em tudo para fazer tudo como js?

Graças aos esforços colossais mencionados no ínicio do texto, O js é objetivamente melhor que o Lua em vários sentidos: ele é 'normalmente' mais rápido, oferece mais funcionalidades, e talvez o mais imporante, no cénario Web, que involve muita manipulação de JSON, faz mais sentido usar a ferramenta que trabalha nativamente com estes objetos. E isso também se aplica em porque usar o plv8 em muitos casos.

Não existem artigos cientificos que provem que linguagens tipadas são melhores.

Não existem artigos que provem que são melhores, por que de fato não são, mas que eles produzem código mais legivel e com menos erros, existem muitos.

Ou resultam em menos problemas. Tudo que vejo são evidencias anedóticas!

Não são apenas evidencias anedóticas, mas um simples fato, que as aplicações mais complexas que existem são tipadas: considere os sistemas operacionais, sistemas de gerenciamento de banco de dados, navegadores, compiladores, as aplicações por trás dos sistemas bancários, corporativos e de telecomunicações. Tudo é tipado. Tipos são ferramentas fundamentais para mapear problemas do mundo real em abstrações de software.

4

Não, existe uma diferença fundamental. A JVM é parte integral da especificação do Java,

É uma verdade mas não muda o que eu disse, de java vira arvore que vira bytecode que vira codigo de maquina e tudo isso com JIT(o que é igual ao V8).

Node por outro lado tem event loop se não me engano tem coisas em java com isso.
Com a implementação do pattern reactor.

Uma curiosidade: O proprio Nginx usa um event loop(pattern reactor.)
mas ele é escrito em C/C++

oferece diversas funcionalidades que o Lua não tem

É aquilo que eu disse antes. As funcionalidades com a parte feia escondida rsrsrss

muita manipulação de JSON, faz mais sentido usar JS que trabalha nativamente com estes objetos.

Entendi o ponto!

mas que eles produzem código mais legivel e com menos erros existem muitos.

Isso tem artigos?

1

É uma verdade mas não muda o que eu disse

Sei la eu acho que muda tudo, o Java foi feito para interagir com o mundo externo, o JavaScript, não. Esse é o ponto, não a maneira como é feito. Por isso o Node é uma gambiarra e a JVM não.

Isso tem artigos?

Sim.

https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf

https://www.microsoft.com/en-us/research/wp-content/uploads/2017/09/gao2017javascript.pdf

Veja também que dei um editada na outra resposta.

Abraços