From: plasticchicken@... Date: 2014-11-30T20:16:30+00:00 Subject: [ruby-core:66594] [ruby-trunk - misc #10541] Remove shorthand string interpolation syntax Issue #10541 has been updated by Brian Hempel. I analyzed the ~150,000 Ruby files in the top 1000 Ruby repositories on GitHub: The regular interpolation syntax is used 353,199 times. The shorthand interpolation syntax is used 1,376 times. In percentages, that's 99.6% vs 0.4%. The regular syntax is 250 times more common. Full results for all Ruby Ripper things: https://gist.github.com/brianhempel/ebaae6615c177ab1a509 Abbreviated script used: ~~~ruby RUBY_FILES = Dir.glob("**/*.rb") frequencies = Hash.new(0) RUBY_FILES.each do |path| sexp = Ripper.sexp(File.read(path)) next unless sexp # a few files do not parse parts = sexp.flatten.grep(Symbol) parts.uniq.each do |sym| frequencies[sym] += parts.count(sym) end end ~~~ ---------------------------------------- misc #10541: Remove shorthand string interpolation syntax https://bugs.ruby-lang.org/issues/10541#change-50211 * Author: Daniel Morrison * Status: Open * Priority: Normal * Assignee: Yukihiro Matsumoto * Category: syntax * Target version: current: 2.2.0 ---------------------------------------- I would like to see the shorthand string interpolation syntax, "foo#@bar" deprecated and then removed in 3.0. My reasons: 1. Most experienced Ruby developers I've talked to don't even know it exists. 2. It has been the cause of real problems. http://status.cloudamqp.com/incidents/vj62pnp62tj9 When a syntax is not widely known and has the potential for problems, I think it makes sense to deprecate and remove. -- https://bugs.ruby-lang.org/