{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/11030","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/11030/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/11030/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/11030/events","html_url":"https://github.com/JuliaLang/julia/issues/11030","id":71328866,"number":11030,"title":"Taking string concatenation seriously, or, a proposal to deprecate *, ^ for string concatenation and repetition","user":{"login":"quinnj","id":2896623,"avatar_url":"https://avatars.githubusercontent.com/u/2896623?v=3","gravatar_id":"","url":"https://api.github.com/users/quinnj","html_url":"https://github.com/quinnj","followers_url":"https://api.github.com/users/quinnj/followers","following_url":"https://api.github.com/users/quinnj/following{/other_user}","gists_url":"https://api.github.com/users/quinnj/gists{/gist_id}","starred_url":"https://api.github.com/users/quinnj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/quinnj/subscriptions","organizations_url":"https://api.github.com/users/quinnj/orgs","repos_url":"https://api.github.com/users/quinnj/repos","events_url":"https://api.github.com/users/quinnj/events{/privacy}","received_events_url":"https://api.github.com/users/quinnj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":72,"created_at":"2015-04-27T15:58:50Z","updated_at":"2015-04-28T15:57:47Z","closed_at":null,"body":"The frequency and vehemency of discussions around this subject beg for a change. `*` and `^` were introduced for strings back when the language wasn't as strict on operator punning and overall meaning.\r\n\r\nAs a first, step, I propose we deprecate these two methods for string operations.\r\n\r\nAs a next discussion, we can talk about the possibility of using a different operator(s) for concatenation/repetition. Just using `repeat`, with no operator, has been suggested, as well as the following for string concatenation:\r\n\r\n* `++`, as a general sequence concatenation operator\r\n* `..`, similar to Lua\r\n\r\nThings to consider:\r\n* Would the same operator apply to other concatenation operations like vectors or multi-dimensional arrays? In that case, how would it interact with `vcat`/`hcat`?"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/97117173","html_url":"https://github.com/JuliaLang/julia/issues/11030#issuecomment-97117173","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/11030","id":97117173,"user":{"login":"ScottPJones","id":11798751,"avatar_url":"https://avatars.githubusercontent.com/u/11798751?v=3","gravatar_id":"","url":"https://api.github.com/users/ScottPJones","html_url":"https://github.com/ScottPJones","followers_url":"https://api.github.com/users/ScottPJones/followers","following_url":"https://api.github.com/users/ScottPJones/following{/other_user}","gists_url":"https://api.github.com/users/ScottPJones/gists{/gist_id}","starred_url":"https://api.github.com/users/ScottPJones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ScottPJones/subscriptions","organizations_url":"https://api.github.com/users/ScottPJones/orgs","repos_url":"https://api.github.com/users/ScottPJones/repos","events_url":"https://api.github.com/users/ScottPJones/events{/privacy}","received_events_url":"https://api.github.com/users/ScottPJones/received_events","type":"User","site_admin":false},"created_at":"2015-04-28T15:57:47Z","updated_at":"2015-04-28T15:57:47Z","body":">You don't want to be doing this. You should print to an IOBuffer object instead and then take the string at the end. This is similar to the StringBuilder pattern in Java.\r\n\r\n@StefanKarpinski That's just what you have to do in Java or Julia for performance, because of the immutable strings... it doesn't mean that it is easy to use, or that people would understand at first just why Julia is so slow compared to Python doing something like building up a string...\r\n(I don't like Java for string processing either, for that reason)"}}