> My problem is this though... I don't know what to do with this new > found knowledge of these languages. I just don't know > what to do with it, I don't have any problems that need to be solved > and unfortunately I don't really see myself as familiar enough with the > languages (except MAYBE c++) to start trying to help everyone here at KDE > or even Gnome. I'll sometimes be roaming linuxhomepage.com / lxer / > phoronix and see some new patch mentioned, and out of curiosity I'll click > on it and read it, and > I have to say.. alot of the time it looks like gibberish to me. Even > with comments, > I can't make sense of it. Perhaps im simply unlucky and choosing the > more... low-level > patchs to look at, but I got to say, its rather disheartening when I > can't even make sense > of what is going on. > > I know this isn't strictly limited to KDE but I'm sure that my situation is > hardly new to programmer's the world over. I suspect no one has told you that programming can roughly be divided between two domains; applications programming and system programming. Application programming these days is mostly done by web programmers. That's because corporations want applications that they can use around the world easily, as well as other considerations. Application programming includes applications like Amazon.com, where the user interacts with a database of products and selects items to go into a shopping cart. Other applications on the Internet can be found on nearly any Internet web site. Systems programming is between application programs and the operating system, such as Windows, Linux, FreeBSD, Mac OS, etc. Most programmers begin by creating end-user apps. This is likely what you've done. In any case, the best thing you can do is decide which OS you'd like to develop under. There are a lot of integrated development environments available for Windows, but few are free. If you have money, it's easy to get started. You can buy a fairly low cost compiler for Windows and a few books to expand your skills. You can also, for FREE, download a release of Linux (literally hundreds of distros to choose from) or BSD (FreeBSD, NetBSD, OpenBSD), and "burn" it to a DVD and install it on a computer. I bought a laptop years ago and I used Partition Magic to shrink the Windows partition so I could install FreeBSD on a new partition using the space I freed with Partition Magic. This is not the way I would recommend you do it though. If I were you, I'd buy an external drive with USB connection and install FreeBSD on it, leaving your Windows drive alone. You could disconnect the Windows drive when you're ready to install FreeBSD so you can't accidentally wipe it out, then after FreeBSD is installed and you're comfortable, reconnect the Windows drive and use BootManager to select which OS to boot from. If you choose to use FreeBSD or Linux, do yourself a favor and buy a book on it. You will also need a book that describes unix from a user perspective. Web sites for FreeBSD and Linux usually include recommendations for several great books. In the past, you could subscribe to various magazines that include sample programs or ideas, such as C/C++ Journal (something like that). Google for ideas, such as "C++ magazine Windows" substituting any language you like and any OS. It's also a good idea to become familar with various general purpose apps, such as word processors, spreadsheets, and databases. I often use these to solve problems quicker than writing a special purpose app. As an example, I use a spreadsheet to keep my personal checkbook, but someone else might use QuickBooks, or some Microsoft product. It's best to check out both types, general (spreadsheet) and specific purpose (Quickbooks). Hope this helps. I'm sure many people will offer even more advice. 8o) My main point is that "hands-on" beats book learning every time. You still need book learning, but at some point, you have to be able to apply it. You can't apply it unless you have an environment to use it in, and that takes hands-on use. ___________________________________________________ This message is from the kde mailing list. Account management: https://mail.kde.org/mailman/listinfo/kde. Archives: http://lists.kde.org/. More info: http://www.kde.org/faq.html.