Apprentissage COBOL sans accès à L'ordinateur central [fermé]

je suis une étudiante diplômée en informatique. Mon département enseigne la majorité de ses cours en utilisant Java (bien que j'ai suivi un cours sur l'architecture du système qui utilisait C pour démontrer l'ordonnancement des processeurs, la gestion de la mémoire, etc....mais je m'égare).

je veux en savoir plus sur COBOL, mais je n'ai pas accès à un ordinateur central. Quelqu'un peut s'il vous plaît recommander un gratuit un compilateur COBOL Pour Windows qui me permettrait de passer à travers quelques bases COBOL tutoriels?

Avertissement: oui, j'ai Googlé déjà, donc en espérant pour certaines personnes expérimentées pour vous donner quelques informations supplémentaires.

Merci!

16
demandé sur rekire 2010-12-13 23:26:09

6 réponses

D'autres posters ont suggéré Tiny COBOL, mais regardez OpenCOBOL trop. OpenCOBOL est un compilateur croisé de C et a une communauté de développement assez active.

le COBOL n'est pas une langue difficile à apprendre. A moins que vous ne cherchiez à vous frayer un chemin dans une boutique de gros ordinateurs., passer beaucoup de temps à étudier le COBOL peut ne pas avoir beaucoup de retour de carrière.

comme le soulignait belisarius, ce n'est pas tant la langue que l'environnement qui doit être savant. Par analogie, il n'y a pas grand chose à apprendre sur le langage C. Cependant, juste savoir C Ne vous mènera pas très loin - vous devez travailler avec le énorme bibliothèque standard qui vient avec elle. COBOL est similaire en ce que respect. La différence est que COBOL ne vient pas avec une bibliothèque standard énorme, il fait partie d'un paquet Cela inclut souvent: CICS, DB / 2, MQ-Series et une gamme d'autres services de bibliothèque (LE Services dans un environnement IBM).

le COBOL se trouve à l'extérieur d'un environnement mainframe, mais le mainframe c'est sa "vraie maison". Comme une généralisation, "mainframe" implique un IBM mainframe tournant Z / OS (beaucoup peuvent prendre l'exception pour la présente déclaration). Cette publication: Introduction à la Mainframe z/OS est un bon endroit pour avoir une idée de ce qu'est un environnement mainframe d'IBM.

Les choses que je trouve caractériser COBOL sont:

  • COBOL est un langage procédural. Certains vendeurs ont ajouté OO extension et les nouvelles normes de langage COBOL incluent des extensions OO, mais c'est en grande partie un travestissement. COBOL est fondamentalement un langage procédural.

  • déclaration des données. PICTURE/USAGE c'est un peu de l'esprit bender. Déclaration de données combine représentation des données internes (binaire, décimale emballée, virgule flottante, caractère, etc.), avec la présentation (nombre de chiffres, zéros non significatifs, panneau, etc.) en un seul déclaration.

  • REDEFINES utilisé pour fournir des vues différentes de la même mémoire sous-jacente.

  • déclarations de données hiérarchiques. La hiérarchie des données est définie à l'aide de numéros de niveau. Niveau 1 définit le haut du la hiérarchie et l'augmentation du nombre définissent les niveaux inférieurs. Les niveaux 66 (en conjonction avec RENAMES), 77, 88 ont une signification particulière.

  • Flux de contrôle. Beaucoup de programmeurs (même certains vétéran COBOL les programmeurs) vue SECTION/PARAGRAPH d'une manière similaire à un appel de procédure. Ils sont complètement différent. SECTION/PARAGRAPH le faire ne pas suivre la sémantique d'appel/retour orientée pile normale. COBOL utilise un mécanisme unique pour gérer de retour de PERFORMed les articles/paragraphes.

  • programmes monolithiques avec des tonnes de variables globales. Il n'est pas rare de trouver des fichiers COBOL source on rencontre des milliers de lignes avec plusieurs centaines de variables globales. COBOL ne doit pas être écrit de cette manière - je crois que c'est un héritage remontant à une époque où les appels relatifs aux procédures ont été jugés coûteux, mais PERFORMingSECTION/PARAGRAPH a été très efficace. Habitude semble avoir collé et les nouveaux programmes COBOL ont tendance à être écrits comme des monstres monolithiques aussi.

  • gestion de Chaîne d'cauchemar. COBOL fait très bien les calculs financiers. Il ne fait pas la manipulation des chaînes très bien à tous. La chaîne de manutention des verbes INSPECT,STRING et UNSTRING peut faire un certain nombre de choses intéressantes, mais parviennent à être assez aggravant aussi.

  • COPY/REPLACING et REPLACE les directives de compilation doivent être comprises. Ils se comportent un peu différemment que l'inclusion de fichiers dans la plupart des autres langues. La plupart des magasins utilisent COPY seulement pour les documents communs ou déclaration de données, d'autres les utilisent aussi pour le code de procédure commun (avec REPLACING et ou REPLACE).

compte tenu d'une connaissance pratique de C, vous devriez être en mesure de COBOL sans trop de difficultés.

22
répondu NealB 2011-03-11 12:39:17

