views:

549

answers:

13

This site has been great for me to learn what's out there for programming tools and libraries. I'm wondering what are some promising tools/libraries/algorithms -- in any areas of programming or software engineering -- that are in alpha or beta right now that I should keep my eyes on when they get released.

Some ones that come to mind to me are MySQL 6.0, ChromeBug, Java 7, and NIST's competition for what will become SHA-3 (see also this).

+1  A: 

I am waiting for Fluent NHibernate's first release. But, since it's open source I can get along with the SVN trunk.

Martinho Fernandes
Fluent nHibernate is sweet
JoshBerke
+13  A: 

Well, .NET 4.0 contains three bits of significant interest to me:

The most significant aspect of C# 4.0 (from my point of view) is language support for the DLR; it will also make COM interoperability simpler, introduce generic variance and optional/named parameters. While I'm still mostly a language guy, the framework features of .NET 4.0 feel more important to me than the language improvements. I've been a big fan of Parallel Extensions (aka Parallel FX, including TPL and PLINQ - acronyms abound!) for quite a while.

Jon Skeet
+1 on parallel extensions and code contracts!
Jeffrey Cameron
Martinho Fernandes
I am also eager to "get my hands on" generic variance and named parameters. Finally!
Martinho Fernandes
Code contracts == hells yeah! I've been trying to adopt Spec# at work for a while now. I'll be very glad when it's rolled into the standard framework.
Randolpho
These are indeed some greatly anticipated features of .NET 4.0. The DLR in particular ought to have a huge impact on the .NET world. MS may even win over a few python coders!(Minor point btw: I think you mean the TPL (http://en.wikipedia.org/wiki/Task_Parallel_Library#TPL) rather than PTL.)
Noldorin
@Noldorin: Thanks for the correction. Answer duly edited.
Jon Skeet
Dynamic Language Runtime is a cheap knock-off of parrot. http://parrot.org
Brad Gilbert
@Brad: I suspect it's more the case that both the DLR and parrot are derivative of fairly old computer science. I suspect the DLR will be released long before parrot, mind you... and the fact that it runs on top of the CLR is highly significant in *practical* terms.
Jon Skeet
+2  A: 

C# 4.0

Randolpho
+7  A: 

F# will bring functional programming a lot more attention.

Richard
http://en.wikipedia.org/wiki/F_Sharp_programming_language
Adam Bernier
+10  A: 

For me its C++0X.

Daniel A. White
+6  A: 

Waiting for Perl 6 for quite some time. Another interesting language is Newspeak. On a minor note, Scala IDE support.

I hear that Duke Nukem Forever is written in Perl 6...
Jon Skeet
If I could, I'd vote this up a million times. Newspeak is simply one of the most important programming languages since probably 20 years.
Jörg W Mittag
+4  A: 

ECMAScript 4.0 (ActionScript 4.0)

euge1979
+1  A: 

Silverlight 3.0

unknown
+2  A: 

Mono (x-platform, open source .NET framework)

unknown
A: 

php 6 java7 actionscript 4

A: 

Windows Azure is a promising technology which will allow you to build ASP.NET applications (and others, but my interest is ASP.NET) which scale up simply by increasing the number of instances of your ASP.NET code which are allowed to execute at one time. I've already played around with it and scaling up is as easy as changing a number on a web form.

I look forward to getting rid of my dedicated web server, saving time & $$$, and having instantly available scalability should I ever need it.

Joe Erickson
+1  A: 

Haskell and the GHC compiler and runtime. The language is extremely powerful and very interesting, and the compiler is great. The runtime features things like parallel garbage collection; while the sun JVM and .NET also have this, I find it fairly impressive in GHC's case given that the runtime probably doesn't get anywhere near even tenth the man-hours that the JVM or .NET runtimes get.

Curt Sampson
+1  A: 

I'm probably going to get flamed for this, but I don't think MySQL 6 will offer much of interest. They long ago pretty much abandoned the real idea of a relational DBMS (which is really an inference engine) and decided that a dumb data store full of inconsistent data was the way to go.

(I mean, really. Software that accepts February 29th as a valid date in non-leap-years is not a big surprise. February 30th is stretching the bounds of credulity. But February 0th? Who the heck wrote the validation routine for that one? I suppose we should be grateful that MySQL doesn't allow "ghhg" as an integer, insisting that we check that our integers are valid before we insert them.)

Now PostgreSQL has a lot of interesting stuff in it, particularly user-defined types, including support for arbitrary index schemes. (For example, the PostGIS extension uses "lossy" indexes, where they index a bounding box for complex geometric shapes.) Unfortunately, you still have to do a lot of work in C to define your own types.

And sad to say, we're still stuck with SQL, which makes doing relational work much harder than it has to be. That's akin to the only "scripting" language in the world being Perl, and nobody coming up with Python or Ruby. However, I'm quite encouraged by Microsoft's introduction of LINQ; we may now finally see some forward progress on relational languages since the "relational language winter" that came in over the course of the late 70s and 80s.

Curt Sampson
the only big thing in MySQL 6 (or 5.4 or whatever it's called now) that I know I'm looking fwd to is the Falcon storage engine. http://dev.mysql.com/tech-resources/articles/falcon-transactional-engine-part1.html
Jason S
I do have to admit that having different storage engines in MySQL is a great thing. Though I do find it a little bit annoying when you use a storage method that doesn't support transactions, execute "BEGIN TRANSACTION; ...; ROLLBACK TRANSACTION;" and MySQL replies with "OK", after committing what you've done.
Curt Sampson
I had a look at Falcon, and it doesn't seem to be anything special. The only feature I saw that isn't already widespread was possibly the cache page ejection algorithm, and even that may already be widely used in the commercial world.
Curt Sampson