I frequently get asked all kinds of questions about the best way to learn to write CATIA automation scripts. I also get a lot of questions about how to do things that are actually very straightforward. There are similar types of questions all over the web. Don’t get me wrong, questions are good – I am not knocking them! It just seems that many people are missing the fundamentals – they aren’t aware of what techniques and resources they could have used to figure out the solution on their own.
From polls and surveys I have done, I can see that about half of the readers of this blog consider themselves to be a beginner programmer. Also, the overwhelming majority are engineers or designers who do some programming but don’t really have the time to sit down and teach themselves all they need to know. So, I tried to think back to when I started learning to program. I remember for a long time, there seemed to be an endless list of things that I didn’t understand. As I thought about these things, I just started writing down only the core items that I think you need to learn to become proficient. I realized that all of the items seemed to fall into three categories.
- Understanding the specific language you are programming with
- General programming principles
- Understanding the object model for the application you are programming
This is clearly way too much stuff to cover in a single article, so I decided to make this an ongoing series of articles instead. Each article will fit into one of the three categories listed above. My goal here is not to cover everything. Instead, I will try to be a tour guide and walk you through many of the things I think are important and show some examples and good resources where you can learn more. This is where you need to get off the tour bus and explore on your own. There is no magic way to learn everything in a week or even a month. It takes time, but if you have the desire to learn, follow along and work at it a little at a time.
Also, because this blog attracts a nearly equal mix of newbies and experienced programmers, this new series of articles won’t be consecutive because they may not interest the experienced programmer as much. So, I’ll try to mix them in with other more advanced topics from month to month. I am starting to write this new series now – watch for them starting in May…