Has .NET destroyed the Programmer's spark?
-
The notion that programmers should be (a) tribal and (b) competitive is really rather bizarre, to say the least. I specialize in a number of areas, but that is due to lack of time to become expert in all of them. But "competitiveness" was never a concept I had. In any case, C# in particular is a MASSIVE set of libraries; becoming expert in all of them presents the same challenges as with any large technology. We will find niches to inhabit. I will no more be a universal expert in all of C# than I am a universal expert in all of Win32. Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s
I don't know about that. With me, (and probably some others) competitiveness helps me to become a better programmer. Sometimes I compete with people and they don't even know it. If you write a small app, and I can write an app that does the exact same thing with half the code, I've taught myself something, and hopefully I'll share it with you so that you may learn something too. Some people that I learned VB with would learn stuff and then act like they didn't want anyone else to know how to do what they did as if making someone else smarter would somehow make them dumber, or see it as an act of relinquishing some form of power they assumed they lorded over everyone else. But that's just stupid. Competitiveness helps us all. Building the better mousetrap eggs you on to build one better than mine, then Chris tries to build one better than yours. The end result is that if that knowledge is shared, we all benefit from it. People even compete with their own products. Otherwise, there would be no version 2.3, no enhancements and plug-ins. It's a constant effort to make any of your products better. I don't think we become experts because of what we do (although I'm not an expert at anything :) ). Wanting to make something better makes us experts. Unless you sit in a cubicle and do the bare minimum, copy and paste ALL your code and never have an idea that you think is cooler, better, or more efficient. My articles www.stillwaterexpress.com BlackDice
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
What's that quote? The one about the universe being suddenly replaced with something more confusing, should we ever manage to figure it out? Well, that's .NET. Suddenly, we're all on the same playing field again, and most of the work we put into building knowledge and especially toolkits prior to this now amounts to nothing. But it'll change. VB.NET is already changing in VS2k5, in a few versions we'll have everyone's favorite hand-holding programming environment back with a vengeance. Once Avalon gains some traction, we'll have that and the older custom stuff to choose between. And it's already become fairly easy to read past even FXCop-friendly code and see who's really writing with the future in mind, and who's just throwing stuff against the wall. In ten years, when UltraJava is the buzzword of the day, no-one will even remember the old fiefdoms, and we'll all be eyeing each other with suspicion again...
You must be careful in the forest Broken glass and rusty nails If you're to bring back something for us I have bullets for sale...
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
No - you have grown old and cynical ;P (Just as everyone thinks that the music they listened to when 18 was the best so everyone thinks the language/environment that they learnt first is the only real way to program...) '--8<------------------------ Ex Datis: Duncan Jones Merrion Computing Ltd
-
No - you have grown old and cynical ;P (Just as everyone thinks that the music they listened to when 18 was the best so everyone thinks the language/environment that they learnt first is the only real way to program...) '--8<------------------------ Ex Datis: Duncan Jones Merrion Computing Ltd
Merrion wrote: (Just as everyone thinks that the music they listened to when 18 was the best so everyone thinks the language/environment that they learnt first is the only real way to program...) Dern right! Just show me the app i can't write in GW BASIC in an afternoon...
You must be careful in the forest Broken glass and rusty nails If you're to bring back something for us I have bullets for sale...
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
Chris Maunder wrote: Lost the concept of being an elite? It cannot be lost, this concept. It's just a matter of time before the "old guys" will migrate to the .NET world. Then the difference between survivors and developers will become visible again. Because there is someone to disturb the sleeping waters, already, i would rather tend to be optimistic :)
"though nothing  will keep us together  we can beat them  for ever and ever" rechi
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
I should quickly point out that the "tribal, competitive nature" has always been so irrelevent to me I never thought about it until now. I'm really responding to the subject line. I've been programming for 25 years, professionally for 17. My first professional job was writing games in 6502 assembly for Apple IIs. 17 years later, I am an expert in Win32, MFC and C++. The last time I wrote code that truly engaged me was three years ago [it was the core routing engine for a VoIP network.] For three years before and after, I've been a mindless programmer, churning out code and fixing bugs. Last year, while the rest of my team spent six months doing "contextual inquiry" (and coming up with obvious results I could have told them had they but asked) I spent my time writing the core of our new product in .NET and C# (using the 2005 beta and VistaDB for those who care.) I hadn't had so much fun writing code since the mid-90s when I was mastering MFC. Then it came time to churn out another release on our mixed bag of C and C++ code and I returned to hating my job on a daily basis. So, for me, .NET has restored my spark and I continue with my drudgery since sooner or later, the .NET rewrite will be given the green light. (At this point, even rewriting in C++/MFC would restore much of my spark, but I hope it's .NET/C# since it was, and still is, fun.) Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
Chris Maunder wrote: You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Actually, we do. We've had to dip into the Win32 API on many occassions for some GDI stuff, much of which is shoddily (new word?) documented, or not documented at all. .NET makes a lot of things easier, which is good, but doesn't give you full control like native code does (at least, not with the DNF library set we've had thus far). .NET is such a huge topic, that is encompasses so many things: sockets, remoting, xml, GUI Windows apps, Windows services, web-based apps, web services, and so on. It's will come to the point that when virtually all in the Windows dev world are using .NET, the specialties you speak of will become specialties in .NET. Even in its limited use today, I know that Heath Steward here on CP is an elite .NET P/Invoke expert. Or I might talk to Ingo Rammer if I've got a question on .NET remoting.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Horrific Minnesota Radio Judah Himango
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
Chris Maunder wrote: VB is no longer everyone's punching bag Yes it is! and it will remain so forever. Y'hear? Joel Holdsworth Wanna give me a job this summer? Check out my online CV and project history[^] - now available in MSWord format![^]
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
To some extent I agree -- the challenges (certainly for me when I was picking up MFC/ATL) were a lot more to do with actually getting stuff done, picking up slightly weird nuances. Mind you, a lot of my learning was to do with programming as a whole, so the chances of me picking up C# any quicker when I was starting out was probably less. But I agree, part of the fun was very much actually seeing stuff come together, and understanding why. This (to some extent) is now no longer relevant, coherent libraries that work. Admittedly there's still things to watch out for, memory management is a whole different ball game, but to my mind it is essentially simpler rather than it just being quicker to get to the end product. However I still feel there's value in understanding what's going on under the hood - particularly when troubleshooting - despite the fact that you're not using it anywhere near as directly. I think where things have changed is its now application of techniques/technologies which sets people apart. Their knowledge of development patterns, good code writing practices (paragraphing, good commenting etc.), refactoring. Its no longer a question of tackling problems, but how effectively can you tackle the problem. Some of the biggest gains in terms of development that I personally have experienced (beyond my initial learning of libraries/languages) has been the adoption of practices like test-driven development, setting up continuous integration and getting custom reporting in. I don't agree that there's no longer a wide spectrum of abilities within the .NET space. Fair enough, it's unlikely to be _as_ wide as with C++, but that's essentially because the range of things on which you can vary in knowledge is smaller. There were just far more things (certainly from my exposure to C++) you could shoot yourself in the foot with. However, I'm yet to find a time when I personally don't read other things from other developers, and fail to learn something, and occasionally be blown away -- the various .NET blogs and articles I read are testament to the fact there are still extremely, extremely bright people in the .NET world and are as important as the hardcore C++-ers. Both of which appear to exist in very large numbers on this website :) -- Paul MS Messenger: paul -at- oobaloo-co-uk
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
I spent the past year playing around with .NET. I am not yet sold on .NET (or any runtime for that matter). I just dont think our C/C++ skills are obsolete. A vast majority of critical exciting applications will continue to be written in C++ without the runtime. .NET is not really new. We have had managed environments for 10 years now with the release of Java. Yet , Adobe Premeire is still written in C++; Flash is still an ActiveX control. If Microsoft forces us to code in VB.NET or C# to access Longhorn features (?) - then Linux will be take its place as the preferred platform for high performing desktop applications.
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
Chris Maunder wrote: Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? depends on your environment. No one has homogonized the 3D graphics systems, there are two SDK's still, one cross platform, one windows only (wow big surprise), and many higher level SDKs that use one, or either low-level graphics to assist the programmer. .Net is one portion of programming. I think you can focus on what you have done for you, or on what has yet to be done. Look ahead, look up, use the homogonized tools to make life faster for the repetative tasks, teach the computer to do something new and exciting and you will feel better. _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
Even if we agree that all computing will be .NET (which is not the case), programmers will still be divided, ie: - Web devs, vs desktop devs vs library/component devs - ISV devs vs internal devs - C++/CLI devs vs C# devs vs VB.NET devs - Advanced devs (read/write IL, use reflection emit, etc), competent devs (write exception-safe code, understand Dispose pattern, know performance implications of their decisions), and "less than competent" (think that the framework will magically take care of everything). Therefore, I don't see "homogenization" even with .NET. But again, I am firmly convinced that .NET is going to cover only a subset of programming needs.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
I would say nothing has changed. You still, and probably always will have, niches. Some specialize on web applications, some work with web services, data layers, Windows apps, Mobile Devices, etc, the list goes on.
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
It depends on what you mean by programmer. If you mean someone primarily interested in getting a job done then .net freed them by many orders of magnitude to just get on with the job at hand which to a functional programmer like myself is very nice. If you mean a "geek" programmer that care more about a specific technology niche than getting the job done then I imagine they are very un-"sparky" about .net. It's a cultural shift, like the days when a network admin was a guru with godlike powers. No one was happy about that except said "guru", these days a monkey could admin most networks and the old network admins are probably pretty unhappy about it as well. All I can say is too bad.
"In our civilization, and under our republican form of government, intelligence is so highly honored that it is rewarded by exemption from the cares of office." - Ambrose Bierce
-
I spent the past year playing around with .NET. I am not yet sold on .NET (or any runtime for that matter). I just dont think our C/C++ skills are obsolete. A vast majority of critical exciting applications will continue to be written in C++ without the runtime. .NET is not really new. We have had managed environments for 10 years now with the release of Java. Yet , Adobe Premeire is still written in C++; Flash is still an ActiveX control. If Microsoft forces us to code in VB.NET or C# to access Longhorn features (?) - then Linux will be take its place as the preferred platform for high performing desktop applications.
Vivek Rajan wrote: If Microsoft forces us to code in VB.NET or C# to access Longhorn features (?) - then Linux will be take its place as the preferred platform for high performing desktop applications. Yeah sure, and if you truly believe that I have a bridge you might be interested in buying.
"In our civilization, and under our republican form of government, intelligence is so highly honored that it is rewarded by exemption from the cares of office." - Ambrose Bierce
-
The notion that programmers should be (a) tribal and (b) competitive is really rather bizarre, to say the least. I specialize in a number of areas, but that is due to lack of time to become expert in all of them. But "competitiveness" was never a concept I had. In any case, C# in particular is a MASSIVE set of libraries; becoming expert in all of them presents the same challenges as with any large technology. We will find niches to inhabit. I will no more be a universal expert in all of C# than I am a universal expert in all of Win32. Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s
I agree completely. The days of the "geeky guru" should be long gone by now. Some of us just have a job to do and that's where the focus should be, not on a particular type of technology. Technology is a tool, just as a hammer and a screwdriver are tools. A means to an end only.
"In our civilization, and under our republican form of government, intelligence is so highly honored that it is rewarded by exemption from the cares of office." - Ambrose Bierce
-
The notion that programmers should be (a) tribal and (b) competitive is really rather bizarre, to say the least. I specialize in a number of areas, but that is due to lack of time to become expert in all of them. But "competitiveness" was never a concept I had. In any case, C# in particular is a MASSIVE set of libraries; becoming expert in all of them presents the same challenges as with any large technology. We will find niches to inhabit. I will no more be a universal expert in all of C# than I am a universal expert in all of Win32. Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s
Agreed, I was going to say something very similar but probably not as eloquently. In Western culture to be able to code a small amount whether in C++, C# or Formatting HTML is a basic skill to have. Everyone is becoming a programmer of some description when they learn to setup their TiVo type gadgets. Now it is a matter of extending that to see who does more or less of the programming work. The tribal thing has been bandied about a lot in the last few years, and I keep wondering if tribes truly existed today what is there life expectancy. As technology will will surely surpass each tribe. Regardz Colin J Davies The most LinkedIn CPian (that I know of anyhow) :-)
-
After chatting to a friend I got thinking: when I was learning C++ it was fun. I picked my niche (MFC) and style (GUI controls) and worked on learning everything there was to know about DCs, Windows messages and MFC internals. It was relatively simple to become an expert on a small corner of programming and feel you had that corner to yourself and your friends. You could then move on to ATL or COM, or go crazy with WTL, or dip down to SDK programming, or graphics and DirectX. Whatever. Each discipline had its own libraries, its own framework and its own techniques. Once you had mastered one you moved on to the next. The maverick WTL guys laughed at the MFC guys, who in turn fended off the ATL guys, and who all thought, in the end, the graphics programmers got the fun jobs. In a way it was almost tribal. But does .NET allow this to happen? The same class library is used by all. VB is no longer everyone's punching bag. You don't plunge into the Win32 SDK or use an undocumented system DLL to push the limits. Has .NET homogonised programming to the point where the tribal, competitive nature has been removed and the heirachy has been flattened? Is it simply a task that you share with others - many, many others - of such a wide spectrum of abilities (hard-core C++ guys down to Frontpage developers moving up) that a typical .NET programmer has lost the concept of an immediate peer group? Lost the concept of being an elite? Of having something to fight for? cheers, Chris Maunder
-
The notion that programmers should be (a) tribal and (b) competitive is really rather bizarre, to say the least. I specialize in a number of areas, but that is due to lack of time to become expert in all of them. But "competitiveness" was never a concept I had. In any case, C# in particular is a MASSIVE set of libraries; becoming expert in all of them presents the same challenges as with any large technology. We will find niches to inhabit. I will no more be a universal expert in all of C# than I am a universal expert in all of Win32. Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s
I agree. The tribal competion is only created by the feeling of looking at someone's code that knows more about a particular topic than you do. Placing them figuratively on a pedastal, held firmly in place by voodoo magic. But that can only last for so long, with effort and determination anyone can enter an .NET circle of trust/knowledge and become an active contributor. That's what makes it great. Yes, I agree with the feeling of watching others "buy" an equivalent and often better soapbox racer days before the race. But the truth still stands that there are only a few that are technically qualified to work on and troubleshoot "major" malfunctions and problems with said racers. That will never die. Maybe the days of proprietary libraries that are the only source of solutions are becoming lessened because of .NET. But such a creative distrobution can only contribute more interested parties into the world of coding which we hold so dear. Just because it's readily accessible, doesn't make anyone more or less capable than they were the day before of standing out from the crowd. Leaders work for their positions, we don't bitch when someone challenges us, we step up, and raise the bar. That is all that .NET has done, given more individuals a chance to enter the game. Whether they finish in the top 3 or top 3 million is still up to them. Si vic pacem para bellum - If you want peace, prepare for war
-
The notion that programmers should be (a) tribal and (b) competitive is really rather bizarre, to say the least. I specialize in a number of areas, but that is due to lack of time to become expert in all of them. But "competitiveness" was never a concept I had. In any case, C# in particular is a MASSIVE set of libraries; becoming expert in all of them presents the same challenges as with any large technology. We will find niches to inhabit. I will no more be a universal expert in all of C# than I am a universal expert in all of Win32. Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s
Joseph M. Newcomer wrote: Anyone who thinks they should be part of an "elite" should re-examine their life's goals. We become experts because of what we do, not because of of some bizarre fourth-order effect such as tribalness or competitiveness. Otherwise, we are back in the high-priest-of-the-computer cults of the 1960s Depends on your work environment. I think your situation sounds very comfortable. Try working as a contractor in an area where most of the heavy programming is done by contractors. It's tribal and competitive. If the powers that be think you aren't doing a good job then chances are you will soon be replaced. When the spagetti code hits the fan and things go wrong the less competent programmers start pointing the finger in all directions and making lots of noise while the good programmers sit down and resolve the problem. The hard part is convincing the powers that be that the noise they are hearing is BS. As member of a group of skilled programmers there is a tendancy to use lots of polymorphism, to exploit the STL to the fullest, and to carefully control the use of objects through const, private, etc which really throws the less competent programmers and makes them look stupid when they can't work out how to interoperate. Hence they do get a little pissy when they have to charge lower rates to keep their jobs. Being elite is the best way to keep the wolves at bay.