☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

segunda-feira, 18 de outubro de 2021

Working-Storage vs Local-Storage em COBOL: Muito Além do Static e Dynamic — A Engenharia Invisível que Mantém Milhões de Transações Funcionando

 

Bellacosa Mainframe evoluindo o data division trabalhando com o working-storage vrs local-storage

☕ Um Café no Bellacosa Mainframe

Working-Storage vs Local-Storage em COBOL: Muito Além do Static e Dynamic — A Engenharia Invisível que Mantém Milhões de Transações Funcionando

"Todo programador COBOL aprende cedo que existe a Working-Storage Section e a Local-Storage Section. Quase todos decoram que uma é 'estática' e a outra é 'dinâmica'. Poucos entendem que essa diferença define como um programa se comporta quando milhares de pessoas o executam simultaneamente em um IBM Z."

Existe um momento curioso na vida de todo desenvolvedor COBOL.

Logo nas primeiras aulas aparece alguém dizendo:

"Working-Storage é memória estática."

Logo depois vem outra frase:

"Local-Storage é memória dinâmica."

O aluno anota.

Decora.

Passa na prova.

Continua programando.

Anos depois ainda acredita que toda a história termina aí.

Mas não termina.

Na verdade, essa é apenas a primeira página de um assunto que influencia desempenho, escalabilidade, consumo de memória, concorrência, reentrância e até mesmo a disponibilidade dos maiores sistemas bancários do planeta.

Hoje vamos tomar um café e conversar sobre algo que acontece silenciosamente dentro do IBM Z toda vez que um programa COBOL começa a executar.

Vamos falar sobre memória.

Mas não qualquer memória.

Vamos falar da memória que ninguém vê.

Aquela que decide se um programa será elegante ou problemático.

Aquela que pode suportar dez usuários... ou cem mil.


O que realmente acontece quando um programa COBOL inicia?

Imagine que um programa COBOL seja um restaurante.

O código-fonte representa o projeto arquitetônico.

As instruções são as receitas.

Os parágrafos são os cozinheiros.

Mas falta algo essencial.

Onde ficam os ingredientes?

Eles precisam ser armazenados em algum lugar.

É exatamente esse o papel das áreas de dados.

Quando o programa é carregado, o sistema operacional reserva espaços de memória para armazenar todas as variáveis declaradas.

Essas áreas são cuidadosamente organizadas.

Algumas existirão durante toda a vida do programa.

Outras nascerão e morrerão constantemente.

É justamente aqui que entram a Working-Storage e a Local-Storage.


Working-Storage: a grande despensa do restaurante

Imagine a despensa principal de um restaurante.

Ela foi montada antes da abertura.

Os armários já estão organizados.

Os ingredientes estão separados.

Os utensílios permanecem sempre nos mesmos lugares.

Nada disso precisa ser montado toda vez que um cliente chega.

É exatamente essa a filosofia da Working-Storage.

WORKING-STORAGE SECTION.

01 WS-CLIENTE.
   05 WS-NOME        PIC X(40).
   05 WS-CONTA       PIC 9(10).

01 WS-SALDO          PIC S9(11)V99 COMP-3.

01 WS-CONTADOR       PIC 9(6).

Quando o programa é carregado pelo z/OS, essa área recebe memória.

A partir desse instante ela permanece disponível.

Não importa quantos PERFORM sejam executados.

Não importa quantos IF existam.

Não importa quantas SECTIONS sejam chamadas.

As variáveis continuam existindo.

O endereço de memória continua sendo o mesmo.

Isso torna o acesso extremamente rápido.


O verdadeiro significado de "estático"

Muitos iniciantes imaginam que "estático" significa "imutável".

Não.

Static não significa que o valor nunca muda.

Significa que o espaço de memória permanece o mesmo.

Observe:

MOVE 100 TO WS-TOTAL.

Depois:

ADD 50 TO WS-TOTAL.

Depois:

SUBTRACT 20 FROM WS-TOTAL.

O conteúdo mudou diversas vezes.

Mas o endereço da variável permaneceu exatamente igual.

É como uma gaveta.

Você pode trocar o que está dentro dela.

Mas continua sendo a mesma gaveta.


O custo invisível da criação de memória

Toda vez que um sistema precisa criar memória, ele realiza diversas operações internas.

Ele precisa:

  • localizar espaço livre;

  • reservar esse espaço;

  • inicializar a região;

  • atualizar tabelas internas;

  • controlar proteção;

  • posteriormente liberar aquela memória.

Tudo isso consome CPU.

A Working-Storage evita esse trabalho.

Ela nasce uma vez.

E permanece viva.

Por isso é extremamente eficiente para dados permanentes durante a execução.


Onde ela é usada?

Praticamente em todos os programas Batch.

Imagine um processamento de folha de pagamento.

Durante horas o programa percorre milhões de registros.

Ele precisa manter:

  • total de salários;

  • quantidade de funcionários;

  • número do lote;

  • estatísticas;

  • indicadores;

  • buffers de leitura;

  • tabelas carregadas em memória.

Nenhum desses dados precisa ser recriado continuamente.

Logo, Working-Storage é perfeita.


Agora imagine outro cenário...

Você desenvolveu um programa chamado CALCULA-IMPOSTO.

Ele é chamado por:

  • Internet Banking;

  • Aplicativo Mobile;

  • Caixa eletrônico;

  • Central de Atendimento;

  • PIX;

  • TED;

  • DOC;

  • Sistema interno do banco.

Milhares de chamadas por segundo.

Todos executando exatamente o mesmo programa.

Agora surge uma pergunta interessante.

Como impedir que um cliente altere os dados do outro?


Bem-vindo ao mundo da Local-Storage

É aqui que entra a Local-Storage Section.

LOCAL-STORAGE SECTION.

01 LS-TOTAL-IMPOSTO PIC S9(9)V99.

Essa variável possui um comportamento completamente diferente.

Ela não existe durante toda a vida do programa.

Ela nasce.

É utilizada.

E desaparece.

Cada nova ativação do programa recebe uma nova cópia.

Não existe compartilhamento.

É como um bloco de anotações entregue individualmente para cada cliente que entra no restaurante.

Quando o cliente vai embora...

O bloco é descartado.

O próximo recebe outro completamente limpo.


A diferença parece pequena...

...mas muda tudo.

Imagine três clientes acessando simultaneamente um sistema bancário.

Cliente A:

Saldo:

R$ 5.000

Cliente B:

Saldo:

R$ 18.000

Cliente C:

Saldo:

R$ 730

Se todos utilizassem exatamente a mesma variável para armazenar o saldo temporário...

Teríamos um desastre.

Enquanto um cliente calcula juros...

Outro altera o saldo.

Enquanto outro faz um PIX...

A variável já contém informações diferentes.

Resultado?

Corrupção de memória.

Valores inconsistentes.

Falhas imprevisíveis.

Esse tipo de problema recebe até um nome em computação:

Race Condition.


O IBM Z foi construído para evitar exatamente isso

O mainframe nasceu para executar milhares de tarefas simultaneamente.

Ele não foi criado pensando em um único usuário.

Foi projetado para atender cidades inteiras.

Bancos.

Companhias aéreas.

Seguradoras.

Governos.

Empresas de cartão.

Operadoras de saúde.

Enquanto você lê este artigo, existem programas COBOL sendo executados milhares de vezes por segundo.

Muitas vezes o mesmo módulo está atendendo centenas de usuários ao mesmo tempo.

Como isso é possível?

Porque o código é compartilhado.

Mas os dados não.


Código compartilhado

Imagine um livro.

Mil pessoas podem ler exatamente o mesmo livro.

O livro não muda.

Agora imagine que todas escrevessem anotações na mesma página.

Seria um caos.

É exatamente essa diferença.

O código pode ser compartilhado.

Os dados precisam ser privados.


Reentrância: um conceito muito maior que Local-Storage

Aqui chegamos a uma palavra que todo programador COBOL deveria conhecer.

Reentrant.

Um programa reentrante pode ser executado simultaneamente por inúmeras tarefas.

