Future of C#

M

Michael A. Covington

My hypothesis is that C#'s use is very domain specific whereas ML is not.

C# is no more domain-specific than C or Java. It may be the most
general-purpose language I've ever used.
 
M

Michael A. Covington

I don't know about C# but everything I find
suggests that its use is web programming first, database programming
second
and windows application programming a distant third with very little else.

Definitely not. I would say Windows application programming first, web
second, and database third. It is not at all a special-purpose or
restricted language.
 
J

Jon Harrop

Michael said:
Definitely not. I would say Windows application programming first, web
second, and database third. It is not at all a special-purpose or
restricted language.

Right, that's just it. C# is a completely general purpose language yet it is
rarely used in bioinformatics, biology, physics, chemistry and engineering.
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Jon said:
My hypothesis is that C#'s use is very domain specific whereas ML is not. I
know that ML is not because I've been involved with such a broad range of
applications written in ML. I don't know about C# but everything I find
suggests that its use is web programming first, database programming second
and windows application programming a distant third with very little else.

You are very hard to follow.

None of the "categories" you mention are domains. I see C# used in many
domains.


I see C# used for:
* web apps
* GUI apps
* console apps
* daemons (windows service in MS terminology)
* embedded apps
which must the all the possible types of apps.

Database programming is a part of many apps across app types.
Perhaps this is an unfair comparison because C# is a new language but ML is
a family of languages with a legacy dating back over 30 years. Even OCaml
is 11 years old now.

And in my estimate 95% of IT people has not even heard about it.

Arne
 
M

Michael A. Covington

Jon Harrop said:
Right, that's just it. C# is a completely general purpose language yet it
is
rarely used in bioinformatics, biology, physics, chemistry and
engineering.

I am using it in computational linguistics research right now.
www.ai.uga.edu/caspr

By "is rarely used" do you mean "is not yet entrenched and traditional"? C#
just hasn't been around that long, and laboratory science is very
tradition-bound.

Is it bad just because it's new?
 
J

Jon Harrop

Jon said:
Well, that encompasses a massive amount of the coding landscape. I
don't think of that as being "very domain specific". Furthermore, just
because those are its *primary* uses doesn't stop it from being used
elsewhere.

Sure. Perhaps "domain specific" is not the best phrase but I can't think of
a better one.
Would you say that C is very domain specific as well?

C was used very broadly 15 years ago but it has been largely superceded by
other languages (primarily C++) in many areas now. In scientific computing,
many more people use C++ than C. I expect the same is true of completely
unrelated domains like Windows application development. Now, I would say
that C is primarily a glue language used in foreign function interfaces and
a systems language used to write OSs and drivers.

Java is probably the most widely used language that I am aware of. Every
application area that I come to, I find people are already using Java for
it.

You can see how narrow the use of C# is by looking at Google hits. Search
for a language and a technical keyword. For example, bioinformaticians
might search for "suffix tree" and their favourite language:

Java: 31,200
C++: 23,600
Lisp: 9,370
C#: 1,340
Haskell: 875
OCaml: 726
F#: 94

Anyone doing technical computing might want a "set union":

Java: 32,500
C++: 23,100
Lisp: 17,100
C#: 1,500
Haskell: 792
OCaml: 562
F#: 127

Yahoo gives similar results:

"suffix tree"
Java: 1,860
C++: 1,230
OCaml: 428
Lisp: 374
Haskell: 348
C#: 327
F#: 81

"set union"
Java: 3,290
C++: 1,850
Lisp: 921
Haskell: 488
C#: 341
OCaml: 152
F#: 98

As you can see, the market share for C# among technical users is tiny
compared to the market share for C# among web programmers.
Given how you seem to think that C# is "not in widespread use" I don't
see how Microsoft program managers are justifying the amount of time
and effort they've put into it.

Microsoft simply select the most lucrative subjects and work to dominate
them. They have absolutely no interest in working to get C# used in a wide
variety of different subjects.
I'd have expected it to become more mainstream in that time then,
wouldn't you?

Mainstream like Sudoku or mainstream like calculus?
The trick would be to do that without introducing more complexity than
it's worth for the vast majority of developers who aren't in that
field.

I think they just need to add some basic libraries, like complex numbers.
I notice that you didn't answer my question, however. I'll repeat it:
Are you seriously contending that there is more ML development going on
than C# development?

No, of course not.
 
J

Jon Harrop

Michael said:
I am using it in computational linguistics research right now.
www.ai.uga.edu/caspr

This is fascinating, thank you.
By "is rarely used" do you mean "is not yet entrenched and traditional"?

I suppose, yes. I was just very surprised to see such a large discrepancy
between C#'s total market share (where it is a major player) and its market
share among technical users (where it is a minor player).
C# just hasn't been around that long, and laboratory science is very
tradition-bound.

Yes. I think it will be very interesting to see if the uptake of F# among
technical users is faster.
Is it bad just because it's new?

On the contrary, I am surprised that C# is not more widely used. Among its
relatives, C# is an excellent language.
 
J

Jon Skeet [C# MVP]

Jon Harrop said:
Sure. Perhaps "domain specific" is not the best phrase but I can't think of
a better one.


C was used very broadly 15 years ago but it has been largely superceded by
other languages (primarily C++) in many areas now. In scientific computing,
many more people use C++ than C. I expect the same is true of completely
unrelated domains like Windows application development. Now, I would say
that C is primarily a glue language used in foreign function interfaces and
a systems language used to write OSs and drivers.

Java is probably the most widely used language that I am aware of. Every
application area that I come to, I find people are already using Java for
it.

You can see how narrow the use of C# is by looking at Google hits. Search
for a language and a technical keyword. For example, bioinformaticians
might search for "suffix tree" and their favourite language:

As you can see, the market share for C# among technical users is tiny
compared to the market share for C# among web programmers.

And yet in all but one of your results, C# comes above OCaml, which you
are claiming *is* widely used in these areas. Either the results aren't
reliable, or they're showing that even where C# is relatively rarely
used, it's used more often than OCaml. How does that fit with your
claim that OCaml is used more widely than C#?
Microsoft simply select the most lucrative subjects and work to dominate
them. They have absolutely no interest in working to get C# used in a wide
variety of different subjects.

I think that's an overstatement, but I'd agree that they're primarily
interested in traditional business applications - and I think that's
entirely reasonable.
Mainstream like Sudoku or mainstream like calculus?

Mainstream like "there are vast hordes of developers around, and it's
commonly used in the biggest development area - business".
I think they just need to add some basic libraries, like complex numbers.

That wouldn't be a C# issue at all then - it's a .NET issue. Please
distinguish between platform and language.
No, of course not.

Okay. Can you explain what on earth you meant when you said:

<quote>
While C# looks common, its use in industry extends little beyond web
programming. So I would say that use of ML is already far more
widespread and F# can only broaden its use.
</quote>

To me, C# is more widespread because there's vastly more C# development
going on than ML development. I'm sure it's used in just about every
industry on the planet, to a greater or lesser extent.
 
J

Jon Harrop

Jon said:
And yet in all but one of your results, C# comes above OCaml, which you
are claiming *is* widely used in these areas.

I was referring to the distribution of domains rather than the size of the
largest domain. Most general purpose languages are used uniformly across a
wide range of subjects but C# has a very skewed distribution with the vast
majority of its users in a small number of application domains.

Consequently, C# appears near the top for some results (web programming) but
the bottom for others (technical computing).
Mainstream like "there are vast hordes of developers around, and it's
commonly used in the biggest development area - business".

Vast hordes of developers around where though? I've been an industral
programmer for several years now and I don't know a single C# programmer.
Okay. Can you explain what on earth you meant when you said:

<quote>
While C# looks common, its use in industry extends little beyond web
programming. So I would say that use of ML is already far more
widespread and F# can only broaden its use.
</quote>

To me, C# is more widespread because there's vastly more C# development
going on than ML development.

To me, that is like saying that Sudoku is a widespread mathematical
technique because lots of people do Sudoku puzzles but calculus is an
obscure technique because only educated people know and use it.
I'm sure it's used in just about every industry on the planet, to a
greater or lesser extent.

I was only referring to the extent. C# is a dominant force in web
programming, database programming and windows application programming but
nothing else. Java seems to dominate everything.
 
M

Marc Gravell

Vast hordes of developers around where though? I've been an industral
programmer for several years now and I don't know a single C# programmer.
I was only referring to the extent. C# is a dominant force in web
programming, database programming and windows application programming but
nothing else. Java seems to dominate everything.

But since you youself say - you don't know a single C# programmer, so
perhaps your analysis is itself flawed by being unfamiliar with where
C# *is* used?

To move this forward, can I suggest that rather than saying "nothing
else", you propose some actual areas where you think C# isn't used. I
suspect that you might be surprised to find that it is, in fact, used
there - but that in these smaller areas, the visibility is lower,
exactly as a consequence of these areas *being* smaller. I will
exclude areas like low-level device-drivers, because due to the
platform this is not a reasonable development area for .NET (nor
perhaps java?).

Marc
 
M

Marc Gravell

To me, that is like saying that Sudoku is a widespread mathematical
technique because lots of people do Sudoku puzzles but calculus is an
obscure technique because only educated people know and use it.

And your point? That sounds 100% correct to me. Let me explain; first
off, I have a 1st-class (hons) degree in Mathematics, so I do
understand calculus pretty well - however, in 8 years in industry
(business software, which is numerically the biggest employer) I have
used it exactly never [I have more commonly used some other math
areas, especially around graph/network theory, optimistation, etc].
I know that *in it's area* it is a very powerful tool, but it doesn't
address a problem that is common in the majority of developer's
experience. Hence it is *entirely* an obscure tool in the context of
the developer. I can't remember once being on this forum and reading a
question about integration techniques in C#. It is, however, very
common in a small niche area of developers (engineers in certain
fields, physicists, mathematical modellers, etc), and I have myself
read more than articles on such techniques in C# - but only in
dedicated arenas. Which this forum isn't.

Sudoku, however, appears in most newspapers.

One of the definitions for obscure is:
<q>known to few people: unknown to most people, e.g. because of being
hidden or remote</q>

That appears to (against the general population, or the developer
population) describe calculus very well. That statement, however, does
*nothing* to diminish the significance of calculus.

Marc
 
J

Jon Skeet [C# MVP]

Jon Harrop said:
I was referring to the distribution of domains rather than the size of the
largest domain. Most general purpose languages are used uniformly across a
wide range of subjects but C# has a very skewed distribution with the vast
majority of its users in a small number of application domains.

Well, that's not the common use of the phrase "widely used" or the word
"widespread". By your definition, HTML isn't widely used - it's almost
solely used for web development. Yet I'm sure if you asked people which
was more widely used, ML or HTML, *everyone* (except you, perhaps)
would say that HTML is more widely used.
Consequently, C# appears near the top for some results (web programming) but
the bottom for others (technical computing).

I don't see why that's a problem though.
Vast hordes of developers around where though? I've been an industral
programmer for several years now and I don't know a single C# programmer.

Ask recruitment agencies how many C# developers they've got on their
books, then ask how many ML developers they've got on their books. Ask
how many vacancies they've got for each. I'm sure you don't really
believe there are more ML developers than C# developers.

As for why you don't know any, I suspect that's due to the particular
areas of computing you've been working in - which are relatively
uncommon, compared with the *extremely* common areas of n-tier
development for business purposes.
To me, that is like saying that Sudoku is a widespread mathematical
technique because lots of people do Sudoku puzzles but calculus is an
obscure technique because only educated people know and use it.

Sudoku isn't a mathematical technique - but it's a more widespread
mathematical exercise than calculus is, yes.
I was only referring to the extent. C# is a dominant force in web
programming, database programming and windows application programming but
nothing else.

Yes, and we all know how insignificant those three areas are, of
course.
Java seems to dominate everything.

Does Java dominate games programming? Device drivers? OS development?
RDBMS development (not as a plugin, but as the engine)? No. Native
languages still have the edge in all those fields.

I suspect that there are three major reasons why C# isn't more widely
used in scientific computing:

1) There aren't as many scientific libraries available for .NET as for
some other platforms. This is partly due to age.

2) Scientific computing is often performed on non-Windows boxes. While
Mono is a great project, I suspect it isn't fully trusted yet, and may
not be as well optimised as .NET itself.

3) Scientific computing often involves long projects, which may have
started (in one form or another) long before .NET came on the scene.
Java has a 7 year advantage over .NET.

Notice how none of these reasons are specific to C# - they're about the
..NET platform.
 
J

Jon Harrop

Marc said:
But since you youself say - you don't know a single C# programmer, so
perhaps your analysis is itself flawed by being unfamiliar with where
C# *is* used?

I think the results I presented were objective and not biased by my
background. So I have objectively identified where C# is and isn't used.
To move this forward, can I suggest that rather than saying "nothing
else", you propose some actual areas where you think C# isn't used. I
suspect that you might be surprised to find that it is, in fact, used
there - but that in these smaller areas, the visibility is lower,
exactly as a consequence of these areas *being* smaller. I will
exclude areas like low-level device-drivers, because due to the
platform this is not a reasonable development area for .NET (nor
perhaps java?).

For example, I believe C# is not a popular language for:

.. Non-Windows development.
.. Scientific computing.
.. Finance.
.. Embedded systems.

I'm particularly interested in scientific computing.
 
J

Jon Harrop

Jon said:
Well, that's not the common use of the phrase "widely used" or the word
"widespread".

Yes. I tried using "not domain specific" in an attempt to avoid confusion.
Can you think of a better phrase?
I don't see why that's a problem though.

