Apple Swift

38 views
Skip to first unread message

Si Brindley

unread,
Jun 7, 2014, 7:08:39 PM6/7/14
to fign...@googlegroups.com
Little bit off-topic... but then again, not, knowing how you feel about newcomers learning about computers/programming, Julz.  I was wondering if you've had a chance to look at Swift and if you had any thoughts?  I'm enjoying noodling around with it. It reminds me of when I was learning SmallTalk at uni, and the Playground and REPL functionality in Xcode means I can instantly start showing my kids how to make the computer "do stuff".

Julian Skidmore

unread,
Jun 8, 2014, 11:12:56 AM6/8/14
to FIGnition
Hi Si,

I've read the online guide to Swift; though not the APIs and I haven't yet downloaded the SDK. Actually, I got a bit of a buzz reading about it, in the same way that I was enthused about Java when I first read about it. I like a number of aspects of the language. I think it's right to get rid of semi-colons for statement separators, they're a constant source of typos. I like strong typing (even though Forth is typeless). I like Swift's object model. I like tuples and the ability to return multiple values from functions (something Forth can do, but Java is really poor at). I like the set of handy built-in functions. I like it's efficiency, the fact it's a native compiler and you can switch from memory-managed code with Garbage collection to hard-core realtime behaviour. It feels like something new in the way that Java felt new (though it's really a kind of Objective C re-imagined) rather than the way C# felt (to me) like Microsoft tweaking Java.

Language design is a cultural maelstrom and in a sense always has been. We tend to think that in the 70s and early 80s there were relatively few languages: Assembler for the wireheads; BASIC for the plebs; Pascal for the purists and BBC Basic for the wannabes ;-) And the also-rans included Forth and Logo cults. Then 'C' and its messy, empowering realism kinda took over from Pascal with 90s C++ / Java taking centre stage before the proliferation of web-friendly scripting languages swamped everything else.

But it's never really been that neat. We tend to forget about the impact of Bliss, Focal, innumerate Autocodes, Lisp (Logo's Hi IQ predecessor), Modula-2, Smalltalk (the daddy of OOPs), Simula-67 (the daddy of OOPs ;-) ); the multi-processor mystical world of Occam-2; BCPL ('C's daddy & the Amiga OS language); Algol (everyone's daddy ;-) ); the one, true Mathematical and PAL programming language Fortran and its business rival Cobol along with Snobol, ML, Miranda, Rebol; random awk-y languages developed every other week for early Unix and weird stuff IBM inflicted on their customers ;-)

And then there was Hypertalk, which brings us back to Swift.

Most languages are caused by misunderstandings - failing to see that Forth is what they should be using ;-) Or rather, misunderstanding that you can fix the problems with a language by creating a new one that's 'simpler' and does the neat little thing you want. The trouble is that the lack of rigour in language development often means (a) it's sudden popularity causes it to be extended beyond recognition and (b) people end up creating their own languages to deal with the hate they feel for the limitations you left in yours.

But the real issue with a zillion languages is that you'll end up with something in the region of zillion -squared language interfaces for everyone else's. And they won't work, because the languages don't map properly. At some point that's counter-productive ;-)

Still, I quite like Swift :-)

-cheers from Julz


On Sun, Jun 8, 2014 at 12:08 AM, Si Brindley <sibri...@gmail.com> wrote:
Little bit off-topic... but then again, not, knowing how you feel about newcomers learning about computers/programming, Julz.  I was wondering if you've had a chance to look at Swift and if you had any thoughts?  I'm enjoying noodling around with it. It reminds me of when I was learning SmallTalk at uni, and the Playground and REPL functionality in Xcode means I can instantly start showing my kids how to make the computer "do stuff".

--
You received this message because you are subscribed to the Google Groups "FIGnition" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fignition+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
                             
                  The DIY 8-bit computer from nichemachines™

NmLogoMini.jpg
FIG - black on whiteMini.jpg
Reply all
Reply to author
Forward
0 new messages