Existe apenas uma cópia do código.

Mas cada execução possui sua própria área de dados.

Isso reduz consumo de memória.

Melhora desempenho.

Aumenta escalabilidade.

Permite milhares de transações concorrentes.

Em ambientes CICS, isso é praticamente obrigatório.


O compilador RENT

Quem já compilou programas Enterprise COBOL provavelmente encontrou a opção:

RENT

Muitos imaginam que ela apenas altera um parâmetro de compilação.

Na verdade, ela muda toda a filosofia de utilização da memória.

O compilador passa a gerar código preparado para múltiplas execuções concorrentes.

Isso exige disciplina.

Variáveis compartilhadas precisam ser evitadas.

Dados específicos da execução devem permanecer em áreas privadas.

É justamente aqui que Local-Storage ganha enorme importância.


Batch e CICS não vivem exatamente no mesmo mundo

Essa é outra confusão comum.

No processamento Batch, normalmente existe apenas uma instância daquele programa executando.

Logo, Working-Storage atende perfeitamente.

Já no CICS...

Milhares de usuários podem chamar o mesmo programa.

Ao mesmo tempo.

Nesse ambiente, utilizar inadequadamente áreas compartilhadas pode gerar problemas extremamente difíceis de reproduzir.

Aquele famoso erro que "acontece uma vez por semana" muitas vezes nasce justamente da utilização incorreta da memória.


Um exemplo simples

Imagine este contador.

WORKING-STORAGE SECTION.

01 WS-CONTADOR PIC 9(5).

Cada chamada faz:

ADD 1 TO WS-CONTADOR.

Em Batch isso pode funcionar exatamente como esperado.

Agora imagine centenas de transações simultâneas.

Quem garante qual usuário alterou o contador primeiro?

Quem garante que nenhuma atualização será perdida?

É exatamente por isso que programas transacionais precisam ser cuidadosamente projetados.


Local-Storage também tem custo

É tentador imaginar que basta substituir tudo por Local-Storage.

Não é tão simples.

Toda criação de memória possui custo.

A cada ativação do programa, o sistema precisa:

  • reservar memória;

  • inicializar valores;

  • preparar a área;

  • liberar recursos posteriormente.

Esse trabalho é pequeno.

Mas quando falamos em milhões de chamadas por dia...

Pequenos custos tornam-se grandes números.

É por isso que engenharia de software nunca trabalha com respostas absolutas.

Tudo depende do contexto.


E o VALUE?

Outro detalhe frequentemente ignorado.

Observe:

01 WS-TOTAL PIC 9 VALUE 5.

O valor inicial é definido quando a área é inicializada.

Depois disso, o programa pode alterá-lo quantas vezes desejar.

Já na Local-Storage:

01 LS-TOTAL PIC 9 VALUE 5.

Cada nova ativação recebe novamente o valor cinco.

Parece um detalhe.

Mas em subprogramas reutilizados milhares de vezes isso muda completamente o comportamento da aplicação.


CALL e Subprogramas

Imagine um módulo de cálculo.

CALCULA-JUROS

Ele é chamado por dezenas de sistemas.

Se utilizar apenas Working-Storage para dados temporários, o comportamento dependerá da forma como o ambiente gerencia essa área e do modelo de execução adotado.

Se utilizar Local-Storage para as variáveis temporárias, cada ativação começa com uma área própria e limpa, reduzindo o risco de interferência entre execuções.

Por isso, muitos subprogramas modernos utilizam Local-Storage para cálculos intermediários e Working-Storage apenas para estruturas que realmente precisam existir durante toda a ativação do programa.


A analogia do hotel

Imagine um hotel.

A Working-Storage é o prédio.

Sempre está lá.

As paredes continuam no mesmo lugar.

Os corredores não mudam.

Agora pense nos quartos.

Cada hóspede recebe um quarto limpo.

Quando vai embora...

Outro hóspede ocupa o mesmo espaço.

Não leva a bagagem do anterior.

A Local-Storage funciona exatamente assim.

Cada execução recebe seu próprio "quarto".


E quando falamos de desempenho?

Uma das maiores virtudes do IBM Z sempre foi a eficiência.

O sistema operacional conhece profundamente como seus programas utilizam memória.

O compilador Enterprise COBOL também foi otimizado durante décadas para produzir código extremamente eficiente.

Por isso, a escolha entre Working-Storage e Local-Storage não deve ser feita por hábito, mas por necessidade.

Variáveis permanentes?

Working-Storage.

Dados temporários exclusivos de uma ativação?

Local-Storage.

Subprogramas reentrantes?

Planejamento cuidadoso das áreas de dados.


O erro mais comum dos iniciantes

Existe uma pergunta que aparece frequentemente em cursos.

"Professor, então devo usar Local-Storage em tudo?"

A resposta é simples.

Não.

Assim como não existe um único tipo de dataset para todas as situações, não existe uma única área de memória adequada para todos os cenários.

A escolha depende do ambiente de execução, do tipo de aplicação, da necessidade de concorrência, do ciclo de vida dos dados e dos requisitos de desempenho.

Conhecer essas diferenças é o que separa quem apenas escreve código de quem projeta soluções robustas para ambientes corporativos.


O verdadeiro aprendizado

Aprender COBOL não é decorar sintaxes.

Não é memorizar comandos.

Não é saber onde fica a vírgula do PIC.

Programar COBOL é entender como o sistema operacional conversa com o compilador.

Como o compilador organiza a memória.

Como o programa compartilha recursos.

Como milhares de usuários podem executar exatamente o mesmo módulo sem que um interfira na execução do outro.

Quando compreendemos a diferença entre Working-Storage e Local-Storage, deixamos de enxergar apenas duas seções da Data Division.

Passamos a enxergar a arquitetura invisível que sustenta aplicações responsáveis por movimentar trilhões de dólares diariamente.

Na próxima vez que declarar uma variável em seu programa COBOL, lembre-se: você não está apenas escolhendo onde armazenar um número ou um texto. Está tomando uma decisão de arquitetura que pode impactar desempenho, escalabilidade, reentrância e confiabilidade de todo o sistema.

E é justamente esse tipo de detalhe, aparentemente simples, que transforma um programador COBOL em um verdadeiro engenheiro de software para IBM Z.

Porque, no fim das contas, a excelência no mainframe não nasce das grandes decisões. Ela é construída por milhares de pequenas escolhas corretas, feitas todos os dias, muitas delas invisíveis para quem apenas olha o código.


domingo, 17 de outubro de 2021

🎺 A Música do Cambuí

 


🎺 A Música do Cambuí

Por Vagner Bellacosa Mainframe

Em meio ao medo, havia som.
Não o som das panelas — que soava como protesto —
mas o som da beleza tentando sobreviver.

No Cambuí, em Campinas, músicos anônimos começaram a sair às ruas, mantendo o distanciamento,
andando devagar pelas calçadas vazias, tocando saxofones, violinos, flautas e tambores.
As notas ecoavam entre os prédios, subindo pelas varandas,
encontrando rostos cansados e olhos marejados.

Era um gesto simples — e talvez por isso, tão comovente.
As pessoas, isoladas em seus apartamentos, aplaudiam das janelas,
outras choravam, outras acompanhavam batendo palmas no ritmo.
Por um instante, a rua voltou a ter alma.

O vírus estava por toda parte — invisível e letal.
Os telejornais mostravam hospitais de campanha, leitos improvisados,
médicos exaustos, corpos enrolados em lençóis,
e números que pareciam não ter fim.
Era como assistir a uma guerra sem som,
até que esses músicos decidiram devolver o som ao mundo.

Naquele tempo, a música era uma prece.
E o Cambuí virou uma pequena catedral a céu aberto,
onde cada nota dizia o que as palavras não podiam:
“Estamos com medo, mas ainda estamos vivos.”

A cena era surreal: ruas vazias, janelas iluminadas,
o som flutuando sobre o asfalto molhado,
e o coração, por alguns minutos, esquecendo as estatísticas.
Talvez fosse isso o que Deus esperava de nós —
não heroísmo, nem fé cega,
mas a capacidade de ainda se comover.

