473,383 Members | 1,925 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

anonymous methods only available in C#?

PJ6
I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against VB.Net,
that maybe somehow this is a language that doesn't deserve to be as powerful
as others? I hate C#. Anyway... what gives? What's the reasoning behind
*that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what they
were thinking. I'm just ranting. I'll go sulk over there now...

Paul
Aug 10 '06 #1
22 1489
PJ6

Are you happy with this kind of coding, it reminds me back to my assembler
mainframe time when I had to declare every memory address almost fixed. It
took only a lot of time and I was spending thousand times more time to
create a simple "Hello World" program.

I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

There will be however always be fanatic orthodox people who tell that that
way of programming is the most optimum there is.

However, just my opinion.

Cor

"PJ6" <no***@nowhere.netschreef in bericht
news:u0****************@TK2MSFTNGP03.phx.gbl...
>I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against
VB.Net, that maybe somehow this is a language that doesn't deserve to be as
powerful as others? I hate C#. Anyway... what gives? What's the reasoning
behind *that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what they
were thinking. I'm just ranting. I'll go sulk over there now...

Paul

Aug 10 '06 #2
PJ6 wrote:
I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against VB.Net,
that maybe somehow this is a language that doesn't deserve to be as powerful
as others?
Yes.
I hate C#.
It's not so bad.
Anyway... what gives? What's the reasoning behind
*that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what they
were thinking. I'm just ranting. I'll go sulk over there now...
In the past it was rare for MS to ever explain their decisions, but
since the rise of blogs.msdn.com as a quasi-official communication
channel, we are seeing a lot more about motivations come out. However, I
can't say I've ever seen anything from the VB.NET team explaining this
particular omission. I *imagine* it would go something like this:

"VB.NET is designed for RAD and ease-of-use and is targeted at
developers who want to get things done as quickly as possible without
being lumbered with complex architectural features."

which would translate into reality as

"VB developers are too stupid to comprehend anonymous delegates.
Besides, all of us here are actually C++ developers, and hence we
haven't got a chance of being sufficiently in tune with the Spirit of
Basic to be able to work out a syntax for them."
Just my opinion, of course.

--
Larry Lard
la*******@googlemail.com
The address is real, but unread - please reply to the group
For VB and C# questions - tell us which version
Aug 10 '06 #3
PJ6
"Larry Lard" <la*******@googlemail.comwrote in message
news:4k************@individual.net...
"VB.NET is designed for RAD and ease-of-use and is targeted at developers
who want to get things done as quickly as possible without being lumbered
with complex architectural features."

which would translate into reality as

"VB developers are too stupid to comprehend anonymous delegates. Besides,
all of us here are actually C++ developers, and hence we haven't got a
chance of being sufficiently in tune with the Spirit of Basic to be able
to work out a syntax for them."
I agree, it's not at all about "complex architectural features". There's
really no difference between VB and C# except two very fundamental
syntactical differences. All those goddam parentheses, and case-sensitivity.
That last one's a real killer - case-sensitivity isn't even complaint to
their own compiler standard. C# isn't a language, it's a bad habit.

Paul
Aug 10 '06 #4
PJ6
I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.
You've really piqued my curiosity on this one. If you don't use reflection,
how do you collect attribution data? If you don't use delegates, how do you
handle events? Or maybe you're saying, there is a better way but it doesn't
exist in VS.Net. What would you do differently?

Paul

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:ez**************@TK2MSFTNGP06.phx.gbl...
PJ6

Are you happy with this kind of coding, it reminds me back to my assembler
mainframe time when I had to declare every memory address almost fixed. It
took only a lot of time and I was spending thousand times more time to
create a simple "Hello World" program.

I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

There will be however always be fanatic orthodox people who tell that that
way of programming is the most optimum there is.

However, just my opinion.

Cor

Aug 10 '06 #5
On Wed, 9 Aug 2006 23:47:15 -0400, "PJ6" <no***@nowhere.netwrote:

¤ I just learned about anonymous methods and was taken aback to discover that
¤ they are only available in C#. What, is there still a stigma against VB.Net,
¤ that maybe somehow this is a language that doesn't deserve to be as powerful
¤ as others? I hate C#. Anyway... what gives? What's the reasoning behind
¤ *that* decision?

Probably the same reason as why GoSub is no longer part of the language.
Paul
~~~~
Microsoft MVP (Visual Basic)
Aug 10 '06 #6

PJ6 wrote:
"Larry Lard" <la*******@googlemail.comwrote in message
news:4k************@individual.net...
"VB.NET is designed for RAD and ease-of-use and is targeted at developers
who want to get things done as quickly as possible without being lumbered
with complex architectural features."

which would translate into reality as

"VB developers are too stupid to comprehend anonymous delegates. Besides,
all of us here are actually C++ developers, and hence we haven't got a
chance of being sufficiently in tune with the Spirit of Basic to be able
to work out a syntax for them."

I agree, it's not at all about "complex architectural features". There's
really no difference between VB and C# except two very fundamental
syntactical differences. All those goddam parentheses, and case-sensitivity.
That last one's a real killer - case-sensitivity isn't even complaint to
their own compiler standard. C# isn't a language, it's a bad habit.
That's funny... I actually hate the fact that VB is not case sensitive
:)

--
Tom Shelton [MVP]

Aug 10 '06 #7
I recommend you check out Brian Bec's articles regarding trying to come up
with a scheme for Lambda's in VB for some insight into the complexities of
doing anonymous methods. see http://weblogs.asp.net/brianbec/arch...-All-That.aspx.

Also, check out Eric's post regarding anonymous methods and variable scoping
at http://blogs.msdn.com/oldnewthing/ar...02/686456.aspx.

FWIW, in C# Anonymous methods are simply syntatic sugar. They translate into
actual methods on the IL.
Jim Wooley
http://devauthority.com/blogs/jwooley/default.aspx
I just learned about anonymous methods and was taken aback to discover
that they are only available in C#. What, is there still a stigma
against VB.Net, that maybe somehow this is a language that doesn't
deserve to be as powerful as others? I hate C#. Anyway... what gives?
What's the reasoning behind *that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what
they were thinking. I'm just ranting. I'll go sulk over there now...

Paul

Aug 10 '06 #8
PJ6.

In visual Basic you don't have in standard situations not direct to use
delegates to handle events. There are enough methods for that to do that
without that, this is a known point where it outclasses C#.

If you use reflection, than the first thing you have in my opinion to ask
yourself is if there is no better method. Reflection is only another name
for late binding.

In other words, if you use these things consequent, your program will be in
my opinion probably be lousy to maintenance and slow performing.

In Visual Basic by instance is the way to do background processing made more
simple, this is for me a normal development from a living program language.

As I started with, the old mainframe programming as some orthodox
programmers still like, is for me only for hobbyists.

Cor

"PJ6" <no***@nowhere.netschreef in bericht
news:eV**************@TK2MSFTNGP05.phx.gbl...
>I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

You've really piqued my curiosity on this one. If you don't use
reflection, how do you collect attribution data? If you don't use
delegates, how do you handle events? Or maybe you're saying, there is a
better way but it doesn't exist in VS.Net. What would you do differently?

Paul

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:ez**************@TK2MSFTNGP06.phx.gbl...
>PJ6

Are you happy with this kind of coding, it reminds me back to my
assembler mainframe time when I had to declare every memory address
almost fixed. It took only a lot of time and I was spending thousand
times more time to create a simple "Hello World" program.

I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

There will be however always be fanatic orthodox people who tell that
that way of programming is the most optimum there is.

However, just my opinion.

Cor


Aug 10 '06 #9
Sorry,

I used in the text the direct translation from Dutch (which I saw) :-).
this is for me a normal development from a living program language
this is for me a normal evolution from a living program language.

"Cor Ligthert [MVP]" <no************@planet.nlschreef in bericht
news:ev**************@TK2MSFTNGP02.phx.gbl...
PJ6.

