Unixtopia

main/ artigos/

JavaScript

É uma linguagem de programação de script popular, ruim e bloated. É o ponto central do desenvolvimento web, a pior área em que um programador pode se encontrar, é responsável por um grande número de suicídios, a linguagem é infamemente cercada por um clusterfuck das estruturas mais tóxicas que você possa imaginar, fato curioso também é que as pessoas que programam em JS são menos inteligentes do que pessoas que não programam. JS não deve ser confundido com o Java, que por também costumava ser usada na web, mas funciona de forma muito diferente. JS também não deve ser confundido com ECMAScript, um padrão de linguagem no qual JS é baseado, mas ao qual ele adiciona ainda mais anti-recursos, JS é um dialeto de ECMAScript, que é semelhante ao ActionScript e JScript. A postura do SMR em relação é clara, como qualquer outra linguagem moderna, JS é uma escolha inaceitável para qualquer projeto sério, embora possa ser usada para experimentos rápidos e programas temporários feios, pois a linguagem é high-level, extremamente fácil, não requer nenhuma habilidade de pensar, funciona em todos os navegadores e permite fazer coisas como GUI e visualizações de forma rápida e fácil. Mas lembre-se de que esse tipo de conforto sempre tem um custo alto para pagar.

O quão ruim é JS? Muito. Uma implementação minimalista em C chamada QuickJS tem cerca de 80 mil LOC. Uma implementação mais convencional do JS, o mecanismo v8. usado no Node.js tem mais de 1 milhão de linhas de código de C++. O V8 também contém Web Assembly além do JS. A regra 1 de um bom webdesign é, nunca use JS. Um site não é um programa, um site é um documento, então não precisa de nenhum script. Os fanáticos por privacidade odeiam JS da web porque é uma grande vulnerabilidade de segurança, sites com JS podem espionar você facilmente , mesmo se o script for "software livre" e se ele rodar em VM. Não gostamos de segurança, mas JS ainda é uma merda, torna um site inutilizável em bons navegadores, aqueles que não implementam JS, então o odiamos também. Basicamente, todo mundo odeia. No passado, JS era apenas uma linguagem de script do lado do cliente, era usado em navegadores da web para fazer cálculos no computador cliente, como uma linguagem de navegador, JS interopera com HTML e CSS, outras duas linguagens usadas em sites, que não são linguagens de programação. Para cálculos do lado do servidor, PHP, uma linguagem diferente, foi usada, mas por volta de 2010, um framework chamado Node.js apareceu, permitindo que JS fosse usado como uma linguagem mais geral e para programação do lado do servidor, como é mais confortável escrever tudo em uma única linguagem, JS começou a substituir PHP em muitos lugares, embora PHP ainda seja usado até hoje. Por que se chama JS se não tem nada a ver com Java? Porque foi escolhido na época que Java era grande e queriam mostrar que JS é parecido, mas complementar, os desenvolvedores das linguagens estavam associados uns aos outros e eles pensaram que seria um bom marketing associar por meio de nomenclatura.

{ Em 2024 JavaScript matou o Internet Archive. Alguma biblioteca JS permitiu que algum tipo de cracker o derrubasse, no momento em que escrevo isso o arquivo está morto há mais de uma semana e uma recuperação ainda não está à vista, é claro que isso também prejudicou ou matou muitos outros sites que dependem de IA, como Librivox. Bom trabalho, soydevs retardados, imagino de quem foi a ideia de usar JavaScript no site. ~Hermian }

Exemplos Abaixo está nosso programa de árvore divisora ​​padronizado escrito em JavaScript do navegador:
<html> <head> <script>

// recursive function, returns divisor tree of x as a string
function divisorTreeStr(x)
{
  let a = -1, b = -1;

  for (let i = 2; i <= x / 2; i++) // find closest divisors
    if (x % i == 0)
    {
      a = i;
      b = x / i;

      if (b <= a)
        break;
    }

  return "(" + (a > 1 ? divisorTreeStr(a) + " " + x + " " +
    divisorTreeStr(b) : x) + ")";
}

function main()
{
  while (true) // main loop, read numbers from the user
  {
    let x = parseInt(prompt("enter a number:"));

    if (isNaN(x) || x < 0 || x >= 1000)
      break;

    console.log(divisorTreeStr(x));
  }
}

</script> </head> <body onload="main()"> </body> </html>

Gore de JavaScript

Isso mata o JS:

clear(this);

Isso mesmo, o código acima apenas faz ele cometer suicídio ao deletar toda a sua coisa global.

{ Encontrado aqui: codegolf.stackexchange.com/questions/61115/make-your-language-unusable ~Hermian }

Veja como fazer sua página funcionar somente com o JavaScript desativado:

<html>
<head>
<script>
function nuke() { document.body.innerHTML = "<p>disable JavaScript to view this page</p>"; }
</script>
</head>

<body onload="nuke()">
  <h1> My awesome page </h1>
  <p> My awesome page text :) </p>
</body>

</html>

{ Lembre-se de que normalmente quebrar a compatibilidade de propósito é ruim, não deve ser feito seriamente, não desperdice esforços quebrando algo, em vez disso, faça algo legal. Censura é sempre ruim, mas é um troll legal. Não se esqueça de se divertir às vezes. ~Hermian }

Isso dará um ataque epilético a todos que têm Javascript ativado:

<html>
<head>
<script>
alert("Turn off Javascript to make it stop.");

var count = 0;

function go()
{
  count += 1;
  document.body.style.backgroundColor = (count % 2) ? "red" : "blue";
  document.body.style.color = (count % 2) ? "green" : "yellow";
  document.body.style["font-size"] = (count % 64).toString() + "px";
  setTimeout(go,10);
}
</script>
</head>

<body onload="go()">
  <h1> My awesome page </h1>
  <p> My awesome page text :) </p>
</body>

</html>

Algumas bobagens de JS:

{ Encontrado aqui: wtfjs.com ~Hermian }

"11" + 1  // "111"
"11" - 1  // 10

Impulsionado por nada. Todo conteúdo é disponível sob CC0 1.0 domínio público. Envie comentários e correções para Mr. Unix em victor_hermian@disroot.org.