I think it is an interesting result, not a problem.

My interest is really three fold:

.. I'd like to break down market size (in $) by programming language.

.. I'd like to know what languages scientists want tools for.

.. I'd like to predict the future of the language landscape.

I think the first is much harder.

As you say, there are huge numbers of C# developers but their efficiency at
creating wealth is orders of magnitude lower than that of an ML developer.
For some reason, the big players are only just realising this.
Ask recruitment agencies how many C# developers they've got on their
books, then ask how many ML developers they've got on their books. Ask
how many vacancies they've got for each. I'm sure you don't really
believe there are more ML developers than C# developers.

Absolutely but without knowing how many C# developers can be automated by a
single ML developer that information has no practical use (unless you're in
job advertising).
As for why you don't know any, I suspect that's due to the particular
areas of computing you've been working in - which are relatively
uncommon, compared with the *extremely* common areas of n-tier
development for business purposes.

Absolutely. I'm here to sell spades rather than dig for gold.
Sudoku isn't a mathematical technique - but it's a more widespread
mathematical exercise than calculus is, yes.

Right. Sudoku is widespread because it is heavily advertised and not because
it is valuable. There is money in the Sudoku market but nothing like as
much as in calculus.
Yes, and we all know how insignificant those three areas are, of
course.

I'm glad that web programmers consider themselves to be significant. I'm
sure they do a lot of good work, like FaceBook, but I know very little of
it.
Does Java dominate games programming?

Java is unquestionably a dominant force in games programming.
Device drivers? OS development?
RDBMS development (not as a plugin, but as the engine)? No. Native
languages still have the edge in all those fields.

Very true.
I suspect that there are three major reasons why C# isn't more widely
used in scientific computing:

1) There aren't as many scientific libraries available for .NET as for
some other platforms. This is partly due to age.

2) Scientific computing is often performed on non-Windows boxes. While
Mono is a great project, I suspect it isn't fully trusted yet, and may
not be as well optimised as .NET itself.

3) Scientific computing often involves long projects, which may have
started (in one form or another) long before .NET came on the scene.
Java has a 7 year advantage over .NET.

Notice how none of these reasons are specific to C# - they're about the
.NET platform.

Well, that's like having a democratic vote with a single candidate.
 
J

