View Full Version : C# is very cool
Intel17
08-25-05, 07:43 AM
I picked up a book on C# yesterday just out of curiosity to learn a new programming language, and after a day of hardcore reading (literally glued to the screen with the book), I've found that it's an awesome language to play around with, and prototype applications (plus, since it's 100% OOP it'll sharpen your OOP skills in C++, if you use it). Also, you can do some stuff with multithreading etc., very cool. I suspect I'll spend the whole day today learning some more!
Anyone interested in learning a powerful programming language, and doesn't mind being tied to the .NET platform, then give C# a go.
Zelda_fan
08-25-05, 08:20 AM
meh
I like C++. Powerful, fast, and relativly easy to use provided you know what you are doing.
I am loving C++/CLI, it has the full feature set of C#, with full ansi C++, mixing managed and unmanaged code in the same file and same function. For apps, the .Net framework 2 is great compared to the poor MFC and crusty Win32. For in game, C++ still rules. (Note that the difference between C# and the CLI part of C++/CLI is little more than a syntax conversion. I actually have a C# reference book.)
|MaguS|
08-25-05, 08:34 AM
Im knowleged in C# but use C++ on a daily basis between school and Work.
If you are wondering why still use C++ when there is C# and Java, watch this excellent keynote by Herb Sutter:
http://msdn.microsoft.com/visualc/using/multimedia/oopsla/default.aspx
C# (aka Microsoft's Java ;) ) is a great language. I've been developing with it for a few years now. Why is being tied to the .NET platform a bad thing? Java is tied to the JVM, other languages are tied to their requisite runtime libraries. You can use C++ to develop .NET apps as well.
C# isn't to be compared in an apples-to-apples manner with C++. They're two different animals (having to manage memory pointers, etc with C++ is one arguable downside, slow/tedious for RAD and prototyping as well). A lot of programming gurus would argue that C++ is a horrible language. To each his own. I'm interested in the growing trend/movement towards declarative programming languages. T-SQL and the like are obvious longtime examples but newcomers like XAML will continue to gain momentum. Developing that way is a paradigm shift and it can be argued all day long as well but it is interesting.
/me pouts
"Watcha talking about Willis?"
Another thing to look into if you haven't already regarding "being tied to the .NET Framework" is the Mono Project (http://www.mono-project.com/Mono:About)...the Linux crowd is not left out. :)
For the IDE, it's hard to beat Visual Studio (especially VS 2005 which is in beta 2 now...it is VERY nice). Heck, you can use Notepad exculsively if you like (except for Web Service development). There are also a number of third party IDEs for .NET. VS 2005, combined with Team Server (and all that it encompasses) is going to make for a very robust development environment for everyone involved for the first time, not just for the programming piece of the overall puzzle.
There are also some great open source tools like nAnt, nUnit, etc for .NET development. It seems to me that, with .NET, Microsoft is starting to really embrace open source in ways it has not before.
I frequent a number of developer blogs but Scott Hanselman's (http://www.hanselman.com/blog/) is one of my favorites regarding all things .NET related.
Zelda_fan
08-25-05, 09:11 AM
imho .net is slow, bloated, and insecure. I haven't programmed with it in a while so they may have fixed that, but as far as app programming goes, I like useing MFC.
The thing is, the speed of C++ just *can't* be beat by anyhting other than assembly (and it would be rediculous to write an app in that). Also, the absolute control it gives you over memory management provides an unlimited amount of flexibility. It harder than Visual Basic, but it's so much faster (I've seen it be 100x faster depending on what your developing) and cleaner to do things in C++.
Why are we comparing C++ (a lower level language) to VB (a higher level language)? Apples and oranges. It goes without saying that C++ is far less verbose than a language like VB but C# is just about as terse and clean. Nobody can aruge that C++ is not fast. How is .NET slow, bloated and insecure? I supposed if you write code that way, then yeah, it could be. :) All of this is kind of OT though anyway.
Zelda_fan
08-25-05, 11:06 AM
.NET is tightly integrated with Window's network functionality. Becasue of this, .NET sets up a "stealth" username that it uses to execute all .NET function calls. Don't believe me? Make sure .NET version 1.1 framework is installed and check your usernames. You will find a user called ASPNET. If that username isn't password protected (and it rarely is) then a hacker can easily gain access to your computer. That's why I said it's insecure. When I used to work IT, we actually caught a hacker red handed useing the ASPNET account to screw with the servers.
And yeah it is bloated and slow. Ever notice that ATI's .net drivers (catalyst control center) use about 10x more memory than regular drivers? That is again becasue .net build in a lot of network functionality which is great if you are writing a network program, but is just overhead waste if you aren't. In all honesty though, PC's these days are more than fast enough of handeling .net's bloat, but putting bloat in a program just isn't my style. I write stuff clean cut, stable, and secure - thus I don't use .net.
.NET is tightly integrated with Window's network functionality. Becasue of this, .NET sets up a "stealth" username that it uses to execute all .NET function calls. Don't believe me? Make sure .NET version 1.1 framework is installed and check your usernames. You will find a user called ASPNET. If that username isn't password protected (and it rarely is) then a hacker can easily gain access to your computer. That's why I said it's insecure. When I used to work IT, we actually caught a hacker red handed useing the ASPNET account to screw with the servers.
And yeah it is bloated and slow. Ever notice that ATI's .net drivers (catalyst control center) use about 10x more memory than regular drivers? That is again becasue .net build in a lot of network functionality which is great if you are writing a network program, but is just overhead waste if you aren't. In all honesty though, PC's these days are more than fast enough of handeling .net's bloat, but putting bloat in a program just isn't my style. I write stuff clean cut, stable, and secure - thus I don't use .net.Sure I believe you. I'm very familiar with the ASPNET account ("stealth"? it's no secret) but that's only involved with ASP.NET applications. You have full control over what its permissions are anyway which usually just require temp directories. If people don't know what they're doing then you might have the case you experienced. Impersonation is the way to go anyway.
I'm not sure how ATI wrote their drivers but it's possible that they're using more namespaces than are necessary. Sure .NET has a lot of built in network functionality but you're not forced to implement it. For any slow, bloated application written in .NET I'm confident that you could find 10 equivalent applications that run silky smooth and fast.
Again though, with projects like Mono it's not accurate to say that it is "tightly integrated with Windows network functionality".
Butter Bandit
08-25-05, 06:03 PM
Low Level Languages for the win.
superklye
08-25-05, 06:48 PM
Yeah, C# is really cool. I played around with it a bit a few years ago. It's VERY similar to Java, which made it even pick up since the Computer Science dept. at Marquette is orgasmic about Java.
Bad_Boy
08-25-05, 06:57 PM
im actually taking a intro to c++ class this year...and i gotta admit, i feel out of place. everybody seems to know what there doing (most likely from programming on their own time, because everyone in the class is a freshman)...and the only **** i can code is html...if even that.
maybe ill get the hang of it or somthing. :/
im actually taking a intro to c++ class this year...and i gotta admit, i feel out of place. everybody seems to know what there doing (most likely from programming on their own time, because everyone in the class is a freshman)...and the only **** i can code is html...if even that.
maybe ill get the hang of it or somthing. :/
Don't worry, you'll be able to get into it Bad_Boy. Make sure you write plenty of code for experimentation and fun, not just read about it. That's the way toward a deep understanding and appreciation of the language.
I've heard good things about C#, but I prefer Java...
:)
Intel17
08-26-05, 06:47 PM
im actually taking a intro to c++ class this year...and i gotta admit, i feel out of place. everybody seems to know what there doing (most likely from programming on their own time, because everyone in the class is a freshman)...and the only **** i can code is html...if even that.
maybe ill get the hang of it or somthing. :/
Don't worry, you've just got to work hard. The reason I'm getting proficient is because all I do is think about code, and code all day, with little regard to anything else (of course my social life has taken quite a toll...if it ever existed :afro: ). But anyway, getting good at programming (whatever language you learn) is about dedication, tenacity, and a decent degree of aptitude.
superklye
08-26-05, 08:07 PM
I've heard good things about C#, but I prefer Java...
:)
Bah! Back! Go back into the hell from whence thee came!
I despise Java. I hate everything about it and I hate it even more now with the newest JDK because it ALWAYS messed up my desktop when I had Azureus and tried to watch a video while Az was open. I can't even describe what it would do to my monitor, but I hate it.
DIE JAVA!
Bah! Back! Go back into the hell from whence thee came!
I despise Java. I hate everything about it and I hate it even more now with the newest JDK because it ALWAYS messed up my desktop when I had Azureus and tried to watch a video while Az was open. I can't even describe what it would do to my monitor, but I hate it.
DIE JAVA!
yikes! :p
(java is your friend... :) )
AlphaWolf_HK
08-27-05, 06:00 PM
C# (aka Microsoft's Java ;) ) is a great language. I've been developing with it for a few years now. Why is being tied to the .NET platform a bad thing? Java is tied to the JVM, other languages are tied to their requisite runtime libraries. You can use C++ to develop .NET apps as well.
Well, JVM is available for pretty much...anything... .NET on the other hand is only available for microsoft platforms. So say for example you wrote a small game in c#, you aren't going to run it on any cell phones that don't use win CE without a major port to another language. And any cell phone that does have microsoft software on it is expensive as hell, not to mention also having a limited selection.
AFAIK one of the main points of .NET (aside from automatic garbage collection) is portability of code, but I haven't yet really seen that. In fact it looks more like a step backwards in that respect.
Better yet, C compilers are really available for even more things that you otherwise wouldn't even think about. E.g. game consoles, tivos, embedded home/consumer level routers, etc. At least under linux anyways, which I would be hard pressed to find a device that the linux kernel couldn't be ported to.
CaptNKILL
08-27-05, 07:17 PM
So what do you guys use programming languages for on a daily basis? Ive never quite understood that...
Brimstone7
08-27-05, 07:51 PM
Uh professional programmers would need to use programming languages on a daily basis or else they'd soon be out of work!
So what do you guys use programming languages for on a daily basis? Ive never quite understood that...
That is a reasonable question. People answering would be Students, Hobbyists and Professional programmers. People don't use these languages for little utility scripts like batch files, though some of the high level languages with GUI designers and simple APIs are almost usable for such purposes.
For a programmer, coding is like playing with lego, just with an infinite number of pieces. You get to build interesting software. Many people however, find the process boring or hard.
AlphaWolf_HK
08-27-05, 10:39 PM
I am by no means a seasoned programmer, though I have screwed around with some C code on more than one occasion. (and recently sold a software license for a few TCL/SH scripts I have written :D never intended on making money on it, but I did anyways)
I don't think there really is any good or bad programming language. Each has its own application where it is the most efficient to use.
vBulletin® v3.7.1, Copyright ©2000-2010, Jelsoft Enterprises Ltd.