|
Developer Resources
Microsoft’s new .NET Framework is arguably the biggest development in PC
software development since the release of Visual Basic. However,
Microsoft’s decisions to attach the .NET label to almost all of its new products
and to focus its marketing on the new web features have somewhat obscured the
importance of this change for application developers.
There's already a vast amount of information about .NET on the
internet: here are some of the sources we've found useful.
| What is .NETHow Will it Affect Us? |
 |
| A fairly broad introduction to .NET, aimed at non-programmers. |
| |
| Introducing .NET |
 |
| A more technical summary, aimed at technical managers and developers. |
| |
| MSDN .NET Homepage |
 |
| This is the main .NET homepage within Microsoft.com, although it mainly focusses on XML. |
| |
| Visual Studio .NET (Microsoft) |
 |
| This part of Microsoft.com answers many questions about the new development tool Visual Studio.NET. |
| |
| GotDotNet |
 |
| A Microsoft 'community' site. |
| |
| DevX .NET |
 |
| A large site with a lot of information about .NET, including a comprehensive list of .NET links. |
| |
| DOTNET Discussion |
 |
| A very active e-mail list and discussion board for .NET developers. |
| |
| J2EE vs. .NET |
 |
| A very interesting paper, which
compares Java Enterprise Edition and .NET and concludes that
.NET is cheaper for e-business applications. Interesting stuff, though
it's not clear if there is any commercial relationship between the
authors and Microsoft. |
| |
|
|
|
Although more than slightly over-hyped, XML is here to stay. The following
is a collection of links that may help developers answer their XML questions.
| Scientific American |
 |
| XML and the Second-Generation
Weba good explanation of why XML has become so important. |
| |
| O'Reilly XML.COM |
 |
| A large site mostly containing technical material for XML developers. |
| |
| XML Spy |
 |
| A sophisticated and professional Windows program for viewing and creating XML files. |
| |
| Free Tools |
 |
| This web site includes a
long list of free tools for processing and working with
XML. A lot of them are UNIX and university-oriented, obviously,
but there are some good PC programs here too. |
| |
More powerful than Visual Basic and substantially faster to use than Visual C++,
these two development environments from Borland are much loved by many Windows application developers.
Blueberry, in particular, has gained significant commercial advantage from using BCB instead of the
mainstream Microsoft alternatives.
| BCB Home Page |
 |
| This is Borland's main home page
for BCB. It gives lots of information about the product and access to
two updates that are strongly recommended. |
| |
| Torry's Delphi Site |
 |
| A vast collection of shareware,
freeware and commercial componentsmostly for Delphi, but
also for BCB. |
| |
| Dream Company |
 |
| Some very impressive components
for Delphi and BCB, including a very good Outlook Bar and a
collection of components that can be used to construct a complete
IDE. |
Moving data from programming languages into databases has always
been a difficult problem. The root cause is that
relational databases and OO programming languages use completely
different ways of storing data: databases spread information across
multiple tables whereas OO systems keep it all together in one
place.
In the early to mid 1990s, companies and universities worked on
Object Databases, which effectively allowed C++ objects to be stored
directly in the database. These systems were adopted in some markets,
particularly telecoms, but the wider business community found this
to be too great a shift from the familiar, if cumbersome, world
of relational databases. Most of the companies selling OODB technology
have now either specialized in Java or become web companies, providing
XML interfaces.
In response to commercial insistence on retaining the back-end
SQL system, two new trends have emerged. The first is to add object
functionality to existing relational databases, which tends to
result in patchy and unwieldy solutions. The second is to provide
a mapping layer to interface between the OO program and a relational
database. There are performance concerns of course, but any OO program
must use some mapping system to get data to/from a database, so
it's arguable that a polished and well-implemented mapping layer
will actually improve system performance.
| Object Relational |
 |
| Object-relational mapping articles and products: Free, online articles
about object-relational mapping products along with links to product vendors. |
| |
| Infoobjects |
 |
| Infobjects have a sophisticated
product that allows programs to issue OQL commands against
relational databases, and handles object caching. Very interesting. |
| |
| POET Software |
 |
| POET's main product, Object
Server Suite, has been renamed FastObjects and now supports
embedded applications. |
How can we write programs faster? What will programming look like in 2050?
Programming systems, i.e. programming languages and their supporting
environments, often seem to evolve in cycles, with old ideas frequently
being rediscovered. It also seems to be true that programming technology
doesn't move forward in the same discontinuous way that other technologies
do.
| Intentional Programming |
 |
| Intentional Programming is a new programming system designed to allow
programmers to work at a much higher level than usualby specifying their 'intentions' and
letting the system convert them into program code. This work has been pioneered by
Charles Simonyi, a very intelligent and senior programmer at Microsoft. It is an absolutely fascinating subject,
but unfortunately a lot of the material on this site is rather difficult to understand. Also, we haven't noticed
anything new on the site in the last three years, so we wonder whether the project is still live. |
| |
| Tunes |
 |
| An idealistic site describing
a project to build a computer system that is
reflective, i.e. self-referential. It has some aims in common
with our ideas about the future of software. The site doesn't yet tell us
what the authors think of Microsoft.NET, which is a delivered, reflective programming
system. |
| |
| Linda |
| Linda is a tuple-based
parallel programming system. This site describes some of the features
of this approach, and is interesting because of the simplicity it
brings to the parallel processing problem. |
|
|