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...
Hear how Yahoo! Groups has changed the lives of others. Take me there.

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 #26424 of 32000 |
Re: [TDD] Testable Languages

I would definitely want expressions/closures as first-class citizens like in

assertThat { assertThat(false) } abortsWith TestFailedException

Doing such things in C++ results in ugly Macro-Magic... Ruby
allows such things to some extent via closures, but they're limited
(http://innig.net/software/ruby/closures-in-ruby.rb)

And I'd like a strongly and statically typed imperative language where
the IDE was able to infer types while I'm typing, somehow magically
visualizing interfaces that are inherent in the design, or automatically
detecting and marking "pure" functions.

Manuel



Wed Nov 14, 2007 6:25 pm

manuel.klimek
Offline Offline
Send Email Send Email

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

... 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
Online Now 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
Online Now 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

The loop at the centre of this looks like this (hoping Yahoo leaves the CRs in place): Bool result = true; Foreach checker c in checkers c.Validate( result); ...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Nov 16, 2007
8:02 am

... Well, there's always something like: return checker[4].validate(checker[3].validate(checker[2].validate(checker[1].validate(true)))); No loop, no...
Frank Carver
frankefficacy
Offline Send Email
Nov 16, 2007
8:37 am

Ha! Good try. :-) But as you say not too elegant. Also in my case, each checker adds an item to a report when the check fails. I could, I suppose, use the...
Donaldson, John (GEO)
geo_johnfr
Offline Send Email
Nov 16, 2007
10:42 am

As you're building a report containing error messages, you might try making an error list as a collecting parameter and have validate just add to it on error...
Donald Roby
donalroby
Offline Send Email
Nov 16, 2007
11:08 am
 First  |  |  Next > Last 
Advanced

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