Cours NetRexx

Tutoriel NetRexx en PDF


Télécharger Tutoriel NetRexx en PDF

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


Guide de formation approfondi en NetRexx [Eng]

...

Quand utiliser NetRexx.

Ce sujet est susceptible d'être une source d'arguments sans fin (à la fois pour et contre). Ceci est mon opinion authentique.

Avantages:

NetRexx est très facile à lire. Vous pouvez pratiquement programmer en anglais (1)

il n'y a qu'un seul type de données natif NetRexx (la chaîne);

il n'y a presque pas besoin de caractères spéciaux (comme les délimiteurs, les identificateurs, etc.);

NetRexx possède des fonctionnalités très puissantes, telles que la précision numérique arbitraire, l'analyse syntaxique, la gestion facile des chaînes, etc.

NetRexx n'est pas adapté à un système d'exploitation particulier; le même code peut fonctionner sur:

Windows 95 / NT (TM),

UNIX (TM) (par exemple AIX (TM), HP / UX (TM), IRIX (TM), SunOS (TM), Solaris (TM), etc.),

OS / 2 (TM),

Macintosh (TM),

En fait, NetRexx fonctionnera sur n'importe quelle plate-forme qui fournit une machine virtuelle Java (JVM) (plus de détails à ce sujet plus tard).

Si vous êtes (ou étiez) un programmeur FORTRAN, PL / I ou PASCAL, vous trouverez probablement NetRexx plus proche de votre

«mode de programmation» que toute autre langue disponible pour la JVM. NetRexx facilite la transition pour

les programmeurs familiers avec les langages "procéduraux" dans le paradigme orienté objet.

Les inconvénients:

NetRexx n'est pas (ou du moins pas exactement) Rexx, donc les fans de Rexx (ou Object Rexx) seront confrontés à une "période de transition". Vous ne pouvez pas exécuter votre code Rexx immédiatement dans NetRexx (comme vous pouvez le faire avec Object Rexx) à moins que ce soit un programme très simple.

NetRexx compile votre programme en Java byte-code. Le code est alors beaucoup plus lent, en termes d'exécution, qu'un Object Rexx natif ou un Rexx "classique". J'ai mesuré jusqu'à un ordre de grandeur plus lent. Ce problème de performances est dû au Java byte-code exécuté dans la JVM et n'est pas un problème inhérent à NetRexx; Le code Java brut est tout aussi lent!

  A propos des exemples dans ce livre.

