Rediscovering Your Inner Code Geek?
tachijuan asks: "I'm an old time hand in the PC world (started with trash-80 in late 70's). Along the way I've gone from the geek in school with the only computer to a CS degree to a position as a senior systems administrator at a major university to industry. And that's where I went to the dark side and became not a geek. About 10 years ago, the corporate rat race caught me and now I'm an exec at a midsize company. After 10 years of no code, it seems like I've never worked on anything serious (still do Perl, PHP, shell, etc scripting at home). Now, I feel the need to change this. How does an old UNIX coder/SysAdmin turned professional corporate cog get back into coding? I've looked at all sorts of languages (C#, C++, Delphi, VB(eh gads), Squeak, IO, etc.) but my problem is that I have unlearned most of the S in CS and the learning curve for the API's to both UNIX and Windows has become...daunting. Short of going back to school, what would you soon to be fellow geeks recommend as a good kick start?"
Check these out:
O MP 1405/Notes/
http://www.scs.carleton.ca/~lanthier/teaching/C
If you seriouly take the time to try and understand the examples, you'll be back in no time.
There are so many websites out there today that have free coding vaults for Visual Basic, as well as many other programming languages... if you really wanted to get back into the swing of programming, just start reading source code again, consider going to the library or a book store and pick up one of those "Weekend Crash Course" Books. I picked up CGI... and it really helped me.
Just me
Python Resources
This is a list of what I consider to be the most useful Python packages. They give Python the ability to tackle almost any project.
Core packages
- Python - Get the Python interpreter, base libraries from here. The default install includes the IDLE editor.
- Win32All
- Windows extensions package that includes the excellent Pythonwin editor.
GUI building- wxPython - Wrapper to the cross-platform wxWindows window manager library. It's a better windowing system than the TCL/TK library that is the default Python install.
- Boa Constructor - GUI builder that uses the wxWindows library.
Performance / Distribution- Psyco - x86 runtime compiler. Transparently improves the performance of most Python code - for performance-critical apps, it's often a much better solution than a C rewrite.
- Py2Exe
- Builds Python scripts into Windows executables. Perfect for distributing programs to systems that do not have Python installed. Use with Psyco for the best effect.
Graphics- PyOpenGL - Use OpenGL from within Python
- Python Image Library (PIL) - Package for easy image loading and manipulation
Database- PostGreSQL - Full-function SQL database. More complete and advanced than MySQL.
- PyGreSQL - Python bindings for the PostGreSQL database.
Web applicationsPython includes a full suite of functionality to build internet applications in the core install, but the following are frameworks for building and deploying web applications.
Since you have coded in the past, I believe you will still have the rationale and thought process required to code. But is there a compulsion about learning only the OS APIs?
Admittedly, the learning curve for these is rather steep, and something most developers tackler either in uni or during the early days. However, there is also a great number of developers who don't really meddle with specifics under the hood - application programmers for example. Such programmers form a large percentage of overall progamming community, and may not have a detailed understanding of OS architecture, API, etc, but are able to still create useful programs and utilities.
Also, as you mentioned you still meddle with Perl, PHP, etc., I believe you already have the foundation. Further, the real query should be what really do you want to work upon? Do you want to go back and delve into device drivers? Or write nifty little applications that would provide some significant need or provide something the OS doesn't do? Only in such situations would it make any sense, IMO, to learn the OS API's
If its only some application you want to write (perhaps a faster way of encoding/decoding MPEGs, etc), you can achieve this simply by knowledge of C. Since you already delve into PHP, if server-side development entices you, then you can choose to go either PHP way itself (since you already know it) or the MS way (eh no!) or the Java way.
Even something like VB doesn't hurt for making your front-ends with the least worry about underlying APIs, but you should first evaluate and understand what exactly you want to do.
http://efil.blogspot.com/
You may find the responses that I received to be helpful. After some more soul searching I decided not to return to coding, but the advice was applicable beyond returning to pure software development.