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.
Just screw up really bad. They'll have you writing code again in a week...
It should be pretty easy to get back into the business of coding. Will you want your ticket for New Delhi or Calcutta?
Treat this like a project; get yourself a Killer App for the task.
Find something that you just WANT to do - or something worth doing, for example a charity or community group - and let that force you to learn what you need to learn.
You initially got into this computer thing 'cos it seemed cool and fun; and at the time, it was. Now you're trying to get back into it but without quite the same motivation. You want it to be fun and easy like it was the first time? Well, you've learned a thing or two since then, so use those life-skills...
I bet you don't even have to leave your chair to recognize something, or someone, in your life that needs Fixing. To the extent that there's a technological solution to the problem, let yourself find and implement the answer. If you get it right, you can probably sell the idea too.
Perfectly Normal Industries
If there is ever a language that you can get up and running with quickly, it is Python. Runs on any platform, has a great library, and what is more, if you have to take a month off from your code, you can still figure out what you were doing.
"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?"
*I* want to know how much UNIX C APIs have changed since the 70s. It can't be *that* much.
May we never see th
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.
i was in the same position as you. not 10 years. but enough. found i was programming powerpoint and excel to lay off people. so i found a willing professor, picked an MSc. thesis and jumped ship. Initially it was a surprise to realise what happened when i wasn't looking. .net) amazing. its different than before. you don't learn all these APIs etc. you just think what you can or need to do and find the API. you learn where to look rather than learn them all. /nc
i found java (and now
the best part of the return to school was teaching young students stuff. it makes you learn it first. so one way if you can't afford the pay cut. is to find a night course (with sylabus) to teach. you learn and get the added buzz of teaching. best of luck with whatever you decide.
One thing that I've learnt as a programmer is that you don't need to know all the API's that exist, but just start on a project, and learn whatever you must for that project, and after that just move on.
You're old school? I beta tested the motherf***ing abacus!
This is similar to what I thought when I read the tag at the top. How can it be daunting? Surely if he wants to become a geek then the *key* part is the challenge, if there were no challenge then it wouldn't be geeking. Geeks thrive on doing the hard stuff because they can. Maybe he's just a wannabe poser... As for something to get started on, well, like the parent says the API's are complicated just big. Pick something that you want to do, and do it. Yes it'll be a bit hard to get started but that is the point, and if you really do want the challenge then you'll enjoy it
Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
You mentioned that you checked out Delphi. I've been a reformed C/C++ programmer now for 5 years. I'll not go back if I can help it. Delphi 7/Kylix (shameless plug for Borland) is a cross platform OOP language. The best thing about Delphi is that it is a component based environment. Now, having said that , the tools are there to do all the bit-twiddling that you desire. Borland has taken great pains to seperate the developer from the api's of the target OS. A form for a Windows target behaves almost the same a form for Linux. The database components behave the same way (mostly) no matter the db server. There are a plethora of opensource components (check out project Jedi at SourceForge), if you buy the professional version or higher you also get the source code to the components you are using. This is just my 2 cents but having coded in everything from COBOL to FORTRAN, and dBase to C/C++ Delphi has the shortest learning curve, the largest library, a fantastic IDE and the most bang for your Buck. Good Luck.
Meddle thou not in the affairs of Dragons, for thou art crunchy and with most anything.