5 ms·
That verbosity isn't even a big deal as you write once, but read many times. One of the first things about Swift that I fell in love with was the difference be
by Scapeghost 7y ago
That verbosity isn't even a big deal as you write once, but read many times.
One of the first things about Swift that I fell in love with was the difference between things like DrawRect(10, 20, 30, 40) in languages like C#, and DrawRect(at: origin, width: 30, height: 40) in Swift.
- naniwaduni 7y ago> That verbosity isn't even a big deal as you write once, but read many times. One of the most pernicious myths of software engineering is that it happens.
- Scapeghost 7y ago"Reading" code in this sense doesn't just mean explicit review by different people, but also as in reading it subconsciously as you scroll through your own code. If I see a chain of numbers like 1, 2, 3, 4 my brain has to recall the order of parameters or look it up. If I'm looking for rectangles that should be wider than they are tall, I have to keep thinking "the third number should be higher than the fourth number" Oh and I can't just Cmd+F "width:" or "height:" either.
- benji-york 7y agoI would enjoy an explanation of your thinking.
- kragen 7y agoIt's unusual to sit down and read a subroutine for pleasure, but it's common to read it when you're debugging a problem, trying to figure out how to extend the subroutine, refactoring something it calls, or doing something similar somewhere else.
- gregoryl 7y agoYou can (optionally) do the same name specified parameters in the more recent versions of c#.
- Scapeghost 7y agoTheir documentation still encourages unnamed parameters: https://docs.microsoft.com/en-us/dotnet/api/system.drawing.rectangle?view=netframework-4.8 https://docs.microsoft.com/en-us/dotnet/api/system.drawing.r...
- anonytrary 7y agoNamed function parameters are nice, but you can accomplish something similar with only two more characters in some languages: DrawRect({at: origin, width: 30, height: 40}) vs. DrawRect(at: origin, width: 30, height: 40) I can understand why this is considered a nice-to-have. The verbosity didn't really change.
- wruza 7y agoTwo more characters and one more allocation per each LoC.
- a13n 7y agoMost of us are just writing crud apps anyway so one more allocation is extremely affordable
- lonelappde 7y agoMaybe but this highly dynamic programming style is why Macs have always been so much slower than Windows on equivalent hardware.
- Scapeghost 7y agoWhere did that come from? Apart from games that were obviously optimized for Windows first then ported to macOS, has that claim been measured? Because macOS has always certainly FELT faster than Windows.
- anonytrary 7y agoAs if my app stops working because of this?
- kalleboo 7y agoYou can accomplish it in other languages, but will all the other library authors do so? Do the OS libraries do so?
- 7y ago
- __m 7y agoYou can do that in c#, though an IDE like Rider can also display it like that when no label is provided, or insert the labels, depending on your preference.
- jjoonathan 7y agoIntelliJ does that for Java these days too, and I love it. I'd rather have syntax-level support (works with ctrl+f, works outside IDEs, works in IDE when auto-analysis is broken), but if IDE support is what I can get, I'll take it.