name=Pascal nameURL=http%3A%2F%2Fwww.nerdworld.com%2Fnw95.html see= logo= type=S%20-%20block-structured desc=Pascal%20is%20a%20simple%20block-structured%20language%0D%0Aoriginally%20designed%20for%20computer%20science%0D%0Aeducation.%20%20Pascal%20features%20strong%20type%0D%0Achecking%2C%20simple%20I%2FO%20facilities%2C%20a%0D%0Agood%20set%20of%20primitive%20data%20types%2C%20%0D%0Aarrays%2C%20fixed%20and%20variant%20records%2C%20%0D%0Aconventional%20control%20structures%2C%20and%0D%0Asimple%20dynamic%20memory%20management.%0D%0A%3Cbr%3E%0D%0APascal%20requires%20discipline%20from%20the%0D%0Aprogrammer%3A%20all%20types%2C%20data%2C%20and%20subroutines%0D%0Ain%20a%20Pascal%20program%20must%20be%20declared%20prior%0D%0Ato%20use.%20%20Everything%20is%20lexically%20scoped%2C%20to%0D%0Aallow%20for%20maximum%20compile-time%20type%20%0D%0Achecking.%20%20The%20language%20has%20good%20support%0D%0Afor%20programmer-defined%20data%20types%20and%0D%0Asubtypes%2C%20which%20are%20also%20subject%20to%20strong%0D%0Achecking.%0D%0AStructure%20of%20a%20Pascal%20block%20is%20somewhat%0D%0Arigid%2C%20elements%20must%20appear%20in%20a%20certain%0D%0Aorder%20preceded%20by%20their%20identifying%20keyword%3A%0D%0Alabels%2C%20constants%2C%20types%2C%20variables%20and%20functions%2C%20then%0D%0Abody%20code.%0D%0A%3Cbr%3E%0D%0AThe%20original%20Pascal%20language%20borrowed%20some%0D%0Astructural%20ideas%20from%20Algol%2C%20but%20also%0D%0Aincluded%20novel%20syntactic%20and%0D%0Asemantic%20features%20intended%20to%20foster%0D%0Agood%20structured%20programming%20technique%20%28or%20at%20least%0D%0Awhat%20was%20considered%20sound%20structured%0D%0Adevelopment%20technique%20in%20the%201970s%29.%0D%0AThe%20choice%20of%20features%20and%20the%20limited%0D%0Aexternal%20interface%20facilities%20helped%20%0D%0Amake%20Pascal%20very%20portable.%0D%0AHowever%2C%20the%20initial%20design%20was%20very%20spare%2C%0D%0Ait%20didn%27t%0D%0Ainclude%20strings%2C%20only%20arrays%20of%20%0D%0Acharacters%2C%20and%20it%20had%20a%20very%20small%0D%0Acomplement%20of%20built-in%20utility%20functions.%0D%0AThese%20omissions%20led%20developers%20of%20Pascal%0D%0Alanguage%20implementations%20to%20add%20extensions%20to%0D%0Ahelp%20programmers%20accomplish%20real%20work%2C%0D%0Aand%20unfortunately%20every%20vendor%27s%20extensions%0D%0Awere%20more-or-less%20proprietary%20--%20the%20Pascal%0D%0Alanguage%20lost%20some%20of%20its%20portability.%0D%0AAmazingly%2C%20while%20it%20is%20very%20strict%20in%0D%0Amost%20ways%2C%20Pascal%20still%20supports%20a%20%27goto%27%0D%0Astatement.%0D%0A%3Cbr%3E%0D%0APascal%20does%20not%20support%20object-oriented%0D%0Aprogramming%2C%20persistence%2C%20or%20multi-tasking.%0D%0AA%201975%20variant%20of%20Pascal%20called%0D%0A%22Concurrent%20Pascal%22%20had%20good%20support%20for%0D%0Amulti-tasking%20and%20other%20advanced%20features.%0D%0A%3Cbr%3E%0D%0AOver%20the%201970s%20and%201980s%2C%0D%0APascal%20became%20fairly%20widely%20used%2C%20%0D%0Aespecially%20in%20the%20early%20days%20of%20the%20IBM%0D%0APC%20and%20the%20Macintosh.%20%20A%20great%20many%20students%20of%20computing%20in%0D%0Athe%2080s%20cut%20their%20teeth%20on%20Pascal%20programs.%0D%0A%3Cbr%3E%0D%0ABoth%20free%20and%20commercial%20Pascal%20compilers%0D%0Aexist.%20%20The%20most%20popular%20commercial%0D%0Acompiler%2C%20and%20a%20fine%20language%20%0D%0Aimplementation%2C%20is%20%22Turbo%20Pascal%22%20from%0D%0ABorland.%0D%0A%3Cbr%3E%0D%0APascal%20is%20normally%20compiled%2C%20either%20to%0D%0Amachine%20code%20or%20virtual%20machine%20bytecodes%0D%0Aof%20some%20sort.%20%20Source-level%20Pascal%20interpreters%20also%20exist%2C%0D%0Aand%20translators%20from%0D%0APascal%20to%20other%20languages.%0D%0AInformation%20on%20Pascal%2C%20including%0D%0Aprogramming%20tutorials%2C%20is%20widely%20available%0D%0Aon%20the%20WWW. origin=Niklaus%20Wirth%2C%201968-71 seealso=Algol%2C%20Modula-2%2C%20Ada%2C%20Oberon remark=Pascal%20proved%20to%20be%20a%20very%20influential%0D%0Alanguage.%20%20First%20described%20in%20a%20published%0D%0Areport%20in%201971%2C%20it%20affected%20almost%0D%0Aevery%20block-structured%20language%20designed%0D%0Asince%20%28e.g.%20Ada%29.%20%20Niklaus%20Wirth%20continued%0D%0Ato%20design%20programming%20languages%2C%20including%0D%0Athe%20Modula%20family.%0D%0A%3Cbr%3E%0D%0AOne%20of%20the%20most%20interesting%20aspects%20of%0D%0APascal%20is%20its%20relative%20poverty%20of%20%0D%0Afeatures.%20%20Compared%20to%20its%20rough%20contemporary%20%0D%0APL%2F1%2C%20Pascal%20is%20a%20%3Cb%3Etiny%3C%2Fb%3E%20language.%0D%0AThis%20contrast%20helped%20frame%20a%20debate%20that%0D%0Ahas%20raged%20in%20computer%20science%20circles%0D%0Aever%20since%3A%20should%20languages%20be%20kept%20%0D%0Asmall%20and%20simple%20%28with%20complex%20facilities%0D%0Aprovided%20by%20external%20libraries%29%2C%20or%20%0D%0Ashould%20they%20be%20made%20large%20and%20complex%20to%0D%0Aprovide%20all%20features%20that%20programmers%0D%0Arequire.%20%20Many%20later%20block-structured%20and%0D%0Aobject-oriented%20language%20designers%20would%0D%0Abe%20forced%20to%20choose%20one%20of%20these%20two%0D%0Acamps.%20%20Oberon%2C%20for%20example%2C%20is%20small%0D%0Aand%20spare%2C%20depending%20on%20libraries%20for%0D%0Aadvanced%20features.%20%20Perl%2C%20in%20contract%2C%0D%0Ais%20complex%20and%20loads%20many%20useful%20features%0D%0Ain%20the%20language%20itself.%20%20Recent%0D%0Alanguages%20like%0D%0AJava%20adopt%20a%20compromise%20position%3A%20keep%0D%0Athe%20language%20simple%2C%20but%20standardize%20the%0D%0Asupporting%20libraries%20to%20prevent%20%0D%0Aincompatible%20implementations.%0D%0A%3Cbr%3E%0D%0AIn%20most%20programming%20areas%2C%20Pascal%0D%0Ahas%20been%20superseded%20by%20newer%2C%20object-oriented%0D%0Alanguages%2C%20such%20C%20%20%2C%20Java%2C%20etc. links1=Turbo%20Pascal%20page%20at%20Borland%3Dhttp%3A%2F%2Fwww.borland.com%2Fpascal%2F links2=SWAG%20Pascal%20archives%3Dhttp%3A%2F%2Fwww.gdsoft.com%2Fswag%2F links3=Pascal%20example%20programs%3Dhttp%3A%2F%2Fwww.cs.stir.ac.uk%2F%7Ejsd%2Fgold_mine.html links4=Turbo%20Pascal%20FAQ%3Dhttp%3A%2F%2Fwww.midnightbeach.com%2Fjon%2Fpubs%2Fclp-faq.htm links5=P4%20free%20Pascal%20compiler%3Dhttp%3A%2F%2Fwww.cwi.nl%2F%7Esteven%2Fpascal.html date=Last%20updated%2012%2F7%2F97 sample=%3Cpre%3E%0D%0A%7B%20Sort%20program%20adapted%20from%20%22Intermediate%20Pascal%22%20%7D%0D%0A%7B%20by%20Joe%20Dorward.%20%20Illustrates%20arrays%20and%20types.%20%20%7D%0D%0Aprogram%20sort_array%28input%2Coutput%29%3B%0D%0Aconst%0D%0A%20%20max%20%3D%209%3B%0D%0Atype%0D%0A%20%20integer_array%20%3D%20array%5B1..max%5D%20of%20integer%3B%0D%0Avar%0D%0A%20%20I%2C%20%20J%2C%20%20K%2C%20%20swaps%2C%20%20temp%20%3A%20integer%3B%0D%0A%20%20test_array%20%3A%20integer_array%3B%0D%0Abegin%0D%0A%20%20test_array%5B1%5D%20%3A%3D%204%3B%20test_array%5B2%5D%20%3A%3D%207%3B%20%20test_array%5B3%5D%20%3A%3D%209%3B%0D%0A%20%20test_array%5B4%5D%20%3A%3D%203%3B%20test_array%5B5%5D%20%3A%3D%2015%3B%20test_array%5B6%5D%20%3A%3D%202%3B%0D%0A%20%20test_array%5B7%5D%20%3A%3D%2008%3B%20test_array%5B8%5D%20%3A%3D%2005%3B%20test_array%5B9%5D%20%3A%3D%2012%3B%0D%0A%0D%0A%20%20writeln%28%27%20%20%20%20%20%20%20%2A%2A%2A%20Initial%20%20Array%20%2A%2A%2A%27%29%3B%0D%0A%20%20writeln%28%27%20---%20---%20---%20---%20---%20---%20---%20---%20---%20%27%29%3B%0D%0A%20%20for%20I%20%3A%3D%201%20to%20%28max-1%29%20do%0D%0A%20%20%20%20write%28%27%7C%27%2Ctest_array%5BI%5D%3A2%2C%27%20%27%29%3B%0D%0A%0D%0A%20%20writeln%28%27%7C%27%2Ctest_array%5Bmax%5D%3A2%2C%27%20%7C%27%29%3B%0D%0A%0D%0A%20%20for%20I%20%3A%3D%201%20to%20max%20do%0D%0A%20%20%20%20for%20J%20%3A%3D%20%28I%201%29%20to%20max%20do%20%20%7B%20set%20J%20to%20start%20one%20ahead%20of%20I%20%7D%0D%0A%20%20%20%20%20%20if%20test_array%5BJ%5D%20%26lt%3B%20test_array%5BI%5D%20then%0D%0A%20%20%20%20%20%20%20%20begin%0D%0A%20%20%20%20%20%20%20%20%20%20swaps%20%3A%3D%20swaps%201%3B%0D%0A%20%20%20%20%20%20%20%20%20%20temp%20%3A%3D%20test_array%5BJ%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20test_array%5BJ%5D%20%3A%3D%20test_array%5BI%5D%3B%0D%0A%20%20%20%20%20%20%20%20%20%20test_array%5BI%5D%20%3A%3D%20temp%3B%0D%0A%20%20%20%20%20%20%20%20%20%20writeln%3B%0D%0A%20%20%20%20%20%20%20%20%20%20writeln%28%27%2A%20%2A%20Condition%20After%20%27%2Cswaps%3A1%2C%27%20swaps%20%2A%20%2A%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%20writeln%28%27%20---%20---%20---%20---%20---%20---%20---%20---%20---%20%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%20for%20K%20%3A%3D%201%20to%20%28max-1%29%20do%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20write%28%27%7C%27%2Ctest_array%5BK%5D%3A2%2C%27%20%27%29%3B%0D%0A%20%20%20%20%20%20%20%20%20%20write%28%27%7C%27%2Ctest_array%5Bmax%5D%3A2%2C%27%20%7C%27%29%3B%0D%0A%20%20%20%20%20%20%20%20end%3B%0D%0A%20%20writeln%28%27%20%2A%20Sorting%20Complete%20%2A%27%29%3B%20%20%20%20%20%20%0D%0Aend.%0D%0A%3C%2Fpre%3E _store=1 _add=Pascal _usertab=1 _usersearch=0 _format=full = name=PerfectScript nameURL= see=Basic logo= type=A%20-%20Application%2FMacro desc=PerfectScript%20was%20the%20macro%20extension%0D%0Alanguage%20for%20WordPerfect%2C%20QuattroPro%2C%0D%0Aand%20other%20office%20automation%20products.%0D%0AIt%20is%20a%20dialect%20of%20Basic%2C%20with%20some%0D%0Aadditional%20data%20structure%20types%20and%0D%0Asome%20C-like%20control%20structure%20syntax.%0D%0A origin=Novell%20Corporation%2C%201995%3F seealso=CorelScript%2C%20WordBasic%2C%20LotusScript remark=With%20the%20release%20of%20Corel%20WordPerfect%20Suite%208%0D%0Aone%20might%20have%0D%0Aexpected%20PerfectScript%20to%20be%0D%0Asuperseded%20by%20CorelScript%2C%20but%20it%20wasn%27t.%0D%0A links1=The%20PerfectScript%20Journal%3Dhttp%3A%2F%2Fwww.wpmacros.com%2Fpsjournal%2F links2=Corel%20PerfectScript%20Homepage%3Dhttp%3A%2F%2Fwww.corel.com%2Fproducts%2Fwordperfect%2Fperfectscript%2Findex.htm links3= links4= links5= date=Last%20updated%201%2F24%2F98 sample= _store=1 _add=PerfectScript _usertab=1 _usersearch=0 _format=full = name=Perl nameURL=http%3A%2F%2Fwww.perl.com%2F see= logo=90x90%3Dhttp%3A%2F%2Fwww.perl.com%2Fgraphics%2Fperl_id_313c.gif type=C%20-%20Command%20or%20Scripting desc=Perl%20is%20an%20interpreted%20scripting%20language%0D%0Awith%20extensive%20facilities%20for%20data%0D%0Amanipulation%20and%20rapid%20application%0D%0Adevelopment.%20%20Perl%20is%20basically%20%0D%0Ablock-structured%2C%20but%20also%20supports%0D%0Aobject-oriented%20programming.%0D%0A%22Perl%22%20stands%20for%20%22Practical%20Extraction%0D%0Aand%20Reporting%20Language%2C%22%20a%20reference%20to%0D%0Athe%20purpose%20for%20which%20the%20Perl%20%0D%0Ainterpreter%20was%20originally%20created%3A%0D%0Asystem%20administration%20and%20data%20reduction.%0D%0A%3Cbr%3E%0D%0APerl%20has%20gone%20through%20several%20major%20%0D%0Aevolutionary%20phases.%20%20The%20current%20%0D%0Alanguage%20version%20is%20Perl5%2C%20but%20some%0D%0Apockets%20of%20Perl4%20use%20still%20exist.%20%20Perl5%0D%0Ais%20backward-compatible%20with%204.%20%20In%20the%0D%0Afeature%20list%20below%2C%20features%20that%20are%20specific%0D%0Ato%20Perl5%20are%20marked%20with%20an%20asterisk.%0D%0A%3Cul%3E%0D%0A%3Cli%3E%20data%20types%3A%20strings%2C%20numbers%2C%20lists%2C%20associative%20arrays%2C%20references%2C%20globs%0D%0A%3Cli%3E%20data%20types%3A%20objects%20%2A%0D%0A%3Cli%3E%20conventional%20math%20and%20arithmetic%20functions%0D%0A%3Cli%3E%20subroutines%2C%20variable%20argument%20lists%0D%0A%3Cli%3E%20dynamic%20memory%20handling%20with%20garbage%20collection%0D%0A%3Cli%3E%20extensive%20file%20I%2FO%20facilities%0D%0A%3Cli%3E%20extensive%20system%20interface%20support%0D%0A%3Cli%3E%20regular%20expression%20pattern%20matching%20and%20substitution%0D%0A%3Cli%3E%20very%20extensive%20data%20output%20formatting%20capabilities%0D%0A%3Cli%3E%20various%20loops%20and%20conditional%20constructs%0D%0A%3Cli%3E%20object%20definition%20and%20inheritance%20%2A%0D%0A%3Cli%3E%20separable%20namespaces%20%28packages%29%20%2A%0D%0A%3Cli%3E%20lexical%20and%20dynamic%20scope%20local%20variables%20%2A%0D%0A%3Cli%3E%20on-the-fly%20code%20evaluation%20and%20error%20handling%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0AThe%20Perl%20language%20does%20not%20support%20the%0D%0Atraditional%20notion%20of%20records%20or%20structs.%0D%0AInstead%2C%20associative%20arrays%20%28hashes%29%0D%0Aare%20provided%20to%20serve%20all%20such%20purposes.%0D%0ASimilarly%2C%20Perl%20supports%20object-oriented%20programming%2C%0D%0Abut%20does%20not%20stipulate%20an%20object%20storage%20format.%0D%0A%3Cbr%3E%0D%0AIn%20Perl5%2C%20code%20is%20parsed%20and%20compiled%20into%20very%0D%0Ahigh-level%20bytecodes%20prior%20to%20interpreted%0D%0Aexecution.%20%20This%20approach%2C%20and%20extensive%0D%0Aoptimization%20of%20the%20Perl%20interpreter%20and%0D%0Arun-time%20engine%2C%20allow%20Perl%20scripts%20to%0D%0Aachieve%20very%20high%20performance.%0D%0A%3Cbr%3E%0D%0APerl%20currently%20does%20not%20support%20multi-threading%2C%20%0D%0Aalthough%20efforts%20are%20underway%20to%20add%20this%20%0D%0Aimportant%20feature.%0D%0A%3Cbr%3E%0D%0APerl%20is%20very%20popular%20in%20the%20UNIX%20%0D%0Acommunity%2C%20and%20gaining%20acceptance%20in%20the%0D%0AMicrosoft%20Windows%20developer%20community.%0D%0AThere%20is%20only%20one%20Perl%20language%20system%3B%0D%0Awritten%20in%20C%20to%20be%20very%20portable%2C%20it%20runs%0D%0Aon%20all%20UNIX%20platforms%2C%2032-bit%20Windows%2C%20VMS%2C%0D%0Aand%20many%20other%20systems.%20%20Perl%20is%20free.%0D%0ABooks%2C%20tutorials%2C%20and%20on-line%20resources%0D%0Afor%20Perl%20are%20widely%20available%2C%20and%20generally%0D%0Aof%20good%20quality.%20%20%20Add-on%20modules%20and%0D%0Apre-built%20scripts%20for%20Perl%20are%20also%0D%0Awidely%20available%2C%20with%20more%20being%20written%0D%0Aall%20the%20time.%20%20Add-ons%20for%20Perl%20are%0D%0Aso%20numerous%20and%20in%20such%20wide%20demand%20that%0D%0Aan%20organized%20replicated%20archive%20system%0D%0Afor%20them%20exists%3A%20the%20Comprehensive%20Perl%0D%0AArchive%20Network%20%28CPAN%29.%20%20%0D%0A%3Cbr%3E%0D%0AThere%20is%20no%20international%20standard%20for%0D%0APerl%20syntax.%20%20The%20language%20definition%0D%0Ais%20informally%20set%20forth%20in%20%3Ci%3EProgramming%0D%0APerl%2C%202nd%20Edition%3C%2FI%3E%2C%20by%20Wall%2C%20Christiansen%2C%20and%0D%0ASchwartz.%0D%0A origin=Larry%20Wall%2C%201986 seealso=Awk%2C%20SNOBOL%2C%20Basic%2C%20Icon%2C%20csh%2C%20Tcl%2C%20Python remark=According%20to%20Larry%20Wall%2C%20%22Perl%20is%20a%0D%0Alanguage%20for%20getting%20your%20job%20done.%22%20%20This%0D%0Ahighly%20pragmatic%20statement%20is%20reflected%20in%0D%0Athe%20design%20of%20Perl%20in%20many%20ways.%20%20Perl%0D%0Ais%20typically%20applied%20to%20such%20jobs%20as%0D%0Adata%20reformatting%2C%20text%20extraction%2C%0D%0Acreation%20of%20simple%20network%20servers%2C%20%0D%0Adatabase%20access%2C%20system%20configuration%2C%0D%0Asoftware%20testing%2C%20and%20much%20more.%0D%0A%3Cbr%3E%0D%0APerl%20has%20gained%20a%20great%20deal%20of%20popularity%0D%0Arecently%20because%20it%20is%20the%20easiest%20and%0D%0Amost%20effective%20language%20in%20which%20to%20write%0D%0Aback-end%20WWW%20programs%20called%20CGI%20scripts.%0D%0APerl%20excels%20at%20this%20because%20it%20has%20good%0D%0Astring%20manipulation%2C%20file%20I%2FO%2C%20control%0D%0Astructure%2C%20and%20database%20interfacing.%20%20%28The%0D%0Aback-end%20for%20this%20programming%20language%0D%0Adictionary%20is%20written%20in%20about%201100%20lines%0D%0Aof%20Perl%2C%20including%20lots%20of%20comments.%29%0D%0A%3Cbr%3E%0D%0AThe%20informal%20symbol%20for%20Perl%20is%20the%20camel.%0D%0ALike%20a%20camel%2C%20Perl%20is%20not%20always%20beautiful%2C%0D%0Abut%20it%20gets%20the%20job%20done.%0D%0A%3Cbr%3E%0D%0APerl%20is%20fairly%20good%20at%20interfacing%20to%0D%0Aother%20languages%2C%20albeit%20not%20as%20good%20as%0D%0Atcl.%20%20The%20Perl%20interpreter%20can%20be%20embedded%0D%0Ain%20C%20or%20C%20%20%20programs%2C%20and%20it%20can%20be%0D%0Amade%20to%20call%20C%20or%20C%20%20%20routines.%20%20Efforts%0D%0Ato%20interface%20Perl%20with%20Java%20are%20also%20%0D%0Aunderway%20%28circa%20late%201997%29.%20%20%0D%0A%3Cbr%3E%0D%0APerl%20has%20no%20native%20GUI%20toolkit%2C%20but%20%0D%0Aa%20version%0D%0Aof%20the%20Tk%20toolkit%20has%20been%20intergrated%0D%0Awith%20Perl. links1=CPAN%20%28Colorado%29%3Dftp%3A%2F%2Fftp.cs.colorado.edu%2Fpub%2Fperl%2FCPAN%2FCPAN.html links2=Perl%20FAQs%3Dhttp%3A%2F%2Forwant.www.media.mit.edu%2Ftpj%2Ffaqs%2F links3=Perl%20for%20Win32%3Dhttp%3A%2F%2Fwww.activestate.com%2F links4=Introduction%20to%20Perl%3Dhttp%3A%2F%2Fwww.cclabs.missouri.edu%2Fthings%2Finstruction%2Fperl%2Fperlcourse.html links5= date=Last%20updated%2012%2F16%2F97 sample=%3Cpre%3E%0D%0A%23%21%2Fusr%2Fbin%2Fperl%0D%0A%23%20Simple%20program%20to%20extract%20column%203%20from%20a%20file%0D%0A%23%20and%20total%20up%20the%20numbers.%0D%0A%24total%20%3D%200%3B%0D%0A%0D%0Asub%20sumcolumn%20%7B%0D%0A%20%20%20%20my%20%24col%20%3D%20shift%3B%0D%0A%20%20%20%20my%20%24lin%20%3D%20shift%3B%0D%0A%20%20%20%20my%20%40fields%3B%0D%0A%20%20%20%20if%20%28%24lin%29%20%7B%0D%0A%09%40fields%20%3D%20split%28%2F%3A%2F%2C%24lin%29%3B%0D%0A%09%24total%20%20%3D%20%24fields%5B2%5D%3B%0D%0A%20%20%20%20%7D%0D%0A%7D%0D%0A%0D%0A%0D%0Awhile%20%28%26lt%3B%26gt%3B%29%20%7B%0D%0A%20%20%20%20%20sumcolumn%283%2C%24_%29%3B%0D%0A%7D%0D%0Aprint%20%22Total%20of%20column%203%20is%20%24total%5Cn%22%3B%0D%0A%3C%2Fpre%3E _store=1 _add=Perl _usertab=1 _usersearch=0 _format=full = name=PHP nameURL=http%3A%2F%2Fwww.php.net%2F see= logo=130x67%3Dhttp%3A%2F%2Fwww.php.net%2Fgifs%2Flogo.gif type=C%20-%20Command%20or%20Scripting desc=PHP%20is%20an%20interpreted%0D%0Aserver-side%20scripting%20language%20for%0D%0Aweb%20servers.%20%20It%20was%20designed%20to%20support%0D%0Asimple%2C%20fast%20server-side%20extension%20for%20web%0D%0Adevelopment.%20%20The%20syntax%20of%20PHP%20is%20fairly%0D%0Asimple%2C%20and%20very%20similar%20to%20that%20of%20Perl%2C%20%0D%0Awith%20some%20aspects%20of%20Bourne%20shell%2C%20%0D%0AJavascript%2C%20and%20C%20%20.%0D%0A%3Cbr%3E%0D%0AVariables%20in%20PHP%20are%20weakly%20types%2C%20the%0D%0Alanguage%20does%20not%20support%20strong%20typing.%0D%0APHP%20supports%20the%20a%20modest%20complement%20of%0D%0Aprimitive%20data%20types%3A%20integers%2C%20floats%2C%0D%0Aand%20strings.%20%20It%20also%20supports%20heterogenous%0D%0Amulti-dimensional%20associative%20arrays%2C%20with%0D%0Avery%20convenient%20syntax.%20%20PHP%20offers%20some%0D%0Aobject-oriented%20functionality%2C%20allowing%20the%0D%0Aprogrammer%20to%20define%20classes%20with%0D%0Amember%20variables%20and%20methods%2C%20and%20to%20use%0D%0Asimple%20inheritance.%20%20The%20language%20includes%0D%0Aan%20extensive%20set%20of%20operators%20and%0D%0Abuilt-in%20functions%20for%20manipulating%0D%0Astrings%2C%20numbers%2C%20and%20arrays.%0D%0A%3Cbr%3E%0D%0AControl%20structures%20supported%20in%20PHP%20%0D%0Ainclude%20simple%20conditionals%2C%20plus%20several%0D%0Akinds%20of%20bounded%20and%20unbounded%20loops.%0D%0APHP%20does%20not%20support%20any%20kind%20of%0D%0Amodule%20or%20library%20structure%2C%20but%20it%0D%0Adoes%20permit%20simple%20file%20inclusion%20%0D%0A%28similar%20to%20C%27s%20%23include%20directive%29.%0D%0A%3Cbr%3E%0D%0AIn%20addition%20to%20its%20basic%20web%20functionality%2C%0D%0APHP%20is%20supported%20by%20extensive%20libraries%0D%0Athat%20provide%20database%20interfaces%20and%0D%0Ainteraction%20with%20many%20common%20web%20data%0D%0Aformats.%0D%0A%3Cbr%3E%0D%0AThere%20is%20only%20one%20implementation%20of%20series%0D%0Aof%20PHP%20implementations%2C%20as%20of%20late%201999%20the%0D%0Acurrent%20version%20was%203.0%2C%20with%204.0%20in%20beta.%20%0D%0APHP%20is%20free%2C%20distributed%20as%20source%20code%2C%0D%0Aand%20runs%20on%0D%0AUnix%2C%20Linux%2C%20and%20Windows. origin=R.%20Lerdorf%2C%201995. seealso=Javascript%2C%20Mawl%2C%20VBScript%2C%20Perl remark=Designed%20for%20web%20usage%2C%20PHP%20code%20is%0D%0Anormally%20embedded%20in%20HTML%20%28or%20XML%29%0D%0Adocuments.%20%20There%20are%20several%20embedding%0D%0Amethods%2C%20but%20all%20of%20them%20share%20the%20%0D%0Asame%20fundamental%20code%20structure.%20%20Single%0D%0Astatements%20cannot%20span%20separate%0D%0Aembeddings.%20%20Statements%20are%20normally%20%0D%0Aseparated%20with%20a%20semicolon%2C%20but%20the%20end%0D%0Aof%20an%20embedding%20also%20implies%20the%20end%20of%0D%0Aa%20statements.%0D%0ALike%20most%20web%20scripting%20languages%2C%0D%0APHP%20supports%20control%20structures%20that%20span%0D%0Aembedding%20blocks%3B%20this%20allows%20the%20web%0D%0Apage%20designer%20to%20apply%20code%20conditionals%0D%0Aand%20loops%20to%20parts%20of%20the%20page%20content.%0D%0A%3Cbr%3E%0D%0APHP%20supports%20the%20comment%20syntax%20of%20C%2C%20C%20%20%2C%0D%0Aand%20Unix%20Shell.%0D%0A%3Cbr%3E%0D%0ADocumentation%20about%20PHP%20is%20easy%20to%0D%0Aobtain%20on%20the%20WWW.%0D%0A%3Cbr%3E%0D%0AThe%20next%20version%20of%20PHP%20is%20being%20written%0D%0Awith%20an%20embeddable%20scripting%20engine%20called%0D%0AZend. links1=PHP%20Documentation%3Dhttp%3A%2F%2Fwww.php.net%2Fdocs.php3 links2=Resources%20for%20PHP%20programmers%3Dhttp%3A%2F%2Fwww.phpbuilder.com%2F links3= links4= links5= date=Last%20updated%2011%2F13%2F99 sample=An%20example%20of%20printing%20the%20contents%20of%0D%0Aa%20mySQL%20database%20table%2C%20by%20Yahav%20Boaz.%0D%0A%3Cp%3E%0D%0A%3Cfont%20size%3D%22-1%22%3E%3Cpre%3E%0D%0A%26lt%3B%3F%20%0D%0A%20mysql_connect%28%22localhost%22%2C%22%22%2C%22%22%29%20or%20die%28%22Unable%20to%20connect%20to%20SQL%20server%22%29%3B%20%0D%0A%20%40mysql_select_db%28%22php3%22%29%20or%20die%28%22Unable%20to%20select%20database%22%29%3B%20%0D%0A%20%24result%20%3D%20mysql_query%28%22select%20%2A%20from%20customerTable%20limit%20100%22%29%3B%20%0D%0A%20%3F%26gt%3B%20%0D%0A%20%26lt%3Btable%20border%3D%221%22%26gt%3B%20%0D%0A%20%26lt%3Btr%26gt%3B%20%0D%0A%20%26lt%3B%3F%20%0D%0A%20while%20%28%24field%3Dmysql_fetch_field%28%24result%29%29%20%7B%20%0D%0A%20%20%20%20%20echo%20%22%26lt%3Bth%26gt%3B%22%3B%20%0D%0A%20%20%20%20%20echo%20%22%24field-%26gt%3Bname%22%3B%20%0D%0A%20%20%20%20%20echo%20%22%26lt%3B%2Fth%26gt%3B%22%3B%20%0D%0A%20%7D%20%0D%0A%20echo%20%22%26lt%3B%2Ftr%26gt%3B%22%3B%0D%0A%20while%20%28%24row%20%3D%20mysql_fetch_row%28%24result%29%29%20%7B%20%0D%0A%20%20%20%20%20echo%20%22%26lt%3Btr%26gt%3B%22%3B%20%0D%0A%20%20%20%20%20for%20%28%24i%3D0%3B%20%24i%26lt%3Bmysql_num_fields%28%24result%29%3B%20%24i%20%20%29%20%7B%20%0D%0A%20%20%20%20%20%20%20%20%20echo%20%22%26lt%3Btd%26gt%3B%22%3B%20%0D%0A%20%20%20%20%20%20%20%20%20echo%20%22%24row%5B%24i%5D%22%3B%20%0D%0A%20%20%20%20%20%20%20%20%20echo%20%22%26lt%3B%2Ftd%26gt%3B%22%3B%20%0D%0A%20%20%20%20%20%7D%20%0D%0A%20%20%20%20%20echo%20%22%26lt%3B%2Ftr%26gt%3B%5Cn%22%3B%20%0D%0A%20%7D%20%0D%0A%20echo%20%22%26lt%3B%2Ftable%26gt%3B%22%3B%20%0D%0A%3C%2Fpre%3E%3C%2Ffont%3E _store=1 _add=PHP _usertab=1 _usersearch=0 _format=full = name=Pict nameURL=http%3A%2F%2Fwww.cs.indiana.edu%2Fpub%2Fpierce%2Fpict%2FHtml%2FPict.html see= logo=89x72%3Dhttp%3A%2F%2Fwww.cs.indiana.edu%2Fpub%2Fpierce%2Fpict%2FHtml%2Fpict-logo.gif type=P%20-%20Parallel%20or%20Dataflow desc=Pict%20is%20a%20research%20programming%20language%0D%0Adesigned%20as%20a%20practical%20implementation%20%0D%0Aof%20the%20pi-calculus%20%28a%20parallel%20computation%0D%0Aformalism%29.%20%20While%20based%20on%20a%20very%20%0D%0Aadvanced%20formal%20model%2C%20Pict%20also%20provides%0D%0Aa%20small%20but%20usable%20complement%20of%20data%20types%0D%0Aand%20constructs.%0D%0A%3Cbr%3E%0D%0AThe%20core%20elements%20of%20the%20Pict%20language%20are%20%0D%0Aa%20simple%20but%20general%0D%0Astatic%20type%20system%20and%20%20%0D%0Aconcurrent%20processes%20that%0D%0Acommunicate%20using%20channels.%0D%0AThe%20pi-calculus%20defines%20the%0D%0Asemantics%20of%20the%20processes%20and%0D%0Achannels.%0D%0APict%20supports%20a%20small%0D%0Aset%20of%20primitive%20data%20types%3A%0D%0Ainteger%2C%20character%2C%20boolean%2C%0D%0Astring%2C%20and%20channel.%20%20It%20does%20not%20have%0D%0Aenumerated%20or%20real%20number%20primitive%20types.%0D%0AThe%20aggregate%20data%20type%20in%20Pict%20is%20the%0D%0Atuple%2C%20which%20can%20have%20named%20or%20unnamed%0D%0Afields.%20%20%0D%0A%3Cbr%3E%0D%0APict%20supports%20only%20three%20sequential%20%0D%0Aprogramming%20constructs%3A%20sequential%0D%0Acomposition%2C%20conditional%20%28if-then-else%29%2C%20%0D%0Aand%20associative%20application%20%28application%0D%0Aof%20a%20function%20over%20several%20values%29.%0D%0AOddly%20enough%2C%20Pict%20does%20not%20have%20any%0D%0Asequential%20looping%20constructs%2C%20although%0D%0Aother%20forms%20like%20recursion%20and%20process%0D%0Acomposition%20can%20do%20the%20same%20thing.%0D%0A%3Cbr%3E%0D%0AThe%20core%20Pict%20language%20is%20extended%20by%20%0D%0Aseveral%20%27derived%20forms%27%20and%20library%0D%0Afunctions%20that%20add%20no%0D%0Aformal%20expressive%20power%20but%20make%20%0D%0Aprogramming%20much%20easier%20%28relatively%2C%20anyway%29.%0D%0AFor%20example%2C%20%0D%0Alocal%20value%20declarations%20and%0D%0Aassociative%20application%20are%20derived%0D%0Aforms.%0D%0ASome%20of%20the%20library%20forms%0D%0Ainclude%20bounded%20loops%2C%20array%20handling%2C%0D%0Aevents%20and%20exceptions%2C%20and%20several%0D%0Aother%20additional%20data%20types.%0D%0AThe%20Pict%20libraries%20also%20include%0D%0Ainterfaces%20to%20useful%20features%3A%0D%0A%3Cul%3E%0D%0A%3Cli%3Emost%20of%20the%20Posix-standard%0D%0Aoperating%20system%20facilities%0D%0A%3Cli%3Eimage%20handling%0D%0A%3Cli%3EX11%20windows%20and%20graphics%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0AFor%20composing%20larger%20programs%2C%20Pict%0D%0Ahas%20a%20simple%20import%20module%20import%0D%0Afacility. origin=B.C.%20Pierce%2C%20D.N.%20Turner%2C%201993 seealso=ML%2C%20CSP%2C%20Lucid remark=Development%20of%20Pict%20seems%20to%20have%20stopped%0D%0Ain%201998.%20%20The%20most%20recent%20version%2C%204.1%2C%20is%0D%0Astill%20available%20from%20U.%20of%20Indiana.%20%20The%0D%0APict%20compiler%20is%20written%20in%20Objective-CAML%0D%0A%28an%20OO%20variant%20of%20ML%29.%20%20Pict%20runs%20on%20%0D%0AUnix%20systems%2C%20and%20requires%20the%20GNU%20C%0D%0Acompiler%20and%20GNU%20Make.%0D%0A%3Cbr%3E%0D%0AThe%20pi-calculus%20formalism%20was%20defined%0D%0Aby%20%20%0D%0AMilner%2C%20Parrow%2C%20and%20Walker%20in%201992.%0D%0APict%20is%20a%20concrete%0D%0Ainstantiation%20of%20the%20pi-calculus%0D%0Ain%20the%20way%20that%20pure%20Lisp%20is%20an%0D%0Ainstantiation%20of%20the%20lambda-calculus.%0D%0A links1=Pict%20Information%20Page%3Dhttp%3A%2F%2Fwww.cis.upenn.edu%2F%7Ebcpierce%2Fpapers%2Fpict%2FHtml%2FPict.html links2=Pict%204.1%20download%20directory%3Dhttp%3A%2F%2Fwww.cs.indiana.edu%2Fftp%2Fpierce%2Fpict%2Fpict-4.1%2F links3= links4= links5= date=Last%20updated%209%2F11%2F99 sample=%3Cp%3E%0D%0AThe%20example%20below%20implements%20the%20Sieve%0D%0Aof%20Erastosthenes%20%28from%20the%20examples%20shipped%0D%0Awith%20Pict%204.1%29.%0D%0A%3Cpre%3E%0D%0Anow%20%28reset%20checks%29%0D%0A%0D%0Adef%20interval%20%28min%3AInt%20max%3AInt%29%3A%28List%20Int%29%20%3D%0D%0A%20%20if%20%28%3E%3E%20min%20max%29%20then%20nil%20else%20%28cons%20min%20%28interval%20%28inc%20min%29%20max%29%29%0D%0A%0D%0Adef%20sieve%20%28max%3AInt%29%3A%28List%20Int%29%20%3D%20%28%0D%0A%20%20def%20again%20%28l%3A%28List%20Int%29%29%3A%28List%20Int%29%20%3D%0D%0A%20%20%20%20if%20%28null%20l%29%20then%0D%0A%20%20%20%20%20%20nil%0D%0A%20%20%20%20else%0D%0A%20%20%20%20%20%20%28val%20n%20%3D%20%28car%20l%29%0D%0A%20%20%20%20%20%20%20if%20%28%3E%3E%20%28%2A%20n%20n%29%20max%29%20then%20l%0D%0A%20%20%20%20%20%20%20else%20%28cons%20n%20%28again%20%28list.filter%20%23Int%20l%20%5C%28x%29%20%3D%20%28%3C%3E%20%28mod%20x%20n%29%200%29%29%29%29%29%0D%0A%20%20%28again%20%28interval%202%20max%29%29%0D%0A%29%0D%0A%0D%0Adef%20prPrime%20%28idx%3AInt%20x%3AInt%29%3A%5B%5D%20%3D%0D%0A%20%20if%20%28%3D%3D%20%28mod%20idx%2010%29%209%29%20then%20%28%28int.pr%20x%29%3B%20%28nl%29%29%0D%0A%20%20else%20%28%28int.pr%20x%29%3B%20%28pr%20%22%20%22%29%29%0D%0A%0D%0A%28list.itApply%20%28sieve%204000%29%20prPrime%29%3B%0D%0A%3C%2Fpre%3E _store=1 _add=Pict _usertab=1 _usersearch=0 _format=full = name=Pike nameURL=http%3A%2F%2Fpike.idonex.se%2F see=C%20%20 logo=351x47%3Dhttp%3A%2F%2Fpike.idonex.se%2Fimg%2Fheader_non_home.gif type=O%20-%20Object-oriented desc=Pike%20is%20an%20interpreted%20dialect%20of%20C%20with%0D%0Aobject-oriented%20programming%20features%20and%0D%0Adynamic%20memory%20management.%0D%0AIt%20is%20intended%20for%20general%20programming%2C%0D%0Aespecially%20for%20networking%20applications.%0D%0A%3Cbr%3E%0D%0AThe%20data%20model%20of%20Pike%20is%20similar%20to%20that%20of%0D%0AC%20%20%2C%20with%20the%20addition%20of%20a%20primitive%0D%0Astring%20type%20and%20a%20%27mixed%27%20type%0D%0Athat%20can%20hold%20any%20normal%20date%20value.%20%20%0D%0AControl%0D%0Astructures%20in%20the%20language%20include%20C-like%0D%0Aconditionals%20and%20loops%2C%20as%20well%20as%20a%20%0D%0APerl-like%20array%20iteration%20loop.%0D%0AArrays%20in%20Pike%20are%20dynamic%2C%20and%20the%20language%0D%0Aalso%20supports%20generalized%20associative%0D%0Aarrays%20called%20maps.%0D%0AObject%20classes%20in%20Pike%20support%0D%0Amethods%20with%20run-time%20resolution%2C%20%0D%0Amultiple%20inheritance%2C%20and%20method%0D%0Areferences.%0D%0A%3Cbr%3E%0D%0APike%20has%20extensive%20additional%0D%0Afacilities%2C%20including%20thread%20support%2C%0D%0Aa%20variety%20of%20I%2FO%20libraries%2C%20network%0D%0Asocket%20support%2C%20simple%20image%20processing%2C%0D%0Aand%20regular%20expression%20pattern%20matching.%0D%0AThe%20current%20version%20of%20Pike%2C%200.6b%2C%20has%0D%0Ano%20GUI%20or%20window%20system%20capabilities.%0D%0A%3Cbr%3E%0D%0APike%20is%20available%20at%20no%20charge%20from%20its%0D%0Adevelopers%2C%20Idonex%20of%20Sweden.%20%20There%20is%0D%0Aonly%20one%20implementation%2C%20and%20it%20runs%0D%0Aon%20Win32%20systems%20as%20well%20as%20most%20Unix%0D%0Aincarnations. origin=Fredrik%20H%FCbinette%2C%20InformationsV%E4varna%2C%201996. seealso=C%2C%20Python%2C%20Scheme%2C%20Perl%2C%20Visual%20Basic remark=While%20Pike%20is%20comparable%20to%20Perl%20or%20Python%0D%0Ain%20its%20feature%20set%20and%20ease%20of%20programming%2C%0D%0Ait%27s%20similarity%20to%20C%20may%20make%20it%20easier%20for%0D%0Asome%20users%20%28or%20more%20confusing%2C%20depending..%29%0D%0A%3Cbr%3E%0D%0APike%20has%20been%20used%20to%20write%20many%20web%20utilities%0D%0Aand%20CGIs%2C%20as%20well%20as%20a%20web%20server.%20%20These%0D%0Auses%20have%20helped%20to%20drive%20development%20of%0D%0Aits%20extensive%20I%2FO%0D%0Aand%20networking%20libraries.%0D%0A%3Cbr%3E%0D%0APike%20evolved%20from%20an%20interpreted%0D%0AC%20dialect%20called%20%0D%0ALPC%2C%20which%20was%20used%20for%20writing%0D%0Amulti-player%20dungeons.%20%20%0D%0A links1=Pike%20language%20manual%3Dhttp%3A%2F%2Fpike.idonex.se%2Fmanual%2F links2= links3= links4= links5= date=Last%20updated%209%2F12%2F98 sample=%3Cpre%3E%3Cfont%20size%3D%22-1%22%3E%0D%0A%2F%2F%20This%20program%20implements%20a%20fifo%20that%20can%20be%20used%20to%20send%0D%0A%2F%2F%20data%20between%20two%20threads.%20%20%28From%20the%20Pike%200.6%20manual%2C%20sec%2010%29%0D%0Ainherit%20Thread.Condition%20%3A%20r_cond%3B%0D%0Ainherit%20Thread.Condition%3A%20w_cond%3B%0D%0Ainherit%20Thread.Mutex%3A%20lock%3B%0D%0A%0D%0Amixed%20%2Abuffer%20%3D%20allocate%28128%29%3B%0D%0Aint%20r_ptr%2C%20w_ptr%3B%0D%0A%0D%0Aint%20query_messages%28%29%20%7B%20return%20w_ptr%20-%20r_ptr%3B%20%7D%0D%0A%0D%0A%2F%2F%20This%20function%20reads%20one%20mixed%20value%20from%20the%20fifo.%0D%0A%2F%2F%20If%20no%20values%20are%20available%20it%20blocks%20until%20a%20write%20has%20been%20done.%0D%0Amixed%20read%28%29%20%7B%0D%0A%20%20%20%20mixed%20tmp%3B%0D%0A%20%20%20%20%20%20%20%20%20%20%20%20%0D%0A%20%20%20%20object%20key%3Dlock%3A%3Alock%28%29%3B%0D%0A%20%20%20%20while%28%21query_messages%28%29%29%20r_cond%3A%3Await%28key%29%3B%0D%0A%20%20%20%20tmp%3Dbuffer%5Br_ptr%20%20%20%25%20sizeof%28buffer%29%5D%3B%0D%0A%20%20%20%20w_cond%3A%3Asignal%28%29%3B%0D%0A%20%20%20%20return%20tmp%3B%0D%0A%7D%0D%0A%0D%0A%2F%2F%20This%20function%20pushes%20one%20mixed%20value%20on%20the%20fifo.%0D%0A%2F%2F%20If%20the%20fifo%20is%20full%20it%20blocks%20until%20a%20value%20has%20been%20read.%0D%0Avoid%20write%28mixed%20v%29%20%7B%0D%0A%20%20%20%20object%20key%3Dlock%3A%3Alock%28%29%3B%0D%0A%20%20%20%20while%28query_messages%28%29%20%3D%3D%20sizeof%28buffer%29%29%20w_cond%3A%3Await%28key%29%3B%0D%0A%20%20%20%20buffer%5Bw_ptr%20%20%20%25%20sizeof%28buffer%29%5D%3Dv%3B%0D%0A%20%20%20%20r_cond%3A%3Asignal%28%29%3B%0D%0A%7D%0D%0A%3C%2Ffont%3E%0D%0A%3C%2Fpre%3E _store=1 _add=Pike _usertab=1 _usersearch=0 _format=full = name=Pilot nameURL= see= logo= type=C%20-%20Command%20or%20Scripting desc=Pilot%20is%20a%20simple%20imperative%20language%0D%0Adesigned%20for%20building%20textual%20computer-aided%0D%0Ainstruction%20systems.%0D%0A%3Cbr%3E%0D%0AThe%20syntax%20of%20Pilot%20appears%20primitive%20by%0D%0A1980s%20standards.%20%20It%20is%20highly%20field-oriented%2C%0D%0Aeach%20line%20is%20either%20a%20command%20or%20a%20label%2C%0D%0Aand%20all%20commands%20have%20the%20same%20structure.%0D%0AA%20command%20consists%20of%20a%20keyword%2C%20an%0D%0Aoptional%20condition%2C%20and%20text.%20%20The%20core%0D%0Akeywords%20are%3A%0D%0A%3Cul%3E%0D%0A%3Cli%3ETYPE%20-%20output%20some%20text%0D%0A%3Cli%3EACCEPT%20-%20read%20an%20input%20string%0D%0A%3Cli%3EMATCH%20-%20compare%20input%20to%20a%20pattern%0D%0A%3Cli%3EJUMP%20-%20goto%20another%20part%20of%20the%20program%0D%0A%3Cli%3EUSE%20-%20call%20another%20part%20of%20the%20program%20as%20a%20subroutine%0D%0A%3Cli%3ECOMPUTE%20-%20assign%20a%20value%20to%20a%20string%20variable%0D%0A%3Cli%3EEND%20-%20return%20from%20a%20USE%0D%0A%3Cli%3EYES%20-%20output%20some%20text%20if%20an%20answer%20was%20yes.%0D%0A%3Cli%3ENO%20-%20output%20some%20text%20if%20an%20answer%20was%20no%0D%0A%3Cli%3E%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0APilot%20supports%20two%20data%20types%3A%20strings%20and%0D%0Anumbers.%20%20All%20variables%20are%20dynamically%0D%0Ascoped.%0D%0A%3Cbr%3E%0D%0APilot%20totally%20lacks%20sound%20control%20structures%2C%0D%0Adata%20abstraction%2C%20file%20I%2FO%2C%20and%20error%20handling.%0D%0A%3Cbr%3E%0D%0AAn%20implementation%20of%20Pilot%20is%20available%0D%0Afrom%20the%20Retrocomputing%20Museum.%20%20No%0D%0Adocumentation%20about%20the%20language%20seems%0D%0Ato%20be%20available.%0D%0A origin=IBM%2C%201962. seealso=cT%2C%20Lingo%2C%20Hypertalk%2C%20INTERCAL%2C%20BASIC remark=Remarkably%2C%20Pilot%20was%20used%20for%20about%2030%20%0D%0Ayears.%20%20Despite%20its%20painfully%20primitive%0D%0Asyntax%20and%20lack%20of%20graphical%0D%0Afacilities%2C%20it%20had%20enough%20users%20in%201990%0D%0Ato%20consider%20standardizing%20it%20%0D%0A%28IEEE%20Std.%201154-1991%29.%0D%0A%3Cbr%3E%0D%0ASome%20implementations%20of%20Pilot%20also%0D%0Afeatured%20facilities%20for%20running%20programs%0D%0Ain%20the%20host%20operating%20system.%0D%0A links1=Pilot%20distribution%20from%20the%20Retrocomputing%20Museum%3Dhttp%3A%2F%2Fearthspace.net%2Fretro%2Fpilot-1.7.tar.gz links2= links3= links4= links5= date=Last%20updated%203%2F8%2F98 sample=%3Cpre%3E%0D%0AR%20%3A%20An%20example%20for%20converting%20a%20number%20to%20english%0D%0A%2ALOOP%0D%0AT%09%3AENTER%20A%20NUMBER%2C%20OR%20ZERO%20TO%20QUIT.%0D%0AC%09%3A%24NUM%3D%0D%0AA%09%3A%23Z%0D%0AE%28Z%3D0%29%09%3A%0D%0AU%09%3A%2AWRITNUM%0D%0AT%09%3A%24NUM%0D%0A%09%3A%0D%0AJ%09%3A%2ALOOP%0D%0A%0D%0A%2AWRITNUM%0D%0AU%28Z%3C10%29%09%3A%2AUNITS%0D%0AE%28Z%3C10%29%09%3A%0D%0AJ%28Z%3E999%29%3A%2ATHOU%0D%0AJ%28Z%3E99%29%09%3A%2AHUND%0D%0AJ%28Z%3E19%29%09%3A%2ATWENTY%0D%0AC%28Z%3D10%29%09%3A%24NUM%3D%24NUM%20TEN%0D%0AC%28Z%3D11%29%09%3A%24NUM%3D%24NUM%20ELEVEN%0D%0AC%28Z%3D12%29%09%3A%24NUM%3D%24NUM%20TWELVE%0D%0AC%28Z%3D13%29%09%3A%24NUM%3D%24NUM%20THIRTEEN%0D%0AC%28Z%3D14%29%09%3A%24NUM%3D%24NUM%20FOURTEEN%0D%0AC%28Z%3D15%29%09%3A%24NUM%3D%24NUM%20FIFTEEN%0D%0AC%28Z%3D16%29%09%3A%24NUM%3D%24NUM%20SIXTEEN%0D%0AC%28Z%3D17%29%09%3A%24NUM%3D%24NUM%20SEVENTEEN%0D%0AC%28Z%3D18%29%09%3A%24NUM%3D%24NUM%20EIGHTEEN%0D%0AC%28Z%3D19%29%09%3A%24NUM%3D%24NUM%20NINETEEN%0D%0AE%3A%0D%0A%0D%0A%2AUNITS%0D%0AC%28Z%3D1%29%09%3A%24NUM%3D%24NUM%20ONE%0D%0AC%28Z%3D2%29%09%3A%24NUM%3D%24NUM%20TWO%0D%0AC%28Z%3D3%29%09%3A%24NUM%3D%24NUM%20THREE%0D%0AC%28Z%3D4%29%09%3A%24NUM%3D%24NUM%20FOUR%0D%0AC%28Z%3D5%29%09%3A%24NUM%3D%24NUM%20FIVE%0D%0AC%28Z%3D6%29%09%3A%24NUM%3D%24NUM%20SIX%0D%0AC%28Z%3D7%29%09%3A%24NUM%3D%24NUM%20SEVEN%0D%0AC%28Z%3D8%29%09%3A%24NUM%3D%24NUM%20EIGHT%0D%0AC%28Z%3D9%29%09%3A%24NUM%3D%24NUM%20NINE%0D%0AE%3A%0D%0A%0D%0A%2ATWENTY%0D%0AC%3AY%3DZ%2510%0D%0AC%3AZ%3DZ-Y%0D%0AC%28Z%3D20%29%09%3A%24NUM%3D%24NUM%20TWENTY%0D%0AC%28Z%3D30%29%09%3A%24NUM%3D%24NUM%20THIRTY%0D%0AC%28Z%3D40%29%09%3A%24NUM%3D%24NUM%20FORTY%0D%0AC%28Z%3D50%29%09%3A%24NUM%3D%24NUM%20FIFTY%0D%0AC%28Z%3D60%29%09%3A%24NUM%3D%24NUM%20SIXTY%0D%0AC%28Z%3D70%29%09%3A%24NUM%3D%24NUM%20SEVENTY%0D%0AC%28Z%3D80%29%09%3A%24NUM%3D%24NUM%20EIGHTY%0D%0AC%28Z%3D90%29%09%3A%24NUM%3D%24NUM%20NINETY%0D%0AC%3AZ%3DY%0D%0AE%28Z%3D0%29%09%3A%0D%0AJ%3A%2AWRITNUM%0D%0A%0D%0A%2AHUND%0D%0AC%09%3AY%3DZ%25100%0D%0AC%09%3AZ%3D%28Z-Y%29%2F100%0D%0AU%09%3A%2AUNITS%0D%0AC%09%3A%24NUM%3D%24NUM%20HUNDRED%0D%0AC%09%3AZ%3DY%0D%0AE%28Z%3D0%29%09%3A%0D%0AJ%09%3A%2AWRITNUM%0D%0A%0D%0A%2ATHOU%0D%0AC%09%3AX%3DZ%251000%0D%0AC%09%3AZ%3D%28Z-X%29%2F1000%0D%0AU%09%3A%2AWRITNUM%0D%0AC%09%3A%24NUM%3D%24NUM%20THOUSAND%0D%0AC%09%3AZ%3DX%0D%0AE%28Z%3D0%29%09%3A%0D%0AJ%09%3A%2AHUND%0D%0A%3C%2Fpre%3E _store=1 _add=Pilot _usertab=1 _usersearch=0 _format=full = name=PL%2FC nameURL= see=PL%2FI logo= type=S%20-%20block-structured desc=PL%2FC%20was%20a%20subset%20of%20PL%2FI%20developed%20at%0D%0ACornell%20University.%20%20Because%20the%0D%0Afull%20IBM%20PL%2FI%20compiler%20was%20rather%20large%0D%0Aand%20slow%20to%20be%20employed%20for%20student%0D%0Aprogramming%20programming%20projects%2C%20PL%2FC%0D%0Awas%20developed%20and%20used%20at%20many%20universities.%0D%0A origin= seealso= remark=For%20a%20code%20sample%2C%20check%20the%20PL%2FI%20entry. links1= links2= links3= links4= links5= date=Last%20updated%2012%2F4%2F97 sample= _store=1 _add=PL%2FC _usertab=1 _usersearch=0 _format=full = name=PL%2FI nameURL= see= logo= type=S%20-%20block-structured desc=PL%2FI%20%28Programming%20Language%201%29%0D%0Ais%20a%20large%2C%20complex%20block-structured%0D%0Alanguage%20invented%20by%20IBM%2C%20and%20first%20%0D%0Areleased%20in%201964%20in%20conjunction%20with%20the%0D%0Ainfluential%20System%2F360%20line%20of%20computers.%0D%0APL%2F1%20was%20intended%20to%20be%20THE%20all-around%0D%0Alanguage%20for%20mainframe%20system%20and%20%0D%0Aapplication%20development%2C%20and%20therefore%0D%0Ait%20had%20a%20very%20large%20feature%20set.%20%20PL%2F1%0D%0Awas%20widely%20used%20by%20the%20IBM%20community%2C%20%0D%0Aand%20by%0D%0Athe%20early%201980s%2C%20PL%2F1%20included%20the%20following%0D%0Alanguage%20facilities%3A%0D%0A%3Cul%3E%0D%0A%3Cli%3Efunctions%20and%20procedures%0D%0A%3Cli%3Ehuge%20complement%20of%20numeric%20data%20types%0D%0A%3Cli%3Earray%20and%20record%20data%20types%0D%0A%3Cli%3Efull%20set%20of%20control%20structures%2C%20including%20recursion%0D%0A%3Cli%3Echarater%20strings%20and%20string%20manipulation%0D%0A%3Cli%3ECOBOL-style%20%27picture%27%20formats%0D%0A%3Cli%3Estream%2C%20record%2C%20and%20formatted%20I%2FO%20facilities%0D%0A%3Cli%3Ebit%20strings%0D%0A%3Cli%3Egenerics%0D%0A%3Cli%3Einterruptions%20%28a%20form%20of%20error%20handling%29%0D%0A%3Cli%3Edynamic%20storage%20management%0D%0A%3Cli%3Emulti-tasking%20and%20asynchronous%20events%0D%0A%3C%2Ful%3E%0D%0A%3Cbr%3E%0D%0AIBM%20spent%20a%20lot%20of%20effort%20developing%0D%0Aan%20optimizing%20compiler%20for%20PL%2F1%2C%20and%0D%0Aa%20lot%20of%20seminal%20research%20on%20high-level%0D%0Alanguage%20optimization%20was%20done%20in%20the%0D%0Alate%201960s%20and%20early%201970s%20on%20the%20PL%2F1%0D%0Aoptimizing%20compiler.%0D%0A%3Cbr%3E%0D%0AToday%2C%20commercial%0D%0APL%2FI%20compilers%20are%20available%20for%0D%0AIBM%20mainframes%2C%20PCs%20running%20WindowsNT%0D%0Aand%20OS%2F2%2C%20and%20some%20UNIX%20workstations.%0D%0ANo%20free%20PL%2FI%20compilers%20are%20currently%0D%0Aavailable%20%28although%20there%20was%20a%20subset%0D%0Acompiler%20named%20PL%2FC%20that%20was%20free%20at%20%0D%0Aone%20time%29.%20%20%0D%0A origin=George%20Radin%2C%20IBM%2C%201964. seealso=Fortran%2C%20Algol%2C%20COBOL remark=PL%2FI%20was%20an%20attempt%20to%20compile%20the%20best%0D%0Afeatures%20of%20Algol%20%28program%20structure%2C%20%0D%0Asemantics%29%2C%20FORTRAN%20%28calculations%29%2C%0D%0Aand%20COBOL%20%28data%20structuring%2C%20I%2FO%29%20into%0D%0Aone%20new%2C%20all-purpose%20language.%20%20The%0D%0Aresult%20was%20a%20very%20complex%20language%2C%20but%0D%0Aone%20that%20did%20serve%20most%20programming%0D%0Apurposes%20quite%20well.%20%20However%2C%20the%0D%0Acomplexity%20of%20the%20language%20and%20the%0D%0Aresulting%20complexity%20of%20the%20compilers%0D%0Aand%20their%20diagnostics%20made%20writing%0D%0Aand%20debugging%20PL%2FI%20code%20burdensome%20for%0D%0Amany%20users.%0D%0A%3Cbr%3E%0D%0APL%2FI%20was%20invented%20in%20the%20age%20of%20punch%0D%0Acards%2C%20but%20the%20language%20syntax%20is%20%0D%0Aonly%20slightly%20tarnished%20with%20column-specific%0D%0Aformatting%20rules.%20%20Newer%20versions%20of%0D%0APL%2FI%20have%20entirely%20shed%20their%20punched-card%0D%0Alegacy.%0D%0A%3Cbr%3E%0D%0AThere%20is%20a%20great%20deal%20of%20legacy%20PL%2FI%0D%0Acode%20in%20the%20IBM%20mainframe%20community%2C%20and%0D%0Askilled%20PL%2FI%20programmers%20are%20in%20demand%0D%0Aas%20the%20year%202000%20deadline%20approaches.%0D%0A links1=Why%20use%20PL%2F1%3F%3Dhttp%3A%2F%2Fwww.cs.rmit.edu.au%2F%7Erav%2Fpli.html links2=IBM%20PL%2F1%20Family%3Dhttp%3A%2F%2Fwww.software.ibm.com%2Fad%2Fpli%2F links3= links4= links5= date=Last%20updated%2012%2F4%2F97 sample=%3Cpre%3E%0D%0AFINDSTRINGS%3A%20PROCEDURE%20OPTIONS%28MAIN%29%0D%0A%20%20%2F%2A%20READ%20A%20STRING%2C%20THEN%20PRINT%20EVERY%20%2A%2F%0D%0A%20%20%2F%2A%20SUBSEQUENT%20LINE%20WITH%20A%20MATCH%20%2A%2F%0D%0A%0D%0A%20%20DECLARE%20PAT%20VARYING%20CHARACTER%28100%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20LINEBUF%20VARYING%20CHARACTER%28100%29%2C%0D%0A%20%20%20%20%20%20%20%20%20%20%28LINENO%2C%20NDFILE%2C%20IX%29%20FIXED%20BINARY%3B%0D%0A%0D%0A%20%20NDFILE%20%3D%200%3B%20ON%20ENDFILE%28SYSIN%29%20NDFILE%3D1%3B%0D%0A%20%20GET%20EDIT%28PAT%29%20%28A%29%3B%0D%0A%20%20LINENO%20%3D%201%3B%0D%0A%20%20DO%20WHILE%20%28NDFILE%3D0%29%3B%0D%0A%20%20%20%20GET%20EDIT%28LINEBUF%29%20%28A%29%3B%0D%0A%20%20%20%20IF%20LENGTH%28LINEBUF%29%20%26gt%3B%200%20THEN%20DO%3B%0D%0A%20%20%20%20%20%20IX%20%3D%20INDEX%28LINEBUF%2C%20PAT%29%3B%0D%0A%20%20%20%20%20%20IF%20IX%20%26gt%3B%200%20THEN%20DO%3B%0D%0A%20%20%20%20%20%20%20%20PUT%20SKIP%20EDIT%20%28LINENO%2CLINEBUF%29%28F%282%29%2CA%29%0D%0A%20%20%20%20%20%20END%3B%0D%0A%20%20%20%20END%3B%0D%0A%20%20%20%20LINENO%20%3D%20LINENO%20%20%201%3B%0D%0A%20%20END%3B%0D%0A%20%20END%20FINDSTRINGS%3B%0D%0A%3C%2Fpre%3E _store=1 _add=PL%2F1 _usertab=1 _usersearch=0 _format=full = name=Postscript nameURL=http%3A%2F%2Fwww.adobe.com%2Fprodindex%2Fpostscript%2FGIFS%2Fps3logo.gif see= logo=120x68%3Dhttp%3A%2F%2Fwww.adobe.com%2Fprodindex%2Fpostscript%2FGIFS%2Fps3logo.gif type=T%20-%20Threaded%20or%20stack-based desc=PostScript%20is%20a%20threaded%20interpreted%0D%0Alanguage%20with%20stack-based%20semantics.%0D%0AWhile%20usable%20for%20general-purpose%0D%0Acomputation%2C%20PostScript%20was%20specially%0D%0Adesigned%20to%20drive%20graphic%20devices%2C%0D%0Ainitially%20printers%2C%20and%20has%20a%20large%20set%0D%0Aof%20operators%20for%20rendering%20onto%20a%20page.%0D%0AIn%20terms%20of%20syntax%20and%20semantics%2C%20%0D%0APostScript%20resembles%0D%0AForth%3A%20operators%20use%20data%20from%20a%20stack%2C%0D%0Aand%20place%20their%20results%20back%20on%20the%20stack.%0D%0APostScript%20data%20types%20include%20floating-point%0D%0Anumbers%2C%20strings%2C%20fonts%2C%20files%2C%20vectors%2C%20%0D%0Aand%20symbols.%20%20%0D%0ADefined%20procedures%20are%20simply%20code%0D%0Asequences%20stored%20in%20dictionaries.%0D%0A%3Cbr%3E%0D%0AThe%20essence%20of%20PostScript%20is%20its%20model%0D%0Aof%20execution.%20%20In%20a%20threaded%20interpreted%0D%0Alanguage%2C%20a%20program%20simply%20consists%20of%0D%0Aa%20series%20of%20tokens.%20%20The%20interpreter%0D%0Aprocesses%20each%20token%20in%20turn%2C%20with%0D%0Ano%20look-ahead%20or%20complex%20parsing%20needed.%0D%0ASupporting%20this%20style%20requires%20storage%0D%0Afor%20intermediate%20results%2C%20PostScript%0D%0Auses%20several%20stacks%3A%20a%20code%20stack%2C%20a%0D%0Adata%20stack%2C%20and%20a%20dictionary%20stack.%20%20%28There%0D%0Ais%20also%20a%20special%20stack%20just%20for%20graphical%0D%0Acontexts%2C%20as%20needed%20for%20the%20rendering%20model%2C%0D%0Amaking%20a%20total%20of%20four%20stacks.%29%0D%0AThreaded%20interpreted%20languages%20can%20be%0D%0Adifficult%20to%20use%2C%20but%20they%20offer%20the%0D%0Aadvantage%20that%20interpreters%20for%20them%20can%0D%0Abe%20very%20compact%20and%20fast.%20%20As%20PostScript%0D%0Awas%20originally%20designed%20to%20execute%20inside%0D%0Aa%20printer%20or%20similar%20device%20with%20very%20%0D%0Alittle%20memory%2C%20compactness%20was%20an%20important%0D%0Adesign%20criterion.%0D%0A%3Cbr%3E%0D%0ASeveral%20implementations%20of%0D%0APostScript%20exist%2C%20but%20the%20two%20main%0D%0Aones%20are%20the%20commercial%20implementations%0D%0Afrom%20Adobe%20Systems%2C%20and%20the%20free%0D%0A%3Ci%3EGhostscript%3C%2FI%3E%20implementation%20from%0D%0AAladdin%20Enterprises.%20%0D%0A%3Cbr%3E%0D%0AThe%20current%20version%20of%20PostScript%20language%0D%0Ais%20Level%203.%20%20PostScript%20level%202%20is%20also%0D%0Astill%20very%20widely%20used%20in%20printers%20and%0D%0Aother%20devices.%20%20Implementations%20of%0D%0APostScript%20for%20GUI%20systems%20use%20a%0D%0Alanguage%20dialect%20called%0D%0A%22Display%20PostScript%2C%22%20that%20includes%0D%0Aspecial%20operators%20and%20slightly%20different%0D%0Asemantics%20to%20accomodate%20user%20interaction. origin=John%20Warnock%20%3Ci%3Eet%20al%3C%2Fi%3E%2C%20Adobe%20Systems%2C%201982. seealso=Forth%2C%20Logo remark=PostScript%20is%20a%20simple%20language%2C%20in%0D%0Aterms%20of%20syntax%20and%20structure.%20%20The%0D%0Acomplexity%2C%20when%20learning%20it%2C%20comes%0D%0Afrom%20the%20richness%20of%20its%20graphics%20model%0D%0Aand%20the%20large%20set%20of%20built-in%20operators.%0D%0A%3Cbr%3E%0D%0AAdobe%20Systems%2C%20the%20company%20that%20owns%0D%0APostScript%2C%20publishes%20a%20fine%20set%20of%20books%0D%0Aon%20learning%20the%20language.%20%20These%20first%0D%0Aeditions%20of%20these%20books%2C%20published%20around%0D%0A1985%2C%20were%20originally%0D%0Ablue%20for%20the%20tutorial%2C%20red%20for%20the%20reference%2C%0D%0Aand%20green%20for%20the%20cookbook.%20%20The%20current%0D%0Aedition%20of%20the%20PostScript%20reference%20manual%0D%0Ais%20no%20longer%20red%2C%20but%20it%20is%20still%20sometimes%0D%0Areferred%20to%20as%20%22the%20red%20book.%22%0D%0A%3Cbr%3E%0D%0AThe%20first%20mass-market%20printer%20to%20support%0D%0APostScript%20was%20the%20Apple%20LaserWriter.%20%20%0D%0ABy%201993%2C%20%0D%0Amost%20high-end%20laser%20printers%20and%20many%0D%0Atypesetters%20supported%20the%20language.%0D%0A%3Cbr%3E%0D%0AAn%20interesting%20thing%20about%20PostScript%20is%20%0D%0Athat%20most%20programmers%20who%20learn%20it%20don%27t%0D%0Ado%20so%20because%20they%20want%20to%20write%20PostScript%0D%0Aprograms%2C%20they%20do%20it%20because%20they%20want%20to%0D%0Awrite%20programs%20to%20generate%20PostScript%20code%0D%0Ato%20draw%20graphics.%0D%0A%3Cbr%3E%0D%0APostScript%20is%20a%20descendant%20of%20an%20older%0D%0Agraphics%20language%2C%20also%20co-invented%20by%0D%0AJohn%20Warnock%2C%20called%20JaM. links1=Ghostscript%20and%20related%20free%20utilities%3Dhttp%3A%2F%2Fwww.cs.wisc.edu%2F%7Eghost%2F links2=First%20Guide%20to%20Postscript%3Dhttp%3A%2F%2Fwww.cs.indiana.edu%2Fdocproject%2Fprogramming%2Fpostscript%2Fpostscript.html links3=Postscript%20Speed%20Test%3Dhttp%3A%2F%2Fwww.achilles.net%2F%7Ejsg%2Fppst%2F links4= links5= date=Last%20updated%2012%2F16%2F97 sample=%3Cpre%3E%0D%0A%25%21PS-Adobe-2.0%0D%0A%25%20Draw%20a%20string%20at%20an%20angle%20at%20a%20point%0D%0A%2Fprintat%20%7B%20%20%20%20%25%20str%20x%20y%20angle%20%3D%3E%20-%0D%0A%09gsave%0D%0A%094%201%20roll%20translate%0D%0A%20%20%20%20%20%20%20%20exch%20rotate%200%200%20moveto%20show%0D%0A%09grestore%0D%0A%7D%20def%0D%0A%0D%0A%25%20find%20the%20center%20of%20the%20page%0D%0A%2Fpagecenter%20%7B%20%20%25%20-%20%3D%3E%20cx%20cy%0D%0A%20%20%20%20%20%20%20%20clippath%20pathbbox%204%201%20roll%20exch%20sub%202.%20div%0D%0A%20%20%20%20%20%20%20%203%201%20roll%20sub%202.%20div%0D%0A%7D%20def%0D%0A%0D%0A%25%20set%20up%20font%20and%20constants%0D%0A%2FTimes-Bold%20findfont%2036%20scalefont%20setfont%0D%0Apagecenter%20%2Fcy%20exch%20def%20%2Fcx%20exch%20def%0D%0A%2Fsteps%209%20def%0D%0A%2Fbasegray%200.75%20def%0D%0A%2Fincrgray%20basegray%20steps%20div%20def%0D%0A%2Fbaseangle%20360%20steps%20div%20def%0D%0A%2Fincrangle%20360%20steps%20div%20def%0D%0A%0D%0A%25%20draw%20a%20string%20as%20a%20rosette%0D%0Asteps%20%7B%20%0D%0Abasegray%20setgray%0D%0A%28PostScript%29%20cx%20cy%20baseangle%20printat%0D%0A%2Fbasegray%20basegray%20incrgray%20sub%20def%0D%0A%2Fbaseangle%20baseangle%20incrangle%20add%20def%0D%0A%7D%20repeat%0D%0A%0D%0A%25%20done%20with%20this%20page%0D%0Ashowpage%0D%0A%3C%2Fpre%3E _store=1 _add=Postscript _usertab=1 _usersearch=0 _format=full = name=Prolog nameURL=http%3A%2F%2Fwww.demon.co.uk%2Far%2FProlog%2F see= logo=http%3A%2F%2Fwww.demon.co.uk%2Far%2FProlog%2FprologImages%2Fprolog2i.GIF type=L%20-%20Rule-based%20or%20logical desc=PROLOG%20is%20a%20language%20for%20PROgramming%20in%0D%0ALOGic.%20%20Prolog%20was%20a%20progenitor%20of%20the%0D%0Astudy%20of%20%27logic%20programming%2C%27%20a%20computer%0D%0Ascience%20area%20concerned%20with%20languages%0D%0Aand%20systems%20for%20logical%20inference%2C%0D%0Aproof%20techniques%2C%20and%20very%20high-level%0D%0Aprogramming%20systems.%0D%0A%3Cbr%3E%0D%0AA%20Prolog%20program%20consists%20of%20a%20set%0D%0Aof%20facts%2C%20and%20a%20set%20of%20rules%20that%0D%0Aspecify%20how%20to%20satisfy%20goals%20related%0D%0Ato%20those%20facts.%20%20Prolog%20supports%20a%0D%0Asmall%20but%20rich%20variety%20of%20data%20%0D%0Atypes%3A%20numbers%2C%20strings%2C%20symbols%2C%20lists%2C%0D%0Aand%20composite%20objects%20%28analogous%20to%20records%29.%0D%0AYou%20never%20really%20execute%20a%20Prolog%20program%0D%0Adirectly%2C%20in%20the%20sense%20that%20you%20might%20run%0D%0Aa%20C%20%20%20program%3B%20instead%2C%20you%20ask%20the%0D%0AProlog%20system%20questions.%20%20By%20attempting%0D%0Ato%20answer%20the%20questions%2C%20the%20Prolog%20system%0D%0Aexamines%20facts%2C%20invokes%20rules%2C%20and%20%0D%0Amay%20manipulate%20data%20or%20perform%20computations.%0D%0AThe%20programmer%20does%20not%20directly%20control%0D%0Athe%20execution%20sequence%20of%20the%20Prolog%20system%0D%0Aas%20it%20seeks%20to%20satisfy%20a%20goal%2C%20although%20he%0D%0Acan%20exert%20some%20influence.%20%20%0D%0AIn%20this%20sense%2C%20Prolog%20must%20be%20considered%0D%0Aa%20declarative%20language%20and%20not%0D%0Aa%20procedural%20one.%0D%0A%3Cbr%3E%0D%0AProlog%20was%20among%20the%20first%20computer%20programming%0D%0Asystems%20to%20employ%0D%0Athe%20logical%20formalism%20of%20unification.%0D%0AIt%20also%20utilizes%20recursive%20goal%20seeking%20with%0D%0Abacktracking%2C%20a%20common%20AI%20technique.%0D%0AUnfortunately%2C%20unification%20and%20backtracking%0D%0Acan%20be%20computationally%20expensive%2C%20and%20early%20Prolog%20implementations%0D%0Awere%20very%20slow.%20%20Newer%20implementation%20%0D%0Atechniques%2C%20as%20well%20as%20language%20features%0D%0Athat%20let%20the%20programmer%20guide%20the%20search%0D%0Ato%20some%20extent%2C%20have%20given%20modern%20Prolog%20much%0D%0Abetter%20performance.%0D%0A%3Cbr%3E%0D%0AProlog%20is%20usually%20interpreted.%0D%0AFree%20and%20commercial%20implementations%20of%0D%0AProlog%20are%20available%2C%20for%20all%20major%0D%0Aplatforms%20and%20many%20specialized%20ones.%0D%0AProlog%20is%20also%20undergoing%20ISO%2FEIC%0D%0Astandardization%2C%20the%20draft%20standard%0D%0Ais%20available%20for%20downloading%0D%0A%3Ca%20href%3D%22ftp%3A%2F%2Fai.uga.edu%2Fpub%2Fprolog.standard%2F%22%3Ehere%3C%2Fa%3E.%0D%0A%0D%0A origin=D.H.%20Warren%201977%2C%20R.%20Kowalski%201979%2C%3Cbr%3EClocksin%20and%20Mellish%201980-84 seealso=Elf%2C%20Mercury remark=A%20Prolog%20program%20can%20accomplish%0D%0Aamazing%20things%20with%20a%20very%20short%20amount%0D%0Aof%20code.%20%20The%20logic%20paradigm%20is%20a%20very%0D%0Apowerful%20one%20for%20certain%20problem%20domains%2C%0D%0Abut%20unsuitable%20for%20some%20others.%0D%0A%3Cbr%3E%0D%0AProlog%20gained%20recognition%20and%20popularity%0D%0Awith%20the%0D%0Apublishing%20of%20%3Ci%3EProgramming%20in%20Prolog%3C%2Fi%3E%0D%0Aby%20Clocksin%20and%20Mellish.%0D%0A%3Cbr%3E%0D%0AProlog%20and%20logic%20programming%20in%20general%0D%0Ahave%20been%20proposed%20as%20the%20basis%20for%205th%0D%0Ageneration%20computing%3A%20a%20vision%20of%0D%0Amassively%20parallel%20computers%20providing%0D%0Atrue%20AI.%20%20A%20great%20deal%20of%20research%20into%0D%0Aparallel%20resolution%20and%20logic%20databases%0D%0Awas%20performed%20in%20the%20US%2C%20Europe%2C%20and%0D%0Aespecially%20in%20Japan%20under%20their%20huge%0D%0A5th%20Generation%20project.%20%20Logic%20programming%0D%0Aresearch%20continues%2C%20but%20grandiose%20visions%0D%0Aof%20logic%20as%20a%20panacae%20were%20given%20up%20in%0D%0Athe%20mid-1990s.%0D%0A%3Cbr%3E%0D%0AA%20wide%20variety%20of%20research%0D%0Aand%20pragmatic%20extensions%20to%20Prolog%0D%0Ahave%20been%20created%3A%20GUI%20kits%2C%0D%0Adatabase%20access%20mechanisms%2C%20image%0D%0Aprocessing%20kits%2C%20calling%20interfaces%0D%0Ato%20C%20and%20Lisp%2C%20object-oriented%20programming%0D%0Amethods%2C%20and%20expert-system%20shells.%0D%0A links1=Logic%20Programming%20WWW%20Resources%3Dhttp%3A%2F%2Fwww.comlab.ox.ac.uk%2Farchive%2Flogic-prog.html%23Prolog links2=IC%20Prolog%20II%20Reference%20Manual%3Dhttp%3A%2F%2Flaotzu.doc.ic.ac.uk%2FLocalInfo%2Fprolog_toc.html links3=CMU%20Prolog%20Archive%3Dhttp%3A%2F%2Fwww.cs.cmu.edu%2Fafs%2Fcs.cmu.edu%2Fproject%2Fai-repository%2Fai%2Flang%2Fprolog%2F0.html links4=Prolog%20FAQs%3Dhttp%3A%2F%2Fwww.cis.ohio-state.edu%2Fhypertext%2Ffaq%2Fbngusenet%2Fcomp%2Flang%2Fprolog%2Ftop.html links5= date=Last%20updated%2012%2F7%2F97 sample=%3Cpre%3E%0D%0A%25%20Quicksort%20in%20Prolog%2C%20by%20Keesey%20adapted%20from%20Bratko%0D%0Agtq%28X%2CY%29%20%3A-%20X%20%40%3E%20Y.%20%20%20%0D%0A%0D%0Aquicksort%28%20%5B%5D%2C%5B%5D%20%29.%0D%0A%0D%0Aquicksort%28%20%5BX%20%7C%20Tail%5D%2C%20Sorted%29%20%3A-%0D%0A%20%20%20%20%20%20%20%20split%28%20X%2C%20Tail%2C%20Small%2C%20Big%29%2C%0D%0A%20%20%20%20%20%20%20%20quicksort%28%20Small%2C%20SortedSmall%29%2C%0D%0A%20%20%20%20%20%20%20%20quicksort%28%20Big%2C%20SortedBig%29%2C%0D%0A%20%20%20%20%20%20%20%20conc%28%20SortedSmall%2C%20%5BX%20%7C%20SortedBig%5D%2C%20Sorted%29.%0D%0A%0D%0Asplit%28%20_%2C%20%5B%5D%2C%20%5B%5D%2C%20%5B%5D%29.%0D%0A%0D%0Asplit%28%20X%2C%5BY%20%7C%20Tail%5D%2C%20%5BY%20%7C%20Small%5D%2C%20Big%29%20%3A-%0D%0A%20%20%20%20%20%20%20%20gtq%28%20X%2C%20Y%29%2C%21%2C%0D%0A%20%20%20%20%20%20%20%20split%28%20X%2C%20Tail%2C%20Small%2C%20Big%29.%0D%0A%0D%0Asplit%28%20X%2C%20%5BY%20%7C%20Tail%5D%2C%20Small%2C%20%5BY%20%7C%20Big%5D%20%29%20%3A-%0D%0A%20%20%20%20%20%20%20%20split%28%20X%2C%20Tail%2C%20Small%2C%20Big%29.%0D%0A%0D%0Aconc%28%5B%5D%2CL%2CL%29.%0D%0A%0D%0Aconc%28%20%5BX%20%7C%20L1%5D%2C%20L2%2C%20%5BX%20%7C%20L3%5D%29%20%3A-%0D%0A%20%20%20%20%20%20%20%20conc%28%20L1%2C%20L2%2C%20L3%29.%0D%0A%3C%2Fpre%3E _store=1 _add=Prolog _usertab=1 _usersearch=0 _format=full = name=Python nameURL=http%3A%2F%2Fwww.python.org%2F see= logo= type=O%20-%20Object-oriented desc=Python%20is%20an%20interpreted%2C%20object-oriented%0D%0Alanguage.%20%20It%20is%20intended%20to%20be%20highly%0D%0Aeffective%2C%20easy%20to%20use%2C%20and%20extensible.%0D%0A%3Cbr%3E%0D%0AThe%20syntax%20of%20Python%20is%20very%20simple%20and%0D%0Astatement-oriented.%20%20Block%20structure%20is%0D%0Aspecified%20with%20indentation.%20%20Python%0D%0Asupports%20a%20good%20set%20of%20primitive%20and%0D%0Acomposite%20data%20types%3A%20integers%2C%20floats%2C%0D%0Acomplex%20numbers%2C%0D%0Astrings%2C%20lists%2C%20and%20associative%20arrays%0D%0A%28dictionaries%29.%0D%0AData%20values%0D%0Aare%20typed%2C%20but%20strong%0D%0Atype%20checking%20is%20not%20enforced.%0D%0ALike%20most%20scripting%20interpreters%2C%20Python%20does%20have%0D%0Athe%20ability%20to%20execute%20a%20string%0D%0Aas%20code.%0D%0APython%20supports%20a%20conventional%20set%20of%0D%0Aflow-control%20constructs%3A%20if-then%2C%20while%20and%20%0D%0Afor%20loops.%20%20Python%20also%20has%20%0D%0Aexceptional-handling%0D%0Aconstructs%20similar%20to%20those%20in%20Modula-3.%0D%0A%3Cbr%3E%0D%0APython%20supports%0D%0Asubroutines%2C%20independent%20modules%2C%20%0D%0Aand%20object%20classes%20with%20%0D%0AObject-oriented%20programming%20features%20%0D%0Aare%20an%20important%20part%20of%20Python%2C%20used%0D%0Afor%20the%20standard%20library%20and%20for%20user%0D%0Aextensibility.%20%20%20Classes%20can%20use%0D%0Asingle%20and%20multiple%20inheritance.%0D%0A%3Cbr%3E%0D%0APython%20is%20supported%20by%20a%20feature-rich%20%0D%0Astandard%20library%3B%20it%20includes%20extensive%0D%0Astring%20manipulation%2C%20I%2FO%2C%20parsing%2C%0D%0Adate%20handling%2C%20low-level%20networking%20services%2C%20%0D%0Ahigh-level%20protocol%20and%20data%20format%0D%0Ahandling%2C%20image%20I%2FO%2C%20and%20a%20variety%20of%0D%0Aoperating%20system-specific%20services.%0D%0A%3Cbr%3E%0D%0APython%20is%20normally%20interpreted%2C%20but%20the%20Python%0D%0Ainterpreter%20can%20compile%20%20scripts%20and%20modules%20into%0D%0Aportable%20binary%20form%20and%20execute%20this%20form%20%0D%0Ainstead.%20%20Several%20Unix-specific%20and%0D%0Aportable%20graphics%20and%20GUI%0D%0Alibraries%20also%20exist.%0D%0A%3Cbr%3E%0D%0ANewer%20versions%20of%20Python%20support%20some%0D%0Afunctional%20programming%20features%2C%20%0D%0Aincluding%20lambda%20forms.%0D%0A%3Cbr%3E%0D%0AThere%20was%20originally%0D%0Aonly%20one%20Python%20implementation%2C%20an%20interpreter%0D%0Awhich%20ran%20on%20a%20wide%20variety%20of%20Unix%20platforms%0D%0Aas%20well%20as%20Windows%20and%20Macintosh.%0D%0ALater%2C%20an%20implementation%20was%20created%20that%0D%0Acompiled%20Python%20to%20Java%20bytecodes%20%0D%0A%28jPython%29%20and%20there%20is%20also%20one%20that%0D%0Atargets%20the%20Microsoft%20C%23%20environment.%0D%0ADocumentation%20and%20tutorials%20for%0D%0APython%20are%20readily%0D%0Aavailable%20on%20the%20web.%0D%0A origin=G.%20van%20Rossum%2C%201991. seealso=Perl%2C%20Java%2C%20Tcl%2C%20ABC%2C%20C%23 remark=Python%20was%20originally%20conceived%20to%20be%20an%0D%0Aextensible%20scripting%20language%20for%20the%20%0D%0AAmeoba%20operating%20system.%20%20Early%20in%20its%0D%0Adevelopment%2C%20the%20designer%20Guido%20Rossum%0D%0Adecided%20to%20make%20it%20a%20portable%20language%0D%0Ainstead.%0D%0A%3Cbr%3E%0D%0APython%20is%20considered%20a%20good%20language%20to%0D%0Ause%20for%20certain%20kinds%20of%20web%20programming.%0D%0AThe%20standard%20library%20supports%20HTTP%20and%0D%0ACGI%20services%2C%20and%20a%20Windows-specific%0D%0Alibrary%20support%20ActiveX%20scripting%20%28so%0D%0Athat%20you%20can%20use%20powerful%20Python%20for%20active%0D%0Aserver%20pages%20instead%20of%20the%20intentionally%0D%0Aweak%20VBScript%29.%0D%0A%3Cbr%3E%0D%0APython%20can%20be%20extended%20by%20adding%20C%2FC%20%20%0D%0Alibraries%2C%20and%20it%20can%20also%20be%20embedded%0D%0Ain%20an%20application%20to%20serve%20as%20its%20extension%0D%0Alanguage.%20%20Various%20C%20extensions%20for%20%0D%0Adatabase%20access%2C%20OpenGL%2C%20numeric%0D%0Aanalysis%2C%20AI%2C%20and%20other%20%0D%0A%0D%0A links1=Python%20Resources%20at%20the%20Starship%20Python%3Dhttp%3A%2F%2Fstarship.skyport.net%2F links2=Python%20FAQ%20List%3Dhttp%3A%2F%2Fwww.python.org%2Fdoc%2FFAQ.html links3=The%20Python%20main%20FTP%20archive%3Dftp%3A%2F%2Fftp.cwi.nl%2Fpub%2Fpython%2Findex.html links4=Python%20for%20Win32%20home%20page%3Dhttp%3A%2F%2Fwww.mrsc.org%2F%7Ewsdocs%2FPython%2Findex.html links5=jPython%20home%20page%3Dhttp%3A%2F%2Fwww.jpython.org%2F date=Last%20updated%208%2F4%2F100 sample=%3Cpre%3E%0D%0A%23%20standard%20binary%20search%20tree%20from%0D%0A%23%20a%20tree%20data%20structure%20package%20by%20Dan%20Stubbs%0D%0A%23%0D%0Aclass%20binary_tree%3A%0D%0A%09def%20__init__%20%28self%29%3A%0D%0A%09%09self.tree%20%3D%20None%0D%0A%0D%0A%09def%20insert%20%28self%2C%20key%29%3A%0D%0A%09%09if%20self.tree%3A%0D%0A%09%09%09self._insert%20%28self.tree%2C%20key%29%0D%0A%09%09else%3A%0D%0A%09%09%09self.tree%20%3D%20node%28key%29%0D%0A%0D%0A%09def%20_insert%20%28self%2C%20tree%2C%20key%29%3A%0D%0A%09%09if%20key%20%3C%20tree.key%3A%0D%0A%09%09%09if%20tree.left%3A%0D%0A%09%09%09%09self._insert%20%28tree.left%2C%20key%29%0D%0A%09%09%09else%3A%0D%0A%09%09%09%09tree.left%20%3D%20node%28key%29%0D%0A%09%09else%3A%0D%0A%09%09%09if%20tree.right%3A%0D%0A%09%09%09%09self._insert%20%28tree.right%2C%20key%29%0D%0A%09%09%09else%3A%0D%0A%09%09%09%09tree.right%20%3D%20node%28key%29%0D%0A%0D%0A%3C%2Fpre%3E%0D%0A _store=1 _add=Python _usertab=1 _usersearch=0 _format=full =