In visual Basic you don't have in standard situations not direct to use
delegates to handle events. There are enough methods for that to do that
without that, this is a known point where it outclasses C#.

If you use reflection, than the first thing you have in my opinion to ask
yourself is if there is no better method. Reflection is only another name
for late binding.

In other words, if you use these things consequent, your program will be
in my opinion probably be lousy to maintenance and slow performing.

In Visual Basic by instance is the way to do background processing made
more simple, this is for me a normal development from a living program
language.

As I started with, the old mainframe programming as some orthodox
programmers still like, is for me only for hobbyists.

Cor

"PJ6" <no***@nowhere.netschreef in bericht
news:eV**************@TK2MSFTNGP05.phx.gbl...
>>I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

You've really piqued my curiosity on this one. If you don't use
reflection, how do you collect attribution data? If you don't use
delegates, how do you handle events? Or maybe you're saying, there is a
better way but it doesn't exist in VS.Net. What would you do differently?

Paul

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:ez**************@TK2MSFTNGP06.phx.gbl...
>>PJ6

Are you happy with this kind of coding, it reminds me back to my
assembler mainframe time when I had to declare every memory address
almost fixed. It took only a lot of time and I was spending thousand
times more time to create a simple "Hello World" program.

I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

There will be however always be fanatic orthodox people who tell that
that way of programming is the most optimum there is.

However, just my opinion.

Cor



Aug 10 '06 #10
PJ6
"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:ev**************@TK2MSFTNGP02.phx.gbl...
>Reflection is only another name for late binding.
You may be an MVP, but this statement reveals a huge gap in your knowledge
of what reflection is and can be used for.

Paul
Aug 10 '06 #11
Paul,
>>Reflection is only another name for late binding.

You may be an MVP, but this statement reveals a huge gap in your
knowledge of what reflection is and can be used for.
If you do this statement, than tell in about 10 words what reflection is,
your current text can be done by any child older than 10 and shows that you
have at least the knowledge of that, not more.

Cor
Aug 10 '06 #12
PJ6
"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:es*************@TK2MSFTNGP04.phx.gbl...
Paul,
>>>Reflection is only another name for late binding.

You may be an MVP, but this statement reveals a huge gap in your
knowledge of what reflection is and can be used for.
If you do this statement, than tell in about 10 words what reflection is,
your current text can be done by any child older than 10 and shows that
you have at least the knowledge of that, not more.

Cor
Cor,

I didn't mean to offend you; as such I'm not especially interested in
trading ad-hominem over a technical matter.

For now assume my statement is correct, back up, and do a little research on
your own as to why I may have a big and legitimate reason to disagree with
you. I'll post an explanation of the role and necessity of reflection in
systems architecture for you later in a new thread.

Paul
Aug 10 '06 #13
Paul,

That is not needed it is already done for you

Reflection
http://en.wikipedia.org/wiki/Reflect...ter_science%29

Late Binding
http://en.wikipedia.org/wiki/Late_binding

I hope this helps,

Cor

"PJ6" <no***@nowhere.netschreef in bericht
news:OX**************@TK2MSFTNGP02.phx.gbl...
"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:es*************@TK2MSFTNGP04.phx.gbl...
>Paul,
>>>>Reflection is only another name for late binding.

You may be an MVP, but this statement reveals a huge gap in your
knowledge of what reflection is and can be used for.
If you do this statement, than tell in about 10 words what reflection is,
your current text can be done by any child older than 10 and shows that
you have at least the knowledge of that, not more.

Cor

Cor,

I didn't mean to offend you; as such I'm not especially interested in
trading ad-hominem over a technical matter.

For now assume my statement is correct, back up, and do a little research
on your own as to why I may have a big and legitimate reason to disagree
with you. I'll post an explanation of the role and necessity of reflection
in systems architecture for you later in a new thread.

Paul

Aug 10 '06 #14
Cor Ligthert [MVP] wrote:
I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.
Delegates give you the ability to use a more concise syntax for
implementing the observer design pattern. What do you propose in place
of delegates?

