name=REBOL nameURL=http%3A%2F%2Fwww.rebol.com%2F see= logo=80x96%3Dhttp%3A%2F%2Fwww.rebol.com%2Fgraphics%2Fbutton_sm_red2.gif type=F%20-%20Functional%20or%20lambda-based desc=REBOL%20is%20a%20functional%20scripting%20language%20%0D%0Awith%20message-passing%20and%0D%0Aobject-oriented%20features.%20%20It%20is%20%0D%0Adesigned%20for%20general%20application%20and%0D%0Anetwork%20service%20development.%0D%0A%3Cbr%3E%0D%0AIntended%20to%20support%20both%20simple%20scripts%0D%0Aand%20larger%20projects%2C%20REBOL%20has%20a%20fairly%0D%0Alarge%20complement%20of%20primitive%20data%20types%3A%0D%0Anumbers%2C%20time%2C%20date%2C%20money%2C%20strings%2C%20booleans%2C%0D%0Awords%20%28atoms%29%2C%20and%20more.%20%20It%20also%20supports%0D%0Atuples%20and%20other%20primitive%20data%20aggregations%2C%0D%0Aas%20well%20as%20application-oriented%20types%20like%0D%0Afiles%2C%20URLs%2C%20and%20email%20addresses.%0D%0AThe%20primary%20grouping%20construct%20in%20REBOL%0D%0Ais%20the%20%3Ci%3Eblock%3C%2Fi%3E%2C%20it%20is%20used%20for%20both%0D%0Adata%20and%20code%20aggregation%20%28the%20way%20lists%0D%0Aare%20used%20in%20Lisp%20and%20Scheme%29.%0D%0A%3Cbr%3E%0D%0AThe%20%0D%0Aevaluation%20and%20code%20structure%20concepts%0D%0A%20of%20REBOL%0D%0Aresemble%20those%20of%20most%20other%20functional%20%0D%0Alanguages.%20%20As%20a%20first-class%20functional%0D%0Alanguage%2C%20REBOL%20stores%20everything%20as%20data%0D%0Awith%20a%20definite%20type%3B%20functions%20and%20objects%0D%0Aare%20merely%20data%20constructed%20according%20to%0D%0Aconvention%20understood%20by%20the%20interpreter.%0D%0A%3Cbr%3E%0D%0AThe%20REBOL%20core%20language%20has%20quite%20a%20few%0D%0Aadvanced%20features%2C%20consult%20the%20web%20sites%20listed%0D%0Abelow%20for%20details.%20%20Some%20of%20the%20%0D%0Asupported%20features%0D%0Aare%3A%20automatic%20memory%20management%20%28gc%29%2C%0D%0Areflection%2C%20higher-order%20functions%2C%0D%0Aexception%20handling%2C%20and%20dialecting.%0D%0A%3Cbr%3E%0D%0AThere%20is%20only%20one%20existing%20implementation%20of%0D%0AREBOL%2C%20it%20is%20an%20interpreter%20that%20runs%20on%0D%0Aa%20wide%20variety%20of%20operating%20systems.%0D%0AThe%20system%20can%20be%20downloaded%20free%2C%20or%20%0D%0Apurchased. origin=C.%20Sassenrath%2C%201997. seealso=Perl%2C%20Java%2C%20Self%2C%20Python%2C%20Scheme remark=REBOL%20stands%20for%20Relative%20Expression-based%0D%0AObject%20Language.%20%20The%20design%20of%20the%20language%0D%0Ais%20purportedly%20based%20on%20five%20principles%3A%0D%0Asimplicity%2C%20productivity%2C%20communications%2C%0D%0Aindependence%2C%20and%20humanity.%0D%0A%3Cbr%3E%0D%0AFuture%20versions%20of%20REBOL%20are%20planned%2C%20and%0D%0Amay%20support%20multi-threading%2C%20a%20GUI%20%0D%0Atoolkit%2C%20Unicode%2FI18N%20support%2C%20and%20%0D%0Amultimedia. links1=Overview%3A%20REBOL%20in%2010%20Steps%3Dhttp%3A%2F%2Fwww.rebol.com%2Frebolsteps.html links2=Download%20page%3Dhttp%3A%2F%2Fwww.rebol.com%2Fdownloads.html links3=REBOL%20article%20at%20TechWeb%3Dhttp%3A%2F%2Fwww.techweb.com%2Fwire%2Fstory%2FTWB19980709S0025 links4= links5= date=Last%20updated%2010%2F17%2F98 sample=%3Cpre%3E%0D%0AREBOL%20%5B%0D%0A%09Title%3A%20%20%20%2299%20Bottles%20of%20Beer%20on%20the%20Wall%20in%20REBOL%22%0D%0A%09Author%3A%20%20Neal%20Ziring%0D%0A%09Email%3A%20%20%20ziring%40home.com%0D%0A%09Date%3A%20%20%20%2017-Oct-1998%0D%0A%09File%3A%20%20%20%20%2599beer.r%0D%0A%09Version%3A%20%23REBOL-1-0-1%0D%0A%09Purpose%3A%20%22Print%20the%20famous%20iterative%20beer%20song%22%0D%0A%09Comment%3A%20%7B%0D%0A%09%09This%20is%20an%20example%20of%20a%20program%20in%20REBOL%20that%0D%0A%09%09prints%20the%20famous%2099%20bottles%20of%20beer%20on%20the%0D%0A%09%09wall%20song.%20%20For%20more%20information%20on%20REBOL%0D%0A%09%09go%20to%20the%20web%20site%20www.rebol.com.%0D%0A%09%09This%20program%20is%20deliberately%20over-complicated%0D%0A%09%09to%20hot-dog%20some%20fancy%20features%20of%20REBOL.%0D%0A%09%7D%0D%0A%5D%0D%0A%0D%0A%0D%0A%0D%0Asong%3A%20%5B%0D%0A%09Verse%20%5B%20%5Bif%20num%20%3E%200%20%5Bnum%5D%20else%20%5B%22No%20more%22%5D%20%5D%20%20%22%20%22%0D%0A%09%09%5Bif%20num%20%3D%3D%201%20%5B%22bottle%22%5D%20else%20%5B%22bottles%22%5D%20%5D%0D%0A%09%20%20%20%20%20%20%20%20%22%20of%20beer%20on%20the%20wall%2C%22%20%0D%0A%09%091%0D%0A%09%09%5Bif%20num%20%3E%200%20%5Bnum%5D%20else%20%5B%22No%20more%22%5D%20%5D%20%22%20%22%0D%0A%09%09%5Bif%20num%20%3D%3D%201%20%5B%22bottle%22%5D%20else%20%5B%22bottles%22%5D%20%5D%0D%0A%09%09%22%20of%20beer%21%22%20%0D%0A%09%091%0D%0A%09%09%22Take%20one%20down%2C%20pass%20it%20around%21%22%20%0D%0A%09%091%0D%0A%09%09%5Bif%20num%20-%201%20%3E%200%20%5Bnum%20-%201%5D%20else%20%5B%22No%20more%22%5D%20%5D%20%22%20%22%0D%0A%09%09%5Bif%20num%20-%201%20%3D%3D%201%20%5B%22bottle%22%5D%20else%20%5B%22bottles%22%5D%20%5D%0D%0A%09%09%22%20of%20beer%20on%20the%20wall.%22%0D%0A%09%092%0D%0A%09%5D%0D%0A%09Finale%20%5B%20%22Time%20to%20buy%20more%20beer%21%22%201%20%5D%0D%0A%5D%0D%0A%0D%0AprocessItem%3A%20func%20%5Bitem%20num%5D%20%5B%0D%0A%09%20%20%20if%20integer%3F%20item%20%5Bloop%20item%20%5Bprin%20newline%5D%20%5D%0D%0A%09%20%20%20if%20string%3F%20item%20%20%5Bprin%20item%5D%0D%0A%09%20%20%20if%20block%3F%20item%20%20%20%5Bftmp%3A%20func%20%5Bnum%5D%20item%20prin%20ftmp%20num%20%5D%0D%0A%09%20%20%20exit%0D%0A%5D%0D%0A%0D%0Adosong%3A%20func%20%5Bstart%5D%20%5B%0D%0A%09bottlesleft%3A%20start%0D%0A%20%20%20%20%20%20%20%20until%20%5B%0D%0A%09%09foreach%20item%20song%2FVerse%20%5BprocessItem%20item%20bottlesleft%5D%0D%0A%09%09bottlesleft%3A%20bottlesleft%20-%201%0D%0A%09%09%28bottlesleft%20%3D%3D%200%29%0D%0A%09%5D%0D%0A%09foreach%20item%20song%2FFinale%20%5BprocessItem%20item%200%5D%0D%0A%09return%20none%0D%0A%5D%0D%0A%0D%0Adosong%2099%0D%0A%3C%2Fpre%3E _store=1 _add=Rebol _usertab=1 _usersearch=0 _format=full = name=Reduce nameURL=http%3A%2F%2Fwww.rrz.uni-koeln.de%2FREDUCE%2F see= logo= type=M%20-%20Mathematical%20or%20Simulation desc=Reduce%20is%20a%20system%20for%20computer%20algebra%20and%0D%0Asymbolic%20mathematics%2C%20featuring%20a%20language%0D%0Anamed%20Reduce%20in%20which%20users%20can%20define%20new%0D%0Afunctions%20and%20symbolic%20computation%20rules.%0D%0A%3Cbr%3E%0D%0AThe%20expression%20syntax%20of%20Reduce%20is%20similar%0D%0Ato%20that%20of%20FORTRAN%2C%20but%20with%20a%20variety%20of%0D%0Aextensions%20for%20symbolic%20operations.%0D%0AThe%20following%20data%20types%20are%20supported%3A%0D%0Aintegers%2C%20reals%2C%20rationals%2C%20and%20complex%0D%0Anumbers%2C%20all%20infinite-precision%2C%20strings%2C%0D%0Amatrices%2C%20arrays%2C%20and%20patterns.%0D%0AReduce%20supports%20definition%20of%20procedures%20and%0D%0Afunctions%2C%20but%20has%20no%20support%20for%0D%0Aobject-oriented%20programming%20or%20package%0D%0Astructure.%0D%0A%3Cbr%3E%0D%0AReduce%20is%20written%20in%20Lisp%2C%20and%20the%20source%0D%0Acode%20for%20the%20kernel%20is%20normally%20supplied%0D%0Awith%20the%20distribution.%20%20There%20is%20a%20%0D%0Alow-level%20extension%20language%20under%20Reduce%20%0D%0A%2C%20but%20above%20Lisp%2C%20called%20RLisp.%20%20RLisp%20is%0D%0Aused%20in%20some%20versions%20of%20Reduce%20for%20code%0D%0Aefficiency%20or%20to%20build%20complicated%20data%0D%0Astructures.%0D%0A%3Cbr%3E%0D%0AReduce%20is%20available%20as%20a%20%20%0D%0Acommercial%20product%20for%20most%20computer%0D%0Aplatforms.%0D%0AFree%20demo%20versions%20are%20also%20available. origin=Anthony%20Hearn%2C%20RAND%20Corp%2C%201963. seealso=Algol%2C%20Mathematica%2C%20Maple%2C%20Macsyma%2C%20Lisp remark=Reduce%20was%20one%20of%20the%20earliest%20portable%0D%0Asymbolic%20computation%20systems.%20%20Implemented%0D%0Ain%20a%20dialect%20of%20Lisp%20called%0D%0APortable%20Standard%20Lisp%2C%20Reduce%20was%20widely%0D%0Aused%20in%20industry%20and%20academia.%0D%0A%3Cbr%3E%0D%0AWhile%20Reduce%20is%20not%20as%20large%20or%20sophisticated%0D%0Aas%20some%20more%20recent%20symbolic%20math%20systems%20%0D%0A%28e.g.%20Maple%2C%20Mathematica%29%2C%20its%20long%20history%0D%0Aand%20stability%20have%20earned%20it%20a%20loyal%20%0D%0Afollowing.%20%20Also%2C%20a%20great%20many%20libraries%0D%0Afor%20specialized%20scientific%20and%20%0D%0Aengineering%20calculations%20have%20been%20developed%0D%0Afor%20it.%0D%0A%3Cbr%3E%20%0D%0AWhile%20the%20syntax%20of%20Reduce%20resembles%20that%20of%0D%0AFortran%20in%20some%20respects%2C%20it%20was%20originally%0D%0Abased%20on%20Algol%20and%20actually%20resembles%20Algol60%0D%0Amore%20than%20it%20does%20Fortran.%0D%0A%3Cbr%3E%0D%0AFormerly%2C%20Reduce%20had%20been%20available%20to%0D%0Aacademic%20institutions%20for%20free.%20%20The%0D%0Acurrent%20version%20of%20Reduce%20is%203.6. links1=Overview%20of%20Reduce%3Dhttp%3A%2F%2Fwww.zib.de%2FSymbolik%2Freduce%2FOverview%2FOverview.html links2=Reduce%20file%20area%20at%20RAND%3Dhttp%3A%2F%2Fwww.rand.org%2Fsoftware_and_data%2Freduce%2F links3=Codemist%20Reduce%20information%3Dhttp%3A%2F%2Fwww.codemist.tc%2Freduce%2Findex.html links4=Reduce%203.5%20documentation%3Dhttp%3A%2F%2Fwww.uni-koeln.de%2FREDUCE%2Freduce3.5docs.html links5= date=Last%20updated%209%2F28%2F98 sample=A%20polynomial%20GCD%20routine%20from%20%3Ci%3EREDUCE%20-%0D%0ASoftware%20for%20Algebraic%20Computation%3C%2Fi%3E%20by%20G.%20Rayna.%0D%0A%3Cp%3E%0D%0A%3Cpre%3E%0D%0APROCEDURE%20EUCLID%28A%2CB%2CX%29%3B%0D%0ABEGIN%0D%0A%20%20%20%20SCALAR%20R%2CQ%2CAA%2CBB%2CSA%2CSB%2CSR%2CD%3B%0D%0A%20%20%20%20CLEAR%20FIRST%2CSECOND%3B%0D%0A%20%20%20%20AA%20%3A%3D%20A%3B%20%20BB%20%3A%3D%20B%3B%0D%0A%20%20%20%20SA%20%3A%3D%20FIRST%3B%20SB%20%3A%3D%20SECOND%3B%0D%0A%20%20%20%20WHILE%20%28R%20%3A%3D%20POLYREM%28AA%2CBB%2CX%29%29%20NEQ%200%20DO%0D%0A%20%20%20%20%26lt%3B%26lt%3BON%20GCD%3B%0D%0A%20%20%20%20Q%20%3A%3D%20%28AA%20-%20R%29%20%2F%20BB%3B%0D%0A%20%20%20%20OFF%20GCD%3B%0D%0A%20%20%20%20SR%20%3A%3D%20SA%20-%20Q%20%2A%20SB%3B%0D%0A%20%20%20%20D%20%3A%3D%20DEN%20Q%3B%0D%0A%20%20%20%20SA%20%3A%3D%20SB%20%2A%20D%3B%20SB%20%3A%3D%20SR%20%2A%20D%3B%0D%0A%20%20%20%20AA%20%3A%3D%20BB%20%2A%20D%3B%20BB%20%3A%3D%20R%20%2A%20D%26gt%3B%26gt%3B%3B%0D%0A%20%20%20%20RETURN%20SB%0D%0AEND%3B%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=Reduce _usertab=1 _usersearch=0 _format=full = name=Rexx nameURL=http%3A%2F%2Fwww2.hursley.ibm.com%2Frexx%2F see= logo=64x64%3Dhttp%3A%2F%2Fwww2.hursley.ibm.com%2Frexx%2Frexxlang.gif type=C%20-%20Command%20or%20Scripting desc=Rexx%20is%20an%20block-sturctured%0D%0Aprocedural%20language%20commonly%20used%20for%0D%0Aapplication%20development%2C%20integration%2C%20%0D%0Aand%20extension.%0D%0ADesigned%20primarily%20for%20ease%20of%20use%2C%0D%0Athe%20Rexx%20language%20is%20weakly%20typed%20and%0D%0Ahas%20a%20very%20plain%2C%20uncomplicated%20syntax.%0D%0ARexx%20supports%20strings%2C%20numbers%2C%20and%0D%0Aassociative%20arrays%20as%20its%20data%20structure.%0D%0AThe%20numbers%20can%20be%20unlimited-precision.%0D%0AThe%20language%20includes%20conventional%0D%0Acontrol%20structures%3A%20if-then-else%2C%20counted%0D%0Aand%20free%20loops%2C%20and%20a%20case%20statement%20form.%0D%0AIt%20supports%20recursive%20functions%2C%20and%20also%0D%0Asupports%20evaluation%20of%20run-time%20code%20%28like%0D%0ALisp%2C%20Perl%2C%20and%20many%20other%20interpreted%0D%0Alanguages.%29%0D%0ASome%20commercial%20implementations%20of%20Rexx%0D%0Asupport%20the%20creation%20of%20GUIs%20and%20interaction%0D%0Awith%20database%20management%20systems.%0D%0A%3Cbr%3E%0D%0AAn%20ANSI%20standard%20for%20Rexx%20is%20available%2C%20%0D%0Athe%20standard%20was%20created%20by%20the%20X3J18%20committee%0D%0Aand%20is%20designated%20X3.274-1996.%20A%20pre-pub%0D%0Adraft%20is%20available%20on-line%20from%0D%0A%3Ca%20href%3D%22http%3A%2F%2Fwww2.hursley.ibm.com%2Frexx%2Fj18pub.zip%22%3Ehere%3C%2Fa%3E.%0D%0AVarious%20superset%20dialects%20of%20Rexx%20exist%2C%20providing%0D%0Aa%20variety%20of%20extensions%3A%20ObjectRexx%20supports%0D%0Aobject-oriented%20programming%2C%20and%20NetRexx%0D%0Aprovides%20a%20variety%20of%20network%20interface%20and%0D%0AI%2FO%20facilities.%0D%0A%3Cbr%3E%0D%0ABoth%20free%20and%20commercial%20implementation%20of%20%0D%0ARexx%20are%20available.%20%20Most%20are%20interpreters%0D%0Aonly%2C%20but%20a%20few%20Rexx%20compilers%20also%20exist.%0D%0AInformation%20about%20the%20language%20is%20freely%0D%0Aavailable%20from%20IBM%2C%20various%20academic%0D%0Ainstitutions%2C%20and%20the%20Rexx%20Language%20Association. origin=M.%20Cowlishaw%2C%20IBM%2C%201979%20-%201985. seealso=Perl%2C%20Tcl%2C%20Basic%2C%20csh remark=Rexx%20was%20originally%20invented%20as%20a%20sophisticated%0D%0Acommand%20language%20for%20IBM%20mainframe%20environments%20%28MVS%2C%20CMS%29.%0D%0AIt%20has%20gained%20some%20popularity%20as%20a%20programming%0D%0Alanguage%20with%20expressive%20power%20and%20convenience.%0D%0AIn%20the%20Windows%20environment%20it%20competes%20with%0D%0AVisual%20Basic%2C%20Java%2C%20Perl%2C%20and%20Tcl.%20%20In%20the%20UNIX%20%0D%0Aenvironment%20is%20competes%20with%20Perl%2C%20Tcl%2C%20Java%2C%0D%0Aand%20various%20shells.%0D%0AOn%20IBM%20OS%2F2%20Rexx%20is%20probably%20the%0D%0Amost%20popular%20scripting%20language.%0D%0A links1=Rexx%20Info%20%28with%20a%20good%20tutorial%29%3Dhttp%3A%2F%2Fwww.comlab.ox.ac.uk%2Foucl%2Fusers%2Fian.collier%2FRexx%2F links2=Rexx%20FAQ%20List%3Dhttp%3A%2F%2Fwww.mindspring.com%2F%7Edave_martin%2FRexxFAQ.html links3=Waterloo%20Rexx%20FTP%20archive%3Dftp%3A%2F%2Frexx.uwaterloo.ca%2Fpub%2F links4=The%20Rexx%20Language%20Associate%20home%20page%3Dhttp%3A%2F%2Fwww.rexxla.org%2F links5= date=Last%20updated%2012%2F16%2F97 sample=%3Cpre%3E%0D%0A%2F%2A%20Subroutine%20example%20from%20Ian%20Collier%27s%20tutorial%2C%20%20%2A%2F%0D%0A%2F%2A%20stand-in%20until%20I%20get%20a%20more%20extensive%20example.%20%2A%2F%0D%0A%0D%0A%20%20%20%20%2F%2A%20Calculate%20factorial%20x%2C%20that%20is%2C%201%2A2%2A3%2A%20...%20%2Ax%20%20%2A%2F%0D%0A%20%20%20%20%20%20parse%20pull%20x%20.%0D%0A%20%20%20%20%20%20say%20x%22%21%3D%22factorial%28x%29%0D%0A%20%20%20%20%20%20exit%0D%0A%0D%0A%20%20%20%20%20%20factorial%3A%20%2F%2A%20calculate%20the%20factorial%20of%20the%20argument%20%2A%2F%0D%0A%20%20%20%20%20%20procedure%0D%0A%20%20%20%20%20%20parse%20arg%20p%0D%0A%20%20%20%20%20%20if%20p%3C3%20then%20return%20p%0D%0A%20%20%20%20%20%20else%20return%20factorial%28p-1%29%20%2A%20p%0D%0A%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=Rexx _usertab=1 _usersearch=0 _format=full = name=RPG nameURL=http%3A%2F%2Fwww.software.ibm.com%2Fad%2Fvarpg%2F see= logo= type=D%20-%20Database%20or%20Text-processing desc=RPG%2C%20Report%20Program%20Generator%2C%20is%20a%20%0D%0Ahigh-level%20database%20access%20and%20text%0D%0Ageneration%20language%20invented%20for%20%0D%0Amainframe%20MIS%20environments.%0D%0A%3Cbr%3E%0D%0AThe%20RPG%20language%20is%20designed%20around%0D%0Athe%20programmer%27s%20presumed%20goal%3A%20generating%0D%0Ainformative%20large-scale%20reports%20from%0D%0Amainframe%20databases.%20%20To%20this%20end%2C%20RPG%0D%0Asupports%20input%20forms%20definition%2C%0D%0Adatabase%20access%2C%20and%0D%0Avery%20extensive%20output%20formatting%20facilities.%0D%0ABecause%20it%20is%20mainly%20intended%20for%20%0D%0Aformatting%20and%20presenting%20data%2C%20RPG%20does%0D%0Anot%20have%20very%20extensive%20computational%0D%0Asupport%2C%20but%20most%20versions%20have%20at%20least%0D%0Aa%20minimal%20set%20of%20sequential%20control-flow%0D%0Aoperators%2C%20support%20for%20subroutines%2C%20etc.%0D%0AData%20types%20in%20RPG%20include%20integers%2C%0D%0Afixed-format%20numbers%2C%20reals%2C%20strings%2C%20and%0D%0Arecords.%20%20Often%2C%20data%20types%20and%20records%0D%0Aare%20declared%20as%20having%20a%20particular%20print%0D%0Aformat%20%28like%20in%20COBOL%29%20and%20the%20compiler%20%0D%0Atakes%20care%20of%20choosing%20a%20suitable%20internal%0D%0Arepresentation.%0D%0A%3Cbr%3E%0D%0AThe%20lexical%20structure%20of%20RPG%20is%20column%2Fcard%0D%0Aoriented.%20%20Programs%20consist%20of%20four%20%0D%0Adistinct%20sections%3A%20file%20description%2C%20input%0D%0Aformats%2C%20calculation%2C%20and%20output%20formats.%0D%0ARPG-IV%20%281994%29%20added%20another%20section%3A%20the%0D%0Asubprocedures%20section.%20%20%0D%0A%3Cbr%3E%0D%0ARPG%20programs%20are%20typically%20compiled.%0D%0AThey%20must%20be%20supported%20by%20an%20extensive%0D%0Arun-time%20environment%20that%20provides%20I%2FO%0D%0Aand%20data%20management%20services.%0D%0ACommercial%20implementations%20of%20RPG%0D%0Aare%20available%20from%20IBM%2C%20Lattice%2C%20and%0D%0Aother%20companies.%20%20There%20are%20no%20free%0D%0Aimplementations.%20%20Books%20are%20RPG%20programming%0D%0Aare%20widely%20available%20from%20commercial%0D%0Apublishers. origin=IBM%2C%201965. seealso=COBOL remark=There%20were%20several%20dialects%20or%20versions%20of%0D%0ARPG%20over%20the%20years%3A%20IBM%20created%20RPG%20for%20the%20%0D%0ASystem%2F360%20%281964%29%2C%20RPG-II%20for%20the%20System%2F3%0D%0A%281965%29%2C%20RPG-III%2C%20RPG%2F400%20for%20the%20AS%2F400%2C%20%0D%0ARPG-IV%2C%20and%20Visual%0D%0AAge%20for%20RPG.%20%20Other%20companies%20produced%0D%0Aversions%20of%20RPG-II%20and%20RPG%2F400%20for%0D%0AMS-DOS%20and%20Windows%20operating%20systems.%0D%0A%3Cbr%3E%0D%0ARPG%27s%20support%20for%20different%20kinds%20and%20formats%0D%0Aof%20textual%20output%20is%20very%20broad.%20%20RPG%2F400%0D%0Ahas%20at%20least%2020%20different%20output%20field%20types.%0D%0A%3Cbr%3E%0D%0AIBM%27s%20newest%20RPG%20products%20allow%20the%20developer%20to%0D%0Acreate%20graphical%20user%20interfaces%20for%20%0D%0Aforms%20input%20and%20output%20presentation. links1=Visual%20Age%20for%20RPG%20add-ons%20download%20area%3Dhttp%3A%2F%2Fwww.software.ibm.com%2Fad%2Fvarpg%2Fdownload%2F links2=Lattice%20RPG%2F400%20for%20DOS%20system%20overview%3Dhttp%3A%2F%2Fwww.lattice.com%2Fnrpg400-1.htm links3=Getting%20Started%20with%20Visual%20Age%20for%20RPG%20%28tutorial%29%3Dhttp%3A%2F%2FAS400BKS.rochester.ibm.com%3A80%2Fcgi-bin%2Fbookmgr%2Fbookmgr.cmd%2FBOOKS%2FQBKAFE00%2FCONTENTS links4=RPG%2F400%20Programmer%27s%20Manual%3Dhttp%3A%2F%2FAS400BKS.rochester.ibm.com%3A80%2Fcgi-bin%2Fbookmgr%2Fbookmgr.cmd%2FBOOKS%2FQBJAQD01%2FCCONTENTS links5= date=Last%20updated%203%2F28%2F100 sample=%3Cpre%3E%0D%0A%20%20%20%20%2A%20A%20simple%20RPG%20subprocedure%20to%20determine%20%0D%0A%20%20%20%20%2A%20an%20amount%20to%20pay%20a%20worker.%20%20From%20IBM%20%0D%0A%20%20%20%20%2A%20book%20SC09-2074-01%20%22RPG%2F400%20Programmer%27s%20Guide%22%0D%0A%0D%0A%20%20%20P%20CalcPay%20%20%20%20%20%20%20%20%20B%20%0D%0A%20%20%20%20%20D%20CalcPay%20%20%20%20%20%20%20%20%20PI%20%20%20%20%20%20%20%20%20%20%20%20%208P%202%20%0D%0A%20%20%20%20%20D%20%20%20Rate%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%205P%202%20VALUE%20%0D%0A%20%20%20%20%20D%20%20%20Hours%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2010U%200%20VALUE%20%0D%0A%20%20%20%20%20D%20%20%20Bonus%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%205P%202%20VALUE%20%0D%0A%0D%0A%20%20%20%20%20D%20Overtime%20%20%20%20%20%20%20%20S%20%20%20%20%20%20%20%20%20%20%20%20%20%205P%202%20INZ%280%29%20%0D%0A%0D%0A%20%20%20%20%20%20%2A%20Determine%20any%20overtime%20hours%20to%20be%20paid.%20%0D%0A%20%20%20%20%20C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20IF%20%20%20%20%20%20%20%20Hours%20%26gt%3B%2040%20%0D%0A%20%20%20%20%20C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20EVAL%20%20%20%20%20%20Overtime%20%3D%20%28Hours%20-%2040%29%20%2A%20Rate%20%2A%201.5%20%0D%0A%20%20%20%20%20C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20EVAL%20%20%20%20%20%20Hours%20%3D%2040%20%0D%0A%20%20%20%20%20C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ENDIF%20%0D%0A%0D%0A%20%20%20%20%20%20%2A%20Calculate%20the%20total%20pay%20and%20return%20it%20to%20the%20caller%20%0D%0A%20%20%20%20%20C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20RETURN%20%20%20%20Rate%20%2A%20Hours%20%20%20Bonus%20%20%20Overtime%20%0D%0A%0D%0A%20%20%20%20%20P%20CalcPay%20%20%20%20%20%20%20%20%20E%20%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=RPG-II _usertab=1 _usersearch=0 _format=full = name=Ruby nameURL=http%3A%2F%2Fwww.ruby-lang.org%2F see= logo=120x120%3Dhttp%3A%2F%2Fwww.ruby-lang.org%2Fimage%2Ftitle.jpg type=O%20-%20Object-oriented desc=Ruby%20is%20an%20interpreted%20scripting%20language%2C%0D%0Afully%20object-oriented%20and%20designed%20for%0D%0Aeasy%20extensibility.%20%20%0D%0A%3Cbr%3E%0D%0AThe%20syntax%20of%20Ruby%20is%20simple%20but%20bears%20a%0D%0Astrong%20resemblance%20to%20Perl.%20%20All%20data%20%0D%0Atypes%20in%20Ruby%20are%20object%20classes%2C%20like%20in%0D%0ASmalltalk.%20%20Pre-defined%20data%20types%20include%0D%0Ainteger%20and%20float%20numeric%20types%2C%20strings%2C%0D%0Aarrays%20and%20hash%20tables%2C%20and%20structures.%0D%0A%3Cbr%3E%0D%0AControl%20constructs%20in%20Ruby%20include%20a%0D%0Awide%20variety%20of%20conditionals%20and%0D%0Aseveral%20kinds%20of%20loops%2C%20along%20with%20several%0D%0Acontrols%20structure%20variations%20like%20%0D%0Abreak%20and%20continue.%20%20%0D%0ARuby%20does%20not%20have%20declarations%3B%20variables%0D%0Aare%20weakly%20typed%2C%20and%20their%20scope%20is%20%0D%0Adenoted%20by%20prefixes.%0D%0A%3Cbr%3E%0D%0ARuby%20supports%20many%20important%20OO%20%0D%0Afeatures%2C%20including%20classes%20with%0D%0Ainheritance%2C%20class%20methods%2C%20and%20even%0D%0Aclosures.%20%20Ruby%20also%20supports%0D%0Aexceptions%20with%20functionality%20%0D%0Asimilar%20to%20that%20of%20Java.%0D%0ARuby%20supports%20a%20variety%20of%20kinds%20of%0D%0Aintrospection%2C%20including%20Java-style%20reflection%0D%0Aand%20Lisp-style%20enumeration%20of%20active%20objects.%0D%0AThe%20syntax%20of%20Ruby%27s%20reflection%20support%20is%0D%0Asimpler%20than%20that%20of%20Java.%0D%0ARuby%20does%20support%20threading.%0D%0A%3Cbr%3E%0D%0AThere%20is%20only%20one%20implementation%20of%20Ruby%3B%0D%0Ait%20is%20free%20open-source.%20%20Documentation%20for%0D%0ARuby%20is%20available%20on%20the%20WWW%2C%20and%20there%20%0D%0Aare%20also%20several%20published%20books%20about%0D%0Athe%20language. origin=Y.%20Matsumoto%20and%20others%2C%201993-95. seealso=Perl%2C%20Python%2C%20Tcl%2C%20Smalltalk%2C%20Self remark=The%20current%20version%20of%20Ruby%20is%201.6.5%2C%20%0D%0Aas%20of%20Sep%202001%3B%20it%0D%0Ais%20available%20for%20Linux%20and%20other%20Unix%0D%0Asystems%2C%20Windows%2C%20and%20some%20other%0D%0Aplatforms.%20%20Ruby%20is%20normally%20distributed%0D%0Aas%20source%20code%2C%20but%20pre-compiled%20binaries%0D%0Aare%20available%20for%20many%20of%20the%20supported%0D%0Aplatforms.%0D%0A%3Cbr%3E%0D%0AWhile%20Ruby%20resembles%20Perl%20in%20many%20respects%2C%0D%0Ait%20differs%20substantially%20in%20its%20representation%0D%0Aof%20data.%20%20Perl%20treats%20numeric%20data%2C%20strings%2C%0D%0Alists%2C%20and%20hashes%20as%20built-in%20types%2C%20while%0D%0ARuby%20implements%20everything%20as%20objects.%0D%0A%3Cbr%3E%0D%0AAnother%20interesting%20aspect%20of%20Ruby%20is%20its%0D%0Anotion%20of%20Modules.%20%20A%20class%20can%20implement%0D%0Aany%20number%20of%20modules%3B%20they%20are%20similar%20%0D%0Ato%20Java%20interfaces%20and%20to%20Flavors%20Lisp%20%0D%0Amix-ins.%20%20%0D%0A%3Cbr%3E%0D%0AThere%20are%20many%20extension%20libraries%20and%0D%0Atoolkits%20available%20for%20Ruby%2C%20including%0D%0Adatabase%2C%20network%2C%20GUI%2C%20IO%20libraries.%0D%0A%3Cbr%3E%0D%0AThe%20Ruby%20OOP%20language%20is%20at%20least%20the%203rd%0D%0Aprogramming%20language%20to%20bear%20that%20name.%0D%0AThe%20first%20was%20a%20teaching%20language%20Ruby%0D%0Afrom%20the%20late%201960s%2C%20it%20was%20based%20on%20%0D%0AMarkov%20processes.%20%20The%20second%20was%20a%0D%0Ahardware%20specification%20language%20based%20on%0D%0Ahigher-order%20functions%2C%20from%20the%20mid-1980s. links1=Main%20Ruby%20Download%20area%3Dhttp%3A%2F%2Fwww.ruby-lang.org%2Fen%2Fdownload.html links2=Some%20Ruby%20libraries%3Dhttp%3A%2F%2Fwww.ueda.info.waseda.ac.jp%2F%7Eigarashi%2Fruby%2Findex.html.en links3=Invitation%20to%20Ruby%3Dhttp%3A%2F%2Fwww.math.sci.hokudai.ac.jp%2F%7Egotoken%2Fruby%2F links4=The%20Ruby%20Garden%3Dhttp%3A%2F%2Fwww.rubygarden.com%2F links5=Ruby%20Central%3Dhttp%3A%2F%2Fwww.rubycentral.com%2F date=Last%20updated%2012%2F13%2F01 sample=A%20sample%20from%20the%20Ruby%20distribution%2C%20a%20simple%0D%0Asieve.%0D%0A%3Cp%3E%0D%0A%3Cpre%3E%0D%0A%23%20sieve%20of%20Eratosthenes%0D%0Amax%20%3D%20Integer%28ARGV.shift%20%7C%7C%20100%29%0D%0Asieve%20%3D%20%5B%5D%0D%0Afor%20i%20in%202%20..%20max%0D%0A%20%20sieve%5Bi%5D%20%3D%20i%0D%0Aend%0D%0A%0D%0Afor%20i%20in%202%20..%20Math.sqrt%28max%29%0D%0A%20%20next%20unless%20sieve%5Bi%5D%0D%0A%20%20%28i%2Ai%29.step%28max%2C%20i%29%20do%20%7Cj%7C%0D%0A%20%20%20%20sieve%5Bj%5D%20%3D%20nil%0D%0A%20%20end%0D%0Aend%0D%0Aputs%20sieve.compact.join%20%22%2C%20%22%0D%0A%3C%2Fpre%3E _store=1 _add=Ruby _usertab=1 _usersearch=0 _format=full =