Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Locked thread
rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Gul Banana posted:

man, "public open" made way more sense than the accessibility default magically changing when you un-final the type :/

If it's not public already, you don't need to un-final the type. Solution: don't think of open as un-final'ing the type. :)

Adbot
ADBOT LOVES YOU

Toady
Jan 12, 2009

ultramiraculous posted:

This explanation is one I've heard brought up in conversation before and it would make a ton of sense. It seems like there's a decent number of community members who are using the project as a vanity-contribution opportunity where they can argue about aesthetics, despite not really using the language.

It's a vocal minority with absurd ways of expressing themselves. They're psychoanalyzing the Swift team as "bureaucrat" personalities and themselves as "hacker" personalities. One of them compared himself to Steve Jobs. We're supposed to feel bad when they inform the mailing list that they're rejecting Swift.

It reminds me of some of the weirdness that used to get posted to the Objective-C mailing list after changes like ARC.

Toady fucked around with this message at 23:15 on Jul 21, 2016

Flobbster
Feb 17, 2005

"Cadet Kirk, after the way you cheated on the Kobayashi Maru test I oughta punch you in tha face!"
The apoplexy around open-by-default classes is bad, but I'm now more concerned by the number of people who vehemently and loudly fail to understand that, yes, the empty string is a prefix and suffix of every other string. This is easily demonstrable with basic axioms.

Am I wrong to expect that people writing software should have the most basic understanding of formal language theory? (Or at least, when multiple people explain in basic terms why it's the case, you don't double down on your wrong ideas?)

Flobbster fucked around with this message at 23:36 on Jul 21, 2016

lord funk
Feb 16, 2004

Flobbster posted:

Am I wrong to expect that people writing software should have the most basic understanding of formal language theory?

Well, kind of, yeah. A lot of us come from other disciplines and learn as we go. However,

Flobbster posted:

(Or at least, when multiple people explain in basic terms why it's the case, you don't double down on your wrong ideas?)

This is right for more than just programming.

Flobbster
Feb 17, 2005

"Cadet Kirk, after the way you cheated on the Kobayashi Maru test I oughta punch you in tha face!"

lord funk posted:

Well, kind of, yeah. A lot of us come from other disciplines and learn as we go.

That's fair. It's the former academic coming out in me, I guess.

If the guy graduated from a 4-year CS program though, I can't excuse that.

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do

Flobbster posted:

If the guy graduated from a 4-year CS program though, I can't excuse that.

As near as I can tell, the grand majority of 4-year CS programs don't bother to teach even rudimentary CS theory. It's a little depressing the number of colleagues who have CS degrees that I've had to explain what big-oh notation is to, or complexity classes. No, doing line-of-business applications isn't going to see that stuff very often, but it can be super important in analyzing and explaining why a particular piece of code isn't performing well. If colleges aren't teaching this, what are they teaching?

PT6A
Jan 5, 2006

Public school teachers are callous dictators who won't lift a finger to stop children from peeing in my plane

Axiem posted:

As near as I can tell, the grand majority of 4-year CS programs don't bother to teach even rudimentary CS theory. It's a little depressing the number of colleagues who have CS degrees that I've had to explain what big-oh notation is to, or complexity classes. No, doing line-of-business applications isn't going to see that stuff very often, but it can be super important in analyzing and explaining why a particular piece of code isn't performing well. If colleges aren't teaching this, what are they teaching?

God loving knows. I think big-O was covered in the second week of the first CS theory class I took, which itself was the first course required for CS majors.

I mean, what fills up the students' time if they aren't teaching algorithm analysis and design in CS? I'd be hard pressed to come up with 50-60 credits of CS-relevant material without touching on those subjects.

Gul Banana
Nov 28, 2003

rjmccall posted:

If it's not public already, you don't need to un-final the type. Solution: don't think of open as un-final'ing the type. :)

that's reasonable. I'd forgotten about the nuanced nature of internal accessibility in swift - good to see these things being experimented with rather than just copying past systems

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

PT6A posted:

