|
Luca Leonardo Scorcia wrote:
Coming from a C++/MFC/ASP experience, I love it.
you sold ur soul.
I'll write a suicide note on a hundred dollar bill - Dire Straits
|
|
|
|
|
The nice thing about experience, is that you never forget what you learned in the past.
Before starting a new job, the knowledge of .NET is an extra weapon I can choose to output a better product (better = faster/faster to develop/anything that matters), but of course my past experiences are not forgotten, and these together form a nice portfolio of technologies among which I can choose what better fits my needs.
It's the power of choice
Luca Leonardo Scorcia
http://zip.to/kojak (only in Italian)
|
|
|
|
|
yeah you are absolutly correct... knowledge in different technology makes you very important person in the company..
What I wanted to say that even if i knew 10 different technologies i would like to code in VC++.
May be i am narrow minded but thats what i want to do.
I'll write a suicide note on a hundred dollar bill - Dire Straits
|
|
|
|
|
You are a guy that prefers a Fiat Stylo to any Alfa Romeo.
ah, btw, lousy EURO 2004 performance... KILL your coach!!!
A Portuguese fan...
|
|
|
|
|
I tend to use whatever tool will help me get the job done, with a 10% of experiments here and there to try new approaches. Alfa Romeo can be a nightmare to park in a city as crowded as mine
And, BTW, I am the first one wanting to fire Italy's coach - anyway this does not relate to this poll.
Luca Leonardo Scorcia
http://zip.to/kojak (only in Italian)
|
|
|
|
|
95% .net using C#, with a couple of interfaces to (inhouse) COM objects. Let me tell people who still think .net sucks, get with it, it's the future of programming.
|
|
|
|
|
norm.net wrote:
Let me tell people who still think .net sucks, get with it, it's the future of programming.
Can you honestly say that you never miss CClientDC s that would automatically release themselves when they went out of scope? I assure you that if I'm forced to migrate, I'll miss the good old days when it was easy to manage resources other than memory.
Nathan Holt
|
|
|
|
|
That's what the using keyword is for. Here's how you'd use it to manage the cursor, for example:
using (Cursor.Current = Cursors.WaitCursor)
{
... do some lengthy processing
}
Regards,
Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
|
|
|
|
|
Yep, but you must admit that it is better to just type something like:
CWaitCursor wait;
... lengthy processing
Like I said before, using is a poor substitution for automatic variables, but it is still better to have it than to write all those annoying finally blocks, like in Java.
|
|
|
|
|
Yep, I agree... although I don't consider it a poor substitution. I think the extra verbage adds to the readibility of the code -- a resource is being used for a certain amount of time, to be disposed of later.
Regards,
Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
|
|
|
|
|
Alvaro Mendez wrote:
I think the extra verbage adds to the readibility of the code
Extra verbage is OK with me. The problem is that the burden of automatic cleanup lies on the user of a class. I've seen many cases where programmers are just too lazy to use using . Heck, I even know some .NET programmers who are not sure what using is all about.
As for readability, I have mixed feelings. As you said, extra verbage generally helps, but I am not sure about extra scopes that need to be introduced.
|
|
|
|
|
Nemanja Trifunovic wrote:
I am not sure about extra scopes that need to be introduced.
I know what you're saying but the extra scope serves to ensure that the resource cannot be used after it ends, since it has already been disposed of. Also, I don't know if you realize that using works just like any other scope-introducing statements, such as if , for , and while . The curly braces are only required if more than one statement is inside the using :
using (someResource)
doSomething();
Regards,
Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
|
|
|
|
|
I thought a better example might be ...
using( ThousandsOfExtraClockCycles )<br />
DoSomeThingSlowly;
What's the point of producing applications in no time at all, if they take forever to run ?
|
|
|
|
|
If you're complaining about C# programs running slow... oh puh-lease, buy a faster machine and stop complaining. But if you're so concerned about execution speed, by all means write your programs in Assembly. I hear it's super duper fast.
Regards,
Alvaro
Give a man a fish, he owes you one fish. Teach a man to fish, you give up your monopoly on fisheries.
|
|
|
|
|
I hope u guys all go for .NET and become really dumb programmers. That way, guys like me, that love VC++, assembly, etc, will be very well payed, as no one else knows how to program in REAL programming languages, in situations where performance is critical.
Macromedia FLASH is made with VC++.
SAP Business ONE is made with VC++.
CA software is made with VC++.
....
Do i need to continue??
|
|
|
|
|
What distinguishes REAL programming languages from OTHER programming languages?
|
|
|
|
|
please dont.
I guess it will be interesting to see how many major commercial apps are written in c# after its had 30 frigging years to mature! Macromedia flash was written in c++ when c# didn't exist. Furthermore c# is really a Windows medium which didn't meet the need for flash to ported to other platforms. Different languages for different requirements. Keep your mindless evangelical posturing to ObscureLoons BBS.
Considering C# gets faster with each new version, I predict c++ will get pushed back exclusively to the realm of game development... or just get f*cked off all together (along with Miguel).
[worldspawn]
|
|
|
|
|
So tell us, what language is used for the development of C#?
Nothing developded over the .NET framework will ever be near as fast as something developed in C/C++...
I remember when MS was trying to get programmers to stick with Visual Basic, the promises where not that diferent... but, how many large or small commercial software has been developed using VB?
When Microsoft anounces there releasing a servive pack 2 full of enhencements and bug fixes I know where were going and welcome this envolution... but I will not welcome a new layor of overhead and bugs, nor losing power and control over the hardware.
Miguel Hasse
|
|
|
|
|
Tell us, what language was used for making C++? Tell us, what language was used to write assembly? Hmmm...
I don't think that the lowest-level language is necessarily always the best language for the job. Sometimes we have to sacrifice a little speed (and it is only a little) for numerous other benefits - security, the excellent type system, etc.
|
|
|
|
|
Security? Do you really believe that?
What about the numerous benefits in using C++... I'm not willing to sacrifice those… give me a list of benefits of using C# and .NET and I will give you a list of problems with this framework and advantages of C++ without .NET.
Oh and if you try to reason with arguments like garbage collection then you will make me write a hole article
|
|
|
|
|
|
Not only can C/C++ make use of a garbage collector or not, but it can use diferent collection management schemes!!!
I never said garbage collection was not a worthwhile thing to have, but you should have control of when and where it should be used in your code.
Miguel Hasse
|
|
|
|
|
Miguel Hasse de Oliveira wrote:
Not only can C/C++ make use of a garbage collector or not, but it can use diferent collection management schemes!!!
But ultimately, you have to settle on a single memory management model. If you're really worrying about which one, then you've got bigger design problems....
Miguel Hasse de Oliveira wrote:
I never said garbage collection was not a worthwhile thing to have, but you should have control of when and where it should be used in your code.
Which misses the point of garbage collection. You shouldn't control it, because the chances are it has a better idea of when to do things than you do, 99% of the time. You either adopt garbage collection and let it get on with it (saving you time and development costs), or you do it yourself, and spend 30% longer on your app avoiding memory corruption and memory leaks.
Doing it yourself doesn't even guarantee a better use of memory than garbage collection, because you usually have to put in your own reference counting schemes and smart pointer management code and so forth, and if you're using custom allocators, you have to store all that info too (which is normally punted off to new/malloc/whatever). Then you have write code to avoid memory fragmentation issues too (which we've encountered here in C++ apps, but never C# ones).
Ian Darling
The world is a thing of utter inordinate complexity ... that such complexity can arise ... out of such simplicity ... is the most fabulous extraordinary idea ... once you get some kind of inkling of how that might have happened - it's just wonderful ... the opportunity to spend 70 or 80 years of your life in such a universe is time well spent as far as I am concerned - Douglas Adams
|
|
|
|
|
Miguel Hasse de Oliveira wrote:
but, how many large or small commercial software has been developed using VB?
I'd say a hell of a lot. Lots of internal apps within businesses are written in RAD tools like VB because you can get applications that meet the requirements of the business done really quickly - and any inefficiency trade off that results is usually acceptable. A lot of ASP sites will be written with VB as the scripting language, too.
Given VB programming is an order of magnitude more productive than C++ for your general "grab some data and process it" apps (the sort of thing COBOL was popular for a few decades ago), businesses will (and do) adopt it because it's just plain cheaper to meet your aims!
Code "efficiency" is a terrible metric to use much of the time, because a lot of software has business requirements of some sort, and meeting those quickly is more important than a VB app being a couple of seconds slower than the equivalent C++ one. You might also note that VC++6 and VB6 used the same compiler backends, so speed criticisms may not even apply that much.
I used to be a C++-is-the-best-and-only-tool-to-use guy one time. But not anymore. Ever heard the aphorism "when all you have is a hammer, everything looks like a nail?". C++ is a good hammer, but you need more tools than that.
A good developer will know several tools, and know when it's appropriate to use them. C# is an excellent tool for much general application development because for many things it's easily fast enough, it has less headaches than C++ does, yet it's sufficiently familiar in style that it's easy to pick up. It (like C++) can interop with other components/languages through P-Invoke - and the ability to "break-out" of the language is one thing that helps makes a useful tool. This is why also VB is popular and useful too - you can use C and COM based libraries.
Oh, and a lot of the .NET libraries are written in C#.
Ian Darling
The world is a thing of utter inordinate complexity ... that such complexity can arise ... out of such simplicity ... is the most fabulous extraordinary idea ... once you get some kind of inkling of how that might have happened - it's just wonderful ... the opportunity to spend 70 or 80 years of your life in such a universe is time well spent as far as I am concerned - Douglas Adams
|
|
|
|
|
I would say most RAD implemented solutions are for internal business use! And in most cases this makes total sense...
...but I was referring to boxed off-the-shelf products, mainstream products like Office, Photoshop, CorelDraw, SolidWorks, AutoCAD and millions of others
A developer that uses to many tools will never use the full power of any!
Oh, and have of compared .NET libraries written in C# with ActiveX libraries written with C++?
Miguel Hasse
|
|
|
|