Thanks but to optimise it for programming is there anything i can do such as upgrade it etc. And after the upgrade will it be a good programming rig or what?
Like I said, the X100e (and all other desktops/laptops/netbooks made since 2002) is powerful enough for programming even without any upgrades. The only way you could make it a better programming rig would be to upgrade the screen to one with a higher resolution, but I am not aware of any 11.6" LCD that has a higher res than 1366x768. Even if there was, the upgrade would be expensive. Of course you could attach an external monitor with high resolution, but I don't think that's what you are asking about.
Also what do you mean by "all of them have 1366x768 or lower resolutions" ?
It means all of the laptops that meet your requirements have low display resolutions, i.e. 1366x768, 1280x800, 1024x600, 1024x576, etc. Working on these low-res screens means you will have to scroll up and down a lot while working on your programs. I haven't done programming in over a decade but programmers often say that vertical screen real estate is very important. In other words, you want the second number in the resolution measurements (i.e. "768", "800", "600" and "576" in the above examples) to be as big as possible. The X100e has 1366x768, and 768 is very low. But like I said, given your criteria, you are limited to 1366x768. If you could tolerate used and bigger laptops, you would have higher-res options like 1400x1050 and 1600x1200.
As well as the previous questions could you please give me your opinion on the X100e alongside the T42 for programming?
The T42 is much heavier and bigger, and you can't buy new ones any more. But it does offer 1400x1050 resolution in many (though not all) models.