<div dir="ltr"><div>I think that reasoning would have been solid for C in 1970. However, re-evaluating it in the context of 2015...</div><div><br></div><div>1) It does not appear to be a source of problems in any of the languages that do support it.</div><div><br></div><div><div>2) Modern text editors and IDEs have quote balancing, so it is a lot harder to forget a quote than it used to be.</div></div><div><br></div><div>3) Compile-time is actually too late to be catching lexical errors: it&#39;s a last resort. Lexical errors should be visible in the editor, e.g. syntax highlighting. If you forget a quote, the non-string code underneath will be coloured like a string.</div><div><br></div><div>4) Even if quote balancing fails, and even if you don&#39;t notice from syntax highlighting, the compiler can still try to provide good error messages because in most cases the syntax error will be an unexpected identifier after a multi-line string. e.g.</div><div><br></div><div>    print(&quot;Hello   &lt;- missing quote</div><div>    print(&quot;World&quot;)</div><div><br></div><div>    The identifier World is unexpected, so the compiler can track back and figure out that the source was at &quot;Hello...</div><div><br></div><div><div>- Alex</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Dec 14, 2015 at 7:06 PM, Andrey Tarantsov <span dir="ltr">&lt;<a href="mailto:andrey@tarantsov.com" target="_blank">andrey@tarantsov.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class=""><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>What is the reason that normal strings &quot;...&quot; don&#39;t support newlines? It&#39;s not traditionally seen in C-inspired languages, but it&#39;s hardly unusual outside that sphere[*]. Ruby and HTML are probably the most common examples, but apparently OCaml and Lisps also allow it?</div></div></blockquote></div></div></div></blockquote><div><br></div></span><div><span class=""><blockquote type="cite"><div><span style="font-family:verdana,sans-serif">You&#39;d have to ask Chris Latter and Dmitri Gribenko, who are responsible for the lines in Lexer.cpp that prevent it: </span></div></blockquote><div><br></div></span><div>The obvious reason is to catch a missing quote early, with a better error message. I believe it should stay that way, because multiline strings are a lot less widespread.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>A.</div><div><br></div></font></span></div></div></blockquote></div><br></div>