Lembro-me da história que minha bisavó Isabel contava —
a gripe espanhola, os corpos enrolados em lençóis,
o homem da carrocinha puxada a burro, recolhendo os mortos pelas ruas.
Cem anos depois, o mesmo medo, a mesma dor, o mesmo silêncio.
Mudaram as roupas, os carros, os prédios —
mas o susto diante da morte continua igual.

E no entanto, havia música.
E enquanto houvesse música,
a humanidade ainda tinha chance.

Technical Debt Rules : Quando um Programador COBOL Descobriu que Cada Atalho Criava um Agente Smith Dentro do Sistema

 

Bellacosa Mainframe e as technical debt rules

☕ Um Café no Bellacosa Mainframe

Technical Debt Rules sem Mistérios

Quando um Programador COBOL Descobriu que Cada Atalho Criava um Agente Smith Dentro do Sistema

"Infelizmente, ninguém pode explicar o que é a Dívida Técnica. Você precisa vê-la por si mesmo." — inspirado no universo de Matrix


Bem-vindo à Matrix do Desenvolvimento

Imagine que você acorda em uma sala escura.

Na sua frente existe um monitor verde.

Linhas de caracteres descem como chuva.

Um homem de óculos escuros aproxima-se.

Não é Morpheus.

É o Analista de Sistemas mais antigo da empresa.

Ele coloca duas fitas magnéticas sobre a mesa.

Uma vermelha.

Outra azul.

— A azul compila hoje.

— A vermelha exige refatoração, testes, documentação e arquitetura.

Você pergunta:

— Qual delas devo escolher?

Ele sorri.

— A azul entrega o projeto este mês.

— A vermelha salva os próximos dez anos.

Naquele instante você entende que toda equipe de desenvolvimento vive diariamente essa escolha.

Esse é o universo da Technical Debt, ou Dívida Técnica, um dos conceitos mais importantes — e mais mal compreendidos — da Engenharia de Software.

Para quem trabalha com COBOL, CICS, Db2, JCL e sistemas legados, entender a Dívida Técnica é quase tão importante quanto saber interpretar um ABEND. Ela explica por que alguns sistemas envelhecem com dignidade enquanto outros se tornam um labirinto impossível de manter.


O que é Technical Debt?

Technical Debt é o custo futuro provocado por decisões técnicas tomadas para ganhar velocidade no presente.

Em outras palavras:

É quando você economiza tempo hoje emprestando tempo do seu próprio futuro.

Assim como um empréstimo bancário, a dívida técnica pode ser útil quando administrada conscientemente.

O problema não é contrair uma dívida.

O problema é esquecer que ela existe.


A origem do termo

O termo Technical Debt foi criado em 1992 por Ward Cunningham, um dos autores do Manifesto Ágil e criador do primeiro Wiki da história.

Ward percebeu que muitos gestores entendiam dinheiro, juros e empréstimos, mas tinham dificuldade para compreender problemas de arquitetura de software.

Então fez uma analogia brilhante.

Ele disse:

"Entregar um software antes de terminar sua arquitetura é como fazer um empréstimo. Pode ser uma boa decisão, desde que você pague rapidamente."

O problema aparece quando os juros começam.

E em software...

...os juros aparecem em forma de:

  • bugs

  • retrabalho

  • lentidão

  • dificuldades para alterar regras

  • aumento do tempo de testes

  • aumento de incidentes


Matrix explica melhor que muitos livros

Imagine que cada linha de código seja parte da Matrix.

Quando tudo é desenvolvido corretamente...

a simulação permanece estável.

Mas sempre existe alguém dizendo:

"Depois a gente arruma."

Esse "depois" nunca chega.

Cada pequeno atalho cria pequenas distorções.

No começo parecem insignificantes.

Depois surgem pequenos defeitos.

Mais tarde aparecem exceções.

Finalmente...

a Matrix inteira começa a produzir Agentes Smith.


Quem são os Agentes Smith?

No mundo do software, os Agentes Smith representam problemas que surgem continuamente.

Cada vez que um desenvolvedor resolve um bug rapidamente sem corrigir sua causa...

nasce um novo Smith.

Cada IF duplicado...

mais um Smith.

Cada variável mal nomeada...

outro Smith.

Cada programa COBOL de cinquenta mil linhas...

centenas deles.

Eles continuam se multiplicando até dominar todo o sistema.


Um exemplo COBOL

Imagine este código:

IF TIPO = "A"
    MOVE 15 TO DESCONTO
END-IF

Alguns meses depois.

Nova regra.

IF TIPO = "A"
    MOVE 20 TO DESCONTO
END-IF

Mais tarde.

Outro programador.

IF CLIENTE-PREMIUM
    MOVE 25 TO DESCONTO
END-IF

Depois.

Outro módulo.

Mesmo código.

Depois outro.

E outro.

Agora existem quinze versões diferentes da mesma regra.

Toda alteração exige procurar manualmente.

Esse é um clássico exemplo de dívida técnica.


O que gera Technical Debt?

Pressão por prazo

"Entrega sexta."

Mesmo sabendo que deveria levar três semanas.


Falta de testes

"Depois escrevemos."

Nunca escrevem.


Documentação inexistente

"Todo mundo entende."

Dois anos depois ninguém entende.


Copiar código

CTRL+C

CTRL+V

CTRL+C

CTRL+V

Assim nasce o caos.


Arquitetura improvisada

Funciona.

Mas ninguém sabe explicar.


Falta de revisão

Sem Code Review...

os problemas entram em produção.


Falta de treinamento

Programadores repetem erros porque nunca aprenderam alternativas melhores.


A dívida nem sempre é ruim

Essa é uma curiosidade interessante.

Nem toda dívida técnica é um erro.

Imagine um banco.

Existe uma exigência legal.

Prazo:

48 horas.

A equipe decide criar uma solução provisória.

Entrega.

Banco evita multas.

Depois reserva tempo para refatorar.

Excelente decisão.

Foi uma dívida consciente.


Dívida consciente x dívida inconsciente

Dívida consciente

"Sabemos que esse código está temporário."

Existe plano.

Existe prazo.

Existe orçamento.


Dívida inconsciente

"Nunca percebemos que fizemos errado."

Muito mais perigosa.


Os juros da dívida

Todo empréstimo possui juros.

Software também.

Os juros aparecem como:

Mais tempo para manutenção

Uma alteração simples leva dias.


Bugs recorrentes

Conserta um.

Quebra outro.


Medo

"Não mexe."

Frase clássica do legado.


Performance

Cada remendo adiciona processamento.

No mainframe isso significa:

  • CPU

  • MIPS

  • consumo

  • custo


Novos profissionais demoram meses

Porque entender ficou difícil.


Como a dívida cresce?

Imagine um cartão de crédito.

Primeiro mês:

100 reais.

Segundo mês:

Terceiro:

Depois:

Depois:

Software faz exatamente isso.

Cada nova funcionalidade construída sobre código ruim aumenta exponencialmente a complexidade.


O Mainframe sofre muito?

Curiosamente...

sim.

E não.

Mainframes normalmente possuem código extremamente robusto.

Mas muitos sistemas existem há quarenta anos.

Durante quatro décadas...

centenas de programadores passaram por eles.

Cada geração deixou pequenas modificações.

O resultado pode ser:

  • GOTO esquecidos

  • IFs duplicados

  • COPYBOOKS redundantes

  • programas gigantescos

  • tabelas obsoletas

  • JCLs nunca revisados


Um exemplo realista

Imagine um programa COBOL chamado:

PGMFIN01

1988

2.300 linhas.

1992

3.800 linhas.

1998

6.500 linhas.

2007

11.000 linhas.

2016

19.000 linhas.

2026

41.000 linhas.

Ninguém teve coragem de dividir.

Cada manutenção ficou mais cara.

A dívida cresceu silenciosamente.


O Oráculo explica

No universo Matrix, o Oráculo nunca entrega respostas prontas.

Ela oferece entendimento.

Na Engenharia de Software acontece igual.

