|
MarkBrock wrote: VB itself is a coding horror.
maybe the greatest advantage to VB is that the programmers aren't as arrogant as C# programmers.
(otherwise: the meaning of writeonly also is a secret for me.)
|
|
|
|
|
Arrogance? Perhaps, but stereotypes usually do not come out of a void.
Until .Net VB hardly was a candidate to do any serious work with. And those who tried often gave a picture of needlessly fighting windmills to overcome its shortcomings and proove that they were right.
Also, the acronym 'BASIC' is still held high by advertising VB as the ideal language for beginners. Is it really a wonder that all diehard VB users are automatically percieved as such?
Last, the syntax obviously is one of those love-or-hate things. So am I being arrogant if I don't want to be irritated by it the entire day? Or am I arrogant when I decide that I have better things to do than arguing with people who automatically put me into the 'annoying newbie' box?
|
|
|
|
|
CDP1802 wrote: but stereotypes usually do not come out of a void.
That may be right, but then its a question of character, whether you want to take stereotypes for your opinion, and wether you want to reproduce stereotypes on and on.
To have preferences cannot be called arrogance, neither criticizing some VB concepts.
(I've lots of criticism myself, for example the mixing up of "=" and "==" in one operator - gruesome, isn't it?)
But to me it's the IDE, which keeps me staying in VB, because of the background-compiling, because contextmenu "go to definition" leads directly to the objectbrowser, and the objectbrowser displays the return-types of functions already in the overview.
|
|
|
|
|
Alpha Nerd wrote: And if you use it, it turns your code into a coding horror.
Surely if you use it, you have a reason, and thus your code will not be a horror?
Pits fall into Chuck Norris.
|
|
|
|
|
There is no reason for an excuse of using that thing.
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
Maybe the property is part of a quantum computer and so write only to spare the possible life of a cat.
|
|
|
|
|
Robert Surtees wrote: Maybe the property is part of a quantum computer and so write only to spare the possible life of a cat.
You would need 9 WriteOnly properties then. Remember; they have 9 lives!
LOL. (who would build a supercomputer in VB? the language is slightly crippled, but this WriteOnly thing gives a advantage over C# or the awful C++)
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
writeonly properties are just as possible in c#, just create a property without an accessor.
It's probably not great practice to use one but there may be times when it came in handy
|
|
|
|
|
Alpha Nerd wrote: Who would use it? A coding horror in VB.
In VB? In C#, too:
<br />
class Foo<br />
{<br />
private int _val;<br />
<br />
public int Val<br />
{<br />
set { this._val = value; }<br />
}<br />
}<br />
|
|
|
|
|
So does C# from what I can remember.
|
|
|
|
|
But you do it manually. (and I think it complains.)
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
Uhh, no. WriteOnly only turns off the gettor of a property. A /dev/null is a completely different concept.
|
|
|
|
|
Who would turn off the gettor of a property? It turns them into black holes, and a /dev/null is one too.
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
Someone writing software to control an unbuffered output device? If there's no buffer, you can't change anything that was written out, so the getter is utterly pointless.
You know, every time I tried to win a bar-bet about being able to count to 1000 using my fingers I always got punched out when I reached 4....
-- El Corazon
|
|
|
|
|
Alpha Nerd wrote: It turns them into black holes, and a /dev/null is one too.
Not quite. It turns a property into something akin to a voting box. You put your vote in, and there's no way to get it out. The class the property is defined in gets to do whatever it needs to with the data that comes in.
In a "blackhole" null device, there isn't any processing allowable on the bits that end up in there...
|
|
|
|
|
you're familiar with the software that runs in a black hole?
I want you to write an article on this, that is assuming you can get it out of there.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Yes, I have SEEN the other side! Nothing much to see, it's pretty dark...
|
|
|
|
|
Dave Kreskowiak wrote: it's pretty dark...
are you sure? if it sucks everything in, and never lets go, it must be bloody light
in there.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
I think the light is processed into something else. I couldn't tell what though, because, like, there's no light!
|
|
|
|
|
Aha, I see.
Or actually maybe I don't, lacking some light??
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
I'm familiar, hence I'm going to write few lines explaining..., but, wait, maybe I'm too close to, s**t....................................
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
|
|
|
|
|
Unless you do this:
Public WriteOnly Property example As Object<br />
Set(ByVal value As Object)<br />
' Do Nothing Here, Process Nothing Here<br />
End Set<br />
End Property
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
Dave Kreskowiak wrote: Not quite. It turns a property into something akin to a voting box. You put your vote in, and there's no way to get it out.
But the Get accessor only returns it. Get does not remove the item.
CLR: Removes tough Java-based stains fast!
|
|
|
|
|
It is not a surprise, given that VB itself is a horror.
Vasudevan Deepak Kumar
Personal Homepage Tech Gossips
A pessimist sees only the dark side of the clouds, and mopes; a philosopher sees both sides, and shrugs; an optimist doesn't see the clouds at all - he's walking on them. --Leonard Louis Levinson
|
|
|
|
|
The best use for write-only things, in general, is when you are dealing with real-time control interfaces. Some devices allow you to save data to a memory location or port and that sets control bits in an external device. As far as the external device is concerned, it is an input-only deal; from the program's viewpoint it's write-only and any attempt to read would be undefined or return garbage.
One logical use for a write-only property would be to control interfaces with external hardware. You would define a class encapsulating the hardware access and anything that writes to the hardware without any chance of being able to read the real-time results back, would logically be marked as WriteOnly. This is fairly common when using some PIC chips, DSP chips and assorted other devices. In my DSP applications, marking output data as WriteOnly would make perfect sense, since once it is sent to the buffer, it goes out the sound interface and does not exist anywhere that is accessible to the software. (Note: I haven't done that, since I knew it was essentially write-only and never thought I might try to read it again.) To me, marking a property as WriteOnly in a VB, C, C# or any other language very clearly tells everyone not to even bother to read it back because the data no longer exists.
Another use for WriteOnly properties would be when dealing with highly asychronous processes, but I won't go into that here.
So, yeah, if you're dealing with stuff in your own application's memory, WriteOnly may not make much sense, but if you are dealing with control systems and external devices, it may well make perfect sense.
The PetroNerd
Walt Fair, Jr.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|