Search the web
Sign In
New User? Sign Up
testdrivendevelopment · Test-driven Development
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Testable Languages   Message List  
Reply | Forward Message #26384 of 32000 |
Hi, all,

Michael Feathers tossed off, in a recent thread:

> hoping to see testability as a use case for
> language design in my lifetime

And I'd like to encourage the group here to begin the discussion - if
it's not already underway elsewhere - of what that could mean. I'd
very much like to see the language that emerges from that use case -
and I'm pretty sure I'd like to use it.

For my part, I find it easiest to think about language and (other)
development tools together; that is, the implications of a testable
language I envision through their manifestations in (for notable
example) the IDE. We have some of that with JUnit integration in
Eclipse and other Java IDEs and nUnit integration into Visual Studio,
and it's great to have that, but in what ways could it be better? I
like the notion of some kind of special status for test code that
gives it access to things that might not be accessible to production
code, and an execution context that refuses to execute untested or
failing code - of course the tests need a different execution context
or code could never be tested. I am also fond of the notion of inline
tests - not in a nearby or parallel package, not in a separate class,
but right there in the code: THIS is what this function is required to
do. But I can also see that getting messy.

Michael, what do you imagine a highly testable language would look
like? How would it differ from today's languages, and what impact
would testability have on development and deployment tools? Anyone
else?

Peace,
--Carl

--
http://undisclosed-recipients.blogspot.com
http://www.flickr.com/photos/carlmanaster/sets/228603/



Tue Nov 13, 2007 7:46 pm

cmanaster
Offline Offline
Send Email Send Email

Forward
Message #26384 of 32000 |
Expand Messages Author Sort by Date

Hi, all, ... And I'd like to encourage the group here to begin the discussion - if it's not already underway elsewhere - of what that could mean. I'd very...
Carl Manaster
cmanaster
Offline Send Email
Nov 13, 2007
7:46 pm

... Carl, I think about this problem a lot because I spend so much time looking at messes, but I can't say that I've reached any conclusions. On the one hand,...
Michael Feathers
mfeathers256
Offline Send Email
Nov 13, 2007
8:35 pm

... Extremely specifically, I think C# would be easier to test if it supported the "friend" keyword as in C++. That way, you could add sensing variables, etc....
Kelly Anderson
kellycoinguy
Offline Send Email
Nov 13, 2007
9:34 pm

... Yes, but I think it's more than political and it drives me crazy. To me, it's like some freakish version of the Sapir-Whorf Hypothesis. I have the deep...
Michael Feathers
mfeathers256
Offline Send Email
Nov 13, 2007
10:15 pm

I would definitely want expressions/closures as first-class citizens like in assertThat { assertThat(false) } abortsWith TestFailedException Doing such things...
Manuel Klimek
manuel.klimek
Offline Send Email
Nov 15, 2007
1:55 am

... what, you mean like they had in Modula-3 and Ada 95? (wistful sigh). S. Steve Freeman http://www.mockobjects.com Winner of the Agile Alliance Gordon Pask...
Steve Freeman
smg_freeman
Offline Send Email
Nov 14, 2007
5:50 pm

... Yeah, language support for higher level components sort of fell apart. I don't know why. Maybe it was due to the flight toward C/C++? Michael...
Michael Feathers
mfeathers256
Offline Send Email
Nov 14, 2007
9:39 pm

... As I recall the hype machine of the time, a lot of the loss of interest might be attributable to the attention focused on COM, DCOM, Corba, etc. to solve...
Kelly Anderson
kellycoinguy
Offline Send Email
Nov 14, 2007
10:16 pm

... apart. ... Specifically in the case of Modula-3, forcing too many bitter students to write Modula-2 and Modula-3 code may not have been the happiest of ...
michaelgburton
Offline Send Email
Nov 14, 2007
10:17 pm

... We'll just have to disagree on this one. I regard being taught in Modula-3 as one of my lucky breaks (that and getting to work with some of the people who...
Steve Freeman
smg_freeman
Offline Send Email
Nov 16, 2007
12:29 pm

Hello, Steve. On Friday, November 16, 2007, at 7:29:55 AM, you ... I'd much prefer Smalltalk or LISP to Modula though. Very constraining for my taste and I...
Ron Jeffries
ronaldejeffries
Offline Send Email
Nov 16, 2007
12:58 pm