A dívida técnica raramente aparece em relatórios.

Ela aparece nos sintomas.

Equipe cansada.

Prazo aumentando.

Mudanças simples demorando semanas.

Clientes reclamando.

ABENDs aparecendo após pequenas alterações.

Esses são os sinais.


Como reduzir a dívida?

Refatoração

Melhorar código sem alterar comportamento.

É a principal arma.


Testes automatizados

Permitem mudar com segurança.


Revisão de código

Dois olhos veem mais que um.


Arquitetura

Planejamento evita improvisos.


Documentação viva

Nunca deixe conhecimento apenas na memória.


Pair Programming

Conhecimento compartilhado.


Mentoria

Programadores experientes aceleram iniciantes.


Limpeza contínua

Nunca espere uma grande reescrita.

Melhore um pouco todos os dias.


A Regra do Escoteiro

Robert C. Martin popularizou uma ideia simples:

Deixe o código um pouco melhor do que encontrou.

Imagine milhares de desenvolvedores fazendo isso durante anos.

A dívida diminui naturalmente.


Atenção!

Existe um erro muito comum.

Confundir:

Refatoração

com

Reescrita.

São coisas completamente diferentes.

Refatorar melhora.

Reescrever substitui.

Nem sempre reescrever é inteligente.

Muitos projetos falharam tentando "começar do zero".


O perigo da Grande Reescrita

Na Matrix Reloaded, Neo descobre que destruir tudo não resolve.

Em software acontece igual.

Jogar fora um sistema COBOL de quarenta anos pode significar perder décadas de conhecimento de negócio.

O ideal é evoluir gradualmente.


Ferramentas que ajudam

Hoje existem excelentes ferramentas.

  • IBM ADDI

  • IBM Application Discovery

  • SonarQube

  • IBM COBOL Check

  • IBM Z Open Editor

  • IBM Developer for z/OS

  • GitHub Copilot

  • ChatGPT

  • Claude

  • ZUnit

Elas ajudam a identificar:

  • duplicações

  • complexidade

  • dependências

  • código morto

  • riscos


Sinais de alerta

Você deve investigar dívida técnica quando ouvir frases como:

"Não sabemos por que funciona."

"Não mexe nesse módulo."

"Compila assim mesmo."

"Só o João entende."

"Depois documentamos."

"Tem um GOTO aí... mas deixa."

"É gambiarra temporária."

Seis meses depois...

continua igual.


O papel do Programador COBOL Padawan

Um Padawan costuma pensar:

"Meu trabalho é escrever código."

Na verdade, não.

Seu trabalho é entregar soluções sustentáveis.

Sempre pergunte:

  • Isso poderá ser entendido daqui cinco anos?

  • Outro programador conseguirá manter?

  • Existe teste?

  • Existe documentação?

  • Existe duplicação?

  • Essa regra deveria estar em um COPYBOOK?

  • Esse programa precisa mesmo crescer mais mil linhas?

Essas perguntas evitam que você alimente a Matrix com novos Agentes Smith.


Curiosidades sobre a Dívida Técnica

  • Existem empresas que dedicam 20% do tempo de desenvolvimento apenas para pagar dívida técnica.

  • Grandes bancos mantêm backlogs exclusivos de refatoração, separados das novas funcionalidades.

  • Algumas organizações medem a dívida técnica com ferramentas que estimam quantos dias de trabalho seriam necessários para corrigir todos os problemas encontrados.

  • Em projetos críticos, reduzir dívida técnica pode gerar economia significativa em horas de manutenção, consumo de CPU, incidentes e retrabalho.


Outros "parentes" da Dívida Técnica

Ela costuma caminhar ao lado de diversos conceitos conhecidos:

  • Code Smell – sinais de que algo pode estar mal projetado.

  • Big Ball of Mud – sistema sem arquitetura definida.

  • Spaghetti Code – código confuso e altamente acoplado.

  • God Object – um único módulo faz tudo.

  • Bus Factor – conhecimento concentrado em poucas pessoas.

  • Shotgun Surgery – uma pequena alteração exige modificar dezenas de arquivos.

  • Lava Flow – código antigo que ninguém remove por medo.

Todos esses conceitos frequentemente aparecem juntos.


A Grande Escolha: Pílula Azul ou Pílula Vermelha?

No final de Matrix, Neo percebe que conhecer a verdade traz responsabilidade.

Na Engenharia de Software acontece exatamente o mesmo.

Você pode escolher a pílula azul:

  • copiar código;

  • ignorar testes;

  • adiar documentação;

  • aceitar "gambiarras permanentes";

  • acreditar que "funcionando está bom".

Ou pode escolher a pílula vermelha:

  • compreender a arquitetura;

  • investir em refatoração;

  • escrever código legível;

  • compartilhar conhecimento;

  • documentar regras de negócio;

  • pensar no próximo programador que abrirá aquele programa COBOL daqui a dez anos.

A primeira opção parece mais rápida, mas cobra juros crescentes. A segunda exige disciplina, porém constrói sistemas resilientes que atravessam décadas — exatamente como os grandes sistemas IBM Z que sustentam bancos, seguradoras, governos e companhias aéreas ao redor do mundo.

No universo Bellacosa Mainframe, a maior lição é clara: o inimigo não é o legado; é o legado abandonado. Sistemas COBOL envelhecem muito bem quando recebem manutenção consciente, arquitetura sólida e equipes comprometidas em reduzir continuamente a dívida técnica. Assim como Neo precisou aprender a enxergar além do código verde da Matrix, o Programador COBOL Padawan precisa aprender a enxergar além da próxima entrega e pensar no impacto que cada linha escrita hoje terá no futuro da organização.

Porque, no fim, toda dívida será paga. A única dúvida é quem pagará a conta: você hoje ou toda a equipe amanhã?

sábado, 16 de outubro de 2021

Yashahime: Princess Half-Demon – 2ª Temporada : Quando um Programador COBOL Descobre que um Projeto de Modernização Só Termina Quando a Nova Equipe Consegue Resolver um ABEND Sem Telefonar para o Programador

 

Bellacosa Mainframe e a segunda temporada de yashahime princess half-demon

☕ Um Café no Bellacosa Mainframe

Yashahime: Princess Half-Demon – 2ª Temporada (半妖の夜叉姫 弐の章) sem Mistérios

Quando um Programador COBOL Descobre que um Projeto de Modernização Só Termina Quando a Nova Equipe Consegue Resolver um ABEND Sem Telefonar para o Programador que se Aposentou Há Dez Anos

"O primeiro deploy coloca o sistema em produção. O segundo garante que ele sobreviva pelas próximas décadas. A segunda temporada de Yashahime é exatamente essa fase da modernização."


Introdução

Quando Yashahime estreou em 2020, a recepção foi bastante dividida.

Os fãs ficaram felizes por reencontrar o universo de Inuyasha, mas muitos sentiram falta de respostas importantes.

Quem realmente era Kirinmaru?

Por que Sesshomaru parecia agir de maneira tão fria?

Onde estavam Inuyasha e Kagome?

O que realmente aconteceu com Zero?

A segunda temporada, chamada oficialmente Yashahime: Princess Half-Demon – The Second Act, foi produzida justamente para responder essas perguntas.

Ao contrário da primeira temporada, que construía mistérios, esta trabalha principalmente com resoluções.

É a fase em que todas as peças começam finalmente a se encaixar.

Para quem trabalha com tecnologia, é semelhante à etapa de um projeto em que toda a documentação é revisada, os módulos antigos são compreendidos e o conhecimento passa definitivamente para a nova equipe.


Dados Técnicos

Título Original

半妖の夜叉姫 弐の章

Han'yō no Yashahime: Ni no Shō

Tradução:

Princesas Meio-Yokai – Segundo Capítulo

Título internacional:

Yashahime: Princess Half-Demon – The Second Act


Universo Original

Criado por

Rumiko Takahashi

Participação:

  • supervisão geral

  • design dos personagens

  • aprovação visual

A história continua sendo um roteiro original da equipe do anime.


Estúdio