Reflection gives you several things. First, it makes attribute based
programming possible. We can mark up classes and methods to create
unique debugger visualizers, etc. Second, it makes aspect oriented
programming easier. Third, it makes dynamic code generation much
easier. I good example of this is the Regex class which will compile
the finite automata to code from the regular expression. That way it
doesn't have to be interpreted. That's just to name a few off the top
of my head.

Aug 10 '06 #15
PJ6
Good... please read the Wiki article in its entirety.

Paul

"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:Ov**************@TK2MSFTNGP04.phx.gbl...
Paul,

That is not needed it is already done for you

Reflection
http://en.wikipedia.org/wiki/Reflect...ter_science%29

Late Binding
http://en.wikipedia.org/wiki/Late_binding

I hope this helps,

Cor

"PJ6" <no***@nowhere.netschreef in bericht
news:OX**************@TK2MSFTNGP02.phx.gbl...
>"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:es*************@TK2MSFTNGP04.phx.gbl...
>>Paul,

>Reflection is only another name for late binding.

You may be an MVP, but this statement reveals a huge gap in your
knowledge of what reflection is and can be used for.

If you do this statement, than tell in about 10 words what reflection
is, your current text can be done by any child older than 10 and shows
that you have at least the knowledge of that, not more.

Cor

Cor,

I didn't mean to offend you; as such I'm not especially interested in
trading ad-hominem over a technical matter.

For now assume my statement is correct, back up, and do a little research
on your own as to why I may have a big and legitimate reason to disagree
with you. I'll post an explanation of the role and necessity of
reflection in systems architecture for you later in a new thread.

Paul


Aug 10 '06 #16
"PJ6" <no***@nowhere.netschrieb:
>>Reflection is only another name for late binding.

You may be an MVP, but this statement reveals a huge gap in your
knowledge of what reflection is and can be used for.
This doesn't mean that calling methods and accessing members through
reflection is not a late-bound access.

--
M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://classicvb.org/petition/>

Aug 10 '06 #17
Brian,

In my opinion do you completely confirm what I wanted to say.

Let me try to say it in other words, delegates and reflections are in my
opinion no benefits, they can (are) sometimes be needed when the program
language does not give you more for (normal) humans better understandable
and readable options for that.

Cor

"Brian Gideon" <br*********@yahoo.comschreef in bericht
news:11**********************@i3g2000cwc.googlegro ups.com...
Cor Ligthert [MVP] wrote:
>I see things as delegates and reflection as a wrong solution for still
existing failures from a programming language.

Delegates give you the ability to use a more concise syntax for
implementing the observer design pattern. What do you propose in place
of delegates?

Reflection gives you several things. First, it makes attribute based
programming possible. We can mark up classes and methods to create
unique debugger visualizers, etc. Second, it makes aspect oriented
programming easier. Third, it makes dynamic code generation much
easier. I good example of this is the Regex class which will compile
the finite automata to code from the regular expression. That way it
doesn't have to be interpreted. That's just to name a few off the top
of my head.

Aug 11 '06 #18
PJ6 wrote:
I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against VB.Net,
that maybe somehow this is a language that doesn't deserve to be as powerful
as others?
Yes, of course there is, but that's probably not the reason why there
isn't anonymous methods. It's probably more on the side that the syntax
for anonymous methods would be awkward in a line based programming language.

Actually, as VB.NET is using the same framework as the other .NET
languages, it's a lot more powerful than it deserves. ;)

Anyway, an inability to use anonymous methods doesn't make VB.NET less
powerful, just less flexible. You can still accomplish the same thing
using a named method.
I hate C#.
So you hate C# because it has features that VB.NET is lacking?

That sounds like a pure outburst of envy... ;)
Aug 11 '06 #19
Cor,

That's fine that you disagree. And who knows, you may even change my
mind :) But, to do that I need alternatives. What do you propose in
replace of delegates? How would you like to see AOP incorporated into
the language? How would you create a fast regular expression parser?

Brian

