C++ again :-) (Does C# make you dumber?)
-
My day job was ASP.NET for about the last 4 years, but mostly on one project, so no move to 2.0. I've heard some things about 2.0 that make me think it's a step backwards, such as the recommendation to put code in the aspx file, instead of code behind. Is that true ? I'd love to play with the new features, but I wouldn't say there was anything *broken* about 1.1.
ToddHileHoffer wrote:
On the C++, I've never used it at work and can't imagine having to. It would simply be over kill for business applications.
Sadly, I guess that is true nowadays. I remember when it was the only game in town. I still like it more than C#, a lot of the time. C# has lots of cool stuff in it, but C++ just feels right to me. Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog
Christian Graus wrote:
I've heard some things about 2.0 that make me think it's a step backwards, such as the recommendation to put code in the aspx file, instead of code behind. Is that true ?
Just as in 1.1 you can put code in script in the .aspx page. This might be the way it works in the Express version of VS 2005. In the full-fledged VS I think the default is to use what are essentially code-behinds, but the code-behind is split up using partial classes. So the control declarations get put in one code file, and your code, like event handlers, get put into a different file that you edit, but they get compiled into the same class. There are more things that can be put into ASP code in the .aspx page that used to be put into C# code. For example you can set up a DataGridView control and bind a datasource to it all in ASP code. No C# code necessary. Mark Miller Software Developer
-
Nemanja Trifunovic wrote:
Again, how's that different from VB6? I
Richer framework, making fine granular custom controls (like masked edit boxes/grids etc). You obviously don't use .net that well, we can discuss all day, you have the right to your opinions and I have mine, maybe your right, .net is a waste of time and we should stick with VB6 (not that I have or would ever use it X| ) :zzz: Never send a human to do a machine's job Agent Smith
C#, c++, vb just tools. so it is useless to argue which tool is the best.:laugh:
-
C#, c++, vb just tools. so it is useless to argue which tool is the best.:laugh:
-
norm.net wrote:
Any I've done my 10 year stint with MFC/COM/ATL/Win32 find c# and .net a refreshing change, plus I get to design some really good UIs which would of taken man years in MFC/WTL.
Again, how's that different from VB6? I used it and it was really great for putting some UI together quickly, just like with C# and WinForms. ASP.NET is way more advanced than "classic" ASP, but for desktop form-based applications I see no real advantage of .NET compared to VB6.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
ok, not to poke the coals here, but whats c++ going to do for you that you can't achieve in C#? Honestly, 90% of what you "can't do in C# that you can do in C++" is either because you shouldn't need to anymore, or you don't understand C# fully, or you're scared of losing the "control" you had in a more primitive language. Also, just to clarify, are you basically saying that C# and VB6 are essentially the same (in "usefulness"), or is that statement limited to UI development? I'm interested in this, as I have a constant battle with older developers (sorry, "programmers") who hate anything new-fangled, anything reusable/pre-written/generated, anything where they think they are losing control, anything where they don't have to write their own frikkin machine code everytime they want to populate a textbox! -- modified at 2:55 Wednesday 14th June, 2006
-
Oh Phil remember that gastly project you worked in, just think how simple things could of been with C# and .net. Oh Dephi ATL and RAW COM those where the days :zzz: Never send a human to do a machine's job Agent Smith
-
Yeah, Duffy is working with a good friend of mine, and you guessed it, he's upto his usual tricks again. Anyway, I'm about to launch a great tool for Network Discovery written entirely in .net/c#. Something of this ilk would of taken months in MFC/WTL etc. I find that I rarely need C++ except for low level stuff. A good example where I am using C++ is a ATL wrapper over the CISCO Client VPN API, something which couldn't be done in .net. Horses for course as the saying goes... Falling off the chair maybe, but still I cut the code ;P Never send a human to do a machine's job Agent Smith
-
John Simmons / outlaw programmer wrote:
Maybe Mr. Corinna has found a comfort zone in C# that was unattainable for him in C++.
A lovely one, I might add. :-O š Cheers, Vikram.
I don't know and you don't either. Militant Agnostic
-
If you see her articles and her expertise , you might fart, you can not reach upto her pathak
pathakr wrote:
If you see her articles and her expertise
Believe me, I have and they are amongst the best. :omg: š Cheers, Vikram.
I don't know and you don't either. Militant Agnostic
-
A man after my own heart, .net ,the IDE the extendable debugging features, rich UI, makes .net a sure fire winner when it comes to windows development. C++ guys have to look round at the demand for C++/MFC/Win32, and it's is dropping, if they continue hiding in their ivory towers, one day they will topple. Rocky, can't wait for linq, also generics has been a big help in .net, what are your thoughts on .net. Never send a human to do a machine's job Agent Smith
norm.net wrote:
can't wait for linq, also generics has been a big help in .net, what are your thoughts on .net.
Yeah, I hear that! It really looks like .NET 3.0 is going to be another big jump. At least book publishers must be loving this, there is a new flood of books almost every 6-12 months :) It is hard to keep up with all these changes though. I know there are areas I am missing out on, but I have not needed up to this point. It is amazing how many $75K and above jobs in .NET are out there right now and if a person has lead experince, it closer or over the six digit range. Nice to see again after the big dot boom of 2001! This is another program of C/C++ developers though, as the market for those skills shrink, the number of developers who have those skills remain high. In other words, the pond remains the same size or gets larger but the food is starting to vanish.. There will be C/C++ jobs for years to come, but I think the fun projects will be in .NET and VERY soon, requiring Vista knowledge. Vista will be pulling the masses into many new technologies and the market will be huge! Rocky <>< Latest Post: Visual Studio 2005 Standard, whats missing? Blog: www.RockyMoore.com/TheCoder/[^]
-
Just got a 6-month contract with a client. I'll spend the time at their location coding C++... It's good to get my hands on a C++ compiler again, I've spent way too much time in C#. I know it's not popular to say, but I still think C# makes programmers dumber and more lazy, not to mention that it's way more boring than C++ ;) - Anders My new photo website[^]
Prolly dumber as a C++ programmer. From what little I do in C++ there is no effective difference between the two other than memory allocation. Really it comes down to no longer memorizing tedious API's (Ok winsock is easy, but why can't DirectX be?). The only thing I can see making an programmer actually dumber is blind faith reliance on generated code and trusting the "machine". If you can't code it yourself blindfolded while talking on IM to your grandmother and tech supporting a luser on the phone don't use the tool. "Until the day of his death, no man can be sure of his courage" -- Jean Anouilh
-
Just got a 6-month contract with a client. I'll spend the time at their location coding C++... It's good to get my hands on a C++ compiler again, I've spent way too much time in C#. I know it's not popular to say, but I still think C# makes programmers dumber and more lazy, not to mention that it's way more boring than C++ ;) - Anders My new photo website[^]
-
Marc Clifton wrote:
public bool Foo(string a, string b) { bool ret = false; if (Bar(a) == Fizbin(b)) { ret = true; } return ret; }
I see this all the time. I am constantly fixing things like this all day long. I agree it does not matter what language people are using, a bad developer is always going to be a bad developer.
I too see it all the time! :) It's the kind of thing I used to do myself when I was starting out many years ago.:mad: Kevin
-
Anders Molin wrote:
Just got a 6-month contract with a client.
Congrats! Different client, I take it?
Anders Molin wrote:
but I still think C# makes programmers dumber and more lazy
Well, I would argue that anything above throwing toggle switches on the front panel of a PDP-11 makes programmers dumber and more lazy. But it also separates the wheat from the chaf. For example, C#'s lock statement is great: (from MSDN mag): You should always use exception handling with thread synchronization mechanisms to ensure that locks are released properly. If you use the C# lock statement, the compiler writes the proper code for you automatically. Does this make a programmer dumber? No. In C++, a dumb programmer wouldn't realize that he has to manually release locks in an exception handler. What C# does is make on more productive, and yes, it helps dumb programmers from making dumb mistakes that other people then have to fix. Lazy? No, again, I think C# makes a programmer, especially an experienced programmer, more productive. Dumb programmers will be dumb regardless of the language. Look at this code I recently came across (names of have been changed to protect the dumb):
public bool Foo(string a, string b)
{
bool ret = false;
if (Bar(a) == Fizbin(b))
{
ret = true;
}
return ret;
}Wow. All that to say:
public bool Foo(string a, string b)
{
return Bar(a) == Fizbin(b);
}Isn't that amazing? And that's totally language independent. You wouldn't know whether that was C#, C++, or even C [edit]well, except for that little "public" token, hehehe [/edit] Well anyways, that's my 2c. :) Marc Pensieve Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson -- modified at 8:13 Tuesday 13th June, 2006
Well said, Marc. :) Kevin
-
Sometimes stuff like that can creep into my code if I forget to remove it. The reason is when debugging you need to see the value as you're stepping through a method before it's returned. Of course it's all much more complex stuff than that but same idea. I wonder if the compiler optimizes that stuff out?
Yes, it often depends on the context. Sometimes I'm more explicit than I need to be, just to make my intention clear (both to myself and others). I also tend to avoid too many chained calls, precisely so I can examine intermediate variables/objects. Plus it usually makes it easier to follow. One thing I dislike, and now avoid where I can, is passing boolean literals and nulls, as arguments. I assign them to meaningful identifiers first and then call the method. Otherwise, when looking at a call, you can't figure out the significance of a string of nulls, false's and true's without doing an F1. Kevin
-
I too found it a joy to go back to C++, but part of that might be because I got tired of P/Invoking all the time to get .NET to do what I needed it to do. I'm not sure C# makes programmers dumber, but I have noticed they do tend to get more lazy. For example, while garbage collection is nice, it doesn't give you a blank check to simply allocate objects like crazy. Worse, cleaning up resources isn't automatic (as I said in another post, how many developers really understand IDisposable?) At my last company, I brought up the need to still do profiling in .NET and was told it wasn't an issue. News flash; it is. (Performance and memory issues were becoming such a big concern for me, based on what I was seeing with the prototype, that I was privately considering pushing a bunch of stuff into a C++ native DLL. In hindsight, I should have done that from the beginning.) One thing that drives me crazy with C#/.NET is how often exceptions are used for things that really aren't exceptions (meaning "something really bad happened.") I have code with the most nightmarish try/catch/using statements. Anyone who thinks he has a better idea of what's good for people than people do is a swine. - P.J. O'Rourke
Joe Woodbury wrote:
One thing that drives me crazy with C#/.NET is how often exceptions are used for things that really aren't exceptions (meaning "something really bad happened.") I have code with the most nightmarish try/catch/using statements.
Hi Joe, I'm going to agree with you for a change! :) (Actually, I don't think we were that far apart really.) I recently worked on a C# project (actually applying retrospective unit testing to it - a nightmare!:((). As it happened the developer was a former C++ developer, which just goes to show you cannot assume good practices based on language background). Anyway, he embedded try-catch blocks in virtually every method, with the catch block almost always doing nothing other than rethrowing! He also on occasion swallowed exceptions - including at least one bug I ran into. Also, in most cases he caught a generic, rather than a specific, Exception before rethrowing. Kevin