.
📌 O que é JCL (visão geral)
-
JCL — Job Control Language — é a linguagem de controle de jobs que instrui o sistema operacional IBM Mainframe sobre quais programas executar, com quais dados e recursos, em que sequência e como tratar saídas/erros. Wikipedia
-
Foi projetado para batch processing, declarando tudo explicitamente para evitar conflitos de recursos e permitir alocação antecipada de dispositivos/datasets. codedocs.org
🕰️ Linha do tempo da evolução do JCL
1) OS/360 – Introdução (1964–1966)
-
Data: meados da década de 1960 — cerca de 1964–1966. Grokipedia+1
-
Plataformas: OS/360 e DOS/360.
-
O que mudou:
-
JCL original lançada com o OS/360 (e paralelo no DOS/360) para controlar jobs batch nos recém-lançados System/360.
-
Sintaxe inicial baseada em cartões perfurados (JOB, EXEC, DD).
-
Estabelece a base do modelo que persiste até hoje.
-
-
Observação: essa é a primeira e principal “release” histórica — não existiam versões numeradas de JCL separadas do sistema operacional; era evoluído conforme OS/360 evoluía. Grokipedia
📌 Curiosidade: Fred Brooks — um dos líderes do projeto OS/360 — brincou que JCL foi “a pior linguagem já criada” devido à sua complexidade e rigidez, mas ela persistiu porque funcionava dentro das restrições daquele hardware/era. Wikipedia
2) MVS (Multiple Virtual Storage) — Evolução do JCL (1974+)
-
Data: 1974 e anos subsequentes. Wikipedia
-
Plataformas: OS/VS2 avançou para MVS — a base para os sistemas 370 e além.
-
O que mudou:
-
Introdução de virtual storage, multiprogramação e melhores capacidades de gestão de jobs.
-
JCL foi mantido compatível com versões anteriores, mas ganhou novas opções para dataset allocation, múltiplos steps, procedures etc.
-
-
Notas:
-
Nas versões MVS, o JCL permaneceu essencialmente o mesmo por compatibilidade, mas parâmetros novos foram adicionados conforme o sistema operacional expandiu funções (virtual storage, JES etc.). mainframemaster.com
-
3) OS/390 – Consolidando MVS (1995)
-
Data: 1995. Wikipedia
-
Plataforma: OS/390 (a evolução do MVS com pacotes completos — DFSMShsm, JES2/JES3 etc.).
-
O que mudou:
-
JCL não teve uma revisão revolucionária aqui; mas foi formalizado junto ao pacote OS/390.
-
Houve refinamentos de parâmetros e melhor suporte de integração entre subsistemas (JES, utilities, catalogação).
-
-
Importante: ainda não havia “JCL 2.0/3.0” no sentido de uma linguagem separada — as mudanças são ligadas à evolução dos operating systems.
4) z/OS – Era moderna (2000 até agora)
-
Data: 2000 (lançamento inicial do z/OS) até as releases atuais como z/OS 3.1, 3.2… (2020s). Grokipedia
-
Plataforma: z/OS (principal OS de mainframe IBM) com JES2/JES3.
-
O que mudou no JCL:
-
Backward compatibility total com JCL legado (jobs escritos décadas atrás ainda rodam em z/OS). Wikipedia
-
Novos parâmetros e recursos, como:
-
Manipulação de datasets inline e melhores constructs (ex: IF/THEN/ELSE no próprio JCL). Reddit
-
Suporte para novos dispositivos e sistemas de arquivos (Unix System Services).
-
Suporte a SYSIN/SYSOUT mais flexível e melhor integração com subsistemas modernos.
-
-
Integração com ferramentas de desenvolvimento modernas (IDE, JCL linters, LSP, integração com Git via Zowe etc.). ibm.github.io
-
📋 Como contar “releases” do JCL?
Diferente de linguagens como C ou Java, JCL não tem uma lista de versões como “JCL 1.0, 2.0, 3.0” — sua evolução está intrinsecamente ligada às versões dos sistemas operacionais IBM para mainframes:
| Ano / Período | Plataforma/Release | Principais mudanças no JCL |
|---|---|---|
| ~1964–67 | OS/360 / DOS/360 | Introdução da JCL, JOB/EXEC/DD básicos, batch streams. Grokipedia |
| Anos 1970 | MVS (OS/VS2 → MVS) | Virtual storage, procedures catalogadas, expansão de parâmetros. Wikipedia |
| 1995 | OS/390 | Consolidação do pacote, recuperação de recursos e JES. Wikipedia |
| 2000+ | z/OS (3.x, 4.x…) | Back-compatibility, novo hardware, sistemas de arquivos modernos, integração com DevOps. ibm.github.io |
📌 O que geralmente muda em JCL
Em termos gerais, as mudanças no JCL tendem a ser:
✔ Novos parâmetros de DD/EXEC/JOB conforme o OS adiciona recursos. mainframemaster.com
✔ Suporte a novas estruturas de dados ou subsistemas (ex: Unix System Services, datasets VSAM). IBM
✔ Aprimoramentos de controle condicional e procedimentos. Reddit
✔ Integração com ferramentas modernas (editores, validação, IDE). ibm.github.io
📌 Resumo (Estilo “Bellacosa Mainframe”)
-
1964–1966 – OS/360 & DOS/360: JCL nasce e define modelo. Grokipedia
-
1974+ – MVS: JCL cresce com virtual storage e multiprogramação. Wikipedia
-
1995 – OS/390: Pacote consolidado, refinamentos. Wikipedia
-
2000+ – z/OS (3.x, 4.x…): Evolução contínua, backward compatibility e suporte a tecnologias modernas.