News for hackers. Stuff that matters.
Re:Why I Don't Like Golang (2016) by jayd16 on Wednesday June 12, 2019 @06:48PM (#20170148)
WRT renaming, I find that refactoring code is often such an oversight from language designers. I consider C# to be an elegant language in this way. Public fields and properties look the same in C# so you can effortlessly refactor between them, for example. I wish more languages thought about this stuff.
Re:Why I Don't Like Golang (2016) by pjmlp on Thursday June 13, 2019 @01:09AM (#20171962)
A design introduced by Eiffel, copied by Delphi, before Anders went to Microsoft designed J++ and then C#, with the said feature.
Re:Why I Don't Like Golang (2016) by sdegutis on Wednesday June 12, 2019 @06:49PM (#20170159)
I liked a similar aspect of Ruby: attributes and 0-args methods had the same syntax, so you could easily refactor a static field into a method that returns a dynamically calculated value. Overall I don't like that feature, but that was a very handy aspect of it.
Re:Why I Don't Like Golang (2016) by ben-schaaf on Wednesday June 12, 2019 @07:03PM (#20170254)
Ruby actually went one step beyond: there are no attributes. `attr_reader` just generates a 0-arg method, while `attr_writer` just generates a 1 argument `name=` method.
Re:Why I Don't Like Golang (2016) by masklinn on Thursday June 13, 2019 @02:09AM (#20172220)
TBF that's pretty directly inherited from the Smalltalk ancestry: just like Smalltalk, Ruby simply doesn't have public (data) fields. Although it does provide shortcuts for automatically generating accessors which I don't think Smalltalk did / does.

Funnily enough, Self opted for the opposite tack of not having private data fields (although it does have readonly and read/write slots), but you can trivially swap "data" slots and "method" slots: http://handbook.selflanguage.org/2017.1/langref.html#constru...

Re:Why I Don't Like Golang (2016) by scroot on Thursday June 13, 2019 @08:24AM (#20174052)
> Although it does provide shortcuts for automatically generating accessors which I don't think Smalltalk did / does.

Most Smalltalk browsers do actually offer this capability

Re:Why I Don't Like Golang (2016) by masklinn on Thursday June 13, 2019 @11:31AM (#20175803)
The tooling does provide that yes, as it does in e.g. Java. But Ruby does it without tooling, the feature is a runtime message to the class object.
Re:Why I Don't Like Golang (2016) by throwaway34241 on Wednesday June 12, 2019 @08:16PM (#20170704)
For both C# and Go I use editors that understand the language and can rename all references to a variable with one keyboard shortcut. C# has at least 3-4 of these editors available, and Go has at least 2.

I realize that not everyone's preferred editor may support every language yet, but still I think the solution to this problem is probably just having the language designers provide libraries that editors can use for these refactoring features, instead of through specific capitalization conventions.

Re:Why I Don't Like Golang (2016) by kbp on Wednesday June 12, 2019 @09:27PM (#20171086)
It doesn't matter when you're making the edit, it matters when you're looking at the diff and skimming through a hundred identical changes for the things that are actually different.