~ubuntu-branches/ubuntu/gutsy/funnelweb-doc/gutsy

« back to all changes in this revision

Viewing changes to developer/modify_languages.html

  • Committer: Bazaar Package Importer
  • Author(s): Yann Dirson
  • Date: 2002-03-28 23:21:07 UTC
  • Revision ID: james.westby@ubuntu.com-20020328232107-3d1jiqv1eqmco3j9
Tags: upstream-3.2d
ImportĀ upstreamĀ versionĀ 3.2d

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
 
2
            "http://www.w3.org/TR/REC-html40/loose.dtd">
 
3
 
 
4
<HTML>
 
5
<!--
 
6
***********************************************************************
 
7
FUNNELWEB MANUAL WEB PAGE
 
8
=========================
 
9
Copyright (c) Ross N. Williams 1992,1999. All rights reserved.
 
10
 
 
11
Permission is granted to redistribute and use this manual in
 
12
any medium, with or without modification, provided that all
 
13
notices (including, without limitation, the copyright
 
14
notice, this permission notice, any record of modification,
 
15
and all legal notices) are preserved on all copies, that all
 
16
modifications are clearly marked, and that modified versions
 
17
are not represented as the original version unless all the
 
18
modifications since the manual's original release by Ross N.
 
19
Williams (www.ross.net) consist of translations or other
 
20
transformations that alter only the manual's form, not its
 
21
content. THIS MANUAL IS PROVIDED "AS IS" AND WITHOUT ANY
 
22
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
 
23
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND
 
24
FITNESS FOR A PARTICULAR PURPOSE. TO THE EXTENT PERMITTED BY
 
25
LAW THERE IS ABSOLUTELY NO WARRANTY.
 
26
 
 
27
***********************************************************************
 
28
-->
 
29
 
 
30
<HEAD>
 
31
<TITLE>4.1 The Danger of Modifying Languages</TITLE>
 
32
<STYLE TYPE="text/css"> <!-- A {text-decoration: none} // --> </STYLE>
 
33
</HEAD>
 
34
<BODY BACKGROUND="binary/background.gif"
 
35
      BGCOLOR="#FFFFFF"
 
36
      TEXT="#000000"
 
37
      VLINK="#660000"
 
38
      LINK="#FF0000"
 
39
      ALINK="#CC0000">
 
40
 
 
41
<TABLE WIDTH="490">
 
42
<TR>
 
43
<TD WIDTH="130" VALIGN="top">
 
44
<IMG SRC="binary/d_clear.gif" ALT="" WIDTH="130" HEIGHT="1"><BR>
 
45
 
 
46
<FONT SIZE="2">
 
47
<BR>
 
48
 
 
49
<A HREF="http://www.ross.net/"
 
50
 TARGET="rosshome"
 
51
 onClick="window.open('','rosshome','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
52
>
 
53
 <IMG SRC="binary/rossnet_logo.gif"
 
54
  WIDTH="64" HEIGHT="32"
 
55
  BORDER="0" ALT="RossNet"
 
56
  HSPACE="0" VSPACE="1"></A><BR>
 
57
<BR>
 
58
 
 
59
<A HREF="../index.shtml"
 
60
 TARGET="funnelweb"
 
61
 onClick="window.open('','funnelweb','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
62
>
 
63
 <IMG SRC="binary/linklogo.gif"
 
64
  WIDTH="64" HEIGHT="32"
 
65
  BORDER="0" ALT="FunnelWeb"
 
66
  HSPACE="0" VSPACE="1"></A><BR>
 
67
<BR>
 
68
<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0><TR><TD BGCOLOR="#000000">
 
69
<A HREF="../reference/index.html"
 
70
 TARGET="funnelwebreference"
 
71
 onClick="window.open('','funnelwebreference','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
72
><FONT COLOR="#FFFFFF"><B>Reference</B></FONT></A><BR>
 
73
<BR>
 
74
<A HREF="../tutorial/index.html"
 
75
 TARGET="funnelwebtutorial"
 
76
 onClick="window.open('','funnelwebtutorial','location,status,menubar,scrollbars,resizable',false).focus(); return true;"
 
77
><FONT COLOR="#FFFFFF"><B>Tutorial</B></FONT></A><BR>
 
78
<BR>
 
79
<A HREF="index.html"><FONT COLOR="#FFFFFF"><B>Developer</B></FONT></A><BR>
 
80
<A HREF="compile.html"><FONT COLOR="#FFFFFF">1 Compile</FONT></A><BR>
 
81
<A HREF="design.html"><FONT COLOR="#FFFFFF">2 Design</FONT></A><BR>
 
82
<A HREF="implement.html"><FONT COLOR="#FFFFFF">3 Implement</FONT></A><BR>
 
83
<A HREF="modify.html"><FONT COLOR="#FFFFFF">4 Modify</FONT></A><BR>
 
84
<A HREF="misc.html"><FONT COLOR="#FFFFFF">5 Misc</FONT></A><BR>
 