> Dès les premiers chapitres, je présenterai et discuterai de «vrais» atomes du programme NetRexx (c'est-à-dire des fragments de code (généralement des méthodes)) que vous pourrez utiliser dans vos programmes après avoir appris la langue.

J'ai remarqué que de nombreux «guides d'utilisation» sont présentés comme des exemples, des programmes que vous n'utiliserez probablement plus jamais dans votre vie; en fait, ces programmes sont souvent totalement inutiles, ne sont créés que pour que l'auteur puisse montrer les particularités de la langue concernée.

Je préfère te donner quelque chose de «réel»; programme des atomes que vous pouvez insérer dans votre code, ou des programmes que vous pouvez exécuter et utiliser même après avoir terminé avec ce livre. Le désavantage évident d'une telle approche est que certaines constructions peuvent ne pas être entièrement claires, puisqu'elles ne seront expliquées que plusieurs chapitres plus loin. Soyez patient et ne vous préoccupez pas des choses qui, à un moment donné de votre progression dans le livre, ne sont pas complètement comprises. Vous pouvez toujours y revenir plus tard.

*** Cette section est:

*** et sera disponible dans les prochaines versions

Structure du livre

Ce livre est divisé en quatre parties.

Partie un

(Écrire des programmes simples)

- Concepts de base

- Introduction à NetRexx

- Les bases de la langue

- Opérations sur les nombres

- Opérations sur les chaînes

- Structures de contrôle

Deuxième partie

(Programmation orientée objet)

- Objets, Classes et Interfaces - Opérations sur fichiers

- Sockets et réseau

Didacticiel NetRexx - Préface

- Interface système - Threads

- Opérations de base

Partie trois

(Interfaçage avec le WEB)

- Applets

- Interfaces graphiques - Graphismes avancés

Quatrième partie

(Sujets avancés)

- Instructions additionnelles

- Plus sur les algorithmes

- NetRexx pour Rexxers

- Outils

- Divers

  Conventions.

Afin d'être cohérent, un 'standard' est suivi pour présenter les différents exemples de code et les exemples courants.

Lorsque je montre un exemple de programme complet, le code apparaît comme ceci:

Télécharger la source de l'exemple codeex.nrx

Les numéros de ligne peuvent être utilisés dans les commentaires relatifs au code. Vous trouverez l'ID du fichier dans le coin inférieur droit du code, ce qui facilite la recherche de la partie référencée du code si vous avez déjà l'exemple de code sur votre ordinateur.



En se référant à seulement un petit morceau d'un programme, le code apparaît comme ceci:

si test alors

faire

Dites "Courir en mode test". fin

Des exemples de sessions sont présentés comme ceci:

Ce que vous devez taper est écrit en caractères gras. Les invites rsl3pm1 (NNN) sont simplement celles de la machine à partir de laquelle les sessions d'échantillons ont été prises, il suffit donc de les ignorer.

Les exemples de syntaxe apparaissent comme suit:

rc = socket ('VERSION')

avec l'invocation de la méthode en caractères gras, et les arguments en italique. Les exemples de fichiers de données apparaissent comme suit:

+ +

| fichier de données |

| échantillon

|

+ +

échantillon.DATA

avec, encore une fois, l'identifiant du fichier en bas à droite.

Reconnaissances

Plusieurs critiques ont aidé, par des questions et des commentaires, à clarifier les objectifs et l'exposition du livre. Mark Hessling a été extrêmement utile en lisant la version préliminaire du livre, qui a été composé en utilisant son éditeur de texte XEDIT; LA.

Un grand merci également à Bernard Antoine et David Asbury de la division CN du CERN pour leur aide et leurs suggestions.

Résumé

Faisons maintenant un résumé de ce que nous avons vu jusqu'ici dans ce chapitre.

*** Cette section est:

*** et sera disponible dans les prochaines versions

Fichier: nr_2.html.

Le contenu de cette page WEB est Copyright © 1997 par Pierantonio Marchesini / ETH Zurich. La dernière mise à jour a été faite le 18 mai 1998 21:47:33 (GMT +2).

...

Le didacticiel NetRexx

- Concepts de base

Concepts de base

Dans ce chapitre, je vais essayer de donner un aperçu de tous les concepts de base qui, à mon avis, sont nécessaires pour bien comprendre les chapitres suivants.

Si vous connaissez les concepts exposés ici, vous pouvez passer directement au chapitre suivant.

Le langage Java

Java est un langage de programmation orienté objet développé par Sun Microsystems (TM). Un programme Java peut ressembler à un programme C ou C ++, en raison des similarités de Java avec ces langages. En effet, Java n'est pas basé sur C, ni sur C ++. Il n'y a eu aucun effort pour rendre Java compatible avec ces deux langues.

Un point important à garder à l'esprit est que Java a été conçu avec l'idée de permettre l'exécution de code sur un réseau.

La caractéristique principale de Java est que le code COMPILED est indépendant de la plate-forme. Pour y parvenir, Java se compile en une forme intermédiaire; Java octet-code. Ce code est ensuite interprété "à la volée" par un interpréteur Java dépendant de la plate-forme.

+ +

| |

| SOURCE |

| |

+ +

hello.java =

= (compilation)

= javac hello.java

V

+ +

| |

| JAVA BYTE |

| CODE |

+ +

Bonjour classe

Le compilateur Java crée un fichier de classe Java qui ne contient aucune instruction dépendant de l'architecture. Vous ne trouverez pas les instructions Pentium, rs6000, MAC, etc. dans un fichier de classe: vous trouverez du code qui est compris par une machine virtuelle Java: un interpréteur qui sait traduire le byte-code Java dans les instructions de votre machine.

+ +

| JAVA BYTE CODE |

Didacticiel NetRexx - Concepts de base

| (classe) |

+ +

| |

| MACHINE VIRTUELLE JAVA |

| |

+ +

| ///////////////////// |

| MACHINE (PC, MAC, WS) |

| ///////////////////// |

+ +

Ainsi, la machine virtuelle Java est juste un interpréteur spécial, qui "comprend" un fichier de classe.

L'idée n'est pas nouvelle: elle était disponible en Pascal UCSD, et le code intermédiaire était le soi-disant p-code.

Lorsque vous exécutez du code sur un réseau, vous devez éliminer certaines des fonctionnalités linguistiques qui peuvent permettre à un code malveillant d'accéder à votre ordinateur. Notamment, les concepteurs de Java ont dû enlever le concept d'un «pointeur», largement utilisé en C et C ++. Les programmes Java ne peuvent pas accéder à des adresses arbitraires dans la mémoire de votre machine.

  Java et le WEB

La capacité d'interpréter Java byte-code est disponible sur la plupart des navigateurs WWW disponibles aujourd'hui.



Si un document HTML contient une instruction , le navigateur récupère la classe (si vous ne l'avez pas déjà sur votre machine) et exécute le code. La chose importante à souligner est que le code, à ce stade, fonctionne sur votre machine, pas sur le serveur d'où vous avez téléchargé le document HTML.

à ¢ â,¬Â

(serveur client)

(URL)

- (demande d'URL) ---->

 

...

 

- (demande de classe) ->

 

CLASS fonctionne ICI

Java ajoute une interaction locale à WEB et décharge le traitement du serveur vers le client.

Quel est le gain dans une telle approche? Pourquoi ne pas exécuter le code directement sur le serveur? (comme vous le faites quand vous émettez une commande cgi-bin)?

Si votre application manipule les données et les affiche graphiquement, l'approche Java est nettement plus efficace, à la fois en termes de réduction du trafic réseau et de vitesse d'exécution perçue.

Par exemple: supposons que votre entreprise souhaite afficher plusieurs histogrammes sur sa page d'accueil WWW. Vous pourriez avoir les images (au format gif ou jpg) stockées dans le répertoire du démon HTML. Chaque fois que le document est demandé, potentiellement des centaines de kilo-octets de données sont transférés à travers le réseau. En utilisant Java, vous téléchargez l'application qui implémente un visualiseur d'histogramme et les données pour construire l'histogramme sur votre machine; d'habitude

 Didacticiel NetRexx - Concepts de base

significativement moins de données que les images pré-construites.

  JDK

JDK est un acronyme pour Java Developer Kit. C'est un ensemble de programmes qui vous permet de compiler votre code Java et de l'exécuter (en utilisant l'interpréteur Java).

Le JDK est distribué gratuitement par Sun, et vous pouvez le télécharger depuis le site de Sun:

à ¢ â,¬Â

Voir l'annexe I pour plus de détails.

Le JDK est constitué des outils suivants:

un compilateur javac

un débogueur

un interpréteur, ou, si vous préférez, un Java Java Machine (Java VM) java

un appletviewer applet viewer

autres outils divers

Le JDK inclut également tous les fichiers de classe Java dont vous avez besoin pour compiler et exécuter vos programmes Java.

Le JDK n'est PAS un environnement de développement visuel, comme le J ++ de Microsoft ou le Café de Symatec. Le JDK de Sun a été défini comme "primitif" [GREHAN, 1997] par certains auteurs, puisque tous les outils du paquet s'exécutent à partir de la ligne de commande. D'autres personnes [HAROLD, 1997] préfèrent définitivement l'approche «minimaliste» de JDK par rapport à des produits plus sophistiqués, parfois encore en bêta-test.

Si vous êtes un programmeur "old fashion" comme moi, vous préférerez probablement l'approche de JDK, qui ressemble au processus de développement que j'ai suivi sur VM / 370 et VS / COBOL; modifier, compiler et exécuter tout à partir de la ligne de commande.

Pour NetRexx, il n'y a pas d'IDE pour le moment, vous êtes donc obligé d'utiliser l'approche de JDK.

Classes Java

Comme d'autres langues notamment FORTRAN, Java est un langage relativement simple. La puissance de ces langues est dérivée, non pas de la langue elle-même, mais de l'extensibilité de la langue. Sans les packages et fonctions mathématiques de haut niveau dans FORTRAN, vous ne pourriez pas faire grand chose. Java, sans ses bibliothèques de classes est le même.

Applications

Une application est, en général, un programme autonome que vous lancez à partir de la ligne de commande. Une application a un accès illimité au système hôte. Une application peut lire / écrire des fichiers sur votre système en utilisant vos privilèges d'accès, elle peut ouvrir des connexions socket avec n'importe quelle adresse, etc.

Didacticiel NetRexx - Concepts de base

Techniquement, une application NetRexx est un programme NetRexx qui a une méthode main (), ou pas du tout de méthode (NetRexx ajoutera le main () pour vous).

  Applets

Une applet est un programme exécuté dans le contexte d'un visualiseur d'applet ou d'un navigateur Web. Une applet a un accès très limité au système où elle s'exécute; par exemple, une applet ne peut pas lire les fichiers, elle ne peut pas non plus établir de connexions de socket avec des systèmes autres que celui où l'applet a été téléchargée.

Techniquement parlant, une applet est une classe NetRexx qui étend la classe Java java.applet.Applet.

Javascript

Vous avez peut-être trouvé, dans plusieurs pages WEB, des portions de code exécutées par le navigateur. Ce code est écrit en utilisant javascript. Pour être clair, javascript n'a rien à voir avec java. La boisson noire que vous trouvez dans les fast-foods n'a rien à voir avec le nectar que vous buvez à "La Tazza d'oro" (Via degli Orfani 82, à Rome). Les gens (pas les mêmes personnes, en effet) appellent les deux cafés, mais c'est la seule chose qu'ils partagent. Donc Java et Javascript partagent juste une partie du nom. "L'intersection de Java et Javascript est l'ensemble vide." [VAN DER LINDEN, 1997].

Javascript a été inventé par Netscape Inc., et il s'agit d'un langage de script simple, intégré dans des fichiers HTML. Il propose des boucles et des tests conditionnels.

À titre d'exemple de Javascript, regardez le code suivant:

| | 01

|

 | 02

| Ici, je snoop quelques infos sur vous: | 03

| | 04

| | 05



| <! - | 06

| var où = document.referrer | 07

| var nom = navigator.appName | 08

| var vers = navigator.appVersion | 09

| document.writeln ("Vous êtes venus ici: '" + + + "'.) | 10

| document.write ("Vous utilisez: '" + nom + "" + vers + "'.") | 11

| // -> | 12

| | 13

| | 14

| | 15

+ +

jsc.html

Juste à temps Compilateurs

JavaBeans

Didacticiel NetRexx - Concepts de base

JavaBeans est une spécification publique développée par Sun, en consultation avec d'autres fournisseurs et avec la communauté Java. JavaBeans est un modèle de composant qui vous permet de créer et d'utiliser des composants Java.

Les beans sont juste une classe Java avec quelques informations descriptives supplémentaires. Pourquoi cette information supplémentaire? Parce que cette information est utilisée pour faire des beans composants logiciels réutilisables, qui peuvent être manipulés en construisant des outils. Cela permet aux non-programmeurs, à l'aide d'un outil de création, d'assembler une application à l'aide des composants fournis.

...

Le didacticiel NetRexx

- Introduction à NetRexx

Introduction à NetRexx

introduction

Dans ce chapitre, j'essaie de donner un aperçu global du langage NetRexx, avec un peu d'histoire et quelques informations sur la façon de l'installer et de l'exécuter, etc. La partie la plus intéressante commence probablement par le petit voyage autour de NetRexx. J'essaie de développer quelques petits programmes, uniquement dans le but de vous donner un "feeling" pour cette langue. Vous pouvez sauter directement à cette section et laisser tous les détails pour plus tard.

Histoire de Rexx et NetRexx

Rexx a été conçu, conçu et développé par Mike Cowlishaw d'IBM UK. La motivation originale était de remplacer le langage de commande IBM (1979) inadéquat (JCL et EXEC2). L'idée de base était de développer quelque chose de similaire à PL / I, mais plus facile à utiliser. Au cours des 25 dernières années, Rexx a développé une grande communauté d'utilisateurs, IBM l'envoyant / faisant partie de ses principaux systèmes d'exploitation (MVS, VM, OS / 2). IBM estime qu'il y a environ 6 millions de programmeurs Rexx dans le monde.

NetRexx a été de nouveau conçu, conçu et développé par Mike Cowlishaw IBM Fellow, en 1996. La motivation est de créer un langage plus simple et plus simple que Java, tout en gardant les principaux avantages de Java.

Comme Rexx, NetRexx est un véritable langage polyvalent, adapté à la fois au développement de scripts et d'applications.

Disponibilité de NetRexx.

...

Installation de NetRexx sur votre machine.

Conditions préalables

Pour installer et exécuter NetRexx, vous devez déjà avoir installé:

Java runtime et toolkit (à partir du kit de développement Java 1.x) un éditeur de texte

Installation

L'installation de NetRexx est un processus facile. En un mot, vous devez:

téléchargez le code en utilisant votre navigateur WEB préféré

déballer la distribution

installe les fichiers de la distribution dans les sous-répertoires Java bin et lib.

change la variable d'environnement CLASSPATH

vérifier l'installation

Un petit voyage autour de NetRexx

Dans cette section, je présente une série de petits programmes, avec lesquels nous allons augmenter la fonctionnalité et la complexité. Avec ces exemples, je veux vous donner la «sensation» de NetRexx. Bien sûr, si vous êtes un programmeur REXX expérimenté, vous pouvez passer rapidement cette section et passer au chapitre suivant.

Le "Bonjour, monde!" Programme.

Voici un exemple de votre premier programme NetRexx, que vous pouvez appeler 'hello.nrx'.

La troisième ligne contient une instruction d'impression sur votre terminal. Notez que vous n'avez pas besoin de mettre un point-virgule (';') à la fin d'une ligne. Vous n'en avez besoin que si vous voulez mettre deux ou plusieurs déclarations sur la même ligne, comme ce serait le cas pour:

dites 'Bonjour tout le monde!' sortie 0

Dans la quatrième ligne, la déclaration de sortie n'est pas obligatoire; Cela signifie que vous pouvez même éviter de l'écrire. Mais c'est toujours une bonne pratique de toujours quitter un programme avec l'instruction de sortie. Encore mieux, quittez aussi avec un code de retour, comme à la sortie 0.



44