.NET: THE PROGRAMER'S PERSPECTIVE: ECOOP WORKSHOP 2003
|
.NET: The Programmer’s Perspective
Report about a workshop of ECOOP 2003
Hans-Jürgen Hoffmann, Darmstadt University
of Technology, Germany
|
 |

PDF Version
|
Abstract
Report about the ECOOP 2003 workshop WS 03, “.NET: The Programmer’s
Perspective”. - Much of the push behind Microsoft's new .NET
technology has been directed at such end-user applications as Web Services,
but .NET also provides, through the ".NET framework", a set
of tools and facilities of interest to software developers. This workshop
had been set up to review pros and cons of the .NET framework as seen
by programmers. Seven topics were discussed in much depth based upon
pre-selected contributions of participants, five of which can be found
in subsequent articles in JOT. More topics were shortly touched during
the workshop discussions.
1 OUTLINE OF THE WORKSHOP
The workshop took place on Tuesday, July
22, 2003. It was a full day workshop. Following an introduction by
H.-J. Hoffmann, Ms. Karine
Arnout from ETHZ (taking the place of Prof. Bertrand Meyer, co-organiser
of the workshop who was prevented from attending the workshop) started
the presentations by an introductory talk “Introduction
to .NET and Eiffel for .NET”. She introduced the salient
features of the .NET framework and, besides covering C#, described – as
an example of the multi-language support offered – the approach
taken in the “Eiffel for .NET” implementation with emphasis
on “Design by contract” as a well-known, important software
engineering principle (article not available in the present JOT issue,
Powerpoint presentation – see DOCUMENTATION section below – available).
Harald
Haller reported next on experience with and best practices gained
in two .NET applications, a database maintenance system and
a core
application of a real estate investment company. Implemented in C#,
the projects had a size of 10 – 20 person years and are considered
to be rather successful.
Not mentioning all the details, the next two
presentations by Diego Colombo, “CIL + Metadata > Executable
Program”, and
Bart Jacobs, “Selection of run-time services in .NET: There
is room for improvements” (title of the article: “Support
for metadata-driven selection of run-time services in .NET is promising
but immature”) allowed to learn about possibilities offered by
the .NET metadata concept going beyond present solutions.
In the remaining
three presentations by Anis Charfi, “Software
interactions” (title of the article: “Dynamic
component composition in .NET”), by Riccardo Casero and
Mirko Cesarini, “Managing
code dependencies in C#”, and by Peter Tröger, “Component
programming with .NET” (article not available in the present
JOT issue, Powerpoint presentation as mentioned in DOCUMENTATION section
below) interesting and challenging perspectives for programming in
the .NET
framework were developed, again not mentioning all details.
All presentations
led to many thoughtful discussions bringing to the participants a deep
understanding of the pros and cons of the .NET
approach. It remains to mention that some written contributions/presentations
list co-authors.
Following the presentations and their thorough discussion
a general discussion period of about 1 ½ hours was scheduled.
Section 2 lists the main topics discussed. 2 TOPICS DISCUSSED
During the individual discussion of the presentations
a number of relevant topics came up. Arguments pros/cons may be found
already in the documented
contributions insofar as authors had addressed them beforehand. Some
of the topics were rather specific in the scope of the presentations
considered. In the general discussion period at the end of the workshop
they were altogether included if considered to be of a broader interest.
In addition a “to-discuss-list” had been prepared before
the workshop (see link in DOCUMENTATION section below).
- .NET middleware architecture, experience report
- .NET and Corba / J2EE / Com+
- VisualStudio.NET as a programming environment
- .NET and Component composition
- .NET and deployment
- Metadata
- C# and Aspect-oriented programming
- C# and Design by contract / Programming by contract
-
Shift C++ / Java ==> (.NET /) C#
- .NET and Open Source ?
- Internationalisation
We categorised the result of opinions brought up
about .NET from a programmer's perspective into positive,
neutral and negative. The picture given should
not be understood as a research result and
truly objective. It represents individual experience, expectation,
and background. The entries in the lists highlight the outcome of a
time-limited ad-hoc discussion. Thus the lists should not be considered
to be complete and fully supported by hard objective arguments.
Positive:
- Good incorporation of concepts of object-oriented
programming
- Common Type System
- Metadata and attribute treatment
- Standard architecture over different platforms
- Language interoperability
- Smooth transition between value/reference
- Component composition facilities
- Deployment support
Neutral:
- Web services
- Dependency processing
- Provisions for dynamisation of program behaviour during
execution
- Aspect-oriented programming possible
- VisualStudio team environment became acceptable
Negative:
- Lack of native support for engineering environments
- Design specification following Design by Contract-technology
not supported
- Customisation of client devices not possible
- Open Source co-operation in programming needs more support
- Shifting from C++/Java to C# not yet totally solved
3 DOCUMENTATION
There exists a Web page with additional information, the
(beforehand proposed) To- discuss-list, a collection of commonly
found Abbreviations in the scope of .NET and (as far as available),
ppt-files presented during the workshop. See http://www.informatik.tu-darmstadt.de/PU/ECOOP/JOT.
4
PARTICIPANTS
Regular participants of the workshop (in alphabetical order)
were:
Karine Arnout (representing co-organiser
Bertrand Meyer), ETH Zurich, Switzerland
Riccardo Casero, Politecnico di Milano / DEI, Italy
Mirko Cesarini, Politecnico di Milano /DEI, Italy
Anis Charfi, Univ. Nice / CNRS, France
Diego Colombo, Univ. of Pisa, Italy
Harald Haller, sd&m, Munich, Germany
Hans-Jürgen Hoffmann – organiser –, Darmstadt Univ.
of Technology, Germany
Bart Jacobs, K. U. Leuven, Belgium
Mattia Monga, Univ. degli Studi di Milano, Italy
Michel Riveill, Univ. of Nice, France
Doris Schmedding, Univ.of Dortmund, Germany
Wolfgang Schult, HPI, Univ. of Potsdam, Germany
Peter Tröger, Hasso-Plattner-Institute, Univ. of Potsdam, Germany
Further
participants attended the workshop as guests without being introduced
beforehand by a submitted and reviewed paper (some of these persons
attended only partially – spelling errors due to hand-written
list excepted!):
Davide Ancona, DISI, Univ. of Genova, Italy
Andrew Cain, Swinborne; Australia
Sari Eldadah, Arab Academy for Banking & Financial Science, Jordan
Mei Feng, Newcastle Univ., UK
Carl Gunter, Univ. of Pennsylvania, USA
Uwe Hohenstein, Siemens AG, Munich, Germany
Kim Jin-Young, Ojou Univ., South Korea
Boris Litvac, Tel-Aviv Univ., Israel
Giovanni Lagovio, DISI, Univ. of Genova, Italy
Kim Myung-Uk, Ojou Univ, South Korea
Sorin Moldovan, Univ. of Babes-Bolyai, Romania
David Prasad, MUNIT, India
Pawel Stowikowski, AGH, Univ. of Cracow, Poland
Bart Verheecke, Vrije Univ. Brussel, Belgium
Gansha Wu, Intel Chinese Research Center, China
Victor Ying, Intel Chinese Research Center, China
5 CONCLUSIONS
A fair discussion of many of the challenging advancements
of .NET took place during the workshop. For the regular participants
with planned/scheduled
contributions a forum for presentation of their ideas and results of
research was provided, allowing competent discussion by the whole group.
Some of the guests, especially in the afternoon sessions and the general
discussion period, brought interesting and helpful arguments into the
discussions.
Eiffel .NET, introduced in the beginning, was in many cases
something like a bench-mark demonstrating how the .NET advancements
may be measured
from a “pure” object-oriented (language) point of view.
.NET as a middle-ware system proved as an interesting achievement
in component technology. .NET overall, although not free of an inherent
level of complexity, was considered as a remarkable step of improvement
in soft-ware/system technology; even if in details some critics came
up.
We had very strong and competent contributions from industry; however,
more participation by industry researchers would have been estimated.
Contributions by persons from academic institutions identified interesting
positive aspects and exhibited missing links to available and important
scientific know-how with respect to the state-of-the-art in software
engineering. Thanks to all of them!
Special thanks go to the members
of the reviewing committee:
Robert L. Baber, University of Limerick,
Limerick, Ireland
Johannes Heigert, Munich Univ. of Applied
Sciences, Munich, Germany
Erhard Ploedereder, University of Stuttgart,
Stuttgart, Germany
Michel Riveill, Université de Nice, Nice, France
Christian Salzmann,
Technische Universität München, Munich,
Germany
Doris Schmedding, University of Dortmund, Dortmund, Germany
Jürgen
F.H. Winkler, Friedrich Schiller University Jena, Jena,
Germany
We
acknowledge support by the executive committee of the German Chapter
of the ACM. Special thanks to the members of the editorial board of
JOT and Prof. Bertrand Meyer as publisher for providing a platform
for the publication of the results.
About the
author Hans-Jürgen Hoffmann is a University Professor with Darmstadt
University of Techno-logy since 1971, Computer Science department,
chair Programming Languages and Compilers. He is interested in systems
programming, object oriented approaches, inter-active applications,
and Web engineering. More details in the Web site http://www.informatik.tu-darmstadt.de/PU/welcome.htm.
He can be reached at HJHoffmann@ACM.org.
Cite this article as follows: Hans-Jürgen Hoffmann: “.NET:
The Programmer’s Perspective”, in Journal of Object
Technology,
vol. 3, no. 2, Special issue: .NET: The Programmer’s Perspective:
ECOOP Workshop 2003, pp. 5-10. http://www.jot.fm/issues/issue_2004_02/intro
|