... The above languages felt overengineered to programmers who just wanted to compile a program. Programmers wanted to move in direction of "just code away"...
Alan Baljeu
alanbaljeu
Offline Send Email
Nov 14, 2007
10:32 pm

I always run into problems with conditionals (if/switch/unless etc), so I would like them to go away for two reasons: 1) To make the code more readable (this...
Daniel Brolund
daniel.brolund
Offline Send Email
Nov 15, 2007
1:55 am

... You seem to be quite serious, which puzzles me. How can you possibly write a serious program without making any decisions? If you can't, how can you make...
Alan Baljeu
alanbaljeu
Offline Send Email
Nov 15, 2007
2:12 am

Hi Alan, ... I have no idea how serious Daniel is, but the only way I know is to replace the decisions with various forms of specialization: inheritance,...
Charlie Poole
cpoole98370
Offline Send Email
Nov 15, 2007
2:36 am

... And, how do you start specialization via inheritance? Well, you ask the user "do you want fried eggs or scrambled?". And then you write if (choice ==...
Alan Baljeu
alanbaljeu
Offline Send Email
Nov 15, 2007
1:41 pm

... Or you could do: Egg choice = ... Order order = choice.order(); or choice.order(kitchen); or kitchen.prepare(choice) // needs multi-methods or visitor like...
Arnaud Bailly
arnaud.baillly
Offline Send Email
Nov 15, 2007
1:53 pm

... I'm sorry, but tell me that these methods don't themselves contain a conditional, and how they work without them. In the first case, I expect the ... to...
Alan Baljeu
alanbaljeu
Offline Send Email
Nov 15, 2007
2:36 pm

... Is Mozart better than Led Zeppelin ? It's all music in the end :) Of course, there is an if somewhere: in the language, in the assembly code, in the CPU...
Arnaud Bailly
arnaud.baillly
Offline Send Email
Nov 15, 2007
2:53 pm

Hello, Alan. On Thursday, November 15, 2007, at 9:31:34 AM, you ... It /is/ if-else. It's the guard clause pattern version. Ron Jeffries www.XProgramming.com ...
Ron Jeffries
ronaldejeffries
Offline Send Email
Nov 15, 2007
3:02 pm

I would try something like this: Order scrambledEggs = new ScrambledEggs() Order poachedEggs = new PoachedEggs() Order amFull = new NothingToEat() Menu menu =...
Daniel Brolund
daniel.brolund
Offline Send Email
Nov 15, 2007
3:36 pm

Hi Daniel, ... I guess this is the Replace Conditional with User refactoring. :-) Charlie...
Charlie Poole
cpoole98370
Offline Send Email
Nov 15, 2007
6:45 pm

Hi, ... Generally, I believe we test code that contains decision that should already have been made. Another feature to consider: A person I talked with a...
Daniel Brolund
daniel.brolund
Offline Send Email
Nov 16, 2007
4:49 pm

Conditionals do tend to become rarer as design gets better. I often grep for 'if' or 'else' when I'm about to look at a code base, just to get a feel for it. ...
Michael Feathers
mfeathers256
Offline Send Email
Nov 15, 2007
2:49 pm

Hello, Michael. On Thursday, November 15, 2007, at 9:49:38 AM, you ... They do. I'm not sure they go away though ... Ron Jeffries www.XProgramming.com Keep...
Ron Jeffries
ronaldejeffries
Offline Send Email
Nov 15, 2007
3:02 pm

Hi Ron, Michael, all, ... One thing that gets smaller is the number of places in the code that know about the map between the behavior-selection criteria and...
Dale Emery
dalehemery
Offline Send Email
Nov 15, 2007
7:19 pm

Hi, Charlie, I am pretty serious, but I'm not intelligent enough to foresee all possible implications. :-) What I've noticed is that I use conditionals less...
Daniel Brolund
daniel.brolund
Offline Send Email
Nov 15, 2007
3:36 pm

Hi Daniel, ... I'm with you on minimizing explicit conditionals - and even more so "memorized conditions" in the form of boolean member variables. I somehow...
Charlie Poole
cpoole98370
Offline Send Email
Nov 15, 2007
6:45 pm

Something Charlie wrote about in the "Testable Languages" thread caught my attention because I'm having that problem just now. I have a program that validates...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Nov 16, 2007
7:50 am
First  | < Prev  |  Next > Last 
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help