A beginning programmer
Steven Friedrich
FreeBSD at insightbb.com
Mon Jul 11 00:08:20 BST 2011
> 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.
More information about the kde
mailing list