Awesome Language, Now What?
Let me tell you about my friend Bob. Bob is from the future.
Bob came here from about 300 hundred years from now where time machines are sold at Walmart… which apparently owns everything.
I met Bob just randomly at a plunger convention (Apparently plungers are all the rage in his time but hard to find.) and we struck up a conversation… mainly about plungers. Anyhow, when he finally revealed he was from the future (The trippy multicolor shirt kind of gave it away honestly since by my calculations it will take at least 250 years for pleather to come back in style. Give or take 50 years.) and the first thing he said after revealing this was, “No its not a f—ing utopia so don’t ask.” Oddly enough I was going to ask if Gilligan’s Island was still on repeats in his time, but I just humored him. Long story longer, by the end of the night he was my bffff (Best friend forever from the future) and he decided to give me this awesome device thing from the future and said he’d be back in a week to get it back.
Apparently it was something he bought from Walmart but was going to return before the week long return policy was up. However, he thought I might have fun with it and then just did this sort of wavy, melty, star treky thing and was gone. Odd note: No one watching seemed to be phased by this. Cause you know, that’s something you see everyday.
Anyways, I took said device and set out into the world, determined to enrich my life with the blinking-light-a-tron. Problem was, I had no f—ing clue what it did. So I did what any person would do when faced with a blinking-light-a-tron from the future, I put it through various scientific tests.
After my barrage of highly scientific investigations, I could see that it was applicable to most useful situations. Sounds good right? Except it took me a ton of time to figure out how to use it while doing things I already knew how to do.
Now I have to admit the time difference was a knowledge issue as there wasn’t much documentation and it wasn’t intuitive in use compared to what I was used to. However, it wasn’t until I found out that it can not only make a sandwich but it can make it into a smoothy too that I realized it had some powerful features. It wasn’t long before I started to realize how much it had to offer.
After the E like excitement, there was inevitable crash: When the f–k will I ever really want a turkey sandwich smoothy? I know the thing has something bigger to offer. Something just mind blowing, like somehow being able to combine sharks with an FBI agent to form some kind of super crime fighting force, but hell if I can figure out how.
It was at that point Bob just appeared, punched me, grabbed the blinking-light-a-tron and did his futuristic wavy, melty, star treky thing. I never did find out what that was all about, but I just surmised it was some kind of futuristic way of saying goodbye for good. Or it could be that I used it to find naked pictures of his wife and posted them on the internets. (Apparently there was an app for that)
Either way, the blinking-light-a-tron was gone for good, and I’m not sure if I was better off with knowing it or not. Sure it showed me what was possible but I came back to the same conclusion: When the f–k will I ever really want a turkey sandwich smoothy?
In a weird way, I’ve come to this conclusion with something like Python. I have no doubt it has crazy capabilities to be used, but put in the hands of simpleton itÃ¢â‚¬â„¢s a point of confusion. I want so badly to unlock its potential, but the best I can do is make a turkey sandwich smoothy, because I lack the overall grasp of the language and have no idea how to get it through application.
And hereÃ¢â‚¬â„¢s the thing, itÃ¢â‚¬â„¢s not a matter of being too comfortable with C#
Ok, so maybe there is some comfort but honestly it really isnÃ¢â‚¬â„¢t that. It really just comes down a frustration of finding something to showcase PythonÃ¢â‚¬â„¢s abilities. It just plain difficult to come up with some grand plan when I donÃ¢â‚¬â„¢t even have a clue what sort of plan I need.
ItÃ¢â‚¬â„¢s one thing to find a language that is just a horizontal move or even a step back. Then itÃ¢â‚¬â„¢s easy to say, Ã¢â‚¬Å“Screw itÃ¢â‚¬Â and stay with what you know. In the case of Python, I really want to be convinced to move to it. Nothing against C#, I still find it to be a good language, I just have a feeling. Problem is I have no way to back the feeling up.
In order to understand something, you need a reason for it. This is the hill we all must climb at some point and it’s a big hill.
Embrace the Unknown
As programmers its no secret that we like comfort. Well at least most of us. I mean every so often you’ll run into the uncanny ADD-man. You know the guy that is so in need of finding the next thing to jump to you’re pretty convinced he has a deep rooted issue involving being moved around from city to city because of a parent’s career… or paint chips.
For the most part though, we do like a certain comfort zone, and fuck if someone will convince us to get out of the comfort. And why would we? I mean itÃ¢â‚¬â„¢s something we know. Something we understand. And isn’t life easier when there’s understanding?
I ran into this a couple jobs ago (I’m a job whore) when I asked for two monitors. Now this idea was something completely foreign and oddly scary to the people there. I mean, alt-tab is just fine, amirite? Wasn’t soon after getting the second one I was being looked at like some kind of child molester.
All I can say is: Don’t knock it until you try it. I meant two monitors, not child molestation. Well at some point the old light bulb went up on someone (Which makes me wonder what turned on before there were lights).
That person dared to start using two monitors. Next thing you know, there was a rash wave of double monitor usage. The world had changed forever. There were whispers of possibly having three monitors.
Side thought: I wonder if this is how the double razor to triple razor to n razor thing started. One guy was all like, “Hey guys, what if we had two razors on a shaver.” and then promptly speared for such thoughts that most likely were from satan. That was until some boss guy who was too high up to spear uttered the same words. Then everyone just went bat f–king crazy and started just throwing on arbitrary numbers out like some kind of reverse auction. And thus the razor wars began.
Anyways, back to the monitor thing. The moral of the story is that you can’t know what you can dare to dream if you have no concept of what’s out there.
Ok I lied sort of. Usually people use the line “The moral of the story” to end a thing like this, but I actually am being all sneaky and I tricked you into something bigger: Programming languages.
I have a confession. Well I have two, but one has to do with a having a song by Miley Cyrus… ok multiple songs… OK EVERY F–KING ALBUM… but that’s not important. The important part is that I’ve been a hardcore Microsoft guy for all 10 or so years of programming. I did not stray at all really. At least not much…
And why not? Microsoft has done a good job keeping the carrot in front of my face.
I’ve been on a quest in the last year or two to really push myself to have a much better understanding of important programming concepts… that Microsoft has been so kind to hide from me as to not worry my pretty little face.
And maybe you are ok with that. Maybe you like to just take a pay check or just produce mass quantities of semi working code. Nothing supremely wrong with that. Just realize your career at some point will flat line.
But I say screw that. I need more and damnit I’m going to get out of my comfort level. I will brave the unknown (actually I already have with java and python) and in the long run I’ll be much better off. Why? Because not only do I diversify my languages, I also am privy to new and weird concepts that I would never see if it weren’t for venturing into new languages. Not only that, but I’ve found that some of the concepts and features just being added to C# have been around for a long time in other languages. So why wait for them to mature when you can use them now?
No really, I’m asking that. Give me a good answer…
What happened to Lan Parties?
As I was making my third attempt to reassemble a horribly aged futon (that had been passed around to so many people there’s no doubt its seen more action than Tom Selleck in his Magnum PI days), wondering if it was some kind of early attempt of Ikea’s to blend furniture with some kind of social experiment to see how much a person can take before starting a three figure body count, and swearing enough to make Bog Saget blush, I decided that the best course of action to keep me from going hulk on it was to think of better place.
That didn’t feed into my almost Gibson-esque epic instability.
I then started thinking of my friend (no not that way) and how he (still not that way) was having a lan party this weekend and how he had invited me to it. Now I probably would have gone if it weren’t for the fact he lives 10 hours away, I’ve never actually met him in person, and I’m pretty sure he’s actually just inviting me over because he needs a new host body as his is falling apart.
You remember those days. 10 high school (maybe college) dudes all smashed into a basement with 10 computers going full blast, cases and cases of mountain dew, all completely focused on one and one thing only: gaming. Those 48 hour gaming benders fueled by so much caffeine that by the morning of the second days everyone had that weird anxious/excited/electrified feeling that somehow mixes the feeling you get right before you start opening birthday presents and the feeling you get right before vomiting:
You know, the same feeling we would feel again 10 years later right before having sex for the first time:
Well this led to me asking my self, “Self, why don’t I go to lan parties anymore?” For the most part, I think part of getting older is realizing that the copious amounts of caffeine taken in at 16 would no doubt kill me or more than likely be replaced with alcohol and no doubt would end with some kind of machine being forced down my throat in a last ditch effort to keep me alive so that I could enjoy the week long hangover to follow.
I think also in my oldness, I’ve lost the ability to play games for any extended period of time. Seems as if that part of my brain has been removed or possibly atrophied due to suffering from depression brought on by lack of use. Either way, I now have a greater capacity to code for extended periods of time instead… Wait. I’m feeling something… I think it’s an idea which would explain why its a feeling I don’t recognize.
What if the gaming lan party were to evolve? What if all that caffeine drinking, sardine can sized room of guys, (I’d say gals too since I realize there are women coders but really, what woman wants to take the chance of being locked in a small room chock full of essentially coked up geeks?), table to table, computer to computer, energy filled mayhem could be used to code? Think about it:
What if you were to take some idea like say a program that compares the hotness factor of supermodels (YEAH SUPERMODELS MAN, CAUSE THAT’S WHAT MANLY MEN DO, YEAH!) or the best picks for fantasy football (more in line with reality) and just go at it for 48 hours straight? I think this could actually work. After all, you have the combination of a ton of minds and no external interruptions to really just hammer something out. I realize there could be some issues inherent with super-fast coding:
But couldn’t this work? You get lots of up-side on this one. Comradery, energy, excitement, a semi-working program, and quite possibly good, old-fashioned physical nerd fights (hey, that’s what Youtube was invented for) caused by late nights, caffeine psychosis, and uncomfortably close proximity to other people for more than 10 minutes. How could this be a bad idea? So I say, have at it. Prove me wrong about this one. And make sure you take video proof of how wrong I was. You know, some kind of video diary of you attempting to flee the country after they find the 9 bodies you somehow managed rage into the trunk of your car. (Again, that’s what Youtube was invented for).