Sunday, January 20, 2008

Language Use Cases

Imagine that you are the customer for a new programming language. What three use cases would be most important to you and why?

12 comments:

Steve Asher said...

Okay then, I'll start:

Everything is an object. No primitives.

Steve Asher said...

Concerning Types:
A 'Set' type is available with common set theory functions.

Steve Asher said...

Concerning function parameters:
All function parameters are immutable by default unless explicitly stated otherwise.

Unknown said...

It should be really easy to perform operations over collections. For-each loops are a good start, but I'm looking for things along the lines of map and filter.

Typically, that would require first-order functions -- which would be nice to have in their own right.

Steve Asher said...

Concerning objects and functions:

Even functions are objects.

Ethan Vizitei said...

I especially agree with your last requirement: even functions are objects. Including anonymous functions (colsures).

James Carr said...

Hmmm... built in support for metaprogramming and design by contract would be a must.

Also the ability to add methods/attributes to an object instance dynamically is VERY useful

James Carr said...

Oh yeah... I'm especially fond of languages that also let you override/define operators. I like the way scala does this, like this example on my blog:

http://blog.james-carr.org/2008/01/12/my-geek-new-years-resolutions/

Steve Asher said...

I would like a concept of an unknown. This would be like a variable that represents multiple states. Constraints and conditional constraints could be used to narrow the possible states.

Michael Finney said...

Industry backing by more than one successful company

Lots of great books

Industry backing by more than one well respected guru

Unknown said...

Wow, there's a conversation stopper. Thanks for raining on our parade, Mike! ;)

Anyway, back to imagination land -- we need Lazy evaluation! and static typing! and H-M inference to make the type annotations optional! and generics! with multiple dispatch! and currying!

And a Pony!!!

Adam said...

This is Easy! As a Java boy...

I want easy date manipulation. Think JodaTime, not Java Dates...maybe i'm the only one who thinks that most date processing is pathetic....