Cor Ligthert [MVP] wrote:
Brian,

In my opinion do you completely confirm what I wanted to say.

Let me try to say it in other words, delegates and reflections are in my
opinion no benefits, they can (are) sometimes be needed when the program
language does not give you more for (normal) humans better understandable
and readable options for that.

Cor
Aug 11 '06 #20
Brian,

We do not disagree, we agree. As there is no other option than you have to
use delegates and reflection.
I only say it is in my idea better not to take it as first choice but have a
look if there is not a method (classs) that has implemented it already in a
higher level or whatever.

In my opinion has VB that better done than C#.

:-)

Cor

"Brian Gideon" <br*********@yahoo.comschreef in bericht
news:11**********************@i3g2000cwc.googlegro ups.com...
Cor,

That's fine that you disagree. And who knows, you may even change my
mind :) But, to do that I need alternatives. What do you propose in
replace of delegates? How would you like to see AOP incorporated into
the language? How would you create a fast regular expression parser?

Brian

Cor Ligthert [MVP] wrote:
>Brian,

In my opinion do you completely confirm what I wanted to say.

Let me try to say it in other words, delegates and reflections are in my
opinion no benefits, they can (are) sometimes be needed when the program
language does not give you more for (normal) humans better understandable
and readable options for that.

Cor

Aug 11 '06 #21
Paul,

The next version of VB has nested functions. The syntax isn't as
elegant, but at least closures will be possible.

Brian

PJ6 wrote:
I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against VB.Net,
that maybe somehow this is a language that doesn't deserve to be as powerful
as others? I hate C#. Anyway... what gives? What's the reasoning behind
*that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what they
were thinking. I'm just ranting. I'll go sulk over there now...

Paul
Aug 14 '06 #22
who gives a crap.

spit on people that use C#.

VB.net is the winner.

-Aaron
PJ6 wrote:
I just learned about anonymous methods and was taken aback to discover that
they are only available in C#. What, is there still a stigma against VB.Net,
that maybe somehow this is a language that doesn't deserve to be as powerful
as others? I hate C#. Anyway... what gives? What's the reasoning behind
*that* decision?

Oh I don't expect anyone to have a real answer for me. Who knows what they
were thinking. I'm just ranting. I'll go sulk over there now...

Paul
Aug 17 '06 #23

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Cordell Lawrence | last post by:
Okay guys, We are wondering if this is a bug in Framework 2.0.40607 and looking for some clarification on the issue. Take a look at the folowing code. public delegate bool BoundryTest(int...
4
by: No One | last post by:
Does anyone know if or when anonymous class support will be added to C#?
9
by: John Smith | last post by:
I really can not appreciate why Microsoft has introduced Anonymous methods. It promotes quick and dirty style of programming and as I can see it offers no advantages over normal methods. I have...
7
by: Bill Woodruff | last post by:
I've found it's no problem to insert instances of named delegates as values into a generic dictionary of the form : private Dictionary<KeyType, DelegatemyDictionary = new Dictionary<KeyType,...
4
by: Frankie | last post by:
I have just gotten up to speed on what anonymous methods are (syntax, capabilities, etc), and how they can be used with /called via delegates. What I am wondering is... 1. Are they only/mostly...
2
by: Tony | last post by:
Hello! Here I have some text from a book I read. It says: "An interesting point to note concerning anonymous methods is that they are effectively local to the code block that contains them, and...
0
by: Peter Duniho | last post by:
On Mon, 01 Sep 2008 16:14:10 -0700, Blip <blip@krumpli.comwrote: Briefly, an anonymous method is exactly that: a method without a name. When you use the "delegate" keyword to declare an...
8
by: Tim Chase | last post by:
I've got code similar to the following class Action: def __init__(self, ...): pass def __call__(self, ...): pass def get_help(self, ...): pass class Backend: class _Load(Action): def...
4
by: Peter | last post by:
Hi I've been delving into "delegates" and "anonymous methods", and now I've come across the term "closure". Some information I've found says that C# does not have closures, other information...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.