|laziness, impatience, and hubris|
Re: Structured Learning of Perl, Important or Not?by sfink (Deacon)
|on Dec 02, 2008 at 22:18 UTC||Need Help??|
I don't think there are going to be any easy answers to your situation, so I'll just throw out a few tidbits that might be of some use.
I have a 21-month old boy and another one on the way in a month. Which makes me wonder how old your child/children are. Because "having a family" means entirely different things depending on whether you mean "I have two children below the age of two" or "I have a teenage son who I think I remember seeing stepping out of his room a week or two ago". If it's closer to the first, then you're absolutely crazy, and the only think I can say is "go ahead and do it all, but don't forget to give the dancing kangaroo a new top hat before you climb into the purple iguana's trailer home. And please, please don't set the weasel on fire again."
I'd like to point out that learning Perl and getting a BS in CS are not terribly complementary. Academic types have a particular view of things, and in that view, the strengths of Perl are too practical to be relevant to them but the weaknesses strike right in the areas they feel religious certainty about. I'd be afraid to even admit using Perl to many of my teachers. For your eventual career, Perl is very useful, but it's not going to help you get a degree in CS.
Let me amend that: knowing one language reasonably well will help, because you'll get a general understanding for how things work and how to get things done. You'll also have a way to experiment with the things you're learning. But Perl in particular is not a great one to pick, because it's not going to be the language that your classes use, and your sense of what is easy vs hard is going to be skewed from a CS point of view. Perl is actually better than many of the languages commonly used in academia (Java, I'm looking at you), because it requires you to know more about the underlying system rather than hiding as much as possible so "you don't have to worry about it", but it would still make it easier on you to learn the language that your classes will use (unfortunately, that probably means Java) so that more of it will carry over. If you could learn C or C++, they'd actually teach you even more about how things really work and what to care about, and picking up the necessary level of Java is easy after learning either of those two, but they do take more time and effort to get a handle on.
I have an MS in CS, by the way, but I had that plus a fair amount of experience before starting the family. Much easier that way. But I'm sure you're aware of that already.
On the other hand, loving what you're doing is always a better teacher than anything else, and Perl is way more fun than most other languages, so if it's working for you I wouldn't stop it. Also, people who both know a decent amount of CS theory and can get practical stuff done (as you will if you gain a decent grasp of Perl) are enormously valuable. The practical bit unfortunately probably won't come through on a resume, so you'll still have to beg for your first job, but it makes you way more effective in actually getting your job done. And that'll matter in the end.
Programming is not really something you can pick up a little piece at a time, half an hour a day. Knowing the pieces doesn't help until you figure out how to fit them together. You need concentrated bursts of time, but you can get away with a fair amount of time passing in between those bursts. (You'll pretty quickly get a feel for how long a gap is too long. If you stare at what you wrote the last time and have no clue what it's about or what you were thinking, then it's been too long.)
Studying isn't like that. As you said, it's something you need to do daily. So I'm not convinced that whatever life restructuring you do right now will carry over to when your classes start. For now, I would guess it would make more sense to take turns -- you get the figurative basement for a few days, then your husband gets it, etc. While working towards your degree, you may have to split it up by time of day.
Finally, my condolences on marrying a computer geek. Having both of a couple be geeks is a scary situation. I should know; I did the same damn thing.