learnt to programme using Flash. Today Flash is a bloated monster of a programme that wants to be Illustrator, iMovie and xCode all at once (its downfall is worthy of another post). Even though I no longer use Flash, learning it was not a waste of time since once you learn one programming language, you know all of the programming languages. For this reason I recommend people start on a language that is easy to learn, like Processing, and pick up the rest later. There are programming languages built into most design programmes such as 3dsMax, Rhino and Vector Works. It has been my experience that these languages often do not have the documentation and instructions necessary to help someone new to programming.
Processing is a free download and is focused on artists who are new to programming. There are some great lessons provided and there are heaps more on the internet. Just like learning French, it helps to become immersed in the language rather than just flicking through tutorials, so jump into the deep-end with a project and learning will become far more meaningful. One resource I often use is OpenProcessing where people post their programs and you can see both the code and what the code does. These programs can be modified and adapted to your needs provided you attribute the original work. Three particularly architectural examples:
Sight analysis – finds areas of plans that would be most frequently seen.
Dynamic relaxation – mesh behaves like a membrane and takes on form with least stress.
Photovoltaic cell shaper – A bit ugly, but it is a tool to design the optimum photovoltaic cell based on location.