Sunrise

(atualmente Bandai Namco Film Works)


Diretor

Teruo Sato


Roteiro

Katsuyuki Sumisawa

O mesmo roteirista responsável por grande parte da adaptação de Inuyasha.


Exibição

02 de outubro de 2021

até

26 de março de 2022


Episódios

24


Total da franquia

Primeira temporada

24 episódios

Segunda temporada

24 episódios

Total

48 episódios


Gênero

  • Fantasia

  • Aventura

  • Ação

  • Drama

  • Romance (leve)

  • Sobrenatural

  • Mitologia Japonesa


Classificação

14 anos

Contém:

  • batalhas

  • violência moderada

  • sangue leve

  • temas familiares

  • conflitos psicológicos


Sinopse

Após descobrir parte da verdade sobre suas origens...

Towa...

Setsuna...

e Moroha...

continuam sua jornada.

Agora precisam enfrentar definitivamente:

  • Kirinmaru

  • Zero

  • o destino da Árvore das Eras

  • as consequências das decisões de Sesshomaru

Enquanto isso...

os antigos heróis finalmente retornam à história.


Resumo

Esta temporada encerra praticamente todos os grandes arcos iniciados desde a primeira temporada.

É nela que descobrimos:

  • o verdadeiro plano de Sesshomaru

  • os motivos de Kirinmaru

  • o destino de Zero

  • o reencontro das famílias

  • o futuro da nova geração


A História

Grande parte da temporada gira em torno da antiga profecia.

Segundo ela...

um hanyō seria capaz de destruir Kirinmaru.

Esse medo faz Kirinmaru tomar diversas decisões equivocadas.

Enquanto isso...

Sesshomaru parece agir de forma fria.

Mas aos poucos o público percebe que suas atitudes sempre tiveram um único objetivo:

proteger suas filhas.

A narrativa culmina em uma série de confrontos que unem definitivamente a geração clássica de Inuyasha com a nova geração representada por Towa, Setsuna e Moroha.


Os Personagens

Towa

É quem mais evolui.

Aprende liderança.

Controle emocional.

Responsabilidade.

Deixa definitivamente de ser apenas uma estudante do Japão moderno.


Setsuna

Recupera parte de sua memória.

Seu desenvolvimento emocional é um dos mais fortes da temporada.


Moroha

Continua sendo a personagem mais carismática.

Mistura humor.

Coragem.

Espontaneidade.

Herda claramente características de Inuyasha e Kagome.


Sesshomaru

Talvez o personagem que mais ganha profundidade.

O espectador finalmente entende que seu aparente distanciamento era uma forma de proteger a família.

Sua postura permanece reservada, mas suas motivações tornam-se claras.


Kirinmaru

Muito mais complexo do que aparentava.

Seu verdadeiro inimigo nunca foi Towa.

Foi seu medo do futuro.


Zero

Recebe um encerramento digno.

Representa:

ciúme

amor impossível

ressentimento

apego


Inuyasha

Retorna à história.

Mesmo sem dominar a narrativa.

Sua presença simboliza continuidade.


Kagome

Volta como elo entre duas gerações.

Continua sendo uma das personagens mais equilibradas da franquia.


O Que Tem de Diferente?

Ao contrário da primeira temporada, que se concentrava em construir mistérios, The Second Act dedica-se a resolvê-los.

Há menos episódios de introdução e mais foco nas relações familiares, nos confrontos finais e na passagem do legado para as novas protagonistas.

Também aumenta significativamente a participação de Inuyasha, Kagome e Sesshomaru, aproximando a continuação do espírito da série clássica.


Temáticas

Família

Pais fazem escolhas difíceis.


Herança

Nem toda herança é material.


Memória

Somos também aquilo que lembramos.


Destino

Profecias podem ser quebradas.


Amor

Proteção também é amor.


Tempo

O passado nunca desaparece.


Aventuras

As heroínas enfrentam os servos de Kirinmaru, exploram os mistérios da Árvore das Eras, recuperam lembranças perdidas e participam de batalhas que definem o destino do Japão Feudal.

Os reencontros entre pais e filhos acrescentam uma carga emocional que diferencia essa temporada da anterior.


Mensagens Ocultas

A Nova Geração Deve Superar a Antiga

Não apenas imitá-la.


Pais Também Sentem Medo

Mesmo quando parecem invencíveis.


Conhecimento Deve Ser Compartilhado

Senão desaparece.


O Futuro Não Deve Ser Temido

Deve ser construído.


O Amor Também Exige Sacrifícios

Nem toda proteção é compreendida imediatamente.


Impacto Cultural

A segunda temporada foi melhor recebida do que a primeira por responder perguntas aguardadas desde o anúncio da continuação.

Os fãs destacaram:

  • maior desenvolvimento de Sesshomaru;

  • presença ampliada de Inuyasha e Kagome;

  • confrontos finais mais emocionantes;

  • encerramento consistente dos principais arcos.

Ainda assim, parte do público considerou que alguns antagonistas poderiam ter sido desenvolvidos por mais tempo.


Censura

Assim como a primeira temporada, The Second Act sofreu poucas alterações fora do Japão.

As mudanças limitaram-se principalmente à classificação indicativa e à suavização de algumas cenas de violência em transmissões televisivas.


Mangás

O mangá ilustrado por Takashi Shiina continua expandindo a história.

Em vários momentos:

  • altera acontecimentos;

  • aprofunda personagens;

  • apresenta explicações mais detalhadas do que a versão animada.

Muitos fãs recomendam acompanhar tanto o anime quanto o mangá para uma experiência mais completa.


Light Novels

Até o momento, não existe uma light novel oficial que continue os acontecimentos após a segunda temporada.


Games

As personagens de Yashahime participaram de:

  • eventos comemorativos;

  • jogos mobile japoneses;

  • colaborações especiais da Bandai Namco.

Não foi lançado um RPG exclusivo dedicado à segunda temporada.


Curiosidades

  • Kaoru Wada reutilizou temas clássicos de Inuyasha durante momentos decisivos, reforçando a ligação emocional entre as duas gerações.

  • O desenvolvimento de Sesshomaru nesta temporada ajudou a consolidá-lo ainda mais como um dos personagens mais populares da franquia.

  • O mangá de Takashi Shiina recebeu elogios por aprofundar passagens que o anime resolveu de forma mais rápida.


Easter Eggs

  • A Árvore das Eras continua simbolizando a conexão entre passado, presente e futuro.

  • As técnicas herdadas por Towa, Setsuna e Moroha refletem a influência direta de seus pais.

  • Diversos enquadramentos e referências visuais homenageiam cenas clássicas de Inuyasha e The Final Act.


Avaliação Bellacosa Mainframe

AspectoNota
História⭐⭐⭐⭐⭐ (5/5)
Desenvolvimento dos Personagens⭐⭐⭐⭐⭐ (5/5)
Emoção⭐⭐⭐⭐⭐ (5/5)
Ação⭐⭐⭐⭐☆ (4,5/5)
Trilha Sonora⭐⭐⭐⭐⭐ (5/5)
Encerramento⭐⭐⭐⭐☆ (4,5/5)
Reassistir⭐⭐⭐⭐⭐ (5/5)

Nota Final: 9,4/10

A segunda temporada consegue fortalecer a proposta de Yashahime, entregar respostas aguardadas pelos fãs e consolidar a nova geração sem apagar o legado de Inuyasha.


☕ Bellacosa Mainframe

Imagine um projeto de transformação digital em um grande ambiente IBM Z.

Na primeira fase, a equipe cria pipelines de CI/CD, automatiza deploys, integra APIs e moderniza aplicações.

Mas isso não basta.

O verdadeiro sucesso chega apenas quando a nova equipe consegue operar todo o ambiente sem depender do especialista que escreveu o sistema há trinta anos.

Towa representa a desenvolvedora que domina tanto GitOps quanto COBOL.

Setsuna simboliza a analista que recupera a documentação perdida e transforma experiência em conhecimento acessível.

Moroha é a engenheira criativa que conecta tradição e inovação para resolver problemas inesperados.

