Hamilton C shell: Difference between revisions
Snapshot |
|||
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
300px | |
Original author(s) | Nicole Hamilton |
---|---|
Initial release | 1988 |
Stable release | 4.0
/ June 5, 2009 |
Written in | C |
Operating system | Windows |
Type | Unix Shell on Windows |
License | Hamilton Laboratories EULA |
Website | www |
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:
- A superset of the existing C shell's functionality, omitting only job control.[5]
- 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
- ^ Hamilton, Douglas. "Hamilton C shell Announcement". IBM Personal Systems Developer (Summer 1989): 119–121.
- ^ 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) - ^ Hamilton C shell for Windows Release Notes 4.0, retrieved June 19, 2010.
- ^ Oliver, Robert (19 September 2009). "Hamilton C Shell 2009 – The Missing Shell for Windows". Retrieved 24 June 2010.
- ^
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)