Jump to content

Hamilton C shell: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Snapshot
DASHBot (talk | contribs)
m Removing fair use file(s), per WP:NFCC#9 (Shutoff | Log )
Line 2: Line 2:
| name = Hamilton C shell
| name = Hamilton C shell
| logo =
| logo =
| screenshot = [[File:HamiltonCshellx64onWindows7.png|300px]]
| screenshot = [[:File:HamiltonCshellx64onWindows7.png|300px]]<!--Non free file removed by DASHBot-->
| caption = 64-bit Hamilton C shell on a Windows 7 desktop.
| caption = 64-bit Hamilton C shell on a Windows 7 desktop.
| collapsible =
| collapsible =

Revision as of 05:00, 6 October 2010

Hamilton C shell
Original author(s)Nicole Hamilton
Initial release1988 (1988)
Stable release
4.0 / June 5, 2009; 15 years ago (2009-06-05)
Written inC
Operating systemWindows
TypeUnix Shell on Windows
LicenseHamilton Laboratories EULA
Websitewww.hamiltonlabs.com/Cshell.htm Edit this on Wikidata

Hamilton C shell is a clone of the Unix C shell and utilities for Microsoft Windows created by Nicole Hamilton at Hamilton Laboratories. It was first released on OS/2 in December 1988[1][2] and on Windows NT in July 1992[3]. The Windows version continues to be actively supported[4] but the OS/2 version was discontinued in 2003.

Design objectives and features

The main objectives for Hamilton C shell were:

  • An improved language design based on a modern compiler architectureto address the known bugs and shortcomings in Joy's Unix C shell and to add new constructs, e.g., procedures, floating point and local variables.
  • A design created specifically for the PC, not a [[Porting|ported] from a Unix. following Windows conventions by default but allowing Unix conventions if preferred, tightly integrating with the Windows API and using threads in place of fork().


Superset functionality

Modern compiler architecture

The most important improvement was a modern compiler architecture using a top-down parser that allowed control structures to be nested or piped, something the original C shell could not support, given its ad hoc parser. Hamilton also added new language features including built-in and user-defined procedures, block-structured local variables and floating point arithmetic.

Threads

Adaptation to a PC included support for the filename and other conventions on a PC and the use of threads instead of a fork (which wasn't available under either OS/2 or Windows) to achieve parallelism, e.g., in setting up a pipeline.

Windows conventions

Overview of the language

Criticism

References

  1. ^ Hamilton, Douglas. "Hamilton C shell Announcement". IBM Personal Systems Developer (Summer 1989): 119–121.
  2. ^ Richman, Scott (January 1, 1991). "Examining the Hamilton C Shell". Dr. Dobb's. Retrieved October 4, 2010. {{cite journal}}: Cite has empty unknown parameter: |coauthors= (help)
  3. ^ Hamilton C shell for Windows Release Notes 4.0, retrieved June 19, 2010.
  4. ^ Oliver, Robert (19 September 2009). "Hamilton C Shell 2009 – The Missing Shell for Windows". Retrieved 24 June 2010.
  5. ^ Described as "full compliance with the entire C shell language (except job control) as defined in the Berkeley 4.3 Unix Programmer's Manual and by Anderson & Anderson in The UNIX C Shell Field Guide" in Hamilton C shell Quick Reference. Hamilton Laboratories, Wayland, MA. 1988 - 1990 (Revised July 10, 1990). {{cite book}}: Check date values in: |date= (help)