I mean, what fills up the students' time if they aren't teaching algorithm analysis and design in CS? I'd be hard pressed to come up with 50-60 credits of CS-relevant material without touching on those subjects.

These type of degree programs often feature classes in various technologies instead. So you get classes on Java, .NET, C++, HTML and CSS "programming," game development, "apps," and so on.

An IT degree at a good school is more of a CS degree than the above, but the above is what some schools offer as one. And neither is likely to know the joy of a real 18-unit Operating Systems class…

smackfu
Jun 7, 2004

It's fairly common now for a CS degree to be maybe 5-6 mandatory basic computer science classes and then a bunch of electives you choose from a long list. And people tend to pick sexy electives like computer graphics and artificial intelligence. (Which actually aren't that sexy but you don't realize that until you take it. Ooo, line drawing algorithms!)

Since it's a BS, usually a lot of math courses and science course and humanity electives round things out.

feedmegin
Jul 30, 2008

Toady posted:

It's a vocal minority with absurd ways of expressing themselves. They're psychoanalyzing the Swift team as "bureaucrat" personalities and themselves as "hacker" personalities. One of them compared himself to Steve Jobs. We're supposed to feel bad when they inform the mailing list that they're rejecting Swift.

Ah Steve Jobs, the well known programmer and hacker :ironicat: They could at least have gone with Gates.

pokeyman
Nov 26, 2006

That elephant ate my entire platoon.
open as the next access modifier after public? Wish I'd thought of that. So simple. So obvious.

Congrats on exiting your own lil personal hell rjmccall :toot:

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
:toot:

And now, explaining that you should take "@testable" off the import line if you want a black-box test.

Kallikrates
Jul 7, 2002
Pro Lurker
On the bright side you have people talking about testing.

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
On the subject, is "fileprivate" going to be exposed by @testable? There's quite a few places in our codebase where we want to have something be only used by a particular file, but we have to make it internal with a doc-comment like "///This should be private but we can't test it otherwise". In every case it's something like, say, a helper extension we only want to use in a particular file, but we'd like to test it to know its right.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
Since it's just a rebranding of the old private, I don't think so. I agree that we should have a way to expose things just for testing, though.

Flobbster
Feb 17, 2005

"Cadet Kirk, after the way you cheated on the Kobayashi Maru test I oughta punch you in tha face!"
On today's trashy episode of Housewives of Swift Evolution... "I don't care what the evolution process decided! Removing C-style for loops was a bad idea and I'm going to beg them right at the deadline to leave them in and I'll write a post-Swift 3 proposal to put them back! Fixing my code is too hard, so I'll demand the language conform to me instead! YOU'LL ALL SEE!"

:allears:

Axiem
Oct 19, 2005

I want to leave my mind blank, but I'm terrified of what will happen if I do
I am thrilled about the removal of C-style for loops. Not so much because I care about the for loops, but because I am really glad that the Swift team is willing to evaluate different programming language features and syntaxes on their own merits, rather than keeping historical baggage for the sake of history or something.

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe

Flobbster posted:

On today's trashy episode of Housewives of Swift Evolution... "I don't care what the evolution process decided! Removing C-style for loops was a bad idea and I'm going to beg them right at the deadline to leave them in and I'll write a post-Swift 3 proposal to put them back! Fixing my code is too hard, so I'll demand the language conform to me instead! YOU'LL ALL SEE!"

:allears:

The hilarious thing is that he keeps talking like we all we need to do is not push the button to delete the code when, actually, we deleted that code something like eight months ago and would basically need to re-implement the feature from scratch. (And it's actually a kindof frustrating feature to implement because of the parsing ambiguities.)

Doh004
Apr 22, 2007

Mmmmm Donuts...
As someone who is not on the Swift-Evolution mailing list, I'd appreciate a way to know who we're talking poo poo about. No, I don't care to join some mailing list or whatever the hell process it is we're talking about from 20 years ago :argh:

sarehu
Apr 20, 2007

(call/cc call/cc)
I don't think you have to join the mailing list -- there's probably an NNTP interface you can use.

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



You can browse the archives:

https://lists.swift.org/pipermail/swift-evolution/

Siguy
Sep 15, 2010

10.0 10.0 10.0 10.0 10.0
That pipermail interface is barely an interface. I feel like the Swift guys are intentionally clinging to the mailing list as a method of weeding out contributors. If you want to participate, you have to put up with a pretty arcane communication system.

As a lurker curious about the language but not dedicated enough to read through a daily email log, I mostly get by with Erica Sadun's recaps.

If I want to find an actual post, the only not totally lovely solution I've found is to use Gmane's still operational NNTP server and browse with a newsreader: nntps://news.gmane.org/

KidDynamite
Feb 11, 2005

I signed up for the mailing list and immediately regretted it. I am interested in helping, but this is miserable.

eschaton
Mar 7, 2007

Don't you just hate when you wind up in a store with people who are in a socioeconomic class that is pretty obviously about two levels lower than your own?

Siguy posted:

That pipermail interface is barely an interface. I feel like the Swift guys are intentionally clinging to the mailing list as a method of weeding out contributors. If you want to participate, you have to put up with a pretty arcane communication system.

There's nothing arcane about using mailing lists for high volume discussion. They work extremely well for it and have for decades.

Web forums are seriously poo poo, second in shiftiness only to web "chat" systems.

If you want a fuller-featured archive interface for a list you can always build one, grab the mbox files for the archives, and put it up.

quote:

As a lurker curious about the language but not dedicated enough to read through a daily email log, I mostly get by with Erica Sadun's recaps.

What does "a daily email log" even mean, a digest subscription? Just subscribe to the list and have your mail client (or server) filter it into a folder, then read it when you have time. Done.

quote:

If I want to find an actual post, the only not totally lovely solution I've found is to use Gmane's still operational NNTP server and browse with a newsreader: nntps://news.gmane.org/

You have discovered one of the other ways to deal with online discussion better than a web site. Web sites are fine for presenting archival information, for interaction that's why we have—and have had—apps.

Siguy
Sep 15, 2010

10.0 10.0 10.0 10.0 10.0
I'm sorry if I was flippant in my criticisms of the mailing list or too uncharitable in assuming dark motives behind the choice, but I think we just fundamentally disagree about mailing lists.

I called them arcane because they match the dictionary definition of arcane: "understood by few." I haven't used one since university, and even then they felt crufty and on their way out. It's asking people, many of whom at this point don't even like using email anymore, to turn their email client into a discussion forum by learning special unwritten community rules about how and where to reply. Most people, even tech people, suck at email, so why turn an email client into a discussion forum rather than make a discussion forum?

Pointing at the availability of an email archive and saying "Go ahead and make your own archive" is also not a good or friendly solution for a publicly developed programming language. The lack of a quality official archive on the internet makes it much harder for people to see what has and hasn't been discussed. The idea of "just search your email" or "just make an archive out of the mbox format" is essentially asking every person who may have an idea for the language or something to contribute to also take on the role of librarian.

It's not a theoretical problem either. Because the current piper mail archive is so unpleasant, a ton of swift evolution proposals now have dead links to defunct gmane archived posts. Why did that happen? Because people want web links and an easy way to search and an easy way to read discussion threads. Navigating a giant chain of re: re: re: emails with fifteen layers of nested quoted text and interspersed replies is not friendly and creates an atmosphere of "Only those who know the ancient ways of the pre-web may enter."

To be clear, I'm not angry about any of this. I wish it was handled in a friendlier way, but I think the current solution's weeding out element may actually be useful in a language that has very smart people at the helm and a dedicated community of iOS/Mac developers who are willing to put in the time with the mailing list system. Again, maybe there should be a modest barrier to entry for participating in the design of a programming language, but I think it's a little silly to argue that the mailing list is obviously the best way to handle things and to ignore how it biases the group participating in the language toward a particular subset of older programmers who grew up on mailing lists.

Gul Banana
Nov 28, 2003

using mailing lists isn't for old people, it's for people whose job regularly, rather than peripherally, involves this sort of collaboration. as soon as you are involved in the development of more than one thing, mailing lists for each is superior because it lets you have a single mail client rather than separate accounts on multiple differently-interfaced websites

smackfu
Jun 7, 2004

I'm just sad that the Apple hosted archive of the mailing list isn't responsive so you can barely use it on an iPhone.

Siguy
Sep 15, 2010

10.0 10.0 10.0 10.0 10.0

Gul Banana posted:

using mailing lists isn't for old people, it's for people whose job regularly, rather than peripherally, involves this sort of collaboration. as soon as you are involved in the development of more than one thing, mailing lists for each is superior because it lets you have a single mail client rather than separate accounts on multiple differently-interfaced websites

That's a great point and I see how it would work better for someone in that situation. I'm fine with Swift prioritizing those people since they do the vast majority of the work, but it's definitely a small minority of all the people who might be more interested in participating in a more public forum.

Toady
Jan 12, 2009

If people want to follow the mailing lists without using a mail client or being able to post to discussions, Hirundo is a free Swift mailing list archive browser.

Edit: Actually, if you're subscribed to a list, it will open Mail to compose a reply.

Toady fucked around with this message at 23:05 on Aug 1, 2016

Doh004
Apr 22, 2007

Mmmmm Donuts...
Whoa, didn't know others felt the same way I did about the mailing list. I mean, I'm just being lazy and want to be "in the know" without doing any of the work. Also, I find it very hard to believe mailing lists are still the best way to have large scale discussions.

eschaton posted:

If you want a fuller-featured archive interface for a list you can always build one, grab the mbox files for the archives, and put it up.

This is silly. No, I don't want to build an archive interface for something as straightforward as discussions.

eschaton posted:

You have discovered one of the other ways to deal with online discussion better than a web site. Web sites are fine for presenting archival information, for interaction that's why we have—and have had—apps.

So what are web apps? Aren't forums apps?

Toady posted:

If people want to follow the mailing lists without using a mail client or being able to post to discussions, Hirundo is a free Swift mailing list archive browser.

Edit: Actually, if you're subscribed to a list, it will open Mail to compose a reply.

This is cool, I'll try it out. Thank you!

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
Hirundo is pretty ok. Just don't leave it running if you value your battery life.

Toady
Jan 12, 2009

It's convenient for browsing older posts, but I find it simpler to follow the mailing lists via a mail client.

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
Nice work :lol:

rjmccall
Sep 7, 2007

no worries friend
Fun Shoe
Professional software developer right here.

Doctor w-rw-rw-
Jun 24, 2008
https://www.twitter.com/mxcl/status/763957931616325632

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
Am I an rear end to say I'm not super-surprised?

Doctor w-rw-rw-
Jun 24, 2008

ultramiraculous posted:

Am I an rear end to say I'm not super-surprised?
Could you explain why you're not super surprised?

ultramiraculous
Nov 12, 2003

"No..."
Grimey Drawer
I mean I wouldn't say I was rooting against him or anything, but I was just reading his tweets earlier and just kinda nodded and thought "yeah this seems right". I can easily accept the idea that Apple wasn't the right environment for the guy who started a whole fuss about how Google didn't hire THE MAKER OF HOMEBREW because he couldn't/wouldn't balance a b-tree. I mean one of his tweets was about how he could have done XXX in 20 minutes if it weren't for those drat nitpickers, which is an attitude that is just kinda counter to the attitude you have to take when shipping a developer-facing feature at Swift's scale.

Again, I'm not like coming for him or anything. I just think his observation that he may have not been the right fit for a massive corporation is reasonable in retrospect.

Adbot
ADBOT LOVES YOU

toiletbrush
May 17, 2010
There's a big thread going on on the Swift evo mailing list at the moment about making it explicit when implementing a method from a protocol, like...

code:
protocol Poops {
    func poop()
}

class Butt: Poops {
    implement func poop() {...}
}
...or...
code:
class rear end: Poops {
    func Poops.poop() {...}
}
I don't really understand why either of these are a good thing - 'implements' is kinda meaningless by itself as every concrete method 'implements', and the second adds a bunch of noise and boilerplate. Plus, I'm not sure what problem they're trying to solve anyway. What are people's thoughts around here?

  • Locked thread