Re: Well Well

1

Years of programming language research have finally eliminated the need for semicolons!

I find this ultra-weak compared to, say, Mozilla's efforts with Rust.


Posted by: nosflow | Link to this comment | 06- 2-14 1:41 PM
horizontal rule
2

I like using semicolons.


Posted by: Moby Hick | Link to this comment | 06- 2-14 1:48 PM
horizontal rule
3

Actually.


Posted by: Moby Hick | Link to this comment | 06- 2-14 1:50 PM
horizontal rule
4

Can you say more, nebidiah?


Posted by: ogged | Link to this comment | 06- 2-14 1:51 PM
horizontal rule
5

Wanted: Swift developers. Minimum 3 years experience.


Posted by: Tom Scudder | Link to this comment | 06- 2-14 2:01 PM
horizontal rule
6

Having looked up Rust... they're not really solving the same problems. It looks like Swift is to Objective-C as Ruby or Python is to C; built on the same foundation, but easier, safer, faster in terms of development time. Only since nobody really uses Objective-C outside of Apple's ecosystem, it's not likely to have much of an effect industry-wide.

Rust, OTOH, is intended as a general-purpose system language, so you can build your services using it. Much broader reach.


Posted by: Josh | Link to this comment | 06- 2-14 2:04 PM
horizontal rule
7

It just irks me that apple refers to "the latest research on programming languages" and it means what, you don't have to use include files because there's a module system, memory is managed for you (doesn't say how), and there's some form of type inference? Welcome to the early 80s! The (admittedly quite limited) stuff I've read about it thus far suggests that it's yet another language designed by people who actually don't know much at all about programming language theory. Which is not the case with Rust.


Posted by: nosflow | Link to this comment | 06- 2-14 2:15 PM
horizontal rule
8

Also, fuck the new programming language. The really important announcements were a) Swype! finally! and b) intents (or whatever Apple's calling them to pretend like they didn't rip off the concept from Android).


Posted by: Josh | Link to this comment | 06- 2-14 2:16 PM
horizontal rule
9

I have no idea what your b) is referring to.


Posted by: ogged | Link to this comment | 06- 2-14 2:58 PM
horizontal rule
10

On Android (and now in iOS 8), apps can register with the OS that they're capable of handling certain actions. So if you install a third-party browser or maps app or photo-sharing app, when you click on a link or an address or a photo, the OS will open that app rather than the default. It makes moving information from one app to another much easier than it currently is in iOS (and also means you're less locked in to the choices Apple has made for you).


Posted by: Josh | Link to this comment | 06- 2-14 3:05 PM
horizontal rule
11

So Yelp could potentially be configured to open Google Maps instead of Apple Maps? Because that would be nice, in a zeroth world problems kind of way.


Posted by: Otto Von Bisquick | Link to this comment | 06- 2-14 3:07 PM
horizontal rule
12

Ah, yes, that is a big deal, and was one of the worst things about iOS. I think they're calling the inter-app stuff "extensions."


Posted by: ogged | Link to this comment | 06- 2-14 3:08 PM
horizontal rule
13

11: Well, that's the idea. Who knows how it'll work in practice.


Posted by: Josh | Link to this comment | 06- 2-14 3:14 PM
horizontal rule
14

The Shadow knows.


Posted by: Moby Hick | Link to this comment | 06- 2-14 3:47 PM
horizontal rule
15

Apple needs a (slightly more) modern development language, it does not care about Rust, and it is not about to cede control of anything to anyone else ever again.


Posted by: Gonerill | Link to this comment | 06- 2-14 3:53 PM
horizontal rule
16

It seems that we're at a point where programming languages themselves are shiny new toys, and Apple needed to give one to its developers. (Which is not to say that Obj-C didn't, objectively, if I may, need updating.)


Posted by: ogged | Link to this comment | 06- 2-14 4:08 PM
horizontal rule
17

Haven't we always already been at that point? I remember people bitching (quite justifiably) about having to develop in Pascal on early Macs, and this kind of thing happens all the time in Windows, if you can squint and ignore all the goofy backwards compatibility.


Posted by: Sifu Tweety | Link to this comment | 06- 2-14 5:35 PM
horizontal rule
18

There's an official book up at https://itunes.apple.com/book/swift-programming-language/id881256329. Having skimmed it, I'd say 6 is correct. Apple might be calling Swift a new language because that makes it more of a toy, but it seems to have been designed mostly as a shorthand for developers who are used to thinking in Objective-C. So it's in line with all the other conveniences they've been trying to shove into their C compiler the last few rounds (array and dictionary literals, automatic reference counting, block syntax). That trend just got to the point where it couldn't maintain compatibility with C of any sort.

