Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This will revolutionize programming education.

Interestingly enough, the time manipulation in Swift was inspired by a game called Braid (http://en.wikipedia.org/wiki/Braid_(video_game)) released back in 2009.

This will help young programmers solidify the connection between giving the computer logical commands and what is outputted on the screen immediately.

Reminds me of how excited I was when Processing (http://www.processing.org/) was released which made it dead simple to interact with a screen and graphics. Didn't have live feedback, but it made it incredible easy to understand OOP.



How do you see it as revolutionizing programming education? I'm pretty ignorant in this area, but it seems like a very high level language that abstracts a ton of stuff - and very platform specific too if I'm not mistaken. Is that really where we want people to start? I would have thought either a highly graphical language with buttons and widgets for early education, then moving onto platform-agnostic stuff like java and obj c would be the thing to do. Maybe you're talking about later stuff, college and beyond, which makes sense - at that point specialization to this extent seems like a good idea. But as I said, I'm pretty out of touch.


I work with someone who previously was a college professor teaching computer science. The university decided to standardize on Mac and iOS hardware, and teach how to program iOS apps as a way to make the CS program more popular.

Trouble was, teaching the entire XCode and Objective C tool chain was not a particularly easy entry point for learning how to develop programs.

(Maybe there were other prerequisite programs, but still, you need to understand C to really understand why a lot of things are the way they are in Objective C, in addition to message passing and object orientation, pointers, and other quirky stuff in order to really wrap your head around iOS development.)

Swift and the corresponding tools look like they would have been a godsend for teaching that class. A more practical way to get students started writing programs they can actually run on their phone.


Swift doesn't look more high level than other scripting languages, but higher level than Obj-C yes, but also much more modern with a good toolset which will probably boost dev productivity.


Live preview. Kids changing a value and seeing their widget move differently or change colour instantly, that can be magical.


This is not new though. See http://debug.elm-lang.org/


There was a time-travelling debugger for Java back in 2006:

http://www.lambdacs.com/debugger/debugger.html

But it never took off, for some reason. And it didn't have the arresting graphical aspect.


Was it inspired by Braid or the work of Bret Victor at http://worrydream.com?


Bret Victor admitted at some point to being inspired by playing Braid.


I posted this elsewhere in this thread: http://vimeo.com/36579366

Bret Victor worked at Apple for a time as well.


> This will revolutionize programming education.

It could, if it were open and not limited to iOS/OSX.


A lot of schools have iPads, I suspect a few may end up buying Mac Minis.


This will also be incredible for ease-of-setup. Install Xcode, and you're ready to go. No other dependencies.

Setting up a dev environment can be one of the big reasons people fail to learn to program.


>This will also be incredible for ease-of-setup. Install Xcode, and you're ready to go. No other dependencies.

1. Buy particularly expensive computer 2. Register as an apple developer 3. Install Xcode, and you're ready to go.

> Setting up a dev environment can be one of the big reasons people fail to learn to program.

Citation needed :)


Actually:

1. Buy a Mac mini for $600, which doesn't strike me as particularly expensive.

2. There is no step 2.

3. Download Xcode from the Mac App Store for free.


Yes, there is a step 2 at this very moment because I can't even download this version of XCode without having developer id.





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: