473,513 Members | 2,560 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C#--is it growing? Or saturated? (Charles Petzold does C#)

What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth). Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.

RL

http://www.charlespetzold.com/etc/Do...otTheMind.html

Does Visual Studio Rot the Mind?
Ruminations on the Psychology and Aesthetics of Coding
By Charles Petzold
A Talk Delivered at the NYC .NET Developer’s Group,
October 20, 2005

Twenty years ago, in November 1985, Windows 1.0 debuted with
approximately 400 documented function calls.5 Ten years later, Windows
95 had well over a thousand.6

Today we are ready for the official release of the .NET Framework 2.0.
Tabulating only MSCORLIB.DLL and those assemblies that begin with word
System, we have over 5,000 public classes that include over 45,000
public methods and 15,000 public properties, not counting those
methods and properties that are inherited and not overridden. A book
that simply listed the names, return values, and arguments of these
methods and properties, one per line, would be about a thousand pages
long.

If you wrote each of those 60,000 properties and methods on a 3-by-5
index card with a little description of what it did, you’d have a
stack that totaled 40 feet.7 These 60,000 cards, laid out end to end —
the five inch end, not the three inch end — can encircle Central Park
(almost), and I hear this will actually be a public art project next
summer.

Can any one programmer master 60,000 methods and properties? I think
not. One solution, of course, is specialization. I myself have
specialized. This evening I hope no one will ask me questions about
web forms or ASP .NET or SQL Server because those aren’t my specialty.
I do Windows Forms, and my language is C#.
IntelliSense

Visual Studio has attempted to alleviate the problem of class, method,
and property proliferation with a feature called IntelliSense.
IntelliSense indeed puts information at our fingertips, if you think
of your fingertips figuratively as that place on the screen where the
keyboard caret is.

Like other addictive technologies, I have a love/hate relationship
with IntelliSense, and the more I despise it, the more I use it, and
the more I use it, the more disgusted I am at how addicted I’ve
gotten, and the more addicted I get, the more I wish it had never been
invented.

Just in case you’ve been out of the trenches for awhile, IntelliSense
is a culmination of some past attempts at code completion
technologies. If you type an object name and a period, for example,
you’ll get a little scrollable dropdown menu with a list of all the
public methods, properties, and events for that class, and when you
choose a method name and type a left parenthesis, you’ll get the
various overloads with arguments, and a little tooltip describing what
the method does.

IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.

In fact, IntelliSense has become the first warning sign that you
haven’t properly included a DLL reference or a using directive at the
top of your code. You start typing and IntelliSense comes up with
nothing. You know immediately something is wrong.

And yet, IntelliSense is also dictating the way we program.
Aug 14 '08 #1
34 2128
raylopez99 <ra********@yahoo.comwrote:
What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth).
I would venture to suggest that without hard evidence either way,
there's not a lot of point in speculating.

Looking at
http://radar.oreilly.com/2008/03/sta...ok-mar-23.html
shows C# growing reasonably significantly (in terms of number of books
bought) between 2006 and 2007. That may or may not be an indicator.

One important thing is: does it matter? There are certainly plenty of
jobs in C# around. There are also plenty of jobs in Java. There are
jobs in C/C++, etc. If you're good at what you do, you're unlikely to
find yourself unemployed for long, IMO.
Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.
Or at least, did 3 years ago...

--
Jon Skeet - <sk***@pobox.com>
Web site: http://www.pobox.com/~skeet
Blog: http://www.msmvps.com/jon.skeet
C# in Depth: http://csharpindepth.com
Aug 14 '08 #2
On Aug 14, 11:06*am, raylopez99 <raylope...@yahoo.comwrote:
What is the state of C#?
It's doing well. The language and the tools are being developed
further at a steady pace, there are plenty of third-party providers of
libraries and components, countless books, quite a few universities
use C# in teaching these days, and the job market is rather large.
Aug 14 '08 #3
On Aug 14, 12:55*am, Pavel Minaev <int...@gmail.comwrote:
On Aug 14, 11:06*am, raylopez99 <raylope...@yahoo.comwrote:
What is the state of C#?

It's doing well. The language and the tools are being developed
further at a steady pace, there are plenty of third-party providers of
libraries and components, countless books, quite a few universities
use C# in teaching these days, and the job market is rather large.
For now...

RL
Aug 14 '08 #4
On Aug 14, 1:24*pm, raylopez99 <raylope...@yahoo.comwrote:
On Aug 14, 12:55*am, Pavel Minaev <int...@gmail.comwrote:
On Aug 14, 11:06*am, raylopez99 <raylope...@yahoo.comwrote:
What is the state of C#?
It's doing well. The language and the tools are being developed
further at a steady pace, there are plenty of third-party providers of
libraries and components, countless books, quite a few universities
use C# in teaching these days, and the job market is rather large.

For now...
Obviously. The trends are positive now, but I wouldn't expect C#
(or .NET, for that matter) to last forever. The number of once-
mainstream programming languages and technologies that have now faded
to obscurity is a testament to that (COBOL is one prominent example,
pre-.NET VB is another, but there are plenty more). I doubt .NET and
C# are going to go away in the following decade, though, so there is
still plenty of time.
Aug 14 '08 #5
On Thu, 14 Aug 2008 04:04:53 -0700, Pavel Minaev wrote:
On Aug 14, 2:07Â*pm, Ken Foskey <rmove.fos...@optushome.com.auwrote:
>I am a linux advocate and the C# tools are awful

Compared to what? I'd say that VS2008+ReSharper is a decent match for
either Eclipse or NetBeans; and most certainly nothing comparable exists
for C++ (and, ironically enough, VS is still the best C++ IDE insofar as
code editing and debugging are concerned).
To be clear the C# tools on Linux are awful. Taking a snip like that out
make it hard to get context.

VS is not an option if you are talking to a serious Linux developer for
political reasons. You can so easily build applications in VS that will
not build in Mono so you are better off not using it if Linux is an
important market for you.

The compiler is OK and a portion of the .NET is OK because it is the same
code anyway. Monodevelop is the only FOSS IDE choice for C# on Linux, I
can crash it with ease. Until the Open Source tools are up to scratch
you will not penetrate the Linux market.

Can I use VS under Linux Wine, anyone tried it? Also does the license
allow me to install on desktop and Laptop concurrently.

Ken
Aug 14 '08 #6
On Aug 14, 3:49*pm, Ken Foskey <rmove.fos...@optushome.com.auwrote:
To be clear the C# tools on Linux are awful. *Taking a snip like that out
make it hard to get context.
Oh, I see what you mean now. Yes, I'm keeping an eye on MonoDevelop
myself, and while progressing quickly, it's still way too unstable to
be used for anything serious, in my opinion. Every new version I try
crashes within 15 minutes of me poking around (typically somewhere in
the Gtk# visual form editor).
VS is not an option if you are talking to a serious Linux developer for
political reasons. *You can so easily build applications in VS that will
not build in Mono so you are better off not using it if Linux is an
important market for you.
Actually, I wonder how true is that. You could use VS for IDE, but
reference Mono/Win32 assemblies for your projects - I think it would
let you do that. And so long as it works with Mono on Win32, it would
likely work with Mono on Linux.
The compiler is OK and a portion of the .NET is OK because it is the same
code anyway.
Mono JIT and GC are both still lagging quite behind. Though it's still
fast enough for many purposes.
*Monodevelop is the only FOSS IDE choice for C# on Linux, I
can crash it with ease. *Until the Open Source tools are up to scratch
you will not penetrate the Linux market.
Microsoft is obviously hardly interested in penetrating the Linux
market, so it's all up to Novell.
Can I use VS under Linux Wine, *anyone tried it?
Most recent version, no. Last I checked, Wine still had problems
running .NET in general, never mind VS above version 6.
>*Also does the license allow me to install on desktop and Laptop concurrently.
It depends on which license. Licensing for MS products tends to be
pretty complicated.
Aug 14 '08 #7
raylopez99 wrote:
What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth). Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.

RL
Do you mean the language itself, it's users or it's usage?

The language is still growing.

I believe that most of it's users are getting better and better at it.

It's usage may have leveled off, as with any language that has been
around for a few years. Perhaps it will get another upswing if
Silverlight gets used more.

--
Göran Andersson
_____
http://www.guffa.com
Aug 14 '08 #8
Does Visual Studio Rot the Mind?
Ruminations on the Psychology and Aesthetics of Coding
By Charles Petzold
A Talk Delivered at the NYC .NET Developer’s Group,
October 20, 2005

Just in case you’ve been out of the trenches for awhile,
IntelliSense
is a culmination of some past attempts at code completion
technologies. If you type an object name and a period, for example,
you’ll get a little scrollable dropdown menu with a list of all the
public methods, properties, and events for that class, and when you
choose a method name and type a left parenthesis, you’ll get the
various overloads with arguments, and a little tooltip describing
what
the method does.

IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.
IntelliSense is no more advanced than the Java development tool
IntelliJ Idea. (The version I've got installed dates from 2004.) It
can do all of the things described above, and is actually better than
VS.NET at highlighting lines that will cause compilation errors and at
navigating from the use of a class/method/field to its definition and
vice versa. The paragraph above displays a real ignorance of what
goes on outside the Microsoft world.
Aug 14 '08 #9
On Thu, 14 Aug 2008 15:20:22 +0200, Göran Andersson <gu***@guffa.comwrote:
>raylopez99 wrote:
>What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth). Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.

RL

Do you mean the language itself, it's users or it's usage?

The language is still growing.

I believe that most of it's users are getting better and better at it.

It's usage may have leveled off, as with any language that has been
around for a few years. Perhaps it will get another upswing if
Silverlight gets used more.
The important thing is not to take a job where anybody else can dictate what
tools/languages to use. Jobs like that can lead to a programmer being obsolete, trapped,
and otherwise unemployable stat.

Viepia

Aug 14 '08 #10
On Aug 14, 8:15*pm, "Mike Schilling" <a...@newsgroup.nospamwrote:
IntelliSense is no more advanced than the Java development tool
IntelliJ Idea. *(The version I've got installed dates from 2004.) *It
can do all of the things described above, and is actually better than
VS.NET at highlighting lines that will cause compilation errors and at
navigating from the use of a class/method/field to its definition and
vice versa. *The paragraph above displays a real ignorance of what
goes on outside the Microsoft world.
I can't speak for Petzold, obviously, but all the Java code editors
goodness has been available in the .NET land for quite a while - the
company behind IDEA (which is indeed widely considered the most
powerful Java IDE in terms of code editing) also makes ReSharper,
which is a Visual Studio plugin bringing the same features to VS.
Feature-wise, it's pretty close, though I still miss IDEA's code
template search (or whatever it was called - it was a sort of regex
for specifying code structure rather than text, and it'd find code
matching the template).

Anyway, I think that speech should be taken in the context of Windows
development in particular, where IntelliSense (which predated .NET in
Microsoft products, by the way) was indeed a huge leap even for
straight Win32 API development.
Aug 14 '08 #11
On Aug 14, 8:29*pm, vie...@nospam.com wrote:
The important thing is not to take a job where anybody else can dictate what
tools/languages to use. *Jobs like that can lead to a programmer being obsolete, trapped,
and otherwise unemployable stat.
Using one set of tools on one's job does not restrict one from
studying something else. Keep your skills up to date, and there is no
danger of becoming obsolete. Personally, I went from a C# developer to
C++, and now back to C# in the last 5 years, and didn't have trouble
finding any of those jobs, even though in every case my immediate
prior experience was different from the main language used in each
company.
Aug 14 '08 #12
<vi****@nospam.comwrote:
The important thing is not to take a job where anybody else can dictate what
tools/languages to use.
So you'd only ever take a job where you get to decide which languages
to use? What if your team members disagreed with you? Or would you also
not take a job where you'd work in a team?
Jobs like that can lead to a programmer being obsolete, trapped, and
otherwise unemployable stat.
Only if you're forced to use obsolete languages. For instance, I work
at Google, writing code in Java. Would I prefer to use C#? Absolutely -
it's a nicer language in my view. However, it would be insane to start
suggesting that Google change all their infrastructure to run .NET. So
have I taken a job which is going to lead to me being obsolete, trapped
and unemployable? Strangely enough, I'm not worried.

--
Jon Skeet - <sk***@pobox.com>
Web site: http://www.pobox.com/~skeet
Blog: http://www.msmvps.com/jon.skeet
C# in Depth: http://csharpindepth.com
Aug 14 '08 #13
I actually find massive libraries a challenge of memory as well as
exploration. I love to dazzle my coworkers with an almost inhuman
retention and quick responses (not to brag). A couple years ago,
spitting out property and methods names for even the most commonly
used classes was a bit of a challege. However, now that I have been
working in C# for two years, spouting out a few hundred class
definitions a day is like a walk in the park.

What makes it so easy to remember? I think it is that the library
itself is exceptionally well organized. It is hard to think of a class
that is improperly placed within the wrong namespace. The classes are
usually very intuitively named. And it helps that Intellisense reduces
your need to remember names to few characters.

As for C#, I don't think it is dying down or reaching a peak. There
are a lot of folks out there who simply don't know something as
wonderful as C# exists. I let them know that they are wasting their
time writing their own web service proxies. I let them know that they
are wasting their time building classes just like DataTable. I let
them know they are wasting time looking through the labyrinthic tomes
of API references, when I can find what I am looking for in a matter
of seconds and its use is intuitive.

I have worked in C, C++, Java and now C#. Working with any other IDE
than VS and in any other language is so freightfully time consuming
and menial that I want to quit my job. Best of all, MS has made their
software free!!! How can it get any better than that? All they need is
to seriously work on a solution for other platforms and .NET will be
unquestionably the greatest step toward improving development since
the debugger was invented. Just my opinion.

Some times I feel like C# has made me a pansy. I worry that I will
stupidly forget to call delete on a pointer in C++ or reference a
variable without assigning it a value. I worry that all those "always
do this" and "never do that" occurrances in C++ will slip out the back
of my mind. I think it is important that I came from the low-level
guts of programming. I don't want to be a scripter who only gets code
written by copying some lame snippet he found on a forum and pasting
it into his code like it should just work. I doubt that will happen,
but I get paranoid.

In summary, anyone who is thinking about going to .NET definitely
should. If it is even an option, you should. If you need to run on
Linux, well, sorry. I think MS is a lot more reputable than a lot of
people give them credit. They have definitely improved their security
practices and are definitely developer-oriented.

On Aug 14, 1:06*am, raylopez99 <raylope...@yahoo.comwrote:
What is the state of C#? *Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth). *Note the 'hard
code' pre-Wizards coding wizard Charles Petzold does C# only now.

RL

http://www.charlespetzold.com/etc/Do...otTheMind.html

Does Visual Studio Rot the Mind?
Ruminations on the Psychology and Aesthetics of Coding
By Charles Petzold
A Talk Delivered at the NYC .NET Developer’s Group,
October 20, 2005

Twenty years ago, in November 1985, Windows 1.0 debuted with
approximately 400 documented function calls.5 Ten years later, Windows
95 had well over a thousand.6

Today we are ready for the official release of the .NET Framework 2.0.
Tabulating only MSCORLIB.DLL and those assemblies that begin with word
System, we have over 5,000 public classes that include over 45,000
public methods and 15,000 public properties, not counting those
methods and properties that are inherited and not overridden. A book
that simply listed the names, return values, and arguments of these
methods and properties, one per line, would be about a thousand pages
long.

If you wrote each of those 60,000 properties and methods on a 3-by-5
index card with a little description of what it did, you’d have a
stack that totaled 40 feet.7 These 60,000 cards, laid out end to end —
the five inch end, not the three inch end — can encircle Central Park
(almost), and I hear this will actually be a public art project next
summer.

Can any one programmer master 60,000 methods and properties? I think
not. One solution, of course, is specialization. I myself have
specialized. This evening I hope no one will ask me questions about
web forms or ASP .NET or SQL Server because those aren’t my specialty.
I do Windows Forms, and my language is C#.
IntelliSense

Visual Studio has attempted to alleviate the problem of class, method,
and property proliferation with a feature called IntelliSense.
IntelliSense indeed puts information at our fingertips, if you think
of your fingertips figuratively as that place on the screen where the
keyboard caret is.

Like other addictive technologies, I have a love/hate relationship
with IntelliSense, and the more I despise it, the more I use it, and
the more I use it, the more disgusted I am at how addicted I’ve
gotten, and the more addicted I get, the more I wish it had never been
invented.

Just in case you’ve been out of the trenches for awhile, IntelliSense
is a culmination of some past attempts at code completion
technologies. If you type an object name and a period, for example,
you’ll get a little scrollable dropdown menu with a list of all the
public methods, properties, and events for that class, and when you
choose a method name and type a left parenthesis, you’ll get the
various overloads with arguments, and a little tooltip describing what
the method does.

IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.

In fact, IntelliSense has become the first warning sign that you
haven’t properly included a DLL reference or a using directive at the
top of your code. You start typing and IntelliSense comes up with
nothing. You know immediately something is wrong.

And yet, IntelliSense is also dictating the way we program.
Aug 14 '08 #14
raylopez99 wrote:
On Aug 14, 12:55 am, Pavel Minaev <int...@gmail.comwrote:
>On Aug 14, 11:06 am, raylopez99 <raylope...@yahoo.comwrote:
>>What is the state of C#?
It's doing well. The language and the tools are being developed
further at a steady pace, there are plenty of third-party providers of
libraries and components, countless books, quite a few universities
use C# in teaching these days, and the job market is rather large.

For now...
For the foreseeable future.

The not foreseeable future is hmm not foreseeable.

It does not make any sense to try and predict the
IT world in 25+ years - noone can do that.

Arne
Aug 15 '08 #15
Pavel Minaev wrote:
On Aug 14, 1:24 pm, raylopez99 <raylope...@yahoo.comwrote:
>On Aug 14, 12:55 am, Pavel Minaev <int...@gmail.comwrote:
>>On Aug 14, 11:06 am, raylopez99 <raylope...@yahoo.comwrote:
What is the state of C#?
It's doing well. The language and the tools are being developed
further at a steady pace, there are plenty of third-party providers of
libraries and components, countless books, quite a few universities
use C# in teaching these days, and the job market is rather large.
For now...

Obviously. The trends are positive now, but I wouldn't expect C#
(or .NET, for that matter) to last forever. The number of once-
mainstream programming languages and technologies that have now faded
to obscurity is a testament to that (COBOL is one prominent example,
pre-.NET VB is another, but there are plenty more). I doubt .NET and
C# are going to go away in the following decade, though, so there is
still plenty of time.
Note that there are actually still plenty of Cobol jobs
after 50 years.

Arne
Aug 15 '08 #16
Ken Foskey wrote:
On Thu, 14 Aug 2008 04:04:53 -0700, Pavel Minaev wrote:
>On Aug 14, 2:07 pm, Ken Foskey <rmove.fos...@optushome.com.auwrote:
>>I am a linux advocate and the C# tools are awful
Compared to what? I'd say that VS2008+ReSharper is a decent match for
either Eclipse or NetBeans; and most certainly nothing comparable exists
for C++ (and, ironically enough, VS is still the best C++ IDE insofar as
code editing and debugging are concerned).

To be clear the C# tools on Linux are awful. Taking a snip like that out
make it hard to get context.

VS is not an option if you are talking to a serious Linux developer for
political reasons. You can so easily build applications in VS that will
not build in Mono so you are better off not using it if Linux is an
important market for you.

The compiler is OK and a portion of the .NET is OK because it is the same
code anyway. Monodevelop is the only FOSS IDE choice for C# on Linux, I
can crash it with ease. Until the Open Source tools are up to scratch
you will not penetrate the Linux market.
I think the Linux worlds best options are:
- general purpose editor like Emacs, NEdit, JEdit etc.
- Eclipse with a C# plugin (*)

The current C# plugins for Eclipse are not that good, but considering
how many other languages that are well supported, then my guess would
be that getting the C# support improved is a doable task.

Arne

Aug 15 '08 #17
Mike Schilling wrote:
>IntelliSense is considered by some to be the most important
programming innovation since caffeine. It works especially well
with .NET because Visual Studio can use reflection to obtain all the
information it needs from the actual DLLs you’ve specified as
references.

IntelliSense is no more advanced than the Java development tool
IntelliJ Idea. (The version I've got installed dates from 2004.) It
can do all of the things described above, and is actually better than
VS.NET at highlighting lines that will cause compilation errors and at
navigating from the use of a class/method/field to its definition and
vice versa. The paragraph above displays a real ignorance of what
goes on outside the Microsoft world.
In all due respect then I believe that VS was first with the
feature.

But yes - .NET is for all practical purposes a single IDE
environment.

Arne
Aug 15 '08 #18
vi****@nospam.com wrote:
The important thing is not to take a job where anybody else can dictate what
tools/languages to use.
That will rule out most companies.

The people working on the same application has to use the same language
(or at least same platform).
And if the management is just bit competent they will insist
that multiple applications get developed in same language/platform.

Arne
Aug 15 '08 #19
raylopez99 wrote:
What is the state of C#? Somebody in a Linux advocacy newsgroup
implied it has saturated (leveled off in growth).
Still growing. Probably growing slightly less than than previously
because a huge part of the VB6 and ASP stuff has already been
ported.
Today we are ready for the official release of the .NET Framework 2.0.
Tabulating only MSCORLIB.DLL and those assemblies that begin with word
System, we have over 5,000 public classes that include over 45,000
public methods and 15,000 public properties, not counting those
methods and properties that are inherited and not overridden. A book
that simply listed the names, return values, and arguments of these
methods and properties, one per line, would be about a thousand pages
long.

If you wrote each of those 60,000 properties and methods on a 3-by-5
index card with a little description of what it did, you’d have a
stack that totaled 40 feet.7 These 60,000 cards, laid out end to end —
the five inch end, not the three inch end — can encircle Central Park
(almost), and I hear this will actually be a public art project next
summer.

Can any one programmer master 60,000 methods and properties? I think
not. One solution, of course, is specialization. I myself have
specialized. This evening I hope no one will ask me questions about
web forms or ASP .NET or SQL Server because those aren’t my specialty.
I do Windows Forms, and my language is C#.
IntelliSense
Libraries today has to be big. Programmers expect that. Try look at
Java or Python or whatever - they have also tons of classes for
everything.

Arne
Aug 15 '08 #20
MC
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:48***********************@news.sunsite.dk...
vi****@nospam.com wrote:
>The important thing is not to take a job where anybody else can dictate
what
tools/languages to use.

That will rule out most companies.

The people working on the same application has to use the same language
(or at least same platform).

And if the management is just bit competent they will insist
that multiple applications get developed in same language/platform.
Well said, sir!

How on earth do you find a job where nobody else can dictate what
tools/languages to use, unless you're only doing free-lance consulting?
Aug 15 '08 #21
On Aug 15, 5:55*am, Arne Vajhøj <a...@vajhoej.dkwrote:
IntelliSense is no more advanced than the Java development tool
IntelliJ Idea. *(The version I've got installed dates from 2004.) *It
can do all of the things described above, and is actually better than
VS.NET at highlighting lines that will cause compilation errors and at
navigating from the use of a class/method/field to its definition and
vice versa. *The paragraph above displays a real ignorance of what
goes on outside the Microsoft world.

In all due respect then I believe that VS was first with the
feature.
For the sake of historical accuracy - it wasn't. IntelliSense first
appeared in a Microsoft IDE in VB5; meanwhile Delphi had similar level
of automatic code completion pretty much since its inception, and I
wouldn't be surprised if there were something preceding it, as well.
Aug 15 '08 #22
On Aug 15, 3:17*am, "jehugalea...@gmail.com" <jehugalea...@gmail.com>
wrote:
I actually find massive libraries a challenge of memory as well as
exploration. I love to dazzle my coworkers with an almost inhuman
retention and quick responses (not to brag). A couple years ago,
spitting out property and methods names for even the most commonly
used classes was a bit of a challege. However, now that I have been
working in C# for two years, spouting out a few hundred class
definitions a day is like a walk in the park.

What makes it so easy to remember? I think it is that the library
itself is exceptionally well organized. It is hard to think of a class
that is improperly placed within the wrong namespace. The classes are
usually very intuitively named. And it helps that Intellisense reduces
your need to remember names to few characters.

As for C#, I don't think it is dying down or reaching a peak. There
are a lot of folks out there who simply don't know something as
wonderful as C# exists. I let them know that they are wasting their
time writing their own web service proxies. I let them know that they
are wasting their time building classes just like DataTable. I let
them know they are wasting time looking through the labyrinthic tomes
of API references, when I can find what I am looking for in a matter
of seconds and its use is intuitive.
All I can add to this is that it it mirrors my own .NET experience
100% (and also Java, and other similarly organized frameworks; Qt
isn't that far off, for example).

One huge benefit of using a large platform is that there is usually a
single well-established way of doing something, and a developer on the
platform will recognize (or at least, is supposed to recognize) it as
a standard pattern with a certain specific meaning. This makes the
code much more readable and maintainable. Of course, there's still no
shortage of people writing their own enum Boolean, or bubble sort, or
trying to parse dates with regexes where DataTime.Parse would work
perfectly. But it's much less tolerated in the Java/.NET land.
Aug 15 '08 #23
Pavel Minaev wrote:
One huge benefit of using a large platform is that there is usually a
single well-established way of doing something,
There are several things that can be done different ways
but still using the standard framework.

Read data from database, find something in an XML document etc..
and a developer on the
platform will recognize (or at least, is supposed to recognize) it as
a standard pattern with a certain specific meaning. This makes the
code much more readable and maintainable. Of course, there's still no
shortage of people writing their own enum Boolean, or bubble sort, or
trying to parse dates with regexes where DataTime.Parse would work
perfectly. But it's much less tolerated in the Java/.NET land.
As long as they pick one of the solutions that MS maintain, then
there is less code to maintain (read: it is good).

Arne
Aug 15 '08 #24
MC wrote:
"Arne Vajhøj" <ar**@vajhoej.dkwrote in message
news:48***********************@news.sunsite.dk...
>vi****@nospam.com wrote:
>>The important thing is not to take a job where anybody else can dictate
what
tools/languages to use.
That will rule out most companies.

The people working on the same application has to use the same language
(or at least same platform).

And if the management is just bit competent they will insist
that multiple applications get developed in same language/platform.

Well said, sir!

How on earth do you find a job where nobody else can dictate what
tools/languages to use, unless you're only doing free-lance consulting?
Even freelancers will often work with existing code or a multi person
development teams.

Arne
Aug 15 '08 #25


Arne Vajhøj wrote:
Pavel Minaev wrote:
One huge benefit of using a large platform is that there is usually a
single well-established way of doing something,

There are several things that can be done different ways
but still using the standard framework.

Read data from database, find something in an XML document etc..
Sure, but there are usually reasons for having several ways, and there
is an obvious choice to make when all the requirements are considered.
E.g., when you have a choice between DataReader and DataSet
+DataAdapter, there are well-known benefits and tradeoffs in either
case, and any rational decision would take those into account, and
pick accordingly, no matter who makes it.

Also, with a limited number of "stock" choices, the intent of the code
is still clearer than when everybody rolls out their own.
Aug 15 '08 #26
Pavel Minaev wrote:
Arne Vajhøj wrote:
>Pavel Minaev wrote:
>>One huge benefit of using a large platform is that there is usually a
single well-established way of doing something,
There are several things that can be done different ways
but still using the standard framework.

Read data from database, find something in an XML document etc..

Sure, but there are usually reasons for having several ways, and there
is an obvious choice to make when all the requirements are considered.
E.g., when you have a choice between DataReader and DataSet
+DataAdapter, there are well-known benefits and tradeoffs in either
case, and any rational decision would take those into account, and
pick accordingly, no matter who makes it.
Sometimes the reason is not so much different purposes but more
evolution.

And I am not so sure that there is always one obvious choice. DataSet
is not something there is universal agreement on when to use.
Also, with a limited number of "stock" choices, the intent of the code
is still clearer than when everybody rolls out their own.
I agree with that.

Arne
Aug 16 '08 #27
I said can, not necessarily, lead to a programmer being trapped, for instance IMHO these
are sickening wastes of human life:
http://en.wikipedia.org/wiki/Microso..._Class_Library

http://en.wikipedia.org/wiki/Active_Template_Library morfed into
http://en.wikipedia.org/wiki/Windows_Template_Library

Why does Microsoft still make new releases of these deadend tools? The world of managers
who could care less about the future of their programmers. Following your rational do
you agree, "it would be insane to start suggesting the any large company change all their
MFC ATL infrastructure to run modern tools "?

Is $160.4B Google's software development future really completely tied to a 5.2B company
that doesn't keep it's word and is in a downward spiral, losing 40% of its value in the
last 6 months? What is the future of Java development if one way or another 253.9B
Microsoft takes control of Sun?

As far as working on a team, if I have to maintain it my experience is it's better to
write the whole thing by myself.

I am 49, in 1986 I was told to forget about PC programming and keep writing Data General
assembly language, I quit that job, ever since then I have had control of my tools.

On Thu, 14 Aug 2008 20:03:44 +0100, Jon Skeet [C# MVP] <sk***@pobox.comwrote:
<vi****@nospam.comwrote:
>The important thing is not to take a job where anybody else can dictate what
tools/languages to use.

So you'd only ever take a job where you get to decide which languages
to use? What if your team members disagreed with you? Or would you also
not take a job where you'd work in a team?
>Jobs like that can lead to a programmer being obsolete, trapped, and
otherwise unemployable stat.

Only if you're forced to use obsolete languages. For instance, I work
at Google, writing code in Java. Would I prefer to use C#? Absolutely -
it's a nicer language in my view. However, it would be insane to start
suggesting that Google change all their infrastructure to run .NET. So
have I taken a job which is going to lead to me being obsolete, trapped
and unemployable? Strangely enough, I'm not worried.
Aug 17 '08 #28
vi****@nospam.com wrote:
I said can, not necessarily, lead to a programmer being trapped, for instance IMHO these
are sickening wastes of human life:
http://en.wikipedia.org/wiki/Microso..._Class_Library
http://en.wikipedia.org/wiki/Active_Template_Library morfed into
http://en.wikipedia.org/wiki/Windows_Template_Library

Why does Microsoft still make new releases of these deadend tools?
Because there are lots of apps out there using those with no intention
to port to .NET or other newer technologies for the near future.

Heck - there are even developers out there that like those technologies.

MS delivers what the market wants - not what you want.
Is $160.4B Google's software development future really completely tied to a 5.2B company
that doesn't keep it's word and is in a downward spiral, losing 40% of its value in the
last 6 months?
No.

See below.
What is the future of Java development if one way or another 253.9B
Microsoft takes control of Sun?
Practically unaffected.

The Java standards are not controlled by SUN but by JCP. The highest
body with JCP is the Executive Committee.

Google is already represented in JCP EC. By Joshua Bloch BTW. The other
members currently are: SUN, IBM, Oracle, HP, SAP, Intel, Fujitsu,
Redhat, Eclipse, Apache, Nortel, SAS and 2 individuals. Very close
to being the top of the IT industry minus Microsoft.

SUN has over the last couple of years open sourced all their
implementations: JDK, Glassfish, NetBeans. If SUN disappeared,
then Google could continue to use the SUN based open source Java.
Or they could pick one of the alternative open source implementations
(Apache, FSF). Or they could pick a commercial implementation from a
171B company (IBM). Or pick a commercial implementation from a
118B company (Oracle). Or develop their own. Plenty of options.

The only thing SUN still owns is the trademarks. And there are
other islands in Indonesia that could be used ... :-)

The bottom line is that the Java world would not care much
if MS bought SUN except for nostalgic reasons.

MS on the other hand would get a bunch of HW suppliers that
was very unhappy about MS going into HW.

If someone is going to buy SUN then Oracle would be a much
more likely candidate.
As far as working on a team, if I have to maintain it my experience is it's better to
write the whole thing by myself.
It is not cost efficient to always rewrite existing code. It is not
feasible to have one person do all development except for trivial
small projects. Teams notoriously produces higher quality solutions
than individuals.

So that strategy is completely hopeless.

Arne
Aug 17 '08 #29
On Aug 17, 10:02*am, vie...@nospam.com wrote:
I said can, not necessarily, lead to a programmer being trapped, for instance IMHO these
are sickening wastes of human life:http://en.wikipedia.org/wiki/Microso..._Class_Library

http://en.wikipedia.org/wiki/Active_..._Librarymorfed intohttp://en.wikipedia.org/wiki/Windows_Template_Library
Thanks for the link, that was interesting. I reproduce what I found
of interest below.
>
Why does Microsoft still make new releases of these deadend tools? * The world of managers
who could care less about the future of their programmers. * *Following your rational do
you agree, "it would be insane to start suggesting the any large company change all their
MFC ATL infrastructure to run modern tools "?
No it's not insane; I agree. I share your distain of MFC--I found it
was a sort of half-way house between C++ and Visual Basic. With Forms
things are much easier, albeit the library is much smaller still.
Is $160.4B Google's software development *future really completely tiedto a 5.2B company
that doesn't keep it's word and is *in a downward spiral, losing 40% ofits value in the
last 6 months? * What is the future of Java development if one way or another 253.9B
Microsoft takes control of Sun?
Well said. Despite Java being an Open Standard, you are correct in
saying that Sun Corporation dying would be a mortal blow to Java.
Even btw PDF (Adobe Acrobat format) is an "open standard" but for
practical purposes it's synonymous with Adobe Corporation.
>
Only if you're forced to use obsolete languages. For instance, I work
at Google, writing code in Java. Would I prefer to use C#? Absolutely -
it's a nicer language in my view. However, it would be insane to start
suggesting that Google change all their infrastructure to run .NET. So
have I taken a job which is going to lead to me being obsolete, trapped
and unemployable? Strangely enough, I'm not worried.
I pity working for Google using Java--but a job is a job. Google is
great for founders with founders shares or employee numbers 1 through
100. But I suspect the writer of this (Jon?) is not one of them, too
bad. And amusingly Google was just surpassed by Apple in market cap.
Can you say "WordPerfect" or "Netscape"? I see MSFT dominating the
search space once they perfect their search engine ("Longhorn" (Vista)
was supposed to have such an engine. BTW an excellent search engine
is dtSearch, a commercial product; surprised nobody has bought them
out--they have a fast tree and it supports, unlike Google, Boolean AND/
OR and "within 15 words" type searches).

RL

from Wikipedia:

When MFC was introduced, it provided C++ macros for Windows message-
handling (via Message Maps), exceptions, run-time type identification
(RTTI), serialization and dynamic class instantiation. The macros for
message-handling were intended to reduce memory consumption by
avoiding gratuitous virtual table use and also provide a more concrete
structure for various Visual C++-supplied tools to edit and manipulate
code without parsing the full language. The message-handling macros
replaced the virtual function mechanism provided by C++.
The macros for serialization, exceptions, and RTTI predated
availability of these features in C++ by a number of years. 32-bit
versions of MFC, for Windows NT 3.1 and later Windows operating
systems, used compilers that implemented the language features and
updated the macros to simply wrap the language features instead of
providing customized implementations, realizing upward compatibility.
[edit]Visual C++ 2008 Feature Pack

On April 7, 2008, Microsoft released an update to the MFC classes as
an out-of-band update to Visual Studio 2008 and MFC 9.[6] The update
features new user interface constructs, including the Ribbon user
interface of Microsoft Office 2007

Microsoft has also imposed additional licensing requirements on users
of the Ribbon UI.[9] These include a requirement to adhere to
Microsoft UI Design Guidelines, and a prohibition against using such a
UI in applications which compete with Microsoft applications.
Aug 18 '08 #30
On Aug 17, 11:23*am, Arne Vajhøj <a...@vajhoej.dkwrote:
vie...@nospam.com wrote:
I said can, not necessarily, lead to a programmer being trapped, for instance IMHO these
are sickening wastes of human life:
http://en.wikipedia.org/wiki/Microso..._Class_Library
http://en.wikipedia.org/wiki/Active_..._Librarymorfed into
http://en.wikipedia.org/wiki/Windows_Template_Library
Why does Microsoft still make new releases of these deadend tools?

Because there are lots of apps out there using those with no intention
to port to .NET or other newer technologies for the near future.

Heck - there are even developers out there that like those technologies.
I take it you don't particularly like MFC. But I agree some people
do: I saw one programmer who compared MFC to a $3000 modern art sofa,
while Windows Forms was a cheap $300 sofa you bought at IKEA.

RL
Aug 18 '08 #31
raylopez99 wrote:
>
I take it you don't particularly like MFC. But I agree some people
do: I saw one programmer who compared MFC to a $3000 modern art
sofa,
With eight legs,. no four of them in the same plane.
while Windows Forms was a cheap $300 sofa you bought at IKEA.

Aug 18 '08 #32
raylopez99 wrote:
I see MSFT dominating the
search space once they perfect their search engine ("Longhorn"
(Vista)
was supposed to have such an engine.
And they'll own the low-end database market once they prefect that
transactional file system that was promised for NT 4.0.
Aug 18 '08 #33
Mike Schilling wrote:
raylopez99 wrote:
>I see MSFT dominating the
search space once they perfect their search engine ("Longhorn"
(Vista)
was supposed to have such an engine.

And they'll own the low-end database market once they prefect that
transactional file system that was promised for NT 4.0.
I believe that transactional NTFS is part of Vista and 2008.

Arne
Aug 18 '08 #34
Arne Vajhøj wrote:
Mike Schilling wrote:
>raylopez99 wrote:
>>I see MSFT dominating the
search space once they perfect their search engine ("Longhorn"
(Vista)
was supposed to have such an engine.

And they'll own the low-end database market once they prefect that
transactional file system that was promised for NT 4.0.

I believe that transactional NTFS is part of Vista and 2008.
There you go. A mere matter of 14 years.
Aug 19 '08 #35

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

Similar topics

0
1359
by: Michael O'Keeffe | last post by:
There was an interesting talk by Charles Petzold, who wrote the bible on the Wind32 API, on Visual Studio, and IDEs in general, and their disadvantages as far as learning (he also teaches programming), so I would recommend anyone trying to learn C++, and considering downloading this free IDE and compiler to read the post. Some very good...
12
1615
by: Tom | last post by:
First, my thanks in advance to those who can help explain away this mystery line of code. Petzold is a great teacher and I appreciate his work; however, his explanation about an extra line of code needed when a class is contained in a library vs the class being defined in a separate file within the project falls short of my ability to...
0
7270
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7178
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7397
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
7565
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
5704
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5103
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 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 a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
3242
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
817
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
473
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

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.