

Best web framework for non-programmer beginners (or kids) - tunesmith

Recently my girlfriend has started expressing an interest in programming.  Just for some hobby projects, simple website ideas to collaborate on with me, etc.<p>As I'm a programmer, I'd like to gently introduce her to html, css/javascript, and some simple controller/model/db stuff, but as simply/gently as possible.  It'd be a good excuse for me to learn something new, too - I don't think my day-to-day work in java spring would be appropriate - too huge.  She started learning Ruby on codeacademy but I'm concerned that Rails might burn her out since I've heard the initial learning curve on that can be brutal.<p>What do you think is the best framework to pick if you're trying to introduce web programming to a non-programmer?  We're biased towards a pro language that we can use on Macs, but otherwise agnostic.  Also curious what you'd recommend for a kid's first framework since I have similar questions about my godkids and nieces (all in the 8-14 age range).
======
mhd
For your gf, I'd recommend Sinatra. Starting with HTTP basics is a pretty good
idea and there's not a lot hiding that in there. You can put your whole app in
a single file and expand on that later, add models etc. You might not even go
there and switch to the JavaScript (CoffeeScript?) branch pretty soon, where
Sinatra basically does do the REST backend.

For kids, it's a bit difficult, especially given the wide age bracket (14-year
old basically can form their own startups…). I would recommend Python over
Ruby there, though. No Starch Press has a good "Python for Kids" book (as far
as I can tell), listed as 10+. That seems to do a few small GUIs (tkinter) and
games first. Probably more interesting in the beginning.

For teaching web programming, I'd just make a simple super-framework, i.e.
just a few pages on top of a "real" framework (flask?), that allows them to do
the same stuff some of us did in BASIC way back when. So at first a simple
PHP-like inline python (cf. eruby) template page where they can create output
dynamically. Then maybe a ready-made form handler that forwards to a "result"
page so that they can play with input handling.

One could theoretically do a lot of what the aforementioned book does from
within a web page context, i.e. start with canvas-based games. That would
really make CoffeeScript preferable, unless one were to look for an even
simpler transpiled language.

------
NicoJuicy
For kids it has to be more "visual" appealing.. Check out Kudos for
[http://research.microsoft.com/en-
us/projects/kodu/default.as...](http://research.microsoft.com/en-
us/projects/kodu/default.aspx) , but that is for programming.

For Web Development, i think you just need intrest and start from zero. I
think your girlfriend is old enough to learn how to research things. Help her
understand the documentation so she can do it on her own and get to you when
she has real trouble. (eg. learn her to Google efficiently :P)

Why don't you create an controller which results things as json, give her a
basic responsive template and let her develop something with jquery (eg. a
todo list), that should give some basic understanding.

