Community Content

At the Tabs and spaces podcast we so dearly value our community and we're so amazed at how smart and talented they all are. We're frequently sent some amazing feedback and have conversations with our audience via email and twitter that we feel selfish keeping all to ourselves. So, here, you'll find all the best conversations we've had with our audience so you too can be benefit from the genius of other members in the community!

If this tech gig doesn't work, there's always Rock 'n Roll...

By: Jim Humelsine
In Response to Season: 1 Episode: 12
Sent to us on: 2020-12-06

I just listened to your most recent podcast. You mentioned rockers changing careers. I have a story for you.

My wife works at AT&T. Several years ago during a round of layoffs the guy two office down was let go. She commented to a friend, "I wonder what A.J.'s going to do now?" He replied, "Maybe he'll go back to his old job as drummer for Twisted Sister."

The guy down the hall was A.J. Pero, drummer for the legendary metal/hair rock band Twister Sister. Pero has since passed away in 2015. Here's a 2003 interview where he discusses his career.  Here's the part where he discusses his career after he left rock & roll and some businesses he tried:

I opened up my own business. I opened up some different businesses and did that for a long time.

... Car stereos, alarms, cell-phones, part-owner of a night club, I did that for a while. That didn't work out so I went to work for X first I went back to school, got a degree, and then I went to work for AT&T which I still continue to do. I'm into architecture and engineering for the network. We test and do trials and develop the network. Anything that has to do with AT&T. I'm in a lab situation where we get this equipment in and we come up with ideas, better ways to do things and we put them through the tests. That's basically what I have been doing for the past five years.

I don't know if or how AJ landed on his feet after AT&T.

Jim Humelsine (AKA Design Pattern Evangelist)


Uncle Bob and Programming Paradigms

By: Jim Humelsine
In Response to Season: 1 Episode: 10
Sent to us on: 2020-10-06

I enjoyed your most recent tabsANDspaces episode about Programming Paradigms. Uncle Bob Martin presented a webinar recently on the same topic. He posted it to YouTube as well: 

https://www.youtube.com/watch?v=ya1xDCCMh7g

TL;DW - Here's a summary of the long video.

There are only 3 known programming paradigms. They were all invented/defined by the early to mid 1960s. Everything else has been style.   They are:

  • Structured programming - i.e., no GOTO statements.

  • Object-Oriented programming - i.e., no function pointers ... or polymorphism, done right. 

  • Functional programming - i.e., no assignments.

Notice how each paradigm takes something away. It doesn't add. These restrictions give us structure and discipline. Ever work with spaghetti code with GOTO statements hopping all over the place? I have. It's impossible to keep track of what you're doing or what's going on. It's too much flexibility.   Bob proposes that these are the only three paradigms with several arguments: 

  • The first 3 paradigms took about 20 years. It's been another 50 years, and no new ones have been invented.

  • These paradigms are based upon taking stuff away. What more could be taken away? Not much.

  • We probably won't/can't create a new paradigm by adding something. There's nothing left to add. All general-purpose programming languages are Turing complete. They implement all known computation. There's nothing else to be added.

As for the future of programming languages, Bob proposed his following constraints:  

  • It enforces all three paradigms. They are not mutually exclusive.  

  • It should use dynamic runtime strong type checking.  

  • It should be syntax light. For example, Java and C++ are very wordy. Just look at how much is needed for "Hello World!"  

  • It should be homoiconic, which means that the language is a data structure itself. Lisp is a good example of this. Lisp processes lists (LIStProcessor). But Lisp's language structure is also in the form of a list. 

Bob ended with the only language he knows of that matches all of these bullets - Clojure.

Jim Humelsine (AKA Design Pattern Evangelist)