I'm skeptical of visual programming, especially the most obvious 'blocks instead of text syntax' type. Spreadsheets use a formal, text-based language -- and end users learn spreadsheets fine!
formal text-based languages sound like they'd be intimidating, but have people studied the actual difficulties with learning the conceptual framework of programming? (IME people who aren't already familiar with it have a hard time with variables - but spreadsheets solve this)