Je ne répondrai pas à votre question précise, car il y a de nombreuses années j'ai cessé de travailler comme programmeur de systèmes d'ordinateurs centraux (et avec les ordinateurs centraux en général ... et cela inclut le COBOL). Néanmoins, je voudrais souligner deux points:

  1. COBOL est un facile à apprendre langue. Vous sentirez d'abord que la syntaxe est intimidante. Beaucoup de "divisions", "sections" , "paragraphes" ... essaie de comprendre pourquoi ils existent. Personne ne écrit ces étiquettes. La façon dont COBOL utilise et redéfinit les structures de données est peut-être le concept le plus intéressant, essayer de bien le comprendre.

  2. C'est le point clé. J'ai dit "COBOL est facile". Maintenant, la mauvaise nouvelle: être un bon programmeur COBOL mainframe est facile. Mais ça n'a rien à voir avec le COBOL, c'est l'environnement. Le mainframe est grand, et il y a beaucoup de "écosystèmes". Vous avez DB2, CICS, un peu de JCL, et VSAM comme un strict minimum, et peut-être une douzaine de plus, selon votre installation. Des imprimantes, des bandes et d'autres matériels spécialisés et difficiles à gérer. Chacun d'entre eux nécessite plusieurs années à dompter, et c'est la valeur réelle d'un bon programmeur d'ordinateur central. Microfocus avait un produit de compilateur/environnement coûteux qui a pu imiter quelques-unes de ces caractéristiques, mais je pense qu'il est hors du marché maintenant.

    Quoi qu'il en soit, la dextérité avec ces caractéristiques sont généralement acquis "sur le magasin" et très difficile (croyez-moi) pour obtenir un livre ou un cours.

cela dit, ne vous attendez pas à obtenir un emploi d'ordinateur central (autre qu'un super junior) après avoir appris et apprivoisé COBOL. Ce n'est qu'une première étape.

HTH!

7
répondu Dr. belisarius 2010-12-13 21:08:44

il y avait un compilateur Cobol-to-C et une Eclipse IDE d'une compagnie appelée "The Kompany". Le produit a été appelé "Kobols". Il vous permettrait D'écrire Cobol en utilisant un environnement basé sur eclipse qui serait similaire à ce que vous utiliseriez pour un ordinateur central (Rational Developer pour Z). Ils ont une version de démonstration gratuite et une version étudiante bon marché IIRC.

Vous trouverez que Cobol est facile à apprendre, facile à écrire et difficile de se tirer dans le pied. C'est une des raisons il est donc très populaire auprès des institutions financières.

je pense que c'est formidable que vous êtes l'ajout de Cobol à votre boîte à outils.

1
répondu Joe Zitzelberger 2010-12-14 15:52:18

Avez-vous essayé TinyCobol? J' penser je l'ai utilisé une fois et c'était pas mal.

il y a quelque temps, MicroFocus avait une version gratuite de leur compilateur IDE+(Net Express), mais ils ne l'offrent plus. Je suis sûr que j'ai une copie de l'installateur quelque part ici, même si je ne suis pas sûr qu'il serait encore légal d'installer si ils n'offrent plus le produit. Je peux jeter un oeil plus tard ce soir (il serait sur mon autre ordinateur, ce qui est actuellement sans tête et inactifs) et voir ce que je produis.

0
répondu AgentConundrum 2010-12-13 20:42:31

Essayez OpenCOBOL http://www.opencobol.org/, c'est gratuit, il fonctionne sous Windows et Linux et est activement développée.

0
répondu colemanj 2010-12-14 10:59:26

Micro focus offre maintenant son édition personnelle de Visual COBOL libre pour une utilisation non commerciale. Ce COBOL fonctionne soit avec Microsoft Visual Studio comme langage. net ou Eclipse. Il est même livré avec une version allégée de Visual Studio pour que vous n'ayez pas à l'acheter. Vous pouvez le télécharger à partir de https://www.microfocus.com/product-downloads/vcpe/vcpe22/index.aspx

The open source OpenCOBOL at www.opencobol.org/ a maintenant changé de nom et de lieu. Maintenant appelé GNU Cobol il peut être trouvé à sourceforge.net/projects/open-cobol/. Il s'agit d'un excellent COBOL qui met en œuvre une partie substantielle des normes COBOL ANS 85 et ISO 2002.

le site GNU COBOL contient également un lien vers le guide des programmeurs de Gary Cutler pour OpenCOBOL 1.1 qui est une excellente référence linguistique. Si vous êtes à la recherche de matériel d'apprentissage, vous pouvez essayer mon tutoriel COBOL à www.csis.ul.ie/cobol/course

il y a aussi une version en ligne très utile de COBOL qui utilise le compilateur OpenCOBOL. Il peut être trouvé à http://www.compileonline.com/compile_cobol_online.php Découvrez leur trop long programme "Hello world". Dans la norme ISO 2002 COBOL, la DIVISION D'IDENTIFICATION n'est pas requise et, comme le programme s'arrête lorsque la fin du texte est atteinte, la course D'arrêt n'est pas non plus requise. Seules les trois lignes ci-dessous sont requises. Essayez-le vous-même.

PROGRAM-ID. HELLO-WORLD.
PROCEDURE DIVISION.
   DISPLAY 'Hello, world'.
0
répondu MikeC 2014-05-09 17:30:11