Spork Boards
Hot Spork Chat : Join us in an AIM chat room!

Corvettes and cougars

bahamut's Avatar Picture bahamut – June 28, 2013 06:32AM Reply Quote
All matters midlife since are any of us young anymore?

bahamut – June 28, 2013 06:39AM Reply Quote
A couple of years ago I decided take up guitar lessons. It's going well! Very enjoyable and I have learned a lot abut how music is put together.

So now onto my next folly...I was pretty damn good at coding back in the old days but haven't really done anything in the last 25 years save PHP hacking which I was fine at. It's actually all the Macs fault. I never got into C that much, way too formal for me. But maybe I should take another look? How hard is it really? With my son hitting 8 next year, it'd be great to be able to expose him to coding and while we could take up so,etching simple, I'd love to be able to write programs for either my Mac or the iOS. It strikes me that they are still a total bitch though, right? Or am I wrong? What sort of time investment am I looking at?

porruka (Admin) – June 28, 2013 07:09AM Reply Quote
Failure is pre-greatness.
Baha,

The language means far less (not zero, but less) than the mindset of deconstructing problems into solvable sets.

I would highly recommend the Big Nerd Ranch intro books (pick your target -- I'd probably go iOS first then back to Mac OS, since they're similar enough).

The in-person BNR courses are 1-week. Self-paced through the book will probably take 3-4 weeks. If you're really needing to start from scratch, probably double that.

iOS had been "on my list" for a while (and I had been keeping my hand in code at web level - PHP, JS, etc) but getting in and writing apps has really reignited my coding side and spurred the "big picture" ideas as well.

Go for it, I say.

ddt – June 28, 2013 08:01AM Reply Quote
Funny, I tried to start learning bass a few years ago (figured fewer strings, no chord contortions) to help train my brain and regain some manual dexterity. But since I didn't know how to read music and for other reasons, kind of failed. Anyone want to buy a bass? (And only after all that, someone told me bass is harder to learn than guitar.)

As for kids and coding, there's always Scratch. And I'd recommend looking up @lisawilliams, who has recently been helping out with kids and code.

Oy, my lumbago.

ddt

bahamut – June 28, 2013 09:42AM Reply Quote
DDT, if you have the bucks (and it's a few!), get a teacher. You don't need to read music if you are with a good instructor. Even though I can read music, we barely use conventional notation, usually using TAB or a modified syste. I tick marks instead.

ddt – June 28, 2013 09:58AM Reply Quote
Thanks, Baha. Seconded on that. I tried lessons, but all I could afford (time- and money-wise) at the time was 30min a week. Which did not work well. And yeah, I tried looking at tabs (could start to get the bass intro to Cannonball), but it's all about how to do it, good habits, training the fingers. And I just didn't have the time or motivation to practice, practice, practice.

ddt

johnny k – June 28, 2013 10:31AM Reply Quote
Especially for your son, maybe you want to start with a simpler interpreted language, if not Scratch. I found Python to be easy like Sunday morning to pick up - just fun to code in. The only syntax quirk is indenting, but no worry about semicolons, memory allocation, pretty loose in typing. Once you learn a bit, you'd be amazed at how often your common-sense guess of how to do something works. A command line where you can try out statements without compiling is a powerful learning tool. And then Python is a great language to do web development in, with a framework like Flask or Tornado. No mobile development, but Rome wasn't built in a day, and once your son groks the concepts, a new computer language is easier than learning a new human language.

Javascript meets some of these criteria, but has a lot of C baggage and quirks in exchange for being extremely useful in many environments. If you go right to iOS programming, I'm not sure I would start with C and build up - you can avoid dealing with raw C in iOS programming most of the time, and the ObjC and C paradigms are weird to switch between.

ddt – June 28, 2013 11:00AM Reply Quote
Funny, I'm going through a Python class now, and remembering the syntax of colons (when to put them in -- which is usually where JS puts them) is frustrating. Not to mention the whole global v. local variable mess. But I think some of that frustration is poor lesson writing in Codecadamy.

Back to the thread topic: I have less than no desire to trade in my car for a small convertible.

ddt

John Willoughby – June 28, 2013 12:05PM Reply Quote
Save us, Lord, from the furries of the Norsemen!
Xojo, formerly RealBasic, is a friendly language (object oriented BASIC) with a good IDE. It's free to putter around in and run your apps from within the IDE. It gets very expensive if you actually want to compile to a stand-alone app, but for learning to code you wouldn't need to do that. If you do choose to pony up the $300 for deployable apps, then you can deploy to Mac, Windows, or Linux. I haven't used it in a few years, but I was able to make apps that were very OS X native in look and feel with very little effort. Windows compatibility was a quick re-compile, though supporting some Windows UI conventions required a little additional effort. I never tried Linux builds. You can also make web-deployable apps for $400, but I've never tried that, either.

johnny k – June 28, 2013 04:50PM Reply Quote
Quote

remembering the syntax of colons (when to put them in
It's only when you're about to indent, that is, you have a chunk of code you want to wrap up into a function or a if/then clause. Or rarely, when specifying a range in a list. Global/local is always confusing. Until you're writing high performance code, go make everything global if you like. The bigger point is that with something like Python, you can quickly test your assumptions and learn from them. Xcode nowadays does give lots of helpful hints and will even suggest the code that you meant to type, but it's more or less constantly compiling in the background, and really spins up the fans.

To tie it to the thread, I now realize life is too short to worry about optimizing code. Get it to work quickly. Python is great. Weirdly I first learned it while writing a Mac app back when there was a ObjC/Python bridge. Just made things messier eventually, but a great idea in concept. Learning a language is only half the battle - you still have to grok the APIs for your platform, and modern OSes are built on such a stack of frameworks that you have to dig into conceptual stuff much more than just writing code.

I know some people who swear by RealBasic, but after my Python/ObjC bridge experience I'm scared to try anything that's in-between. Still, they've been doing it for a long time.

ddt – June 28, 2013 06:21PM Reply Quote
Interesting way to remember that, JK -- thanks! I've been trying to tie it to situations, which taxes my cognition.

To keep it to the topic of the youfs: maybe something that immediately is interactive with the internet would be a good emotional hook. Whatever works with Flickr APIs, with JSON, with things like openheatmaps, so that the tyke can immediately start scraping and presenting stuff that has some direct interest in the world. That also offers some ways to get around, "well, I dunno what I want to make" issues when dealing with programming languages.

ddt

porruka (Admin) – June 29, 2013 11:13AM Reply Quote
Failure is pre-greatness.
Quote
ddt
Interesting way to remember that, JK -- thanks! I've been trying to tie it to situations, which taxes my cognition.

To keep it to the topic of the youfs: maybe something that immediately is interactive with the internet would be a good emotional hook. Whatever works with Flickr APIs, with JSON, with things like openheatmaps, so that the tyke can immediately start scraping and presenting stuff that has some direct interest in the world. That also offers some ways to get around, "well, I dunno what I want to make" issues when dealing with programming languages.

ddt

Premature optimization and over-architecting (in life and in code) are both bad things.

AFA "what to write (do)" in code/life, look around. Find a problem to solve. It doesn't have to be a globally relevant problem, just an end action or accomplishment. THEN look for tools that will help achieve that. Code is one, hardware might be another, creative communication a third.

There is much creative good that can come out of untethered exploration how to achieve a given what/why.

ddt – July 02, 2013 02:34PM Reply Quote
Wow, some of Codecadamy's Python lessons are poorly written. If _I_ can tell a hint is erroneous, there's a problem.

ddt

Sorry, only registered users may post in this forum.

Click here to login