Dvorak: Vista helps developers (what is he talking about?)

R

raylopez99

Dvorak is always interesting, albeit speculative. What hidden gem has
he found in Vista that helps developers? It can't be .NET/CLI, that's
been out forever.

RL

Vista rollout hides reality
Commentary: It's not about customers, it's about developers
By John C. Dvorak
Last Update: 2:44 PM ET Jan 31, 2007

http://www.marketwatch.com/news/sto...4509-A978-72B6ABE1D868}&siteid=yhoo&dist=yhoo

The real winning aspect of Vista seems to be under the hood. NOT from
the users perspective, but from the developers perspective. This is
the untold story of Vista that makes it a powerful real winner for
Microsoft in the long run.
What I'm told is that true the underpinnings of the API (applications
programming interface) make it so easy to code fancy-looking and
powerful programs to work with Vista that the developers should be
able to implement ideas now that they never could before.
This should guarantee continued dominance by the company because
developers are the ones who make the applications that people buy to
make computers useful. Developers have always been attracted to the
Microsoft platform because of the size of the market. Now if their job
is made even easier they can develop more products thus assuring
continued domination of the platform.
This is not rocket science. Steve Ballmer knew this when a few years
ago (available to witness on a much traded YouTube video) when he went
into a frenzied chant for a large audience shouting, "developers,
developers, developers!" over and over. This, of course, mimicked the
old retail adage "location, location, location."
Question what are the three most important things to make Microsoft a
success?
If what everyone says is true, then Vista is a huge winner -- for
developers. In many ways this has always been the untold secret of
Microsoft's success with Windows and its domination. Windows itself
began as a concept to make things easier for developers.
The idea was to create a system whereby the developers did not have to
code drivers for the different devices to be used by the software. The
OS would do that work for you.
In fact Windows was originally called Interface Manager until a
marketing guy came along (apparently long gone) and called it Windows.
Vista will not be a winner because of its new features or fancy
looking user interface. It will be because the next must-have software
packages will be running on it and it will be something you'll have to
have. That's a lock.
 
W

William DePalo [MVP VC++]

raylopez99 said:
Dvorak is always interesting, albeit speculative. What hidden gem has
he found in Vista that helps developers? It can't be .NET/CLI, that's
been out forever.

He's talking about the Windows Presentation Foundation aka WPF aka Avalon,
no?

Regards,
Will
 
R

raylopez99

He's talking about the Windows Presentation Foundation aka WPF aka Avalon,
no?

Regards,
Will

Ah yes, Wikpedia also calls it .NET 3.0. Yet another language to
learn, as soon as I'm done learning .NET 2.0.

RL
 
G

Guest

Ah yes, Wikpedia also calls it .NET 3.0. Yet another language to
learn, as soon as I'm done learning .NET 2.0.

..NET 3.0 is literally .NET 2.0 + WCF, WPF, WCF
installing .NET3.0 will install 2.0 + the new frameworks.
 
R

raylopez99

Thanks Bruno!

Please don't go out of your way to even answer this, but if you think
the .NET 3.0 is available now for C++ let me know. A quick Froogle
search showed it's out for C# and Visual Basic, but nothing yet for C+
+ (or, if so, it was buried beyond the first two pages of the Froogle
search menu). Seems like C++.NET is becoming the unwanted bastard
child of MS Visual languages, notwithstanding what the creator of C++,
B.S., says about all languages being roughly equal.

I hate upgrading since I have to beg for academic only evaluation
copies (I'm not spending more than $150 for any compiler, especially
when they change flavors every other year). Besides I code for fun,
not for a living.

RL
 
C

Carl Daniel [VC++ MVP]

raylopez99 said:
Thanks Bruno!

Please don't go out of your way to even answer this, but if you think
the .NET 3.0 is available now for C++ let me know. A quick Froogle
search showed it's out for C# and Visual Basic, but nothing yet for C+
+ (or, if so, it was buried beyond the first two pages of the Froogle
search menu). Seems like C++.NET is becoming the unwanted bastard
child of MS Visual languages, notwithstanding what the creator of C++,
B.S., says about all languages being roughly equal.

..NET 3.0 is not language specific - the features are accessible from any
..NET language, including C++/CLI. You';; have a hard time finding C++
examples, I expect, but it's not because it won't work - it's simply a
matter of catering to the largest audience. The IDE extensions that are
currently available do only support C# and VB.NET, but you can use WPF or
WCF without using those IDE extensions (although it's potentially quite a
bit more tedious).

-cd
 
R

raylopez99

.NET 3.0 is not language specific - the features are accessible from any
.NET language, including C++/CLI. You';; have a hard time finding C++
examples, I expect, but it's not because it won't work - it's simply a
matter of catering to the largest audience. The IDE extensions that are
currently available do only support C# and VB.NET, but you can use WPF or
WCF without using those IDE extensions (although it's potentially quite a
bit more tedious).

Tx CD. I kind of understood what you're saying, but the devil is in
the details. Any time there are no examples, the language falls into
disuse IMO, for the Average Joe (if you're Bjorn Stroustrup of course
you can opine in your ivory tower and have industry worship you).
This creates even more incentive to switch to a language that has
examples. For example, in C++.NET, I could not find an example for a
generic SortedList, so I had to play around, from scratch and somebody
else's code, to find the right format for the itterator "IComparable"
and the "CompareTo" overridden method for sorting, until it was
working. Took me over an hour (I'm not a pro, but still) and it was
not time productive, though I got it to work and added it to my list
of example code in my directory. But it would have been better if the
Help menu of C++.NET 2.0/CLI had a specific example on this collection
class. Increasingly I find MS Visual Studio Help has examples for C#
and VB, but nothing for C++. Seems like C++ is increasingly becoming
like Pascal.

RL
 
W

William DePalo [MVP VC++]

raylopez99 said:
Any time there are no examples, the language falls into
disuse IMO, for the Average Joe (if you're Bjorn Stroustrup of course
you can opine in your ivory tower and have industry worship you).
This creates even more incentive to switch to a language that has
examples. ... Seems like C++ is increasingly becoming
like Pascal.

Perhaps, but I doubt it. Until something better comes along to displace it,
C++ will be used in the kind of applications for which it has always made
sense - especially those with hard performance or scalability constraints
which need to hug the hardware or the platform (in the case of this
discussion Win32).

IMO, C++/CLI and MC++ (the two managed "dialects" of C++) find their
usefulness in applications that need to be a little bit country and a little
bit rock-n-roll <g>, i.e. those that have both managed and native sides.

Regards,
Will
www.ivrforbeginners.com (Speech enabled telephony without tears)
 
T

Tamas Demjen

raylopez99 said:
Tx CD. I kind of understood what you're saying, but the devil is in
the details. Any time there are no examples, the language falls into
disuse IMO, for the Average Joe

As far as I can see, most of the .NET examples on msdn are present in
C#, VB.NET and C++/CLI. They can't document everything in every
language, though. Most authors choose C# for library documentation and
examples, because it targest the widest audience. If you want to learn
about C++/CLI, you buy a book discussing the language. If you want to
learn about a spcific API, you buy a book discussing the API, most
probably using C# examples. That's just the way it is.

The only big feature in .NET that's absolutely not supported in C++ is
ASP.NET Web Forms development. I'm not sure if this will be covered in a
future version, but C++ is just too complex for simple scripting, methinks.

The rest is just syntactic sugar. For example, LINQ is very nice, but
the lack of C++ support is not a major issue, as the same SQL queries
can be performed in C++ rather easily, just using a different syntax.
Since C++ supports RAII, it doesn't require that much syntactic help as
other languages.

RAD developers will often choose C#, even the C++ fans, at least for the
GUI, at least until Microsoft provides a better designer. C++ still has
a place in solving large, complex problems, legacy and portable code,
and in programming the back-end in general. You can do everything except
Web Forms applications and scripting in C++ -- including Web Services.
C++/CLI won't be dropped so quickly as MC++ was.

Tom
 
G

Gerry Hickman

William said:
He's talking about the Windows Presentation Foundation aka WPF aka Avalon,
no?

The original article is silly, and it's even sillier to cite it. Why?
Because it's saying nothing. Pure speculation and guesswork. What exact
"hidden" developer treasure is he talking about? He's got one thing
right, it's not about the customer!

Regarding WPF, it's flawed because it's not an open standard and it's
not cross-platform. Same limitation as ActiveX running within IE, same
security issues, same problems too with the constant nagging about not
having the correct permissions, or the correct version of the binaries
to make it work.

The nice thing with the W3C model is that it "just works", and it does
not require special permissions and does not put your computer at risk.
 
R

raylopez99

The original article is silly, and it's even sillier to cite it. Why?
Because it's saying nothing. Pure speculation and guesswork. What exact
"hidden" developer treasure is he talking about? He's got one thing
right, it's not about the customer!

Regarding WPF, it's flawed because it's not an open standard and it's
not cross-platform. Same limitation as ActiveX running within IE, same
security issues, same problems too with the constant nagging about not
having the correct permissions, or the correct version of the binaries
to make it work.

The nice thing with the W3C model is that it "just works", and it does
not require special permissions and does not put your computer at risk.

Thanks Gerry, you're funny. You're more expert than I by far (I code
for fun--it's much more enjoyable when you can simply abandon a
demonstration program that gets too buggy, LOL). What I know about
WPF is from Wiki: http://en.wikipedia.org/wiki/
Windows_Presentation_Foundation Seems like a souped up version of XML/
Soap

In C++.NET 2.0/CLI I'm still trying to figure out why the MSFT people
decided to use delegates (I understand why they got rid of pointers,
in lieu of handles, though I don't quite understand why they got rid
of the copy constructor in Managed C++ then apparently brought it back
in C++.NET 2.0/CLI). My guess about delegates is it's a conspiracy to
allow developers to be able to use "black box" binary code in their
source code without being able to see inside the black box-- i.e. the
only thing visible to the developer is the signature--the rest of the
black box is hidden. That way the evil MSFT people can continue to
avoid having to release the source code inside the black box. Just a
working theory, I don't have any evidence of this so far.

RL
 
T

Tamas Demjen

raylopez99 said:
My guess about delegates is it's a conspiracy to
allow developers to be able to use "black box" binary code in their
source code without being able to see inside the black box-- i.e. the
only thing visible to the developer is the signature--the rest of the
black box is hidden. That way the evil MSFT people can continue to
avoid having to release the source code inside the black box. Just a
working theory, I don't have any evidence of this so far.

The simple reason is modularity. The writer of a component has
absolutely no way of knowing how it will be used. Delegates help
implementing a notification pattern, where a component is able to notify
any other component that cares to listen. How else would a button tell
the application about a click?

Sure, you could use inheritance, but that would require you to subclass
the button. You couldn't just drop a generic button on the form. You
could also use window messages, but that has even more problems. It's
completely Windows dependent, requires the periodic query of messages by
constantly running the message loop, and its signature is very limited
(a Win32 message only has two 32-bit parameters, LPARAM and WPARAM).

A delegate detaches two completely independent components, yet allows
them to communite with each other. Only the signature has to be well
defined. Even if you're the author of both components, you have no idea
how a general purpose component is going to be used in various
situations. Binding two classes very tightly to each other is not always
desirable.

Borland Delphi has been using delegates for over a decade now. It's not
a revolutionary new concept.

Tom
 
R

raylopez99

raylopez99 wrote:

Borland Delphi has been using delegates for over a decade now. It's not
a revolutionary new concept.

Tom

Thanks Tom. That seems to be the conventional answer; also I've heard
something along the lines that VB and/or C#.NET use delegates to MSFT
wanted everybody in C++.NET on the same page

RL
 
T

Tamas Demjen

On the contrary, the .NET framework can be decompiled using the
Reflector program that comes with VS. Feel free to investigate most of
the code in human-readable C# format.

Tom
 
W

William DePalo [MVP VC++]

Tamas Demjen said:
On the contrary, the .NET framework can be decompiled using the Reflector
program that comes with VS. Feel free to investigate most of the code in
human-readable C# format.

That's true. And fwiw, googling for

rotor source code

gets a look at a reference implementation of an early version of the
framework as well.

Regards,
Will

www.ivrforbeginners.com
 
R

raylopez99

From Googling, I see Rotor is quite the tarball... I'll pass.

?The current Rotor tarball is about 18 MB, contains over a million
lines of code, and around 14,000 files. Most of the .NET framework
class libraries are present except for ADO.NET, Windows Forms, Web
Forms, and Web Services. Either you or the Rotor community will have
to implement these. On a less painful note, remoting, networking, and
XML functionality (and source) are included.?

And this humourous post: http://odetocode.com/Blogs/scott/archive/2004/02/14/170.aspx
implies that the MS source code is not released...but what MS source
code? Framework for WIndows? Or for .NET?

Question to anybody reading this thread: are the .NET framework
libraries viewable in High Level Language source code? Or just in
'assemblies' , the mneumonic form (on occasion I do stumble upon some
code in alphanumeric format from the library when debugging, but I've
never bothered to check it out; it looks almost like assembly
language--aha--IL-- it's called Intermediate Language).

Let me add more value to this post by doing a quick check of Visual
Studio 2005 right now... well it seems my hunch was right, the
libraries are all buried in a DLL as assembly code, for example:
"Assembly: mscorlib (in mscorlib.dll)"

Now I feel less guity for not digging deep under the hood to
understand how MSFT implements sqrt in <math.h>! I couldn't find out
even if I wanted to, it's hidden away. Good, good, just as well, LOL.

RL
 
W

William DePalo [MVP VC++]

raylopez99 said:
And this humourous post:
http://odetocode.com/Blogs/scott/archive/2004/02/14/170.aspx
implies that the MS source code is not released...but what MS source
code? Framework for WIndows? Or for .NET?

I don't know. The post is two years old who can remember that far back. <g>
But whatever it was that was leaked, it wasn't Rotor. Rotor was _released_
by MS:

http://msdn.microsoft.com/msdnmag/issues/02/07/sharedsourcecli/
Question to anybody reading this thread: are the .NET framework
libraries viewable in High Level Language source code?

No, not AFAIK.
Now I feel less guity for not digging deep under the hood to
understand how MSFT implements sqrt in <math.h>! I couldn't find out
even if I wanted to, it's hidden away. Good, good, just as well, LOL.

MS distributes most of the runtime source with its C/C++ compilers. But some
of the stuff that's written by others and some of what they consider
propietary is not released. For those parts of the runtime, the debugger's
ability to step through the machine code comes in handy. ;-)

Regards,
Will
www.ivrforbeginners.com
 
L

Lucvdv

.NET 3.0 is literally .NET 2.0 + WCF, WPF, WCF

WTF? All these acronyms make me dizzy. ;)


