C#
-
I just can't seem to get motivated to learn it. Every time I get a small project that I think would be good to learn C#, I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. Does anyone else have this problem? What book would you recommend to get into it? I've gone through the articles here, but I think I need more. I dunno, I got used to doing everything the MFC way, now it's like I'm stuck. It's still hard not to have a seperate .h and .cpp :~ ~Nitron.
ññòòïðïðB A
startNitron wrote: I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. I had the exact same problem. You just have to push yourself through it. And besides, you're supposed to use XML for file I/O. ;P Nitron wrote: What book would you recommend to get into it? I wouldn't recommend a book. It's more a question of forcing yourself to do it. After reading a book, you'll still be stuck in "doing it". But, I must say, after having been "doing it" for a couple years now (geez, has it been that long???), I absolutely love C#. There's a few nits, of course. And keep in mind, C# is a language. .NET is a framework. There are many evils in the .NET framework, but there are also many joys. Frankly, I found a lot more joys with .NET than I ever did with MFC. Marc My website
Latest Articles: Object Comparer String Helpers -
;)
-
Inside C# by Tom Archer was the book that hooked me into C#. I suffered from the same kind of problems you seem to be having. C# and .NET requires a slightly different way of thinking. It was actually MyXaml[^] that really got me into C#. It helped me realise the true power and flexiblity of the .NET framework. I was an MFC programmer for going on 10 years, it was hard to change but I've found it to be very worthwhile. Michael CP Blog [^] Development Blog [^]
Me too. I got hooked on exactly the same book. Though I waited for the second edition. Nice one Tom.
"Je pense, donc je mange." - Rene Descartes 1689 - Just before his mother put his tea on the table. Shameless Plug - Distributed Database Transactions in .NET using COM+
-
Me too. I got hooked on exactly the same book. Though I waited for the second edition. Nice one Tom.
"Je pense, donc je mange." - Rene Descartes 1689 - Just before his mother put his tea on the table. Shameless Plug - Distributed Database Transactions in .NET using COM+
Giles wrote: Me too. I got hooked on exactly the same book. Though I waited for the second edition. Nice one Tom. The book was so good, I bought both the first and second edition :-D Michael CP Blog [^] Development Blog [^]
-
Giles wrote: Me too. I got hooked on exactly the same book. Though I waited for the second edition. Nice one Tom. The book was so good, I bought both the first and second edition :-D Michael CP Blog [^] Development Blog [^]
I sneaked a peep in a book shop at the first edition, but knew there was already a second edition on the way, so I waited. I swaer to God, I had it as bed time reading for a week. I would have finished it quicker, but my wife would make me turn the light off. I love the twist at the end with the murder. :-D Good book, and recommened to any C++ programme like me who needed some convincing. Can't wait for the generics and anonymous functions. I'm not one for beta's though. I hate reinstalling machines.
-
I just can't seem to get motivated to learn it. Every time I get a small project that I think would be good to learn C#, I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. Does anyone else have this problem? What book would you recommend to get into it? I've gone through the articles here, but I think I need more. I dunno, I got used to doing everything the MFC way, now it's like I'm stuck. It's still hard not to have a seperate .h and .cpp :~ ~Nitron.
ññòòïðïðB A
startThe total extent of my C# programming is modifing the code in this[^] article so it saves the settings to disk. I just really like C++ and MFC so I have no desire to learn C#. Supposedly the .NET framework is supposed to be easier to access from C++/MFC as of VC2005, so I will wait until it comes out to see what the big deal of the framework is.
"You're obviously a superstar." - Christian Graus about me - 12 Feb '03 "Obviously ??? You're definitely a superstar!!!" - mYkel - 21 Jun '04 "There's not enough blatant self-congratulatory backslapping in the world today..." - HumblePie - 21 Jun '05 Within you lies the power for good - Use it!
-
...purity... Judah Himango wrote: Compared to what? COM? MFC? VB6? Compared to C++/Win32, of course :) In terms of less code and close to the roots of the OS for the kinds of apps I like to write - small utility apps with some GUI, but not tons. Once .net isn't just another layer, i might change my mind. But since NT, I haven't really seen any layers rewritten or removed - just glommed on... Well, I -have- seen improvement. All I'm sayin' is before MS takes away win32, they better give me a good low level API to the OS. Well, I -hope- they will... Pray?
Ok, that's an argument I've heard before. But why do you need to have an API close to the OS? Doesn't that tie you to a particular OS and make it more likely that you'll royally corrupt OS dealings, e.g. the memory of other processes? And how "low" is low, kernel calls? Or calls into a library which relies on the kernel? I always find it interesting that certain hardliners :-) have this need to be low-level. Reminds me of the "C++ is too slow & too abstracted! I'm going back to C/Asm!" bunk that was prevalent for sometime in the 90s. Oh well. As far as .NET being "another layer", that's partially true; it really depends on what you're doing. .NET Windows Forms (System.Windows.Forms) apps are a layer on Win32...but other APIs like System.Xml, or a vast number of web APIs relied on by ASP.NET are managed. This article[^] has some good info regarding WinFX, the "all-managed" principle API of Windows Longhorn. Like Win32, WinFX will have the ability to make system calls directly, bypassing the Win32 middleman. In actuality, new services specific to Longhorn will be available only through WinFX, at least initially, so I've heard.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
-
I sneaked a peep in a book shop at the first edition, but knew there was already a second edition on the way, so I waited. I swaer to God, I had it as bed time reading for a week. I would have finished it quicker, but my wife would make me turn the light off. I love the twist at the end with the murder. :-D Good book, and recommened to any C++ programme like me who needed some convincing. Can't wait for the generics and anonymous functions. I'm not one for beta's though. I hate reinstalling machines.
Giles wrote: Good book, and recommened to any C++ programme like me who needed some convincing. Can't wait for the generics and anonymous functions. I'm not one for beta's though. I hate reinstalling machines. It was certainly the book that opened the door for me to move from MFC/C++ to C#. It wasn't until Marc's original MyXaml articles that I went through that door. I've recently installed the VS2005 beta and all the new features certainly impress me. Michael CP Blog [^] Development Blog [^]
-
Ok, that's an argument I've heard before. But why do you need to have an API close to the OS? Doesn't that tie you to a particular OS and make it more likely that you'll royally corrupt OS dealings, e.g. the memory of other processes? And how "low" is low, kernel calls? Or calls into a library which relies on the kernel? I always find it interesting that certain hardliners :-) have this need to be low-level. Reminds me of the "C++ is too slow & too abstracted! I'm going back to C/Asm!" bunk that was prevalent for sometime in the 90s. Oh well. As far as .NET being "another layer", that's partially true; it really depends on what you're doing. .NET Windows Forms (System.Windows.Forms) apps are a layer on Win32...but other APIs like System.Xml, or a vast number of web APIs relied on by ASP.NET are managed. This article[^] has some good info regarding WinFX, the "all-managed" principle API of Windows Longhorn. Like Win32, WinFX will have the ability to make system calls directly, bypassing the Win32 middleman. In actuality, new services specific to Longhorn will be available only through WinFX, at least initially, so I've heard.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
Oh come on... You really don't have that small voice in your head telling you "return to your commodore 64 and 6502 assembly"...? That's only meeee??? Sure, it's much easier to blast out another crappy old web app. But when I wrote my first text editor for my c64 in 3K of 6502 asm, I got a heck of a lot better "buzz"...:cool: I'm not gonna go try to buy a c64 off ebay or anything, but there will always be a small part of me that neeeeds to feel the LEDs somewhere near. And I'm not gonna justify it :) ...Steve
-
I just can't seem to get motivated to learn it. Every time I get a small project that I think would be good to learn C#, I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. Does anyone else have this problem? What book would you recommend to get into it? I've gone through the articles here, but I think I need more. I dunno, I got used to doing everything the MFC way, now it's like I'm stuck. It's still hard not to have a seperate .h and .cpp :~ ~Nitron.
ññòòïðïðB A
startInside C# Second Edition by Tom Archer, MVP. Christian Graus - Microsoft MVP - C++
-
Ok, that's an argument I've heard before. But why do you need to have an API close to the OS? Doesn't that tie you to a particular OS and make it more likely that you'll royally corrupt OS dealings, e.g. the memory of other processes? And how "low" is low, kernel calls? Or calls into a library which relies on the kernel? I always find it interesting that certain hardliners :-) have this need to be low-level. Reminds me of the "C++ is too slow & too abstracted! I'm going back to C/Asm!" bunk that was prevalent for sometime in the 90s. Oh well. As far as .NET being "another layer", that's partially true; it really depends on what you're doing. .NET Windows Forms (System.Windows.Forms) apps are a layer on Win32...but other APIs like System.Xml, or a vast number of web APIs relied on by ASP.NET are managed. This article[^] has some good info regarding WinFX, the "all-managed" principle API of Windows Longhorn. Like Win32, WinFX will have the ability to make system calls directly, bypassing the Win32 middleman. In actuality, new services specific to Longhorn will be available only through WinFX, at least initially, so I've heard.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
Why because we already have a interpreted idiot VM type system it is called VB and that is completely in a different space reserved for the remedial-reading class of programmers. If they can't make it just a layer above the OS then it is not suitable as a proper fundamental programming language - it is a chicken attempt to control bugs by creating a mammoth system of checks that a basic language like C/C++ is supposed to be.
-
Why because we already have a interpreted idiot VM type system it is called VB and that is completely in a different space reserved for the remedial-reading class of programmers. If they can't make it just a layer above the OS then it is not suitable as a proper fundamental programming language - it is a chicken attempt to control bugs by creating a mammoth system of checks that a basic language like C/C++ is supposed to be.
JWood wrote: it is a chicken attempt to control bugs by creating a mammoth system of checks that a basic language like C/C++ is supposed to be. What? C/C++ is a basic language? Control bugs by a system of checks, which C++ is supposed to be? :doh:
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
-
I just can't seem to get motivated to learn it. Every time I get a small project that I think would be good to learn C#, I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. Does anyone else have this problem? What book would you recommend to get into it? I've gone through the articles here, but I think I need more. I dunno, I got used to doing everything the MFC way, now it's like I'm stuck. It's still hard not to have a seperate .h and .cpp :~ ~Nitron.
ññòòïðïðB A
startNitron wrote: I just can't seem to get motivated to learn it. Ok and for what your focus is right now, it may not be the right time. I will second (nth?) Archer's book. I believe there would have been less of a learning curve if I had done more with namespaces. Just pick a demo app and practice if you want to? How about a monitoring program for your wifes weather station, if it has an api? We may need to have a West Fort Worth CP lunch again. :) I do not mind getting old. It beats all the other options that I can think of.
-
Nitron wrote: I just can't seem to get motivated to learn it. Ok and for what your focus is right now, it may not be the right time. I will second (nth?) Archer's book. I believe there would have been less of a learning curve if I had done more with namespaces. Just pick a demo app and practice if you want to? How about a monitoring program for your wifes weather station, if it has an api? We may need to have a West Fort Worth CP lunch again. :) I do not mind getting old. It beats all the other options that I can think of.
Michael A. Barnhart wrote: Ok and for what your focus is right now, it may not be the right time. that's true :| Michael A. Barnhart wrote: We may need to have a West Fort Worth CP lunch again. sounds good to me!! soda springs again? how about thursday (um, guess that's tomorrow ;P ). actually, since it's one of _those_ friday's we could do it then too... lemme know. ~Nitron.
ññòòïðïðB A
start -
Steve Hazel wrote: .net just seems like a step down as far as "purity"... Compared to what? COM? MFC? VB6? Man, .NET blows all those away as far as purity goes: .NET is so consistent across all its APIs -- whether that be web services, web apps, client apps, distributed apps, Windows services -- the "pure", consistent, virgin feeling of .NET is what initially drew me to it. I was sick of all the bizarre twists and turns of Win32, MFC, and COM: different threading models, programming styles, memory managements, naming conventions, and API designs. When coming from all that, .NET was a total breath of fresh air to and really puts the former frameworks/APIs to shame in my mind. It is really a unification of many different application programming concepts, so that you can keep your code consistent, rather than having to deal with multiple frameworks with different programming styles. I think one of the reasons for this is the FxCop software that gets run on the framework, checking for design inconsistencies, propery naming conventions, and so on. It really gives .NET a streamlined, consistent feel that is far more "pure" than Microsoft's previous application framework attempts. Just my humble opinion. :)
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
C and C++ are programming languages. You write the source code, compile it and get an executable you can ship anywhere on the same OS, without the need to modify the operating system of the "victim" (OCX, VBX, ActiveX, .NET, Java, you name it). Java and .NET are not just programming languages, you need to install the runtime on the target machine first. It is true that once you try to write larger applications you need third party libraries and DLLs, and if you want COM you have to register stuff, and so on. But at the very base, a C/C++ application doesn't need anything else. You can write a full OS in C, but not even a stand alone "Hello World" app in .NET or Java Of course .NET is consistent: it is still brand new and it builds on all the experience gained using those 'twisted' things you mentioned, it wouldn't have been invented otherwise (but give it time :-) ) And there is another thing: you can do almost anything in this world using a penknife. It is not worth it, but it is possible. But if you want to build the perfect, complete Swiss Army knife you end up with a monster. That's the way .NET seems to be going. But for the time being it is a definite step ahead and the best we can do (is it obvious that I'm **not** a Java fan ?). So you cannot compare "purity" and "consistency", it's like comparing "colour" with "weight". You are right, anguage purity is not usefull anymore. Not with .NET being free, even pre-installed in the future, and with pretty much everybody having access to broadband to download it (or Java, for that matter). And the way everybody used to accept GPFs not so long ago Bloatware is now a fact of life. OGR
-
I just can't seem to get motivated to learn it. Every time I get a small project that I think would be good to learn C#, I get frustrated because I don't even know how to read/write files and figure I could just do it faster in C++ anyway. Does anyone else have this problem? What book would you recommend to get into it? I've gone through the articles here, but I think I need more. I dunno, I got used to doing everything the MFC way, now it's like I'm stuck. It's still hard not to have a seperate .h and .cpp :~ ~Nitron.
ññòòïðïðB A
startNitron wrote: Does anyone else have this problem? Not me. I'm using C# as a scripting tool for write-once-and-forget-it applications. For anything that may last, C++ is my first choice.
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
C and C++ are programming languages. You write the source code, compile it and get an executable you can ship anywhere on the same OS, without the need to modify the operating system of the "victim" (OCX, VBX, ActiveX, .NET, Java, you name it). Java and .NET are not just programming languages, you need to install the runtime on the target machine first. It is true that once you try to write larger applications you need third party libraries and DLLs, and if you want COM you have to register stuff, and so on. But at the very base, a C/C++ application doesn't need anything else. You can write a full OS in C, but not even a stand alone "Hello World" app in .NET or Java Of course .NET is consistent: it is still brand new and it builds on all the experience gained using those 'twisted' things you mentioned, it wouldn't have been invented otherwise (but give it time :-) ) And there is another thing: you can do almost anything in this world using a penknife. It is not worth it, but it is possible. But if you want to build the perfect, complete Swiss Army knife you end up with a monster. That's the way .NET seems to be going. But for the time being it is a definite step ahead and the best we can do (is it obvious that I'm **not** a Java fan ?). So you cannot compare "purity" and "consistency", it's like comparing "colour" with "weight". You are right, anguage purity is not usefull anymore. Not with .NET being free, even pre-installed in the future, and with pretty much everybody having access to broadband to download it (or Java, for that matter). And the way everybody used to accept GPFs not so long ago Bloatware is now a fact of life. OGR
ogrig wrote: It is true that once you try to write larger applications you need third party libraries and DLLs, and if you want COM you have to register stuff, and so on. But at the very base, a C/C++ application doesn't need anything else. How about the C runtime library, hmm? It's a dependency just as the framework is, only the CRT is installed on the system by default. And like you say, any 'real' application is going to have further dependencies requiring a specific version of the MFC runtime, COM registrations, and so on. Furthermore, nearly every C/C++ project I grab off of sourceforge or some other source code repository site doesn't compile out of the box. Know why? Dependencies! Requiring certain environment setups (cygwin, for instance) or have version-specific dependencies that require me to modify my system with specific versions of different frameworks! In that sense, you're argument that C & C++ have few dependencies doesn't work; in fact, it only helps prove my point: with .NET I can have a single dependency, the framework itself. The same cannot be said for real C/C++ apps. Also, your insinuation that anything written in Java or .NET is bloatware is flamebait. I hope that's not what you meant, because that'd be an over-reaching blanket statement, especially when considering virtually every piece of bloatware I've ever run was written in...C/C++.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
-
JWood wrote: it is a chicken attempt to control bugs by creating a mammoth system of checks that a basic language like C/C++ is supposed to be. What? C/C++ is a basic language? Control bugs by a system of checks, which C++ is supposed to be? :doh:
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango
-
C/C++ is supposed to be a fundamental language - making it check itself millions of unnecessary times is the chicken way.
:laugh:
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Homosexuality in Christianity Judah Himango