Posts Tagged ‘Andrew Binstock’

Challenging the Priesthood

May 7, 2014 10 comments

It seems to have taken awhile, but people are finally speaking out strongly against the papal infallibility of the TDD high priesthood. Michał Bartyzel, Andrew Binstock, and Jim Coplien (who actually has been speaking out against it for years) are a few of these blasphemous heretics.

Any of the “driven” techniques can work, but to insinuate that they are the “only way(s)” to build superior products is arrogant, hubristic, and plain stupid. In mentally challenging, knowledge-intensive work, people have, and always will have, different ways of creating beautiful products.

When I speak with adherents of test-driven development (TDD) in particular, there is a seeming non-comprehension that truly excellent, reliable code was ever developed prior to the advent of this one practice. I sense their view that the long history of code that put man on the moon, ran phone switches, airline reservation systems, and electric grids was all the result of luck or unique talents, rather than a function of careful discipline and development rigor. – Andrew Binstock

“…these promises were not supported by unambiguous and verifiable data in early years of TDD. The enthusiastic reaction to TDD came first and then some (selective?) measurements were made to verify its promises. – Michał Bartyzel

“If you find your testers (or yourself) splitting up functions to support the testing process, you’re destroying your system architecture and code comprehension along with it. Test at a coarser level of granularity.” – Jim Coplien

Personally, I start sketching out quite a bit of a design upfront (OMG!!!!!) in bent” UML (OMG, OMG!!!!!) prior to writing a single line of code. I then start writing the code and I subsequently write/run some selective unit tests on that code. In summary, I dynamically build/test the code base toward the coarse, “upfront” design as I go. Of course, according to the high priests of TDD, I’m unprofessional and I obviously produce inferior designs and bug-ridden, unmaintainable code. Gosh, it sux to be me.


For more details on how I develop software, check out this four year old post: PAYGO II. And no, I’m not promoting it as  better than your personal process or, gasp, the unassailable holy grail of software development… TDD! No books, magazine articles, conference talks, or two-day certification courses are planned. It’s simply better for me, and perhaps only me.

Consumption AND Creation

August 28, 2013 Leave a comment

Bill Gates is obviously biased, but Bob Lewis is not. What they have in common is the same contrarian opinion as BD00: Windows 8 is better than  iOS and Android. OMG! WTF?

The iPad is better done. It’s more polished and has fewer irritations. None of this matters when the subject is getting work done. For that, Windows 8 is the superior tablet OS… When you have to get down to work, even with all the aggravations there’s really no contest. – Bob Lewis

But a lot of those (iOS and Android) users are frustrated, they can’t type, they can’t create documents. They don’t have Office there. So we’re providing them something with the benefits they’ve seen that have made that a big category, but without giving up what they expect in a PC. – Bill Gates

I know, I know. There are equivalents for Microsoft office on iOS and Android. But they don’t stack up very well against Microsoft’s well-integrated, flagship application suite. Android and iOS are touch-centric, which is a boon to consumption, but Win8 embraces touch, the keyboard, and the mouse all as first class citizens. Simply stated, iOS and Android are superior when it comes to consuming content, but Win8 is king at facilitating both consumption and creation.

I have a Kindle Fire HD and an iPhone 5, both of which I love for consumption of content. I don’t own a Win8 tablet or all-in-one PC yet, but being a somewhat creative blog writer and dorky graphics sketcher, I’m gonna get one or the other soon.

In addition to Mr. Lewis and Mr. Gates, Dr. Dobb’s editor Andrew Binstock  equivalently states ( “The Ever-Fatter Thin Client”):

But the vision of a tablet cum keyboard as the new model of PC is right on. This is the fat client come to the new form factor. I believe the future is heading in that direction and that the Microsoft Surface leads the way. I’ve been using an Intel-based Surface Pro for several weeks now and very much like the combination of PC and tablet that it provides. The device, while considerably more expensive than the standard tablet, represents a believable next step for the industry — a full PC (with Intel processor, SSD disk, 4GB RAM, 1920×1080 screen) that can be used as a touch-enabled tablet. Only battery life and cost stand in the way of wide acceptance.

Fatter Clients

Lately, Microsoft’s financial performance has been deteriorating because of the rise of the thin tablet. However, like they always seem to do, I believe the company will recover and come to the forefront once again. The software “thickness” of Win8 and the hardware “thickness” of Intel’s CPUs will eventually win out in the long run because they facilitate both consumption and creation much better than the current bevy of alternatives.

The Renaissance That Wasn’t

March 14, 2013 Leave a comment

In the thoughtful and well-written article, “The Rise and Fall of Languages in 2012”, Andrew Binstock rightly noted that the C++ renaissance predicted by C++ ISO committee chairman Herb Sutter did not materialize last year. Even though C++ butters my bread and I’m a huge Sutter fan, I have to agree with Mr. Binstock’s assessment:

In fact, I can find no evidence that C++ is breaking into new niches at a pace that will affect the language’s overall numbers. For that to happen, it would need to emerge as a primary language in one of today’s busiest sectors: mobile, or the cloud, or big data. Time will tell, but I feel comfortable projecting that C++ will continue to grow in its traditional niches and will advance at the same rate as those niches grow.

Nevertheless, if you buy into Herb’s prognostication that power consumption and computing efficiency (performance per watt) will overtake programmer productivity as the largest business cost drag in the future, then the C++ renaissance may still be forthcoming. Getting 2X the battery life out of a mobile gadget or a .5X reduction in the cost to run a data center may be the economic ticket that triggers a deeper C++ penetration into what Andrew says are today’s busiest sectors: mobile, the cloud, and big data. However, if the C++ renaissance does occur, it won’t take hold overnight, let alone over the one year that has passed since the C++11 standard was hatched.

It’s tough to make predictions, especially about the future – Yogi Berra

Cpp Mkt Share

%d bloggers like this: