Herding Code 45: Larry O’Brien on Domain Specific Languages

There’s a lot of community chatter around Domain Specific Languages (DSLs.)  If you’re interested in hearing more, you won’t want to miss this episode as this week on Herding Code the guys interview Larry O’Brien, professional writer and software developer, on Domain Specific Languages, DSL DevCon, Lang.NET Symposium and a number of related talks. 

  • Larry and K Scott summarize their thoughts on the recent DSL DevCon
  • Scott K shares that the hardest part about DSLs is defining what they are and what they aren’t. For example are SQL, CSS or XSLT Domain Specific Languages? Lucky for us, Larry provides a reasonably simple breakdown of Internal and External DSLs and touches upon Functional, Dynamic, Compositional, and Computational DSLs.
  • K Scott questions why one might create a DSL and proposes that communication and productivity are primary drivers. Larry concurs and talks about the miscommunication and inefficiencies associated with programmers translating domain expert’s preferred notation or diagrams into code.  This sparks a conversation about Microsoft’s claims regarding OSLO’s order of magnitude productivity increases and the premises required for this claim to be achieved. 
  • Kevin asks if DSLs and the new tools are targeted to replace developers. Don’t worry, you’re safe for now especially since the idea of letting the business people write programs has been failing since COBOL.  As Larry explains, it isn’t about putting programmers out of work, it’s all about communication, readability and offering domain experts a way to validate our code.
  • Larry explains why writing a language – specifically an external DSL – is hard. 
  • Jon and Kevin recognize similarities between Domain Specific Languages and Domain Driven Development and Larry speaks to their shared concepts – primarily expressing a domain in code.
  • Larry answers listener questions from Shawn Wildermuth and Ben Griswold regarding the difference between an internal and external DSLs and the role of the fluent interfaces and the relationship between functional programming and DSLs, respectively.
  • The guys also talk a bit about growing and roasting your own coffee, Hawaii, magazines and how a Mai Tai can disrupt one’s plan to take over the world.

Show Links:

Download / Listen:

Herding Code 45: Larry O’Brien on Domain Specific Languages 

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0045-Larry-OBrien-on-Domain-Specific-Languages.mp3]

Show notes compiled by Ben Griswold. Thanks!

Herding Code 44: Microbusiness

Whether you just want to write cool software for yourself or you are looking to kick off a side business, you can get started with little upfront investment. This week on Herding Code, the guys talk about the ease of becoming a one-man independent software vendor (ISV.)

  • Scott K starts off the show with a list of free online invoicing and financial tools along with a number of services which provide free disk space.
  • Jon notes that advertising and micropayments are cheap and easy to setup in minutes.
  • Kevin talks about his recent endeavor, review2Q, an ASP.NET MVC application, hosted in the Azure cloud, which helps automate the management of his Netflix’s queue. It was an itch that he just needed to scratch and, with little overhead on his part, it’s now available for you, too.
  • The guys discuss super cheap hosting and the numerous APIs and Services which provide tons of data available to re-mix.  They also discuss using Azure or Google App Engine to scale up as one grows. 
  • Jon comments on how free site templates and store/blog theme systems can make design a snap. 
  • Jon also calls out the fact that for most web developers the barrier to entry is so low.  Thus, one is somewhat susceptible to having their idea quickly copied.  This raises the question; will your investment pay off long-term? 
  • Kevin jokes that there’s an alternative approach to implementing your own, self-serving solution – just wait long enough and someone else will implement your idea.
  • Kevin and Jon discuss why the web is such an appealing platform to start a venture. It is all about the low barrier to entry, the instant gratification and immediacy of making your product available and easy accessibility.  Not to mention many sites are self-sustaining.
  • The guys brainstorm a few one-man startup website and mobile development ideas, wonder if they would ever again hear from Jon if he came upon 4 million dollars and question whether or not K Scott has fallen asleep.

Show Links:

Download / Listen:

Herding Code 44: Microbusiness

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0044-Microbusiness.mp3]

Show notes compiled by Ben Griswold. Thanks!

Herding Code 43: Javier Lozano on the "M" in MVC

This week on Herding Code, Kevin leads a conversation with Javier Lozano on ASP.NET MVC and the Model View Controller (MVC), Model View Presenter (MVP), Model View ViewModel (MVVM) and Model Model View Controller (MMVC) patterns.

  • The guys discuss the various patterns as they relate to ASP.NET MVC, Silverlight and WPF and dig into the differences between ViewModels and Models.
  • Scott K brings up the question: “What’s the difference between MVC and MVP?” and then quotes Jeremy Miller in stating, “MVP denotes a stateful conversation between presenter and view whereas MVC is just linear.”
  • K Scott discusses the differences between building applications “the Rails way” and how you can build any type of application any way you want with ASP.NET MVC.
  • The group fields a question via Twitter from Steve Bohlen: "ask about the (relative) importance of persistence ignorance in the M in MVC."
  • The guys talk at length about action filters, custom model binders and object-object mapping.
  • And the show closes with Scott K reintroducing THE LIGHTNING ROUND!

Show Links:

Download / Listen:

Herding Code 43: Javier Lozano on the M in MVC

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0043-Javier-Lozano-on-the-M-in-MVC.mp3]

Show notes compiled by Ben Griswold. Thanks!

Episode 42: Scott Bellware on BDD and Lean Development

This week on Herding Code, Scott Bellware educates and entertain as only he can. Scott talks about Behavior Driven Development (BDD), Test Driven Development (TDD) and Lean Software Development, gets “all preachy” and donates to the show a nearly endless batch of outtakes. 

  • Hear the REAL last word about TDD.  You know it is more about design and little about testing, right?
  • True or false?  Scott Bellware practices BDD.  The answer will shock you!
  • Learn why you need let go of your inner geek and commit to being a business person.
  • Discover how Context Specification can help you get a date (or your money back.)
  • Pick up some catchy phases like “focal depth”, “theory of constraints”, “quality at the source”, “working forward” and “Docksiders.”
  • And much, much, much more.

Show Links:

Download / Listen:

Episode 42: Scott Bellware on BDD and Lean Development

[audio:http://herdingcode.com/wp-content/uploads/HerdingCode-0042-Scott-Bellware-on-BDD-and-Lean-Development.mp3]

Episode 41: Next Generation Twitter Client Discussion At MIX09

While at MIX09, Jon sat in on a brainstorming discussion about next generation Twitter clients running on WPF and Silverlight 3 with Tim Heuer, Chris Bennage, and Alan Le. This was originally just recorded for a few people who couldn’t be there for our meeting, but we had enough positive feedback that we’re publishing it as a podcast.

DISCLAIMER: This was recorded in a noisy room, and while I’ve done what I can to eliminate background noise and even out the vocal levels, the audio quality is poor (even by Herding Code standards). You’ve been warned.

Thanks to Tim, Chris, and Alan for giving their permission to publish this.

Show Links:

Download / Listen:

Episode 41: Next Generation Twitter Client Discusion At MIX09

[audio: http://herdingcode.com/wp-content/uploads/HerdingCode-0041-Next-Generation-Twitter-Client-Discusion-At-MIX09.mp3]