Sesshomaru assume o papel do arquiteto veterano que observa de longe. Ele intervém apenas quando necessário, permitindo que a nova geração conquiste autonomia.

No fim, Yashahime: The Second Act ensina uma das maiores lições da engenharia de software: modernizar não é apenas atualizar tecnologias. É garantir que o conhecimento sobreviva às pessoas, que a arquitetura seja compreendida pelas novas gerações e que o sistema continue evoluindo muito depois de seus criadores deixarem o projeto.

quarta-feira, 13 de outubro de 2021

Do Padawan ao Jedi: O Desafio 21 da DIO e a Jornada que Forma Verdadeiros Arquitetos de Software

 

Bellacosa Mainframe e o desafio DIO 21 dias 21 artigos para a Comunidade evolua escrevendo

☕ Um Café no Bellacosa Mainframe

Do Padawan ao Jedi: O Desafio 21 da DIO e a Jornada que Forma Verdadeiros Arquitetos de Software

Quando 21 Artigos Deixam de Ser Apenas um Desafio e se Transformam em um Programa de Treinamento para a Vida de um Desenvolvedor

"O primeiro programa que você escreve muda seu computador. O centésimo muda você."


Introdução

Em outubro de 2021 concluí um desafio aparentemente simples promovido pela Digital Innovation One (DIO): escrever 21 artigos em 21 dias. O objetivo parecia ser apenas incentivar a produção de conteúdo.

Não era.

Anos depois ficou evidente que aquele desafio escondia algo muito maior.

Escrever durante vinte e um dias consecutivos não desenvolvia apenas escrita técnica.

Desenvolvia disciplina.

Desenvolvia pensamento crítico.

Desenvolvia marketing pessoal.

Desenvolvia capacidade de ensinar.

Desenvolvia comunidade.

E principalmente...

Criava um hábito.

Na época aquele artigo encerrava uma jornada de 21 dias e, coincidentemente, também marcava meu centésimo artigo dentro da plataforma.

Hoje, olhando com a experiência acumulada em milhares de artigos publicados, centenas de vídeos, inúmeros cursos concluídos e uma carreira consolidada em IBM Mainframe, consigo enxergar algo que não percebia naquele momento.

A DIO não estava ensinando apenas tecnologia.

Ela estava treinando Jedis.


A Academia Jedi chamada DIO

Quem conhece Star Wars sabe que ninguém nasce Jedi.

Todo Jedi começa como Padawan.

O mesmo acontece na tecnologia.

Ninguém abre o VS Code sabendo arquitetar microsserviços.

Ninguém aprende COBOL escrevendo sistemas bancários.

Ninguém domina Kubernetes no primeiro deploy.

Todos começam iguais.

Confusos.

Perdidos.

Curiosos.

Com medo de errar.

Foi exatamente isso que relatei naquele artigo ao contar como precisei primeiro entender a plataforma, explorar menus, descobrir bootcamps, cursos livres, lives e laboratórios antes mesmo de iniciar a corrida.

Antes de correr...

Foi necessário aprender onde ficava a pista.


O verdadeiro significado do Desafio 21

Muita gente pensa que o desafio era escrever.

Na verdade, escrever era apenas o mecanismo.

O verdadeiro treinamento era desenvolver cinco competências.

Primeira habilidade

Aprender a aprender

Existe uma frase famosa:

"Toda ferramenta possui uma curva de aprendizado."

Na DIO isso aparece logo no início.

Bootcamp.

Labs.

Live Code.

Mentorias.

Artigos.

Ranking.

Comunidade.

Gamificação.

Tudo isso parece enorme.

O Padawan olha aquilo e pensa:

"Por onde começo?"

O Jedi faz diferente.

Ele explora.

Mapeia.

Experimenta.

Cria um plano.

Foi exatamente essa estratégia utilizada no primeiro mês, estudando inicialmente cursos livres antes de mergulhar completamente nos bootcamps.

No universo Mainframe fazemos exatamente igual.

Antes de alterar um programa COBOL...

Lemos.

Pesquisamos.

Mapeamos.

Executamos impacto.

Somente depois codificamos.


Segunda habilidade

Conviver com o erro

Existe um mito muito perigoso.

O de que bons programadores não erram.

Mentira.

Os melhores programadores erram todos os dias.

A diferença é que eles aprenderam a investigar.

No artigo original existe um trecho fantástico sobre as dificuldades dos desafios de código, do sandbox e da necessidade de usar VS Code, Node.js, Google, Stack Overflow e fóruns para encontrar soluções.

Isso é exatamente a rotina de um profissional.

No Mainframe fazemos o mesmo.

ABEND.

SYSUDUMP.

CEEDUMP.

SMF.

LOG.

TRACE.

Tudo é investigação.

Um Jedi não foge dos erros.

Ele conversa com eles.


Terceira habilidade

Aprender com mestres

Na DIO existem as Live Codes.

Mentorias.

Especialistas.

Arquitetos.

Tech Leads.

No artigo elas aparecem como um dos maiores diferenciais da plataforma.

Muitos iniciantes assistem apenas ao código.

O Jedi observa outra coisa.

Como o especialista pensa.

Como investiga.

Como toma decisões.

Como pesquisa.

Como organiza ideias.

Essas pequenas atitudes valem mais do que decorar comandos.


Quarta habilidade

Praticar até virar reflexo

Existe uma frase dos Navy Seals.

"Sob pressão você não sobe ao nível das expectativas.
Cai para o nível do treinamento."

É exatamente isso.

Os LABs existem para isso.

Repetição.

Tentativa.

Erro.

Correção.

Nova tentativa.

Quando você pratica cem vezes...

Na produção parece fácil.

No Mainframe chamamos isso de experiência operacional.


Quinta habilidade

Competir consigo mesmo

Talvez o maior segredo do artigo esteja escondido no quinto desafio.

As acelerações.

Os testes.

Os desafios de código.

Os noventa minutos que separam Padawans de Jedis.

Observe uma curiosidade.

O texto não fala em derrotar outras pessoas.

Fala em preparar-se.

Esse detalhe muda tudo.

O adversário nunca foi o colega.

Sempre foi você ontem.


A Jornada Bellacosa Mainframe

Ao longo dos anos fui percebendo que existe uma evolução muito parecida com Star Wars.

Nível 1 — Youngling

Você aprende sintaxe.

Tudo parece impossível.

Cada erro parece um desastre.


Nível 2 — Padawan

Você já programa.

Mas ainda depende do Mestre.

Pergunta muito.

Consulta documentação.

Tem receio de modificar produção.


Nível 3 — Cavaleiro Jedi

Agora você começa a entender arquitetura.

Impactos.

Performance.

Boas práticas.

Negócio.

Não escreve apenas código.

Resolve problemas.


Nível 4 — Mestre Jedi

O Mestre quase não programa.

Ele ensina.

Forma equipes.

Compartilha conhecimento.

Escreve documentação.

Produz artigos.

Grava vídeos.

Constrói comunidades.

Perceba algo curioso.

Na DIO o desafio era escrever.

Porque ensinar acelera o aprendizado.

Richard Feynman dizia que só entendemos verdadeiramente um assunto quando conseguimos explicá-lo.

É exatamente isso.


O Segredo dos 21 Dias

Existe uma teoria muito conhecida sobre hábitos.

Independentemente do número exato variar entre estudos, o importante é compreender o princípio:

A repetição diária reduz o esforço necessário para começar.

Foi isso que aconteceu.

No primeiro artigo você sofre.

No quinto melhora.

No décimo começa a encontrar sua voz.

No vigésimo primeiro já escreve naturalmente.

E então...

Você continua.

Foi exatamente o que aconteceu comigo.

Os vinte e um artigos não terminaram.

Transformaram-se em centenas.

Depois milhares.

Aquele desafio virou uma rotina permanente de produção técnica.


O verdadeiro poder da comunidade

Talvez o trecho mais bonito daquele artigo esteja escondido em poucas linhas.

Imagine uma comunidade enorme.

Se apenas 1% compartilhar conhecimento...

