i do a little CNC work (i have a small cnc lathe, and 3 axis cnc mill) on my cnc tools, they are small (compaired to the ones where i used to work my ones are like toys) but they all talk pretty much the same language, just not necciseraly the same dialect.
If you can program a pic - in any high level language, you can master cnc production work, the dialect differences being similar to the differences between say PIC-BASIC, and mabey mikroBasic. same language but done slightly differently.
If you can remeber the old LOGO language that controls those line drawing robots, then your pretty much there:
FORWARD 10
RIGHT 90
FORWARD 10
RIGHT 45
......
only on a cnc you use G codes and M codes, for example..
G01 x,y,z tells the machine to move to position x,y,z
Where the skill comes in, as with pic programming ect, is understanding what the tool is going to do, and learned knowledge.
the example being that its easy to get the a mill to move to a certain position, but if its cutting on its way there, you need to know how fast it should be moving, as well as how fast the chuck should be spinning, otherwise you snap tools - or worse
i know how to program my machines, but i dont have the aquired knowledge of cutting speeds ect, so i still regularly snap tools. I find using CAD/CAM software is best though, as if you set up the software correctly, i wont let you do silly things, or at least it will warn you if you do.
just my $0.02