<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://dev.eiffel.com/index.php?action=history&amp;feed=atom&amp;title=Talk%3AImmutable_Strings</id>
		<title>Talk:Immutable Strings - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://dev.eiffel.com/index.php?action=history&amp;feed=atom&amp;title=Talk%3AImmutable_Strings"/>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;action=history"/>
		<updated>2026-04-17T01:05:15Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8295&amp;oldid=prev</id>
		<title>Paulb: Added comment</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8295&amp;oldid=prev"/>
				<updated>2007-04-25T18:48:40Z</updated>
		
		<summary type="html">&lt;p&gt;Added comment&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 18:48, 25 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Peter gummer|Peter gummer]] 06:00, 19 April 2007 (CEST) There may be a decent migration path that wouldn't break code. Consider the fact that Eiffel is about to embark on its ''Void-safety'' adventure: at first sight, this looks like the mother of all breaking changes, but they have a reasonable-looking plan that should avoid most of the pain. The case of mutable strings seems very similar: a common cause of runtime errors that can be fixed by reversing the current behaviour. I think it's worth considering. All of the other options, with the exploding number of variations of strings (don't forget UC_STRING, etc.) and their conversion routines look much more scary to me.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Peter gummer|Peter gummer]] 06:00, 19 April 2007 (CEST) There may be a decent migration path that wouldn't break code. Consider the fact that Eiffel is about to embark on its ''Void-safety'' adventure: at first sight, this looks like the mother of all breaking changes, but they have a reasonable-looking plan that should avoid most of the pain. The case of mutable strings seems very similar: a common cause of runtime errors that can be fixed by reversing the current behaviour. I think it's worth considering. All of the other options, with the exploding number of variations of strings (don't forget UC_STRING, etc.) and their conversion routines look much more scary to me.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--[[User:Paulb|Paulb]] 20:48, 25 April 2007 (CEST) Starting from scratch is never an option, as Peter mentions there would actually be a migration path. We do our very best to not break code. In fact we still support every construct and keyword we've introduced in the language, even though they have been deprecated for years.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Paulb</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8190&amp;oldid=prev</id>
		<title>Peter gummer at 04:01, 19 April 2007</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8190&amp;oldid=prev"/>
				<updated>2007-04-19T04:01:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 04:01, 19 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While it is very galling that C# and Java should be better than Eiffel in this respect, I am afraid that starting from scratch isn't really an option. Almost all programs would be broken, and the cost of fixing millions of lines of code would be far too high.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While it is very galling that C# and Java should be better than Eiffel in this respect, I am afraid that starting from scratch isn't really an option. Almost all programs would be broken, and the cost of fixing millions of lines of code would be far too high.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Peter gummer|Peter gummer]] 06:00, 19 April 2007 (CEST)There may be a decent migration path that wouldn't break code. Consider the fact that Eiffel is about to embark on its ''Void-safety'' adventure: at first sight, this looks the mother of all breaking changes, but they have a reasonable-looking plan that should avoid most of the pain. The case of mutable strings seems very similar: a common cause of runtime errors that can be fixed by reversing the current behaviour. I think it's worth considering. All of the other options, with the exploding number of variations of strings (don't forget UC_STRING, etc.) and their conversion routines look much more scary to me.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;--[[User:Peter gummer|Peter gummer]] 06:00, 19 April 2007 (CEST) There may be a decent migration path that wouldn't break code. Consider the fact that Eiffel is about to embark on its ''Void-safety'' adventure: at first sight, this looks &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;like &lt;/ins&gt;the mother of all breaking changes, but they have a reasonable-looking plan that should avoid most of the pain. The case of mutable strings seems very similar: a common cause of runtime errors that can be fixed by reversing the current behaviour. I think it's worth considering. All of the other options, with the exploding number of variations of strings (don't forget UC_STRING, etc.) and their conversion routines look much more scary to me.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter gummer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8189&amp;oldid=prev</id>
		<title>Peter gummer at 04:00, 19 April 2007</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8189&amp;oldid=prev"/>
				<updated>2007-04-19T04:00:58Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 04:00, 19 April 2007&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While it is very galling that C# and Java should be better than Eiffel in this respect, I am afraid that starting from scratch isn't really an option. Almost all programs would be broken, and the cost of fixing millions of lines of code would be far too high.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;While it is very galling that C# and Java should be better than Eiffel in this respect, I am afraid that starting from scratch isn't really an option. Almost all programs would be broken, and the cost of fixing millions of lines of code would be far too high.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--[[User:Peter gummer|Peter gummer]] 06:00, 19 April 2007 (CEST)There may be a decent migration path that wouldn't break code. Consider the fact that Eiffel is about to embark on its ''Void-safety'' adventure: at first sight, this looks the mother of all breaking changes, but they have a reasonable-looking plan that should avoid most of the pain. The case of mutable strings seems very similar: a common cause of runtime errors that can be fixed by reversing the current behaviour. I think it's worth considering. All of the other options, with the exploding number of variations of strings (don't forget UC_STRING, etc.) and their conversion routines look much more scary to me.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Peter gummer</name></author>	</entry>

	<entry>
		<id>https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8180&amp;oldid=prev</id>
		<title>Colin-adams: Starting from scratch</title>
		<link rel="alternate" type="text/html" href="https://dev.eiffel.com/index.php?title=Talk:Immutable_Strings&amp;diff=8180&amp;oldid=prev"/>
				<updated>2007-04-18T19:22:49Z</updated>
		
		<summary type="html">&lt;p&gt;Starting from scratch&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Starting from scratch ==&lt;br /&gt;
&lt;br /&gt;
While it is very galling that C# and Java should be better than Eiffel in this respect, I am afraid that starting from scratch isn't really an option. Almost all programs would be broken, and the cost of fixing millions of lines of code would be far too high.&lt;/div&gt;</summary>
		<author><name>Colin-adams</name></author>	</entry>

	</feed>