Live data from Hacker News

Chris Lattner on Swift

nondot.org

61–70 of 203 posts

Re: Chris Lattner on Swift

#61
post #46

Earlier quoted context omitted.

"Underneath" just means "the level below where I'm writing". This has pretty much always been true, the way systems are layered. You write install scripts? Apps? Libraries? rendering engines? Drivers? OS? Firmware? Chip layout? You probably don't really know what goes on 'underneath' your layer.

Sometimes the occasion arises where it's useful to look at the assembly language being generated by your compiler. The vast majority of developers I know completely freak out at the idea. I might as well suggest that they deadlift a car. A few take it calmly, but don't really grasp what the stuff does or what it means. I can probably count on one hand (maybe two?) the number of developers I know who can actually do s…

Agreed. I spend half my debugging time with the disassembly turned on - removes ALL the ambiguity. It's like pulling teeth to get other developers to try it. Once you do, you kind of get addicted to it.

Re: Chris Lattner on Swift

#62
post #15
post #11

It is nice that he mentioned Light Table. I would not be surprised if Swift ends up really benefitting Clojure adoption indirectly. I think one of the big hangups for newcomers is that, if you don't have experience with a Lisp, it's often difficult to understand the benefits of interactive development. If a large amount of new programmers become exposed to it, they'll be more open to other options that provide simila…

The only thing that makes me sad is that because of their focus on secrecy, they're doomed to relearn all that we learned along the way. Having played with the swift playground stuff, just an hour long conversation could've made a big difference. Such is the way of Apple though.

> The only thing that makes me sad is that because of their focus on secrecy, they're doomed to relearn all that we learned along the way.

But you're not focused on secrecy, so you can publish the lessons you've learned along the way publicly. That way, everyone, including Apple, can skip some of the mistakes. Wouldn't that be the case?

Re: Chris Lattner on Swift

#63
post #47
post #34

Earlier quoted context omitted.

I think it's because Swift is so new only a small percentage of people have actually looked at the language spec. First thing I thought of when I saw all the func calls, curly braces and beaks (->) was "this looks like in between Lua and Go" After starting to dig into the book, it's pretty apparent that isn't the case

It's bizarre how focused programmers are on syntax. It seems like half the comments about Swift have been comparing it to languages which it superficially resembles at the syntax level. And the other half of the comments are along the lines of, "I can't stand Objective-C's brackets, this looks much better." It's like that scene from The Matrix: "I don't even see the code. All I see is blonde, brunette, red-head." I'd…

No different from learning a human language I think.

The first thing you're exposed to is its sounds and symbols.

They look & sound strange and your brain instinctively tries to make sense of them by comparing it to something you are already familiar with.

Then when you dig into it you begin learning vocabulary and grammar. You focus on that for a long time until the sounds sound less like gibberish and resemble something like what you've been practicing putting on paper.

Once you get comfortable with the constructs and stop focusing on them you can start conversing - putting more effort into what you're trying to say then how you would go about saying it.

After that then you can start picking up all the idioms, colloquialisms, cliches, double entendres, etc

Finally you can start inventing your own.

Re: Chris Lattner on Swift

#64
post #51

I like Chris and what he has done, but... >>The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas... Seriously? What is a "documentation guru"? What is a "compiler optimization ninja"? I find language like this so distracting and asinine that I had to stop reading. Am I the only one?

Yes, you are the only one. Replace "guru" with "expert" and "ninja" with "expert" and continue reading. There are already no real ninjas in the world and soon there will be no real gurus. No one thinks twice when someone is called a marketing wiz (there are no real wizards any more). Language changes and metaphors using archaic terms are commonly introduced.

That's funny, because when such language is used in job postings, they are overwhelmingly frowned upon by HN folks. But I guess it's OK when someone like Chris does it...

edit: judging by the downvotes, he seems to have a lot of fans. :)

Re: Chris Lattner on Swift

#67
post #26

Earlier quoted context omitted.

I don't understand why people keep comparing Swift and Go, as they have diametrically opposed philosophies. As stated succinctly by Bryan O'Sullivan (one of the most prominent people in the Haskell community) on Twitter: "It's interesting to compare Swift and Go. One has caught up to the 1990s in language design, with the other firmly in the 60s." Swift includes many of the language features that have been touted by…

As kryptiskt mentions in a separate comment below, its not that go's designers ignored language research. Rather, its that they took a decidedly minimalistic approach to language features. What really surprises me is that Apple didn't put any concurrency features into Swift. Having a language with better block/closure support will certainly help, but imagine what they could have done with some additional work. Would…

Apple has Grand Central Dispatch. It seems that Swift plays well with it, and I won't be surprised if more concurrency-model-as-library stuffs pop up in the future. It's a sound approach and avoids tying the language itself to any singular model.

Re: Chris Lattner on Swift

#68
post #10

Chris demonstrated Swift and Playgrounds at WWDC 2014: "I can build anything with Swift... from a social media application, all the way up to a high-performance, 3D game using Metal." https://www.youtube.com/watch?v=nKMAV6owYh4#t=6436 He wrote this chapter (entitled LLVM ) in the book, "The Architecture of Open Source Applications": http://aosabook.org/en/llvm.html * * * On the general topic, I wrote this [1] a littl…

Did he mention anywhere Swift will be open sourced, the way LLVM has been? If not, why?

According to Lattner himself, looks like the decision to open source has not been made yet.

"@Ahti333 right now we are focused on finishing it up for the final release this fall."

https://twitter.com/clattner_llvm/status/473907124288770050

Re: Chris Lattner on Swift

#69

Another interesting thing to note is that because Swift really began in roughly mid-2010, Steve Jobs probably had his hand at least slightly in it (obviously not as a programmer). I guess my point being that there was likely some more specific reason for why it gained momentum later.

I dunno, it's possible but OTOH it's hard to imagine a guy like Steve Jobs, for whom (as far as I know) coding wasn't a primary concern, and who was dealing with cancer and much bigger fish in the i* products, being any more than tangentially involved in what would have been at the time a fledgling research language project. He was probably aware that it was happening, but I doubt that he played much of a role. Apple…

I think it very likely Apple have all kinds of 1, 2, 5 and 10 year road maps for all their products (software and hardware).

Given that almost all of them rely so heavily on Objective-C, I expect they've had a road map for that (and XCode and the whole tool chain) for a very long time.

Given the plan is now to phase out ObjC and replace it entirely with Swift, I think it's extremely unlikely Steve didn't know about it, and endorse it.

Re: Chris Lattner on Swift

#70
I'm not sure if it's XCode / playground acting up, but array equality is broken for me: `[1, 2, 3] == [1, 2, 3]` returns false. This seems to contradict the core declarations though:

/// Returns true if these arrays contain the same elements.

func ==(lhs: T[], rhs: T[]) -> Bool

Works alright for dictionaries. Is there a bug tracker for Swift anywhere to report this?

Edit:

Whoops, copied wrong declaration. ContiguousArrays actually work fine, but require an extra cast. e.g.

ContiguousArray([1, 2, 3]) == ContiguousArray([1, 2, 3])

Post reply on HN