My guess is that a lot of apps will end up using Swift for prototyping and/or boilerplate portions, and will fall back to Obj-C for more complex or customized stuff. What I haven't seen is much explanation of how Swift interacts with Obj-C and its Babel of existing libraries - how much of a pain it's going to be to pass objects back and forth, and so on. That's going to be a big part of making it useful.


Posted by: lourdes kayak | Link to this comment | 06- 2-14 5:35 PM
horizontal rule
19

I understand that Swift is a bit like Go, and I've been meaning to learn Go, which seems pretty cool. Its a terse, powerful language that compiles into a nice, small binary. The only drawback is that Go it comes out of the Google Borg.

But, it seems to me, the play that Apple is running against Google with Swift is the same one that Microsoft ran against Sun in the early 2000s, except the languages in question at that time were C# and Java.


Posted by: Spike | Link to this comment | 06- 2-14 5:42 PM
horizontal rule
20

Also, I wonder if Apple will get sued by the developers of the existing Swift programming language.


Posted by: Spike | Link to this comment | 06- 2-14 6:08 PM
horizontal rule
21

The makers of that one seem to be the US government.


Posted by: ogged | Link to this comment | 06- 2-14 6:35 PM
horizontal rule
22

Update: I may have been too hard on Swift.


Posted by: nosflow | Link to this comment | 06- 2-14 6:40 PM
horizontal rule
23

22 needs detail!


Posted by: Sifu Tweety | Link to this comment | 06- 2-14 6:43 PM
horizontal rule
24

As a person who actually doesn't know much at all about programming language theory, I aim to someday create a new language called "Sluggish".


Posted by: Otto Von Bisquick | Link to this comment | 06- 2-14 6:44 PM
horizontal rule
25

I can see overlooking some little open source thing on GitHub, but ripping off the name of an active government project is an affront to the American people. Why does Apple hate our troops?


Posted by: Spike | Link to this comment | 06- 2-14 6:48 PM
horizontal rule
26

It is sort of cool, in that it is sort of a stake in the ground. A useful one, no doubt. But modest.

I don't know how to disabiguate this. Java actually was fresh and cool. It turned to shit. This is a slightly interesting turn on C, at best a new version of Apple. Which is great, and fine.


Posted by: grumbles | Link to this comment | 06- 2-14 7:49 PM
horizontal rule
27

Yes, how dare they defile the proud and noble institution of the government copyright, the plucky little ⓖ.


Posted by: Minivet | Link to this comment | 06- 2-14 8:19 PM
horizontal rule
28

The mythical g spot.


Posted by: Moby Hick | Link to this comment | 06- 2-14 8:22 PM
horizontal rule
29

Wait. Which one is mythical, the g spot or the clitoris?


Posted by: Moby Hick | Link to this comment | 06- 2-14 8:23 PM
horizontal rule
30

I'm going to create a programming language that's just like an existing language, except every executable line will start with the phrase "Simon Says:". All other lines will be treated as comments.


Posted by: fake accent | Link to this comment | 06- 2-14 9:14 PM
horizontal rule
31

Maybe you should use your new programming language to build Moby an interactive map to the clitoris.


Posted by: Robert Halford | Link to this comment | 06- 2-14 10:42 PM
horizontal rule
32

7 is how I feel whenever I hear about any new language. I am curmudgeonly.

But if it's Objective-C with some nice conveniences built on it, I suppose I can't complain. It has needed an overhaul.

and for a weak attempt at defending Java: it gets a bit better every year (yay lambdas), and the JVM is a nice platform.


Posted by: dalriata | Link to this comment | 06- 2-14 11:02 PM
horizontal rule
33

I learned something from this thread. But I know nothing about programming or programming language theory. I've been meaning to learn R just because it's way cooler than STATA and open source, but I haven't even made time for that. Even in STATA I have a terrible habit of cleaning & analyzing my data from the command line with the history saved rather than from elegant little programlets.


Posted by: simulated annealing | Link to this comment | 06- 3-14 1:42 AM
horizontal rule
34

So Yelp could potentially be configured to open Google Maps instead of Apple Maps? Because that would be nice, in a zeroth world problems kind of way.

As I understand it (from reading summaries and a really quick skim of the Apple developer documentation) you still can't change default behaviours on an OS-wide basis, apart from for keyboards. You (ie a dev) write an extension for your app (eg a file viewer, Google Maps). That extension has to plug into one of a limited number of "extension points" (eg share, photo editing, notification centre widgets). If a given third party app makes use of those extension points (eg by having a share button), then your extension is among the list of options for them to choose from. I assume devs of the "host" apps are free to allow users to configure defaults, but as far as I know you can't tell iOS to, for instance, always open images in a particular non-Apple photo editor.


Posted by: Ginger Yellow | Link to this comment | 06- 3-14 2:50 AM
horizontal rule
35