85
<A HREF="gpl.html"><FONT COLOR="#FFFFFF">6 Licence</FONT></A><BR>
 
86
 
 
87
<BR>
 
88
<A HREF="search.html"><FONT COLOR="#FFFFFF"><B>SEARCH</B></FONT></A><BR>
 
89
</FONT>
 
90
</TD></TR></TABLE>
 
91
 
 
92
 
 
93
</TD>
 
94
<TD WIDTH="360" VALIGN="top">
 
95
<FONT SIZE="3">
 
96
 
 
97
 
 
98
<A HREF="index.html"><IMG SRC="binary/title.gif"
 
99
 WIDTH="316" HEIGHT="24"
 
100
 BORDER="0" ALT="FunnelWeb Developer Manual"
 
101
 HSPACE="0" VSPACE="0"></A>
 
102
<P><FONT SIZE="5">4.1 The Danger of Modifying Languages</FONT><BR>
 
103
 
 
104
 
 
105
 
 
106
<P>FunnelWeb is a computer program that implements the
 
107
semantics of the FunnelWeb language. As such, you should
 
108
take great care when making changes to FunnelWeb that
 
109
modify the syntax or semantics of its language:
 
110
 
 
111
<P><BLOCKQUOTE><B>Removing
 
112
                  features:</B> Removal of features
 
113
                                (featurectomy) is extremely difficult once the legacy base
 
114
                                is using the features. If a feature is removed, users will
 
115
                                have to go through all their files and find
 
116
                                a way to simulate the effect of the removed feature with
 
117
                                other features. This is usually unthinkable.</BLOCKQUOTE>
 
118
 
 
119
<P><BLOCKQUOTE><B>Modifying
 
120
                  features:</B> Modification of
 
121
                                features has less direct impact than the removal of
 
122
                                features, but can cause more subtle errors. Anyone modifying
 
123
                                features should be sure that they
 
124
                                are not inadvertently laying semantic traps.</BLOCKQUOTE>
 
125
 
 
126
<P><BLOCKQUOTE><B>Adding
 
127
                  features:</B> Although the addition
 
128
                                of features is generally the most painless for the user
 
129
                                community, as Hoare points out, it is also the most
 
130
                                dangerous in the long run.</BLOCKQUOTE>
 
131
 
 
132
<P>
 
133
<BLOCKQUOTE> "When any new language
 
134
              design project is nearing completion, there is always a mad
 
135
              rush to get new features added before standardization. The
 
136
              rush is mad indeed, because it leads into a trap from which
 
137
              there is no escape. A feature which is omitted can always be
 
138
              added later, when its design and its implications are well
 
139
              understood. A feature which is included before it is fully
 
140
              understood can never be removed later."<STRONG>[Hoare80]</STRONG>
 
141
</BLOCKQUOTE>
 
142
 
 
143
<P>The benefits of tight control over a language are
 
144
enormous.
 
145
 
 
146
<P><BLOCKQUOTE><B>Universal portability:</B> Source files can be
 
147
                                             treated as portable.</BLOCKQUOTE>
 
148
 
 
149
<P><BLOCKQUOTE><B>Clear semantics:</B> Doubt about the semantics
 
150
                                       of the language are minimized.</BLOCKQUOTE>
 
151
 
 
152
<P>For these reasons, I have decided to keep tight control
 
153
over the FunnelWeb syntax and semantics. If you develop
 
154
a variant of FunnelWeb, please take these issues into account.
 
155
 
 
156
 
 
157
<P>
 
158
<TABLE WIDTH="100%">
 
159
<TR>
 
160
<TD ALIGN="left"   VALIGN="bottom"><A HREF="modify.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
 
161
<TD ALIGN="center" VALIGN="bottom"><A HREF="modify.html"><IMG SRC="binary/fw_up.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Up"></A></TD>
 
162
<TD ALIGN="right"  VALIGN="bottom"><A HREF="modify_authority.html"><IMG SRC="binary/fw_right.gif" HEIGHT="32" WIDTH="32" BORDER="0" ALT="Next"></A></TD>
 
163
</TR>
 
164
</TABLE>
 
165
 
 
166
 
 
167
 
 
168
<P>
 
169
<HR>
 
170
<FONT SIZE="2">
 
171
<A HREF="mailto:webmaster@ross.net">Webmaster</A>&nbsp;&nbsp;&nbsp;
 
172
<A HREF="copyright.html">Copyright &copy; Ross N. Williams 1992,1999. All rights reserved.</A><BR>
 
173
</FONT>
 
174
 
 
175
</FONT>
 
176
</TD>
 
177
</TR>
 
178
</TABLE>
 
179
 
 
180
 
 
181
</BODY>
 
182
 
 
183
<!-- *********************************************************************** -->
 
184
<!--      End Of A FunnelWeb Manual Web Page (www.ross.net/funnelweb/)       -->
 
185
<!-- *********************************************************************** -->
 
186
 
 
187
</HTML>