Jon Skeet [C# MVP]

Jon Harrop said:
Yes. I tried using "not domain specific" in an attempt to avoid confusion.
Can you think of a better phrase?

I think that explaining in detail to start with would have been better
than using a phrase which I suspect you knew perfectly well would have
been interpreted in a different way to your stated intention.

Did you *really* believe when you wrote this:

<quote>
While C# looks common, its use in industry extends little beyond web
programming. So I would say that use of ML is already far more
widespread and F# can only broaden its use.
</quote>

that your meaning would have been clear, especially bearing in mind the
"While C# looks common" part?
I think it is an interesting result, not a problem.

My interest is really three fold:

. I'd like to break down market size (in $) by programming language.

. I'd like to know what languages scientists want tools for.

. I'd like to predict the future of the language landscape.

I think the first is much harder.

I also suspect that the first would show a far greater dollar amount
for C# than for ML, however.
As you say, there are huge numbers of C# developers but their efficiency at
creating wealth is orders of magnitude lower than that of an ML developer.

You state that as if it's a fact. Care to back it up with statistics?
Given that you're an F# evangelist, you can hardly be viewed as
unbiased.
Absolutely but without knowing how many C# developers can be automated by a
single ML developer that information has no practical use (unless you're in
job advertising).

No, the information has practical use in terms of knowing how
widespread use of C# is - using "widespread" in the common meaning of
the term rather than yours.
Absolutely. I'm here to sell spades rather than dig for gold.

And the fact that you're on a C# group specifically to promote a
different language is rather interesting too. Most people here are
interested in solving C# questions rather than changing languages. Do
you regularly go to parties and say, "Hey, there's a better party
across the road"?
Right. Sudoku is widespread because it is heavily advertised and not because
it is valuable. There is money in the Sudoku market but nothing like as
much as in calculus.

But the point is that it's widespread - and the introduction of
comparisons between Sudoku and calculus was to illustrate the meaning
of the term "widespread" as far as most people understand it.

Now, are you going to finally admit that in the *normal* understanding
of the word "widespread", C# is far more widespread than ML?
I'm glad that web programmers consider themselves to be significant. I'm
sure they do a lot of good work, like FaceBook, but I know very little of
it.

There are many, many systems (whether web based or not) which are
internal to companies, or only exposed within commercial contracts, but
which are nevertheless productive.
Java is unquestionably a dominant force in games programming.

Care to stand up in a games development conference and claim that with
a straight face? When talking about games on mobile phones you could be
right, but outside that very specific market Java has very little
presence.

Care to name a single top 10 game for either the PC, Wii, XBox 360,
PS3, GameCube, PS2, XBox, DS, PSP or GBA which was primarily Java-
based?
Well, that's like having a democratic vote with a single candidate.

I don't see your analogy at all - and importantly, they are all reasons
which will count against F# as well as C#. The same changes which might
drive F# adoption for scientific computing will also make C# adoption
easier.
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Jon said:
For example, I believe C# is not a popular language for:

. Non-Windows development.

True.

MS .NET is not available for anything else than Windows.

And Mono is not that popular.
. Scientific computing.

Sounds plausible. Still way much more popular than ML.
. Finance.

Not true.

There are many bank and other financial institutions using .NET
for all types of purposes.
. Embedded systems.

Still behind C and Java, but CF is used.

Arne
 
?

=?ISO-8859-1?Q?Arne_Vajh=F8j?=

Jon said:
I was referring to the distribution of domains rather than the size of the
largest domain. Most general purpose languages are used uniformly across a
wide range of subjects but C# has a very skewed distribution with the vast
majority of its users in a small number of application domains.

Not true.

Fortran was strongly focused around scientific computing.

Cobol was focused around business computing.

PL/I ditto.

It is more the norm than the exception to have strong areas.
Vast hordes of developers around where though? I've been an industral
programmer for several years now and I don't know a single C# programmer.

That only proves that you are utterly out of touch with what is going
on in the industry.
To me, that is like saying that Sudoku is a widespread mathematical
technique because lots of people do Sudoku puzzles but calculus is an
obscure technique because only educated people know and use it.

????

You made a quantitative assessment.

And when called to explain you come with a qualitative assessment.

Guess what: being widely used and being advanced is two very different
things.

And besides you analogy is a rather cheap rhetorical trick, that may
be capable of fooling 10 year olds, but ...
I was only referring to the extent. C# is a dominant force in web
programming, database programming and windows application programming but
nothing else. Java seems to dominate everything.

A don't understand you grouping.

Persistence and UI are orthogonal characteristics.

Besides I think that UI and persistence is very widely used.

Including in technical computing.

Arne
 
J

Jon Harrop

Jon said:
I also suspect that the first would show a far greater dollar amount
for C# than for ML, however.

There's no point in speculating without any quantitative evidence.
Particularly if you are totally unaware of ML.
You state that as if it's a fact. Care to back it up with statistics?

Sure:

Windows once had an appalling reputation for being plagued by crippling
bugs. Microsoft did not even know where these bugs were in their operating
system. A team led by Gordon Mangione pioneered the use of automated error
throwback to Microsoft and discovered that 80% of the bugs were actually in
third-party driver code.

As a consequence, Microsoft stopped pouring money into hundreds of testers
trying to maintain their low-level code and built a group to perform static
verification of drivers using tools written in OCaml. They succeeded in
removing many of the most important bugs and the reliability of the whole
platform improved enormously as a consequence.

How many developers were displaced by the ML developer and how what is the
monetary value of stability to Microsoft?
Given that you're an F# evangelist, you can hardly be viewed as
unbiased.

My job wouldn't exist if my statement weren't true.
No, the information has practical use in terms of knowing how
widespread use of C# is - using "widespread" in the common meaning of
the term rather than yours.

What use?
And the fact that you're on a C# group specifically to promote a
different language is rather interesting too. Most people here are
interested in solving C# questions rather than changing languages. Do
you regularly go to parties and say, "Hey, there's a better party
across the road"?

Better than standing outside the C# party, making myself extra visible and
acting as a high-class spammer for scraps. Apparently MVPs are legal in
Australia. ;-)
But the point is that it's widespread - and the introduction of
comparisons between Sudoku and calculus was to illustrate the meaning
of the term "widespread" as far as most people understand it.

