Cobol se desarrolló a mediados de los años 50. Como el nombre completo alude, fue desarrollado para la programación comercial, como un lenguaje más relevante para fines comerciales que los lenguajes "científicos" o "técnicos" existentes (había muy pocos "idiomas" de todos modos, y "código máquina" (específico) , por supuesto, a una arquitectura particular (casi le dije "chip específico", antes de pensar en tubos de vacío)) que puede tener que configurarse a través de interruptores físicos/diales en algunas máquinas y, si tiene suerte, con un "Ensamblador". Cobol estaba muy avanzado para su día, para su propósito.
La intención era que los programas escritos en Cobol se asemejaran mucho más al idioma inglés que a un conjunto de "códigos" que significan algo para los iniciados.
Si observa alguna de las nomenclaturas relacionadas con el lenguaje - párrafo, oración, verbo, cláusula - está siguiendo deliberadamente los patrones atribuidos al idioma inglés.
SECCIÓN no encaja del todo en esto, hasta que relacione las cosas con un documento comercial formal.
Tanto las SECCIONES como los párrafos aparecen también fuera de la DIVISIÓN DE PROCEDIMIENTOS. Al igual que en el inglés escrito, los párrafos pueden existir por sí solos, o pueden ser parte de una SECCIÓN.
Las SECCIONES pueden tener un número de prioridad relacionado con la "función de segmentación". Esto solía incluir la "superposición" de SECTION para proporcionar un nivel primitivo de administración de la memoria. Esta es una "herramienta de cálculo" más que una de habla inglesa :-) La "característica de segmentación" tiene algo de efecto restante, pero nunca lo he visto realmente utilizado.
Sin DECLARATIVOS (que no uso, y acabo de notar que el manual no está claro) entonces es una "opción" si se utilizan SECCIONES o párrafos para PERFORMAR.
Si se utiliza GO TO, racionalmente, se puede lograr la "equivalencia" con PERFORM ... TRHU .... Si no es así, y no hay un uso gratuito de PERFORM ... THRU ..., entonces hay equivalencia ya.
Las comparaciones con el código "estructurado" y los idiomas modernos son "leer la historia al revés" o simplemente delinear una "práctica" en particular. De la reputación alcanzada por el "código spaghetti" y ALTER ... PARA PROCEDER A ... bien puede ser que durante 20 años haya sido "común" no hacer mucho con PERFORM a menos que necesites la "gestión de la memoria", pero yo no tiene referencias o conocimiento para respaldar esto.
SECCIONES permiten nombres de párrafo duplicados, de lo contrario los nombres de párrafo deben ser únicos.
No puedo poner un dedo específico sobre uno sobre el otro todo el tiempo.
Si utilizo IR A, usaría las SECCIONES.Si no, párrafos. Con DECLARATIVOS usaría SECTIONs. Si utilizo las SECCIONES, comenzaría la DIVISIÓN DE PROCEDIMIENTOS con una SECCIÓN para evitar un mensaje de diagnóstico.
Las normas locales pueden dictar, pero no necesariamente sobre una base "moderna" (o incluso "racional"). Mucho es "conocido" pero en realidad es mal entendido acerca de las SECCIONES y los párrafos, en mi experiencia.
Para el rendimiento (donde se procesan masas de datos, y me refiero a masas) entonces un PERFORM de una SECCIÓN en lugar de múltiples párrafos individuales vería mejoras. El efecto sería el mismo con PERFORM ... THRU ..., pero prefiero no recomendarlo. IR A fuera del rango de un PERFORM es 1) malo 2) puede perder en "optimización". No debería ser un problema * excepto "cuando GO TO abend/exception y sin esperar ningún retorno lógico. Si se considera que el uso de este es necesariamente" inmediatamente ", entonces es mejor hacerlo con un PERFORM a pesar del" contraintuitivo " "aspecto (por lo documentarla).
Bah, veo que Colemanj tenía la misma respuesta que yo. Acabo de desplazarme más allá de la primera entrada de respuesta. No puedo comentar las respuestas de los demás, así que lo dejo como una explicación ligeramente expandida de lo que dijo Colemanj. –
Creo que usted y Colemanj tienen la respuesta correcta, pero su respuesta es más elocuente. La segmentación del programa era el mecanismo de "estado o arte" para administrar programas "grandes" en un espacio de direcciones pequeño. Afortunadamente, la memoria virtual hizo que esta función quedara obsoleta (he estado alrededor el tiempo suficiente como para que haya experimentado la "alegría" de escribir programas segmentados). Todo lo que veo que queda es un posible uso de "espaciado de nombre" y un requisito inexplicable de que las Declarativas hacen referencia a Secciones en lugar de a Párrafos (como lo señala Tim Sylvester). – NealB