Milhares de artigos surgirão.

Milhares de soluções aparecerão.

Milhares de pessoas aprenderão juntas.

Essa é a verdadeira filosofia Open Source.

Não significa apenas abrir código.

Significa compartilhar experiências.

Compartilhar erros.

Compartilhar descobertas.


O que transforma um Padawan em Jedi?

Não é inteligência.

Não é faculdade.

Não é certificado.

Também não é sorte.

É um conjunto de hábitos.

  • Estudar todos os dias.

  • Escrever frequentemente.

  • Compartilhar conhecimento.

  • Fazer perguntas.

  • Aceitar críticas.

  • Praticar constantemente.

  • Ensinar o que aprendeu.

  • Nunca acreditar que sabe tudo.


O Paralelo com IBM Mainframe

Na comunidade Mainframe acontece exatamente igual.

O Padawan aprende:

  • COBOL

  • JCL

  • VSAM

  • DB2

  • CICS

O Jedi aprende algo diferente.

Como conversar com analistas.

Como investigar incidentes.

Como negociar requisitos.

Como documentar.

Como orientar novos profissionais.

Como preservar sistemas que movimentam bilhões de reais diariamente.

A tecnologia muda.

Os princípios permanecem.


Easter Egg Bellacosa ☕

Existe um detalhe curioso.

No artigo original agradeço à comunidade, incentivo novos autores a escrever e convido todos a participar ativamente da construção coletiva do conhecimento.

Na época parecia apenas um encerramento.

Hoje percebo que era o início.

O verdadeiro desafio nunca foi escrever vinte e um artigos.

O verdadeiro desafio era nunca mais parar.


Conclusão

Se existe uma lição que a Digital Innovation One me ensinou, é que grandes carreiras não nascem de grandes momentos.

Elas nascem de pequenos passos repetidos todos os dias.

Um curso hoje.

Um laboratório amanhã.

Um artigo na semana.

Uma Live Code.

Uma mentoria.

Uma contribuição para a comunidade.

Quando você percebe...

Já deixou de ser apenas um estudante.

Já não procura apenas respostas.

Agora começa a produzir conhecimento.

Esse é o instante em que o Padawan deixa de seguir pegadas e passa a abrir novos caminhos.

No universo Bellacosa Mainframe, tornar-se Jedi não significa conhecer todas as linguagens ou dominar todas as tecnologias. Significa compreender que o verdadeiro poder está em multiplicar conhecimento. Cada artigo escrito, cada código comentado, cada dúvida respondida e cada mentorado ajudado amplia a força da comunidade.

O Desafio 21 Dias, 21 Artigos foi muito mais do que uma campanha de escrita. Foi uma academia de disciplina, comunicação, colaboração e crescimento contínuo. Assim como um sistema IBM Z permanece décadas em produção porque gera valor continuamente, uma carreira sólida também é construída diariamente, linha por linha, estudo por estudo e artigo por artigo.

Que cada novo Padawan da DIO descubra que seu maior projeto não é apenas concluir um bootcamp, conquistar um badge ou aprender uma linguagem. Seu maior projeto é transformar-se em alguém capaz de inspirar outros desenvolvedores.

Porque, no fim da jornada, o código compila, os frameworks mudam, novas tecnologias surgem... mas o conhecimento compartilhado permanece.

E é exatamente aí que nasce um verdadeiro Mestre Jedi da tecnologia.

https://www.dio.me/articles/dia-21-minha-incrivel-aventura-nos-desafios-da-dio

https://www.dio.me/sign-up?ref=AF7UPRJR3CU1

https://web.dio.me/users/vagnerbellacosa/

sábado, 9 de outubro de 2021

🎎 Rituais, Superstições e Etiquetas Japonesas Que Todo Otaku Deve Saber

 

Bellacosa Mainframe apresenta os rituais, as supersticoes e etiquetas japonesas

🎎 Rituais, Superstições e Etiquetas Japonesas Que Todo Otaku Deve Saber

🗾 Ou como não virar um “gaijin desastrado” e ganhar o respeito dos senseis da vida real!

Ah, o Japão… terra dos templos silenciosos, dos trens pontuais e dos animes que te fazem chorar por uma torrada.
Mas atenção, jovem padawan! Antes de embarcar nessa jornada espiritual e geek, é bom conhecer as regras não escritas que regem a sociedade japonesa.
Aqui vai o Guia Bellacosa de Sobrevivência Cultural, pra você não cometer gafes, irritar um monge e ainda sair aplaudido por uma obaasan na rua.


🙇‍♂️ 1. A Arte de Cumprimentar — O Poder do Bow (お辞儀 / Ojigi)

No Japão, o cumprimento é uma coreografia social.
Nada de abraços, tapinhas ou beijinhos — aqui é tudo no bow (inclinada respeitosa).

🎌 Dicas Bellacosa:

  • Bow leve (15º): para amigos e colegas.

  • Bow médio (30º): para desconhecidos ou superiores.

  • Bow profundo (45º): para agradecimentos ou desculpas.

💡 Curiosidade:
Os japoneses conseguem até pedir perdão com o corpo: o dogeza (ajoelhar-se e tocar o chão com a testa) é usado em situações extremas — ou em animes dramáticos, tipo Naruto e One Piece.


🏮 2. Entrando em Casa (ou em Qualquer Lugar que Pareça Casa)

A fronteira sagrada entre “rua” e “lar” é levada a sério.
Ao entrar em residências, templos, ryokans e até alguns cafés tradicionais, você deve tirar os sapatos e usar chinelos (slippers).

🚪 Dicas Bellacosa:

  • Use meias limpas (sem furos, por favor 🙃).

  • Há slippers especiais até para o banheiro — e jamais use os do banheiro em outro cômodo!

💡 Curiosidade geek:
Em muitos animes escolares (Clannad, K-On!, Azumanga Daioh), há armários de sapato (geta-bako) logo na entrada da escola — tradição autêntica japonesa.


🍚 3. O Ritual das Refeições

Comer no Japão é quase um ato espiritual.
Antes da refeição diga “Itadakimasu” (いただきます) — agradecendo à comida e quem a preparou.
Após terminar, diga “Gochisousama deshita” (ごちそうさまでした) — uma forma de mostrar gratidão.

🍜 Regras sagradas do hashi (palitinho):

  • Nunca espete os hashis no arroz — lembra rituais fúnebres.

  • Não passe comida de um hashi para outro — é tabu ligado a cremações.

  • Apoie os hashis no descanso (hashioki) quando não estiver usando.

💡 Curiosidade Bellacosa:
O barulho ao tomar o ramen (sorver o macarrão) não é falta de educação — é sinal de que você está apreciando o prato com entusiasmo!


🧧 4. Dinheiro, Presentes e Respeito

💴 Dica básica:
Nunca entregue dinheiro direto na mão — coloque-o numa pequena bandeja (tray), comum nos caixas japoneses.

🎁 Omiyage (souvenirs):
Ao viajar, é costume comprar lembrancinhas para colegas ou família.
Mas cuidado: presentes são trocados com duas mãos e devem ser rejeitados uma vez por cortesia antes de aceitar.

💡 Curiosidade Bellacosa:
Existem até lojas especializadas em omiyage regionais. Por exemplo, em Kyoto é cortesia levar doces de chá verde, e em Hiroshima, bolinhos momiji manju.


⛩️ 5. Rituais e Superstições — Entre Deuses e Gatinhos

O Japão vive num equilíbrio entre tradição xintoísta e espiritualidade cotidiana.

🐱 Maneki-neko (招き猫): o gato da sorte.
Pata esquerda levantada: atrai clientes.
Pata direita: traz prosperidade.
Duas patas? Power-up total! 🐾

🍀 Outras superstições otaku-friendly:

  • Evite o número 4 (shi) — soa como “morte”.

  • Não dê tesouras ou relógios de presente — simbolizam corte ou fim.

  • Dar lenço pode ser interpretado como “para suas lágrimas”.