Actually I introduced Sudoku and calculus to this conversation to illustrate
the difference between common and valuable.
Now, are you going to finally admit that in the *normal* understanding
of the word "widespread", C# is far more widespread than ML?

On the contrary, I think calculus is widespread and valuable but Sudoku is
common but domain specific.
There are many, many systems (whether web based or not) which are
internal to companies, or only exposed within commercial contracts, but
which are nevertheless productive.

Sure. XenSource do that and its written in C#. Well, the intermediate
language is C#. It is actually generated by OCaml code. ;-)
Care to stand up in a games development conference and claim that with
a straight face? When talking about games on mobile phones you could be
right, but outside that very specific market Java has very little
presence.

Care to name a single top 10 game for either the PC, Wii, XBox 360,
PS3, GameCube, PS2, XBox, DS, PSP or GBA which was primarily Java-
based?

You've changed your tune. You don't want to compare languages my monetary
value but you want to compare games by subsidy rather than units sold.
I don't see your analogy at all - and importantly, they are all reasons
which will count against F# as well as C#. The same changes which might
drive F# adoption for scientific computing will also make C# adoption
easier.

Try using the complex number implementation from the F# stdlib in C#, or the
Extreme Optimization library's C# API from F#.
 
J

Jon Harrop

Arne said:
Fortran was strongly focused around scientific computing.

Cobol was focused around business computing.
True.

It is more the norm than the exception to have strong areas.

Not according to those stats I posted: there are few domain specific
languages.
That only proves that you are utterly out of touch with what is going
on in the industry.

Getting in touch with C# programmers would only put me in touch with that
tiny part of industry.
????

You made a quantitative assessment.

And when called to explain you come with a qualitative assessment.

I already posted detailed quantitative evidence. All that remains is our
qualitative assessments of it.
Persistence and UI are orthogonal characteristics.

You've generalized databases to persistence and web apps to UI. The
relationship between web apps and databases is, in this context, simply
that Microsoft's target market for C# made a lot of use of these two
things.
Besides I think that UI and persistence is very widely used.

Yes, but not in the form emphasized by C#.
Including in technical computing.

In technical computing, people very rarely build active web pages or use SQL
databased. UIs are usually only command-line and persistence is achieved by
other means.
 
M

Marc Gravell

As you say, there are huge numbers of C# developers but their efficiency at
creating wealth is orders of magnitude lower than that of an ML developer.
For some reason, the big players are only just realising this. ....
how many C# developers can be automated by a single ML developer

I'm not in the least bit convinced (and you have provided no
justification) that this is in any way related to language (or
framework) choice. Can I submit that this is more related to those
areas in which ML (or functional programming in general) is suited,
being lucrative. Well, I am genuinely happy for you that you have such
a niche, but this doesn't compare the tools used. The only way you
could do this would be to swap the positions; I submit that C#, as a
general purpose language, would be more than acceptable (perhaps with
a mathlib reference) in science usage (or whatever) - heck, I've done
a range of such things, involving ant-colony, TSP, network
optimisation, etc; However, due to specialisation, would ML genuinely
fare so well in business usage? I somewhat doubt it. It can be forced
to do the job, but is that really a good idea?
Try using the complex number implementation from the F# stdlib in C#, or the
Extreme Optimization library's C# API from F#.

I haven't done so, but I assume from your reply (in context) that this
would be messy / hard [assertion: if incorrect, please say]?
In which case, can I submit that the F# stdlib is poorly designed from
a .NET perspective? The entire idea of CLR is to be commonly usable.
Likewise, if F# can't neatly consume the Extreme Optimization
assembly, then *again* I submit that the fault is with F# for failing
to properly observe CLR concepts. This would be a *major* stumbling
block in proposing F# as a common-usage .NET langauge, as comsuming
libraries is very common.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top