So now I know a bit of .Net 1.0, a bit of .Net 2003, and by the time I
finally know enough of .Net 2005 to do get something useful done without
falling flat on my face too often, it's time to start studying on how I can
save even more time in Orcas (when is it expected BTW, end of next month or
so?)

Microsoft's idea of making a developer's life easier: take away some of the
time that he used to spend being productive, and make it so that he has to
spend twice as much on studying how to be more productive.
 
R

raylopez99

MS distributes most of the runtime source with its C/C++ compilers. But some
of the stuff that's written by others and some of what they consider
propietary is not released. For those parts of the runtime, the debugger's
ability to step through the machine code comes in handy. ;-)

Regards,
Willwww.ivrforbeginners.com

Thanks, interesting article though I only followed about a quarter of
it. This part rings true: "Currently there is no debugger that lets
you simultaneously do debugging and variable inspection of your
managed code at the virtual machine level" [written in 2002]

I notice the debugger with VS2005 is much improved from earlier
versions--when in console mode, depending on where you put the
breakpoint, it used to be that the debugger in earlier versions seemed
not to be smart enough to 'freeze' the program, and the program would
not stop where you wanted it to (sorry I can't be more precise than
that; you had to be there). But now, the compiler does freeze the
console mode program in time--perhaps this is related to the fact that
VC++.NET 2.0/CLI is more of a 'virtual machine' language (with the IL
being the 'real' language); I dunno.

RL
 
R

raylopez99

WTF? All these acronyms make me dizzy. ;)

So now I know a bit of .Net 1.0, a bit of .Net 2003, and by the time I
finally know enough of .Net 2005 to do get something useful done without
falling flat on my face too often, it's time to start studying on how I can
save even more time in Orcas (when is it expected BTW, end of next month or
so?)

Orca? Just found out about it--thanks! Another book I might have to
buy! ;-(

BTW MSFT has a broken link on their own Orca roadmaps webpage: http://
www.microsoft.com/products/expression/en/wpf/default.mspx leads to
nowhere...not good for the franchise.
Microsoft's idea of making a developer's life easier: take away some of the
time that he used to spend being productive, and make it so that he has to
spend twice as much on studying how to be more productive.

Perhaps the DoD was correct when it wanted everybody to learn one
language--Ada.

Yes it seems that the developer model as envisioned by MSFT is broken--
good for programming language book writers like Wrox, but bad for
everybody else. Unless you are a conspiracy theorist, I don't think
it's deliberate by MSFT--but just another example of their
bureaucratic inefficiency (as evidenced by the much commented upon
"seven ways till sundown" way of shutting off Vista using the "Start"
button or equivalent).

RL
 

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