💡 Nos animes:
Repare como os personagens fazem omikuji (sorte no templo), penduram ema (tábuas de desejos) ou usam omamori (amuleto).
Tudo isso existe de verdade!


🏯 6. Comportamento em Público — A Beleza do Silêncio

O Japão preza pela harmonia coletiva (wa / 和).
Isso significa ser discreto, respeitoso e evitar chamar atenção em público.

🚄 No transporte:

  • Fale baixo ou evite conversas.

  • Modo silencioso no celular.

  • Espere na fila — o trem vai parar exatamente na marca do chão.

🗑️ Lixo:
Não há lixeiras nas ruas! Leve seu lixo consigo até achar uma.
Separar recicláveis é lei moral e cívica.

💡 Curiosidade Bellacosa:
Durante os Jogos de Tóquio, estrangeiros ficaram chocados ao ver torcedores japoneses limpando o estádio após o jogo — prática comum no país.


🌸 7. Sazonalidade e Respeito à Natureza

O Japão celebra o tempo e as estações como eventos sagrados.
Ver flores de cerejeira (hanami), observar a lua (tsukimi) ou visitar o outono vermelho (momiji) não são só passeios — são rituais de conexão.

🎋 Curiosidade Bellacosa:
Em animes como Your Name, Clannad e 5cm per Second, o tempo e as estações refletem emoções — conceito estético conhecido como mono no aware (a beleza da impermanência).


🚫 8. Gafes Culturais Que Um Otaku Deve Evitar

❌ Comer andando na rua (considerado descortês).
❌ Apontar o dedo pra pessoas.
❌ Escrever nome em vermelho (associado à morte).
❌ Tocar demais (os japoneses prezam o espaço pessoal).
❌ Dar gorjeta (pode ofender, é visto como “dinheiro sujo”).

💡 Bellacosa Survival Tip:
Um sorriso, um “sumimasen” (desculpe) e um “arigatou gozaimasu” (muito obrigado) resolvem 90% dos problemas culturais.


🎯 Conclusão Bellacosa

Ser bem-educado no Japão é uma forma de arte — um equilíbrio entre humildade e respeito.
E entender esses costumes é a chave pra viver o país como um verdadeiro protagonista de slice of life.

“No Japão, cada gesto é um diálogo e cada silêncio é uma reverência.” 🌸

✨ Então, padawan, quando for visitar a terra dos animes, lembre-se:
Mais do que saber japonês, aprenda a falar a língua universal do respeito.

— Bellacosa Mainframe Japão, onde etiqueta é parte do enredo.


🌀 Tamagawa Matsuri — O Festival que Carrega o Rio, o Caos e a Alma de Tóquio por Bellacosa Mainframe


 🌙 El Jefe Midnight Lunch apresenta

🌀 Tamagawa Matsuri — O Festival que Carrega o Rio, o Caos e a Alma de Tóquio
por Bellacosa Mainframe


Tem festival japonês…
E tem festival japonês que parece job rodando com REGION=0M:
nada segura, nada limita, e todo mundo corre o risco de tomar abend por excesso de entusiasmo.

Esse é o Tamagawa Matsuri, o festival do Rio Tamagawa — um daqueles eventos que só existem porque o Japão, quando decide celebrar algo, coloca alma, história, tecnologia emocional e um gole de maluquice em batch.

Acompanhe comigo: vamos fazer um IEHLIST cultural desse fenômeno.



🏮 1. ORIGEM — De Rio Sereno a Rio Sagrado

O Rio Tamagawa corta Tóquio e Kanagawa como se fosse uma antiga fita magnética serpenteando a cidade.
Há séculos ele é:

  • fonte de água,

  • limite de territórios,

  • rota de comércio,

  • palco de guerras,

  • e cenário de romances proibidos.

O festival surgiu como forma de:

  • agradecer pela água,

  • purificar a comunidade,

  • pedir boa colheita,

  • e afastar azar (o famoso debug espiritual japonês).

Reza a lenda (ou o SYS1.LORE) que o evento começou com monges realizando rituais de purificação às margens do rio, usando tochas e oferendas flutuantes chamadas tōrō nagashi — lanternas de papel que seguem o fluxo do rio levando pedidos, promessas e desculpas emocionais que só japonês consegue escrever com poesia.



🔥 2. COMO FUNCIONA — Fogos, Luzes, Tambores e Caos Organizado

O ponto alto do Tamagawa Matsuri é o espetáculo de fogos de artifício, um dos mais clássicos de Tóquio.
É como se alguém apertasse:

SUBMIT FOGOS.JCL //FIREWORKS EXEC POUCA_VERGONHA

E o céu inteiro resolvesse fazer dump colorido por quase uma hora.

Além disso:

  • Desfile de mikoshi (santuários portáteis)

  • Danças tradicionais

  • Lanternas flutuantes

  • Comida de yatai (barracas de festival)

  • Crianças correndo como se estivessem com MSGLEVEL=2

E o melhor: aquele clima japonês de que tudo pode estar lotado, mas todo mundo respeita os limites invisíveis do espaço social.



🍙 3. DICAS DE SOBREVIVÊNCIA — A arte de não sofrer abend S0C7 no meio do povo

Aqui vai o tuning guide Bellacosa:

✔ Chegue cedo

Não é “cedo” do Brasil.
É cedo do Japão: 4 horas antes.

✔ Leve toalha

Não para suar.
Mas para guardar lugar, como todo japonês raiz.

✔ Transporte público

O trânsito vira um ENQ/WTO infinito.

✔ Prepare o estômago

Você vai comer:

  • okonomiyaki,

  • yakitori,

  • karaage,

  • takoyaki,

  • e vai achar que foi possuído por um daemon de carboidrato.

✔ Não se meta no empurra-empurra do mikoshi

É igual fila de impressão JES2:
respeite ou morre.



🐸 4. CURIOSIDADES — Logs secretos do Tamagawa

  • O festival já foi cancelado várias vezes por causa de enchentes e guerras — o rio é temperamental.

  • Muita gente acredita que lançar a lanterna no Tamagawa limpa má-sorte por 1 ano.

  • Em certos trechos, o rio já foi tão poluído que lanternas acendiam demais (if you know what I mean).

  • Japoneses mais velhos dizem que o festival “tem cheiro de verão” — uma mistura de pólvora, peixe e romance frustrado.



💬 5. FOFOCAS — Versão Tokyo Confidential SP

  • Em 1998, um político local caiu no rio bêbado tentando acender uma lanterna “mais bonita que as outras”. Isso virou jornal por semanas.

  • Casais terminam muito durante o festival (sim, é estatístico!).
    O motivo?
    “Fogos revelam verdades”, dizem as vovós japonesas.

  • Vira e mexe aparecem celebridades incognito, escondidas atrás de máscaras de kitsune.

  • Um grupo de otakus tentou um ano fazer lanternas temáticas de Evangelion, e o padre local quase bateu neles porque “tem limites espirituais”.



🥚 6. EASTER-EGGS — Coisas que quase ninguém sabe

  • Ao longo do rio existem pequenas placas com poemas haiku escritos por moradores anônimos.

  • Dizem que, se a sua lanterna virar para a direita, significa bênção; se virar para a esquerda, significa “arrume sua vida”.

  • Alguns fogos têm formatos secretos: coração, tora de bambu, e até pixel art (depende do mestre do fogo).

  • Existe um mikoshi dedicado a Hepburn, o estrangeiro que modernizou o mapeamento do rio no século XIX.


🌀 7. CONCLUSÃO — O que o Tamagawa realmente celebra?

O festival não é só sobre fogos ou lanternas.
É sobre o rio.

O Tamagawa é como um mainframe natural:
constante, antigo, confiável, mas capaz de explodir se você não respeitar.

E o japonês sabe:
honrar o rio é honrar a própria história.

No final, o Tamagawa Matsuri lembra a todos que:

mes­mo numa cidade ultramoderna, existe um fio de tradição que segura a alma coletiva — assim como um JCL bem escrito mantém o batch vivo.





https://youtu.be/DiQhXVEzEd0?si=6XrIRXjqh0mQ6Lum


 

Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...