Today I'd like to talk about the differences between object oriented and functional programming languages. You see, object oriented languages are what most everyone knows as programming. You build these “objects” and build them up with all sorts of functionality and attributes and you might pass them or trade or modify (their swing) them. Its easy conceptually to grasp the idea behind the game, even if you don't understand how to play or manage. With functional languages, you want to think its the same thing, except passing “data”, when in reality its just an entirely different beast.
You see, with object oriented programming, those “objects” are the product, so you handle them with care and build your surrounding utilities and infrastructure around them (or at least in combination with them), but with functional programming that “data” is not your product. It might end up being your product, but is not necessarily. Instead, you just open the pipeline, decide what you want and turn on the faucet. By modifying the path or pipeline, you modify the output and therefore your product. With proper analytical skills, its much more efficient and you don't worry about whether an individual “object” has thin skin or can or can't make it to the finish line.
If it helps, think of a gauntlet (not because its an especially great example, but because I'm talking about programming 200 words into a baseball recap).
You pass that object or shall we say “player” through seemingly endless rows of organizational hierarchy which each have their favorite weapon of choice: 2 seamers, power strokes, off speed pitches, contact rate.... you name it. They beat these ideas into you until you know longer feel like a player or anything of value really and you fall to the wayside. The thing is... that's what's supposed to happen. A gauntlet is an OPPORTUNITY with the sole purpose of weeding through the weak and determining the strong (my history lessons were taught by idealists).
What the hell am I talking about?
Idealist professors might tell you about how functional programming is superior to object oriented and you may or may not believe them. They might tell you about how once this light bulb goes off it will change the way you think, work, LIVE. You might break a couple light bulb in rage that they didn't go off fast enough. But then... then you begin to believe. “Values”, “objects”, “data” begins to come out the other end and you're amazed by how much easier productivity, “wins” are coming.
John Mozeliak is a functional programmer. To. The. Letter. He's a LISP programmer. That dude knows the ins and outs of not only the “weapons” that are needed to properly filter out the chafe, giving the most over-achievers a chance at the big show, but also how to optimize his input data to get the best results. You see, functional programmers (of the idealist variety) loathe objects. They see them as “overpriced” and “sluggish” in performance and “cumbersome to deal (with)”.
What prompted this thought, this re-imagination of Mo as a functional programmer? I'm writing another John Lackey recap. It just … doesn't spark the imagination like a mystery pitcher start or one of our young horses and I began to wonder why, why did Aaron... no, how did Aaron know the Lackey schedule?
Mozeliak obviously has a system. It isn't based on the exchange of objects like the Dodgers or Yankees of recent memory, where talent is bought and acquired in a tangibly satisfying manner, but instead through a mythical “farm” or “system”, “assembly line” perhaps. Like a functional programmer, its not really (please don't give me an F in class) possible to avoid all objects in anything but truly ideal circumstances. You want to keep those objects few and far between though and keep the farm system churning. John Lackey is one of those necessary objects that is needed because of the special circumstances of a particular program, namely “TINSTAPP.exe”.
Viewing both the Cardinals and Functional Programming in each others light has really instilled me with greater confidence in both. I gotta admit, its also making me question whether I should still be awake at 7 am, but its finals week and thats how I roll finals week, so... onto the game.
* * * * *
You can see the gears moving in Matheny's head. One start here, one early double switch there, Peter Bourjos is getting at bats and he's making the most of them. Whether by design or just comedic circumstance, the most damning thing for your future might be to be named front runner for the job of starting center fielder on the Saint Louis Cardinals. Don't get me wrong, I love Jon Jay, but I find spectacular defense to be one of those tantalizing ideas that makes the game incredibly more pleasant. It shortens the opponents time batting and puts the spotlight on starting pitcher and your own batters to deliver. If the defense is (even) sound, you know the pitcher must be the fault point, because the rest of the machine just works. Of course, there's two sides of the game and the front office and dugout don't need the simplicity in troubleshooting that I might. Its their jobs to parse those intricacies and therefore some deferral to authority might be in order.
I do find it exciting that Bourjos is hitting early in 2015. Its exciting because I frankly don't care to have heated discussions comparing valuations based on statistics that, while seemingly effective, can be dismissed too easily.
This game was exciting because all of the Cardinal's moves worked and all of the Cub's did not. Heyward raised his OBP above .300 with a 3 for 3 day and Bourjos' went above .400. Lackey struck out 9 Cubbies, including Sir Kris Bryant twice, while allowing only 1 run by a Cubs team that has made the Cardinals pitching staff bleed their own blood over the series.
In seeming defiance of the Cardinal Rule of Odds, the home team found the scoreboard in the 2nd , 4th and 6th innings, with Heyward and Bourjos starting the scoring, driving in a run each, with a single and a triple respectively.
Lackey read my recap draft this morning and once again defied my rather weak powers of prediction to not only pitch a stellar game, but also drive in Heyward again in the 4th with a double, Bourjos coming around as well due to another Solerror. Heyward scored for a third time in the sixth off of a wild pitch by Justin Grimm.
Lackey's final line would be “7.2 IP 5 H 1 ER 1 BB 10 SO 109 pitches thrown” for a tidy era of 3.26. Lackey is exactly who we should want as our fifth and now de facto 4th starter, he's a stabilizing presence who provides the innings that make volatile bets on young and/or fragile pitching possible.
The bullpen cleaned up in 2015 fashion with Siegrist forcing the last out in the 8th and then _____ in the 9th. They're spoiling us and I can't help but fear that, due to the injuries, its going to be a backwards year with the bullpen falling apart down the stretch because Mo didn't have anything to fix.
Edit: I don't quite understand what the boxscore is now telling me in the 9th, but it appears Matheny left Siegrist in for 1 batter, whom he walked, then replaced him with Maness, who failed to get a double play and allowed a single to Soler and then promptly replaced him with Rosenthal, which I'm sure its a save thing because of the weird save rules I never quite cared about. Regardless, it worked out in the end with Rosie getting a groundout from Castro and then strikeouts of Szczur and Castillo. It all worked out.
This was an exciting win with triples and pitcher doubles (*cough* fuck the DH *cough*) and wild pitches and muchos strikeouts. I hope everyone enjoyed the game and the love of Peter Bourjos is slowly creeping into each of your hearts.
Side Note : It’s always good to see Jason Motte.