Earlier or later I will be setting up Linux system for development, server and probably desktop software too. As the time goes this more and more seems to remain only a question of time. I already got first impression of Ubuntu Linux (and I was impressed in fact) and also checked some of the forums.
We have increasing requests for ports of our software onto Linux platform, for various reasons. Some people believe it would offer greater performance (and who known maybe they have a point in this, our server side software is a multi-threaded loader of network adapters, HDD and CPU, why wouldn’t it run faster on a not so much bloated OS core?), some what a free supported platform. While this particular task of porting is close to impossible, a scent of Linux does not go away and is just concentrating.
It is only difficult to start because things are very much different: IDE, API, things believed obvious once you got used to everything. Still C++ is C++ on Linux too.
What I would actually appreciate is some quick start resource with correspondence for Windows techniques with Linux. For example, I know well enough when to use registry and which key to take HKEY_LOCAL_MACHINE or HKEY_CURRENT_USER. How things happen on Linux for similar tasks? There are “Program Files”, “Windows”, “Windows\system32”, “Documents and Settings” well known directories on Windows. I would like to have things in right places on Linux, what are they? These are even more important than APIs because if anything you get documentation on API and you can study until you got it right. Windows developers might suspect they should avoid keeping user data under Program Files because it’s a wrong place for thins kind of data, however this was never a problem until Vista and its File Virtualization and Virtual Store (see also The Windows Vista Developer Story: Application Compatibility Cookbook and First Look: New Security Features in Windows Vista). So it is always better to know things well in advance.
What is particularly interesting with Linux (well, before I actually got in touch with this) is its light versions on variety non-full-featured hardware. I got a cheap IP camera nearby which I use for testing and it discovered Linux inside through its DHCP activity where it clearly states Linux is inside. I got an ADSL modem with WiFi router and it is also using Linux. Yes I am aware of embedded versions of Windows and Windows Mobile and Pocket PC (which I even have experience developing for) but they don’t seem to spread all over around, at least I don’t notice.
Some links I found and believe to be useful on the topic: