Evolution of C#
-
Sure any computer language can has 'limit' to it's syntax, it looks to me that VB.net introduced partial methods, so the same feature is built in the c# language. So what, we don't have to use every feature that is built into a computer lanuage, come on how many people used 'friends' in C++, not many.
If you're struggling developing software, then I'd recommend gardening.
The alternative of C# of just making everything "internal" so the whole assembly can poke about to its heart's desire seems very icky to me - the whole point of friendship is that you have direct control of how the contents of a class are used (and it tells users of your classes that whilst it may be ok for some other class to poke about inside, it's only that class that's allowed)
-- Help me! I'm turning into a grapefruit! Buzzwords!
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandIt's not the amount of sugar as such. The problem I see is this: Code needs to be read mroe than written, in a team everybody must be able to understand what the other has written. The more features the language has, the more advance knowledge team members need to learn before they can be considered "full" members - steepening the factual learning curve. I don't think the amount of features in C# is a problem right now, but I am concerned with consistency. Somehow, things "don't come together" anymore - but maybe I just need to dive in deeper. I wonder, though, what say Hejlsberg still has on these things. I don't agree with all of his ideas, but I consider him an excellent language designer nonetheless. For the actual change in question: the name sounds more scary than the feature itself, though this is a can of worms for debugging build problems. It does have some use, coming from C++ there may be a few things this helps with where I'd use the preprocessor C++. With the lean towards code generators, I agree wiht the comments in one of the links: I. Dont. Like. It.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist -
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandI love the bloat keywords.. eg, "foreach" instead of (for (int i........) object a = array[i]... enums instead of some classes that contain public fields etc. Its not like it is a problem for a human mind to keep track of a handful of keywords..
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandRohde wrote:
slowly C# shows signs of some feature bloat
IMO, they should have stopped with generics. All this lambda, Linq, var stuff feels like someone's trying to sell me shoes designed originally for aliens that we've never even confirmed exist. Marc
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandThe fundamental problem with C# all along has been that its design is driven by Microsoft's accountants and marketing people rather than the technical guys. I read an early draft of the language and framework spec well before .NET 1 and C# made an appearance when it was purely a technical project and I was delighted. Loads of good ideas and no fluff. Unfortunately there's a whole lot more in the final product and it's worth a whole lot less. I'll stick with C++ thanks :)
Nothing is exactly what it seems but everything with seems can be unpicked.
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandAfter all these years, Microsoft has decided to accept my demands to improve C#. Now I can declare all my methods in the .h file and define them in the .cs! Looking forward to my other requests: preprocessor macros and inline x86 ASM. :suss:
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandRohde wrote:
C# shows signs of some feature bloat
of course it does. don't forget, C# at least partly is a product.
-
Rohde wrote:
slowly C# shows signs of some feature bloat
IMO, they should have stopped with generics. All this lambda, Linq, var stuff feels like someone's trying to sell me shoes designed originally for aliens that we've never even confirmed exist. Marc
Old fart that I am, I've decided to stop at the .NET2 syntax. I'm comfortable with it, and I don't see any need to rush towards things like MixIns or Linq.
Deja View - the feeling that you've seen this post before.
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandI agree that C# should be kept as simple as it is in version 2. Rather have the ability to reference a plugin/DLL that would extend VS and .NET to include new features like LINQ, etc... Keep the language clean!
Cheers, Simon > company:: Broken Keyboards Software > blog:: brokenkeyboards > skype :: SimonMStewart > CV :: PDF
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn Rand -
Rohde wrote:
C# shows signs of some feature bloat
of course it does. don't forget, C# at least partly is a product.
Oh, I'm aware of that. I guess that's one thing C++ has going for it (although in that case we've got entirely different issues - like the absurd long time it takes for the standard body to push out C++4000 - or what it'll be :) - oh well we can't have it both ways :) Maybe it's time to take up COBOL and be and old grumpy mainframe programmer at a bank, swearing at all the young kids with their fancy OOP, Lambda, LING, etc. :) ).
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn Rand -
After all these years, Microsoft has decided to accept my demands to improve C#. Now I can declare all my methods in the .h file and define them in the .cs! Looking forward to my other requests: preprocessor macros and inline x86 ASM. :suss:
to_be_defined wrote:
Now I can declare all my methods in the .h file and define them in the .cs
You could do this in c++ since the language existed! Interesting to see what makes c# guys happy.;P
// "Life is very short and is very fragile also." Yanni
while (I'm_alive)
{
cout<<"I love programming.";
} -
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandWell, I kicked a bit when nullable types came in as that just did not seem proper use of the "?" symbol. Generics had their place and made life a bit easier as did many other improvements to the language. Now we have LINQ built in with Lambda expressions, annonymous types and partial classes. When they first hit, I thought, "boy, they are sure bloating all this up, I am happy with the current C# implementation".. Well, after working with the enhancements, I cannot go back. They just keep improving and making my life much easier in the process once after I got use to the new additions. At times I might think that it would be best if they slowed down a bit, but the increase in productivity keeps me wanting more. I doubt their current level of additions will last too much longer. They are really making C# a wonderful language to work with and saving me a lot of code in the process. No complaints here!
Rocky <>< Blog Post: Windows Live Authentication - Easy Stuff! Tech Blog Post: Vista ReadyBoost! Tech Sites: SilverlightCity.com ~ TheSilverlightDirectory.com ~ TheWPFDirectory.com
-
I stopped using C# for my astronomy software project because it is so slow, it takes up huge amounts of runtime memory, and most people do not want to spend 30 minutes downloading and installing windows updates just to run a program.
Exactly! I thought about rewriting one of my small projects with c#, so I had to create a new installer and guess what should be considered(as much as I remember): Service pack2 for XP, Installer 3.x, MDAC 8.x, .net framework 2, .Net framework 3, etc. Just imagine a user waiting for all these softwares to be installed before my small application installs! I totally dismissed updating:-D
// "Life is very short and is very fragile also." Yanni
while (I'm_alive)
{
cout<<"I love programming.";
} -
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandAll actively used languages evolve, just as all active programs evolve. Be honest, has there ever been a language where you weren't writing a program one afternoon and thought to yourself, "wouldn't it be nice if...." Perhaps the thought ended there, perhaps it didn't. But that happens to many programmers, and even the writers of these programs. "What if" is the most powerful, and most dangerous statement we all make. It makes Vista out of XP, it makes XP out of ME and 2000, it makes C# from VB&C++&Java, but it also evolves the specifics of any system, it makes Java 5 from Java, it makes OpenGL 3 from OpenGL 2, and OpenGL 2 from OpenGL 1. "What if" means your software you know and love will change, the stuff you write will change, everything you use will change. "What if" is both salvation and damnation to the programming body at large. :) "What if" can move mountains. -- modified at 13:31 Friday 7th September, 2007
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
I read this very interesting post on C# (partial methods for partial developers[^]) which got me thinking that slowly C# shows signs of some feature bloat - kind of what happened with Java 5. What do you think? Would you like as much "sugar" as possible in you coding coffe? Or, are you more happy with a clean and simple language, like C# is now, but may not be in future revision (Algol 68 anybody?)?
"When you have made evil the means of survival, do not expect men to remain good. Do not expect them to stay moral and lose their lives for the purpose of becoming the fodder of the immoral. Do not expect them to produce, when production is punished and looting rewarded. Do not ask, `Who is destroying the world?' You are."
-Atlas Shrugged, Ayn RandI think the C# team is choosing language features carefuly, especially when compared to other .NET languages like VB. I agree that partial methods aren't a "general use" concept and are aimed more at code generation tools rather than people, but I think that they will be an important addition for helping keep the generated code cleaner.
Scott.
—In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]
-
Old fart that I am, I've decided to stop at the .NET2 syntax. I'm comfortable with it, and I don't see any need to rush towards things like MixIns or Linq.
Deja View - the feeling that you've seen this post before.
I'm still on the fence with Linq, but MixIns (extension methods) can actually be very useful when done properly. They can add a level of semantic "completeness" to a type, by providing the same helper/utility methods that we always write in a more natural way of accessing them...as methods on the type itself. Since you write an extension method in exactly the same way you write a static utility class (the only difference is the
this
keyword before the first (which should be the source data type) parameter) you can still use them as a helper class and make explicit calls to it.Scott.
—In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]
-
After all these years, Microsoft has decided to accept my demands to improve C#. Now I can declare all my methods in the .h file and define them in the .cs! Looking forward to my other requests: preprocessor macros and inline x86 ASM. :suss:
to_be_defined wrote:
Now I can declare all my methods in the .h file and define them in the .cs!
Not at all the intent behind partial methods. Depending on how the partial method is declared, it might not even be compiled into the final assembly. So it really isn't like a .h file.
Scott.
—In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]
-
I agree that C# should be kept as simple as it is in version 2. Rather have the ability to reference a plugin/DLL that would extend VS and .NET to include new features like LINQ, etc... Keep the language clean!
Cheers, Simon > company:: Broken Keyboards Software > blog:: brokenkeyboards > skype :: SimonMStewart > CV :: PDF
That's kind of what's happening. The .NET 3.0 and 3.5 versions of the framework are built on top of the .NET 2.0 CLR. The changes/additions in 3.0 and 3.5 are an additional set of libraries that sit on top of (and outside) the 2.0 CLR. The only changes to the 2.0 bits are service packs that get installed (only in the case of .NET 3.5). I think the bigger issue has been the choice of "version" numbers and the confusion it has/is causing.
Scott.
—In just two days, tomorrow will be yesterday. [Forum Guidelines] [Articles] [Blog]
-
All actively used languages evolve, just as all active programs evolve. Be honest, has there ever been a language where you weren't writing a program one afternoon and thought to yourself, "wouldn't it be nice if...." Perhaps the thought ended there, perhaps it didn't. But that happens to many programmers, and even the writers of these programs. "What if" is the most powerful, and most dangerous statement we all make. It makes Vista out of XP, it makes XP out of ME and 2000, it makes C# from VB&C++&Java, but it also evolves the specifics of any system, it makes Java 5 from Java, it makes OpenGL 3 from OpenGL 2, and OpenGL 2 from OpenGL 1. "What if" means your software you know and love will change, the stuff you write will change, everything you use will change. "What if" is both salvation and damnation to the programming body at large. :) "What if" can move mountains. -- modified at 13:31 Friday 7th September, 2007
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
El Corazon wrote:
"What if" can move mountains.
Let me test it: "What if Microsoft stops .Net?", is it still there? Another test: "What if that girl...?" . . . Damn it, nothing happens. Could you please change your "What if" with mine, it's not working for me.:-D
// "Life is very short and is very fragile also." Yanni
while (I'm_alive)
{
cout<<"I love programming.";
}