You can't get this sweet IMSI catcher detector app for iOS: https://github.com/SecUpwN/Android-IMSI-Catcher-Detector/releases


Posted by: Alex | Link to this comment | 06- 3-14 3:58 AM
horizontal rule
36

I like Java well enough, and I like the JVM, but there is something to be said for languages that don't require the installation and maintenance of a big-ass virtual machine and/or language implementation. I suspect thats the direction things will be going for a while, especially as there is a shift from running on servers or powerful desktops to much more resource-constrained environments, like mobile phones and progrmmable toaster ovens.


Posted by: Spike | Link to this comment | 06- 3-14 4:59 AM
horizontal rule
37

33: That doesn't sound very bad, at least for small projects.


Posted by: Moby Hick | Link to this comment | 06- 3-14 5:06 AM
horizontal rule
38

Like; Moby; I; like; semicolons.

Having not used Objective C and never programmed for iOS (I wrote a few things for the old MacOs way back in the day), I have no dog in this fight.

I like Java and can tolerate things like Ruby and Python that are derived from it.

Once you've learned a bunch of programming languages, one more, unless it's really different (lookin' at you, Haskell), doesn't get the blood racing.

And I agree with Spike about the JVM, but the alternative is just to load a bunch of library stuff, so "eh."

I do adore read-eval-print loops.


Posted by: DaveLMA | Link to this comment | 06- 3-14 6:01 AM
horizontal rule
39

I like Java and can tolerate things like Ruby and Python that are derived from it.

??


Posted by: essear | Link to this comment | 06- 3-14 6:06 AM
horizontal rule
40

Is Ruby derived from Stata?


Posted by: Moby Hick | Link to this comment | 06- 3-14 6:08 AM
horizontal rule
41

39: I also thought that was mysterious, especially since Python predates Java.


Posted by: Sifu Tweety | Link to this comment | 06- 3-14 6:10 AM
horizontal rule
42

Maybe it's java in the sense of "coffee". Maybe Guido van Rossum was drinking coffee at the time.


Posted by: essear | Link to this comment | 06- 3-14 6:14 AM
horizontal rule
43

I really should google Python someday and see what it is.


Posted by: Moby Hick | Link to this comment | 06- 3-14 6:15 AM
horizontal rule
44

Huh, apparently Ruby and Java were basically contemporaneously launched. I would have figured Ruby was a few years later.


Posted by: Sifu Tweety | Link to this comment | 06- 3-14 6:19 AM
horizontal rule
45

Python is derived from Java in as much as it does that thing with the bytecode. It would seem a lot more like Java if it hadn't succumbed to the evil machinations of the Whitespace Mafia.


Posted by: Spike | Link to this comment | 06- 3-14 6:30 AM
horizontal rule
46

What's the thing with the bytecode? UCSD Pascal had bytecode. Smalltalk had bytecode.


Posted by: Walt Someguy | Link to this comment | 06- 3-14 6:33 AM
horizontal rule
47

It's always kind of surprising how old Ruby is. (It was a language nerd language that I heard Perl people mention occasionally until DHH wrote Rails and a million bros started writing moronic DSLs.)


Posted by: snarkout | Link to this comment | 06- 3-14 6:42 AM
horizontal rule
48

Well, its actually more accurate to say that Java and Python were both largely inspired by Smalltalk than it is to say that Python was derived from Java.


Posted by: Spike | Link to this comment | 06- 3-14 6:43 AM
horizontal rule
49

The installation issue is a good point; Oracle has done a horrible job shepherding the JVM. Particularly so with the switchover from Apple to Oracle management for Java on OS X.

Haskell is pretty similar to the MLs and other functional languages; there's some minor syntactic differences (just different enough to trip you up, of course), but if anything it's closer to imperative languages than them.


Posted by: dalriata | Link to this comment | 06- 3-14 6:52 AM
horizontal rule
50

By the way, I've finally built the Python distribution I have been wanting. Basically, its all the Scientific Python goodies running under Python 3.4, with all of it running inside a Docker container, accessed through the IPython Notebook web-based IDE.

You will need to install Docker if you want to try it out. You should be running Docker anyway, because containerization platforms are the future.


Posted by: Spike | Link to this comment | 06- 3-14 6:56 AM
horizontal rule
51

Maybe it's the narcissism of small difference, but I really don't see how Python is very much like Java, aside from being languages with classes and not-very-terse syntax. A particular distinction---it's superficial but makes a big difference---is that Python doesn't encourage you to make every damn thing an object. (Also: the types.)


Posted by: Yawnoc | Link to this comment | 06- 3-14 6:58 AM
horizontal rule
52

50: Dockercon meetup?


Posted by: Yawnoc | Link to this comment | 06- 3-14 7:00 AM
horizontal rule
53

I guess I should point out that Haskell is lazy and really infatuated with its Monad library, but as Yawnoc said, small differences.

I agree that Python is not very Java-like; the static-vs-dynamic typing is a pretty big difference. The semantically meaningful whitespace isn't a big difference from a language design perspective, but it gives it a difference feel. And didn't it start out less object-oriented than it is now?


Posted by: dalriata | Link to this comment | 06- 3-14 7:01 AM
horizontal rule
54

Man, I'd love to go to Dockercon, but I'm stuck here in the Caribbean.


Posted by: Spike | Link to this comment | 06- 3-14 7:02 AM
horizontal rule
55

"Docker" still makes me think of pants for old people.


Posted by: Moby Hick | Link to this comment | 06- 3-14 7:02 AM
horizontal rule
56

I actually hardly ever use the object-orientedness of Python, mostly because I cannot bring myself to type the word "self" inside of a function declaration.


Posted by: Spike | Link to this comment | 06- 3-14 7:05 AM
horizontal rule
57

The monads and do-notation are the only things that give Haskell, with no notion of benign effects, a more operative feel than ML and descendants, so I find dalriata's remarks confusing!


Posted by: nosflow | Link to this comment | 06- 3-14 7:32 AM
horizontal rule
58

57: That's all I meant, but they're a pretty big thing.


Posted by: dalriata | Link to this comment | 06- 3-14 7:41 AM
horizontal rule
59

Whenever I read "Monads" I think "Gonads." Because I am 14 years old.


Posted by: Spike | Link to this comment | 06- 3-14 7:44 AM
horizontal rule
60

...and I said above that they're "small differences". I'm being perfectly consistent today. So, to dig myself out of a hole: those are small differences (well, not really the no notion of benign effects part..), but qualitatively they lead to programming in Haskell feeling very different than an ML.


Posted by: dalriata | Link to this comment | 06- 3-14 7:45 AM
horizontal rule
61

59: Little known fact, but most of Leibniz's philosophical work was written while giggling.


Posted by: dalriata | Link to this comment | 06- 3-14 7:45 AM
horizontal rule
62

Upon first receiving a copy of Newton's Principia he is reputed to have exclaimed "they killed the Giggler!"


Posted by: Sifu Tweety | Link to this comment | 06- 3-14 7:48 AM
horizontal rule
63

For we experience in ourselves a condition in which we remember nothing and have no distinguishable perception; as when we fall into a swoon or when we are overcome with a profound dreamless sleep. In this state the soul does not perceptibly differ from a bare gonad; but as this state is not lasting, and the soul comes out of it, the soul is something more than a bare gonad.


Posted by: lourdes kayak | Link to this comment | 06- 3-14 8:34 AM
horizontal rule
64

There's a kind of cookie my wife buys called "Leibniz," and both my kids, independently, asked if they were in the shape of monads

Liberal Arts!


Posted by: idp | Link to this comment | 06- 3-14 8:39 AM
horizontal rule
65

64: Choco-Leibnitz, isn't it? I like putting those on a plate with Fig Newtons, and watching them fight.


Posted by: LizardBreath | Link to this comment | 06- 3-14 8:46 AM
horizontal rule
66

Mmm, Choco Leibniz. I have some in the fridge right now.


Posted by: Ginger Yellow | Link to this comment | 06- 3-14 8:48 AM
horizontal rule
67

65: That's a great idea! I'll have to bring a plate or two of them in to work on Pi Approximation Day. And conveniently it doesn't require any skill, like baking a pie does.


Posted by: dalriata | Link to this comment | 06- 3-14 9:04 AM
horizontal rule
68

Obviously, not my joke originally.


Posted by: LizardBreath | Link to this comment | 06- 3-14 9:07 AM
horizontal rule
69

65 - Bring some Seinfeld-style black and white cookies too and claim that your plate is a tribute to integration.


Posted by: snarkout | Link to this comment | 06- 3-14 10:09 AM
horizontal rule
70

39: "??"

What I should have said written is that Python looks very similar to Java (modulo the semicolon thing). When I typed "Ruby" I mis-remembered "Groovy," which I have used a reasonable amount: it's the language SoapUI uses for scripting. Ruby doesn't look as much like Java, though it shares a resemblance. Ruby didn't really get popular until Ruby on Rails came out, right?*

And yes, there is nothing new under the sun in programming languages. Haskell is a functional language that has a lot of ideas from Lambda Calculus and/or Lisp (among others). It looks pretty different, and I've found it harder to wrap my head around it because I hardly ever use it.

* Sounds like a rock band and album, doesn't it?


Posted by: DaveLMA | Link to this comment | 06- 3-14 10:39 AM
horizontal rule
71

I haven't used SoapUI in a long time, but I recall it was pretty awesome. There aren't many tools I feel that way about.


Posted by: Spike | Link to this comment | 06- 3-14 11:06 AM
horizontal rule