[Skip Navigation] [CSUSB] / [CNS] / [Comp Sci & Eng Dept] / [R J Botting] / [Samples] / languages
[Index] [Contents] [Source Text] [About] [Notation] [Copyright] [Comment/Contact] [Search ]
Mon May 12 14:36:37 PDT 2008

Opening the PDF files on this page may require you to download Adobe Reader or an equivalent viewer (GhostScript).

Opening Microsoft files (winzip, word, excel, powerpoint) on this page may require you to download a special viewer. Or you can download and save the files and use your preferred office applications to view and edit them.

Contents


    My Computer Languages Page

      General Resources on Languages


      (search for languages): Some useful places to start a search for information on computer languages.
      1. A Place to try out code -- BASIC Pascal Perl C++: [ http://www.codeide.com/ ]
      2. Google [ http://groups.google.com/groups/ ] Usenet Newsgroups (Hint: find the right group and search for "FAQ")


        (comp.lang): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.lang ] (Programming language),
        (comp.software-eng): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.software-eng ] (Software development),
        (comp.text): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.text ] (Markup languages),
        (comp.infosystems.www.authoring): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.infosystems.www.authoring ] (WWW Languages),
        (comp.specification): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.specification ] (Larch, Z, miscellaneous specification languages)
        (comp.object): group [ groups?hl=en&lr=&ie=UTF-8&group=comp.object ] (CORBA and other Object-oriented stuff)

      3. FAST Search "Programming Language" [ search?cat=web&cs=utf-8&q=%22Programming+Language%22&_sb_lang=en ] (add your language to the search box at the top of the page).

      A Glossary of terms
      (glossary): [ languages.glossary.html ]

      General Resources: [ http://dmoz.org/Computers/Programming/Languages/ ] [ http://cuiwww.unige.ch/langlist/ ] [ http://www.utu.fi:80/~sisasa/oasis/ ] [ alternate.html ]
      (Esoteric Programming Languages Ring): languages [ index.html ]


      (Gary Leavens's Home Page ): home [ homepage.html ] ...and his literature recommendations [ literature-recommendations.html ]


      (The Incredible Wiki Wiki Web): wiki [ wiki?CategoryLanguage ]


      (source code samples): Claimed to be the largest public source code database on the Internet: [ http://www.Planet-Source-Code.com/PlanetSourceCode/ ]


      (99 bottles of beer in many programming languages): [ http://www.99-bottles-of-beer.net/ ]


      (History of computer languages): languages [ http://www.levenez.com/lang/ ] [ prog_lang_poster.pdf ] (Big colored PDF) [ paradigmsDIAGRAMeng101.pdf ] (Diagram by paradigm)


      (Museum): languages [ default.htm ]


      (Scripting languages ): [ scripting4.html ]

      Research On Languages


      (Weird Programming Languages): [ weird.html ]


      (Bibliography): [ http://www.cs.monash.edu.au/~lloyd/tildeBIB/ ]


      (CS620 Programming Language Theory Postgraduate Comp Sci CSUSB): [ intro.html ] [ http://www.csci.csusb.edu/dick/cs620/ ]


      (Imperial, college, university, IC, London, England, UK, Europe, Search): google [ docImperial?q=programming+languages&sa=Search&domains=doc.ic.ac.uk&sitesearch=doc.ic.ac.uk ]
      (SunSITE N. Europe language Archive): [ http://src.doc.ic.ac.uk/ ]


      (Chalmers University of Technology Goteborg Sweden): [ Home-E.html ] [ query.html?rq=0&col=chalmers&ht=0&qp=&qs=&qc=&pw=600&ws=0&la=&qm=0&st=1&nh=10&lk=1&rf=0&oq=&rq2=0&si=1&qt=Programming+Languages ]


      (Arizona university USA): [ http://www.arizona.edu/ ] [ http://www.cs.arizona.edu/ ]


      (Brigham Young university BYU Utah USA): language research [ http://www.cs.byu.edu/ ]


      (Computer Science Carnegie Mellon University CMU USA): (slow FTP access) //ftp.cs.cmu.edu/user/


      (Evolution Genetics FTP): //evolution.genetics.washington.edu/ at
      (University of Washington Seattle): [ http://www.cs.washington.edu/ ]

      Programming Technologies that use Programming Languages


      (Ajax): Asynchronous JavaScript and XML. AJAX is a popular new (2006-2007) technology that connects Javascript in the client to the server with the eXtendable Markup Language (XML). When possible computation is done on the client in parallel with downloading new data from the server. Most importantly the whole page doesn't have to be reloaded: just parts of it. For more details, see [ AJAX ] on the Wikipedia and [SerranoAroztegi07] from the IEEE Software Magazine.

      Programming Languages


      (Ada): Languages [ ada.html ]
      (Adasoft): languages [ http://home.adasoft.com/ ]
      (Ada for C/C++ people): languages [ cpp2ada.html ]


      (Algol60): The Original ancestor of all tidy languages: [ algol60.syntax.html ]


      (B): The child of BCPL and direct parent of C. [ kbman.html ] [ bintro.html ] and Dennis Ritchie's page [ http://cm.bell-labs.com/cm/cs/who/dmr/ ] (Thank you Mark Huthcinson for this link).


      (C): Developed from B... and went thru to incarnations: K&R C and ANSI C, then grew up to become [ C++ ] [ c.html ] [ comp.c.syntax.html ] [ c.syntax.html ] [ c.semantics.html ] [ top.html ] [ c.php ] And HHOS: [ C_Prog_Debug.html ] [ 00001.html ] (Filk)
      (C++): Child of C. [ c++.html ] [ c++.glossary.html ] [ c++.semantics.html ] [ c++.standard.syntax.html ] [ c++.syntax.html ] [ http://www.csci.csusb.edu/dick/c++std/ ]
      (STL): The Standard <Template> Library(STL) for C++ [ stl.html ] [ http://www.Planet-Source-Code.com/PlanetSourceCode/ ]
      (D): the D programming language from Digital Mars:


      1. D was conceived in December 1999 by Walter Bright as a reengineering of C and C++, and has grown and evolved with helpful suggestions and critiques by friends and colleagues.

      [ http://www.digitalmars.com ]


      (DITA): Darwin Information Typing Architecture (DITA XML) [ dita.html ]


      (ici): Quote: "ICI is a C-like, high level language originally developed by Tim Long and placed into the public domain. ICI marries C's expression syntax, control structures and overall feel , with a dynamic, garbage collected, object-based, data model." [ http://www.zeta.org.au/~atrn/ici/ ] Note. Funny is that not what [ C# ] does?


      (C#): Csharp or C-Hash? A Microsoft controled version of C++ designed to compete and beat Java as part of the .NET final solution. See news stories: [ 2100-1001-242414.html?legacy=cnet&tag=st ] [ 0-1003-200-2154069.html?tag=st ] and a useful source of information: [ index.htm ] (FunctionX).


      (Hungarian): A way of coding C programs with explicit type information: [ comp.prog.5_Hungarian.html ]


      (COBOL): "I DON'T GET NO RESPECT." [ cobol.syntax.html ]


      (COBOL User Groups COBUG): COBUG provides the COBOL community with a comprehensive web site that contains current references to COBOL user groups, compilers, code samples, COBOL jobs, and many other COBOL programming resources. We are committed to developing COBOL user groups and providing an information resource for the COBOL community. We currently have more than 700 members and 12 user groups worldwide. The COBOL community benefits from our local COBOL user groups, web site, forums, and peer support. [ http://www.cobug.com/ ]

      Other links: [ cbdhome.html ] [ http://www.cobolportal.com/ ] [ ooc.html ] [ http://www.cobolostandards.com/ ] [ index.html ] [ http://cobolforgcc.sourceforge.net/ ] [ http://www.csis.ul.ie/COBOL/ ] [ ring.htm ]


      (COBOLScript): languages [ http://www.deskware.com/ ]


      (ASP Active Server Pages): MS rival for server programming: see PHP and JSP [ wiki?ActiveServerPages ]
      (PHP): dynamic web pages, rival to JSP and ASP [ http://www.php.net/ ] and Paul Conrad's [ http://www.csci.csusb.edu/public/csci/pconrad/ ] Graduate Independent study [ php_intro.html ] of the syntax and semantics of PHP
      (JSP): Java based scripting/markup language.


      (Javascript): scripting on pages and servers [ javascript.html ]


      (Java): Compiled OO running on pages(clientside) and in servers [ java.html ] [ http://cse.csusb.edu/dick/cs320/java/ ] [ http://ftp.csci.csusb.edu/public/faculty/dick/ ] [ java.www.sites.html ] [ index.html ] [ index.html ]
      (P'Nuts Scripting language for the Java Environment): languages [ http://javacenter.sun.co.jp/pnuts/ ]
      (Java Certification Program): languages [ solutions.html ]
      (How to Write Bad Java Code): languages [ unmain.html ]
      (JavaPP: CSP primitives for Java Threads:Cooperating Sequential Processes): languages [ javapp.html ]


      (Pascal): Simple but powerful parent of Ada and Modular [ pascal.syntax.html ]


      (Smalltalk): First language hyped as object-oriented [ smalltalk.html ]


      (UNIX): The other operating system
      (sh): UNIX Bourne Shell [ unix.syntax.html ]


      (Eiffel): OO Engineer? [ http://www.eiffel.com/ ]


      (FORTH): Designed to control telescopes but uniquely flexible and efficient. [ http://www.forth.org/ ]


      (FORTRAN): the October Horse of Languages. [ http://www.j3-fortran.org/ ]


      (LISP): List Processing -- (functional (simple (powerful (fun)))) [ lisp.html ] [ cltl2.html ] [ http://www.cs.cmu.edu/Groups/AI/html/cltl/clm/ ] [ lisp.html ] [ faq.html ]


      (ML): Meta-Language [ index.html ] [ ml.syntax.html ]


      (Mozart): See Oz.


      (Occam): Eliminating all but the necessary entities we get a very simple but powerful language. Dr. Gomes has sent me a link to a free and linux-based Occam: [ ?branch_id=34824&release_id=104099 ]


      (Oz): Multiparadigm Language [ features.html ]


      (Scheme): Modernized LISP secure lisp: [ secure.html ]
      (scheme-48): Sample of Scheme [ http://s48.org/ ]


      (Prolog): Programming Logic [ prolog.html ] [ http://www.csci.csusb.edu/dick/cs320/prolog/ ]
      (Kernel Prolog - Open Source Project): logic programming languages [ kernelprolog.html ]
      (logtalk Object Oriented Prolog): logic programming languages [ logtalk.html ]


      (Perl): Pathologically Eclectic Report Language and the engine that drives a lot of the WWW [ perl.html ] [ http://www.perl.com/ ] //www.csci.csusb.edu/dick/doc/perl.FAQ


      (Python): structured Object-Oriented...
      (Outline of Notes on Python): [ python.html ] plus Andrew Thanalertvisuti's Honors Project report on the Syntax of Python: [ python.htm ]
      (Python programming puzzles): Mysty [ http://www.pythonchallenge.com/ ] [click here [socket symbol] if you can fill this hole]


      (Ruby): structured, object-oriented, tidy rival to Perl. [ http://www.ruby-lang.org/en/ ]

      Here are some Ruby systems:


        [ http://www.ruby-lang.org/en/downloads/ ] - interpretor (his best bet in my opinion, but to each their own)

        [ http://www.erikveen.dds.nl/rubyscript2exe/ ] - 'compiler' with limited library (if it works for what he needs, I suggest this)

        [ http://www.erikveen.dds.nl/allinoneruby/ ] - 'compiler' with complete ruby library

        From: Andrew Murphy (CSCI 320) Comp Sci, CSUSB.



      (Modula-3): Grandchild of Pascal: exporting and importing for programmers. [ home.html ] //ftp.gte.com/pub/m3/linux-journal.html


      (charity): "Charity is a categorical programming language" [ home.html ]


      (ECLiPSe): (ECRC Constraint Logic Parallel System) is a logic programming system open for extensions, especially in the CLP area. [ reports.html ]


      (LOGO): a tool for learning [ programming.html ]

       		to logo
       		repeat manytimes [ typecommand ]
       		end

    1. LOTOS::="ISO Standard language that combines CSP/CCS with algebraic ADT to describe telecommunication systems", [ index.php?topic=Lotos ] [ http://www.cs.stir.ac.uk/~kjt/research/well/ ] [ lookup?from=methods&search=LOTOS ] Temporary Formal Definition LOTOS in MATHS
      1. LOTOS::=following
        Net
        1. Process::Sets.
        2. Action::Sets.

          P,Q,R,S:Process.

          a,b,c,d:Action.

          A,B:@Action.

        3. P-a->Q::@=P can be observed executing action a and then behaving like Q.

        4. STOP::Process, takes part in no actions.
        5. |- (LOTOS_stop): for no a:Action, P:Process( STOP-a->P).
        6. δ::Action=observable termination of a Process
        7. |- (LOTOS_exit1): EXIT -δ->STOP.
        8. |- (LOTOS_exit2): for no a:Action~δ, P:Process( EXIT-a->P).

        9. Process Descriptions
        10. a;P::Process= a prefix P. P[>Q::Process=P disabled by Q.
        11. P|A|Q::Process=`P and Q synchonizing on A".

          Structural Operational Semantics

        12. |- (LOTOS_a2): a;P-a->P

          Rules

        13. |- (LOTOS_r1): P[>Q-a->R[>Q :- a<>δ, P-a->R.
        14. |- (LOTOS_r2): P[>Q-δ->R :- P-δ->R.
        15. |- (LOTOS_r3): P[>Q-a->R :- Q-a->R.


        16. |- (LOTOS_r4): P|A|Q-a->R|A|Q :- a not_in A| δ, P-a->R.
        17. |- (LOTOS_r5): P|A|Q-a->P|A|R :- a not_in A | δ, Q-a->R
        18. |- (LOTOS_r6): P|A|Q-a->R|A|S :- a in A | δ, a=b, P-a->R, Q-b->S.

          LOTOS example

          1. Proc::= Pdcc |ctrlc| Edcc.
          2. Pdcc::= Ping[>CtrlC.
          3. Ping::=ping; EXIT.
          4. CtrlC::=ctrlc; EXIT.
          5. Edcc::=EXIT[>CtrlC.

            then can show

          6. (above)|-Ping-ping->EXIT.


          7. (above)|-Pdcc-ping->EXIT[>CtrlC
          8. (above)|-Proc-ping->(EXIT[>CtrlC)[ctrlc]Edcc.

          . . . . . . . . . ( end of section LOTOS example) <<Contents | End>>


        (End of Net LOTOS)



      (Linda): A distributed n-tuple based language by David Gerlernter, the Yale professor, was later the target of a Unabomb attack [ trivia.63c.html ] [click here [socket symbol] if you can fill this hole]


      (Obliq): "Obliq is a lexically-scoped untyped interpreted language that supports distributed object-oriented computation." Luca Cardelli 1994 [ src-rr-122.html ]
      (Visual Obliq): Visual Obliq [ VOHome.html ]


      (Legion): parallel processing, high performance, object-oriented, distributed systems, metasystems, wide area, gigabit networks [ index.html ]


      (O-plan): Open Planning Architecture [ http://www.aiai.ed.ac.uk/~oplan/ ]


      (Mathematica): Pretty pictures of equations! But wait! There is more! [ http://www.wri.com/ ] Wolfram Research.


      (APL): A Programming Language. Hundreds of mathematical/vector/array/etc operations and primitive control structures. Book: K. E. Iverson, A Programming Language, Wiley, 1962

      ACM Special Interest Group: SIGAPL [ http://www.sigmod.org/sigapl/ ] See also J.


      (J): Child of APL. [ wiki?JayLanguage ]


      (Erlang): parallel, concurrent, asynchronous message passing, functional, applicative, FP, programming language definition, PLD, [ http://www.cbel.com/erlang_programming_language/ ]


      (Icon): goal oriented, coroutine coexpression generator, SL5, [ http://www.cs.arizona.edu/icon/ ] [ index.html ] Also see ancestor Snobol(Griswold).


      (Oberon): N. Wirth //neptune.inf.ethz.ch/


      (Snobol): Based on Markov algorithms and string processing, and named as a result of the paper snowballs thrown at people when the language was being developed, I hear See child Icon.


      (BCPL): Basic CPL, parent of B, and so gradparent of C etc. A language where all data is 16 bits and that used a dot where C/C++ uses an asterisk. There is a rich set of control structures inherited from CPL. Also multiple assignments! [ clive-on-bcpl.html ] [ bcpl.html ]


      (CPL): This ancestor of C used the typographical doubled S section marker to start blocks! The meaning of the acronym was disputed. Powerful control structures and other statements. BCPL was a practical system language developed from it.... see above.


      (Gwydion Dylan): languages [ http://www.gwydiondylan.org/ ]
      (Malbolge: Programming from Hell): languages [ index.html ]
      (Universal Networking Language, Hiroshi Uchida): languages [ http://www.unl.ias.unu.edu/ ]

      Functional Languages


      (Functional languages in Software Engineering): languages [ hudak-paul.html ]
      (Mercury is a new logic/functional programming language): languages [ http://www.cs.mu.oz.au/research/mercury/ ]

      More? [click here [socket symbol] if you can fill this hole]

      Graphical Programming


      (Prograph): 2Diconic programming [ PrographFAQ.html ]
      (CUBE): 3 dimensional logic programming by Marc Najork at SRC of DEC, published in Dr. Dobb's Journal of Computer Calisthenics and Orthodonture (Running light with no overbyte:-)
      (TEMPO): My work in progress on Temporal Mapping [ rjb9Xx.TEMPO.html ]

      Analysis, Modeling and Design


      (DITA): Documentation Darwin Information Typing Architecture (DITA XML) [ dita.html ]


      (LarchC++: Object-oriented specification techniques.): languages [ larchc++.html ]
      (ACL2): languages [ acl2-doc.html ]
      (Model Integration): languages [ http://www.modelint.com/ ]
      (MATHS): My own notation used for these pages [ http://www.csci.csusb.edu/dick/maths/ ]
      (SDL site): language [ http://www.sdl-forum.org/ ]
      (UML): Unified Modeling Language. [ UML in methods ] [ uml.html ]
      (2 Years after UML Standard Sinan Si Alhir): languages [ #theumltwoyearsafteradoptionofthestand ]
      (Rational): languages [ index.jtmpl ]
      (UML Dictionary): languages [ UML.htm ]
      (OCL Object constraint language): IBM Application Development [ ocl.html ]
      (Z): Mathematical specification language. Elegant but needs TeX. [ z.syntax.html ] [ Z in methods ]

      Markup Languages


      (HTML): Hypertext Markup Language [ comp.html.glossary.html ] [ comp.html.syntax.html ]
      (SGML): Standardized Generalized Markup Language [ comp.text.SGML.html ]
      (XML): eXtendable Markup Language, [ xml.html ]
      (DocBook): XML languages [ http://www.oasis-open.org/docbook/ ] [ docbook-intro.html ]
      (Doing It With XML, Part 1 by Ken Sall): languages [ index.html ]
      (OpenMath): XML languages [ http://www.openmath.org/ ]
      (SVG XML based W3C Scalable Vector Graphics ): languages [ http://www.w3.org/Graphics/SVG/ ]
      (a XML): languages [ axml.html ]


      (TeX): (Tau epsilon Chi) -- For mathematical typography by Donald Knuth: [ comp.text.TeX.html ] [ comp.text.TeX.Mathematical.html ] [ people.html#Donald Knuth ] [ tex.html ]
      (LaTeX): A library and set of tools developed by Leslie Lamport for Donald Knuth's TeX markup language. The following links are from Ken Han at CSUSB:


      (LaTex Tutorial): [ tutorials.html ] [ http://www.maths.tcd.ie/~dwilkins/LaTeXPrimer/ ] [ LaTeX-Home.html ] [ http://it.metr.ou.edu/latex/ ] [ index.html ]


      (LaTeX Software tools): [ Setup.aspx ] (for Windows) and [ tex-index.html ] (for Mac OS X).


      (rtf): RichText Format [ rtf15_spec.htm ] (Version 1.5)


      (PostScript): Actually a page description language developed by Adobe. [ http://www.tjhsst.edu/~edanaher/pslife/ ] (Conway's game of life in PostScript).

      Meta-Languages

      Languages designed to be used for writing and talking about other languages


      (International Standard EBNF Syntax Notation): language [ iso-ebnf.html ]

      Documentation -- Ways for recording data about software and systems

      Darwin Information Typing Architecture (DITA XML) [ dita.html ]

      My MATHS language: [ http://www.csci.csusb.edu/dick/maths/ ]

      For more see [ Analysis, Modeling and Design ] above.

      Unclassified Languages


      (VRML): Virtual Reality Modeling Language [ vrml.html ]
      (Checks Pattern Language of Information Integrity): languages [ checks.html ]
      (YAML Ain't a Markup Language): A diamond bracket-free notation for structured data [ YAML ]

      Pointers to Other Languages

      If it isn't in this index try searching my whole site [ lookup.php ] my programming language courses [ lookup.php ] [ lookup.php ] or my bibliography [ bib.php ] or the following search engines
      (FAST Search): All the web all the time [ ?_oldhost=alltheweb.com ] and
      (Google search): of Usenet Newsgroups [ http://groups.google.com/ ]

      A Note on comments in Computer languages

      Nearly all computer languages have a notation for embedding natural language statements in the formal/meaningful code. At the suggestion of itansan_oorun@yahoo.com here is a quick list of some of the forms these take in different languages:
      LanguageSample CommentsNote
      FORTRANC THIS IS A COMMENTin column one, to end of card
      COBOL * COMMENTin collumn 8??, to end of card
      XLISP; this is a commentto end of line
      Algol 60comment this is a comment;+ another format
      Algol 68I forget!
      Pascal{ this is a comment }
      BASIC'this is a commentto end of line
      C /* this is a comment */
      Prolog% this is a commentto end of line
      C++// this is a commentto end of line
      Java/** this is a doc-comment */Includes C++ comments
      UNIX shells# this is a commentto end of line
      PHPall of the above?

      Glossary

    2. HHOS::="Ho Ho Only Serious", serious thoughts expressed using joke.

    . . . . . . . . . ( end of section My Computer Languages Page) <<Contents | End>>

End