This is a great point, Jo. I'd love to see a conversation about this, actually, and starting a new thread would probably be the best way to get the widest attention :) On Tue, Jun 14, 2016 at 21:43 Jo Albright <[email protected]> wrote:
> This is probably going to get lost in this massive chain. But I am going > to try to throw out a solution that I am not currently finding in this > conversation. > > There is a huge battle between removing and keeping keywords based on > understanding. In my opinion keywords have a tendency to create more > confusion than any other part of the language. We have a great tool in > place to help teach developers what API methods and variables are and how > they are to be used. Using “Quick Help” you can easily learn more about > that declaration that didn’t make sense. > > Currently we have a lot of keywords that could do different things… for > example “in” is used in for loops to and also used in closure syntax. This > can create confusion easily and at some point start a proposal such as this > one. Instead of removing confusing pieces of a language, what about > teaching others what the keywords do and how they should be used. If Quick > Help was built to inform of what the keyword was doing in its current > context, the developer could easily make sense of what is going on and > choose to correctly use the syntax the way it is supposed to be used. You > could even build in suggestions for other keywords that may have relevance. > > Another example would be “return”. When teaching I noticed a lot of new > developers didn’t understand that no lines of code would run after it, but > then would get confused that you had to pass values on the same line to > return a value. Having Quick Help to not only explain how return works but > also tell you what Type it is expecting (including Void) would be very > helpful in learning. > > Whether or not “where” gets removed from for loops. I would really love > the Apple team to think about extending Quick Help to work with other parts > of syntax like keywords. > > Imagine a new user trying to figure out what “import”, “guard”, “defer”, > “lazy”, etc mean. They have to google or look through docs… Quick Help > could instantly give them more information without leaving their code. > > Thanks, > Jo
_______________________________________________ swift-evolution mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-evolution
