[.net] unmanaged/managed?, C++/C#?, .NET?

Started by
8 comments, last by Washu 19 years, 7 months ago
What should i choose? I know it is a good idea to know as many API/languages's as possible, but i'm a bit unsure if i should practice using C#.NET and C++(STD), C#.NET and C++.NET or just C#.NET. I will first get my degree in CS(i will probarly take that) in almost 10 years(4½ years ordinary school and 5 years CS(MASTER))! So i think it would be a bit stupid to learn a language that i will newer use, for anything but learning it, but i might get some good experiences with a little lower level of programming. So should use C++ and C#.NET or just one of them(wich one)? What about Managed DX, on this forum i got the idea that it will be the future, but what about unmanaged DX will that be the future to? Right now i'm learning unmanaged DX, but will it be better just to learn managed? I know WGF probarly also will be the future, i think WGF is the name for the new graphics API provided in Longhorn. But DX will probarly be used a couple of years more. And what about .NET will that be the future? Should i not use a language which is not .NET? What about .NET on other OS'es/platformes do you think that will be supported (and legal to use) i the future? Know of mono but it aint very good yet. So in short: Should i stick to low(C/C++/unmanaged, i think it would at least be middle, but people call it low level) level programming? Or should i stick with .NET, managed, WGF, C# etc.? Or should i learn both kind of programming, if i should what kind should i work the most on?
Advertisement
I had almost no trouble learning C# when I already knew C++. As to which you should choose, if you want to be able to program for consoles C++ is a better choice. The industry will probably stick with C++ for quite some time as .Net isn't likely to be supported on PS3 or GC next. If you are just programming for PC/XBox and/or are just a hobbyist then you can choose whichever you prefer.

Once you learn to program learning a new language is easy. You may find it helpful to learn many languages, and your CS may require you to use something like Lisp or Java. (very different, I know)
From the sound of things, you're about 15. Learn whatever you please. Learn as many languages as you can/want. The fundamental principles behind programming and programming languages are what matter the most; once you've mastered those (through your first language), you'll realize that learning a new language is merely a matter of connecting the concept to that particular languages expression of that concept, ie syntax.

There is no silver bullet of programming, no single best language. I don't know where so many of you get this obsession with learning "what I will use in the future". Honestly, it makes me question your passion and motivation for programming. Are you just interested in an IT job down the line because they tell you that's where the money is? If you're into software development because you enjoy it, learn as much as you can, and never stop learning.

Class dismissed.
Quote:From the sound of things, you're about 15.

Yes i'm 14.

Quote:
Are you just interested in an IT job down the line because they tell you that's where the money is?

NO, I really like programming the reason i think so much about what i should use is that i wan't to get a job so i can program much more:P The money almost dosen't matter of course as an adult i wouldn't do it for free, i need money to life. But i dpn't care if the salary is pretty low, if i got money for a computer and a small apartment it's enough.

Quote:
Once you learn to program learning a new language is easy. You may find it helpful to learn many languages, and your CS may require you to use something like Lisp or Java. (very different, I know)


Yes, i already looked at that part the use a very strange language, i newer even heard of it, much more rare than Lisp and Java.

I think i will then learn C++ and C#.NET, maybe java later. And some scripting languages. But what about DX, should i also go for both? They are harder than an language to learn.
I doubt it will really matter much. If you're going to school as a CS major, you will end up learning a lot of languages and API's that you will never use again. The longer you stay in college, the more of them you will learn. In a way, the same thing can be said about the whole profession in general. Some languages and API's you will use for a long time, but others only very briefly.

At Georgia Tech they refused to teach most of the programming languages to the CS students. CS majors were taught Pascal in the first two quarters, and never touched it again. Courses were available to teach other languages, but only non-CS majors were allowed to sign up for them. The CS majors were expected to pick up the new languages on their own each quarter, and some professors took great delight in making us use obscure languages to write our class projects in. That was how they weeded out the students who didn't have what it takes to keep up.

I doubt that all colleges take this approach, but Tech is a top-notch technical school that doesn't have top-notch professors in many of its majors. They use tactics like this to make sure their graduates are the brightest and the best. In a way it works better for them if their professors aren't very good because great professors would make the courses too easy for the students they needed to weed out to ensure a good reputation for their graduates. I believe Tech weeds out more than 90% of all students during their freshman year (it did when I was there). ;-)

1. Play your cards right and you can cut that timeline down quite a bit. Think Advanced Placement. Nothing quite like showing up your first day of college as a Junior.

2. Many great authors, speech writers, speakers, and other masters of language are fluent in only one language. Instead of trying to learn a dosen languages and API's, just find a language or two and an api you find you like, and put your real effort into learning how to program well. No doubt you could learn C++, but if you go that route you will likely find yourself fighting pointer hell. Concentrate on learning a language like c# or something else easy to use, and that won't allow you to fall into bad habits quite as much as c++ will, use "Code Complete" as scripture, and have fun. I'm not dogging c++, but you can learn that when the time comes.

I wouldn't worry about learning a language or API based on what will be around 10 years from now. We can't know. Microsoft, Apple, and Sun may all be gone.
Behold the nascent power of Semejant!
Well i think i will learn some more Unmanaged DirectX and i will also start learning C# and Managed DirectX, but i really can't find many books on Managed DirectX, the only one i found that looked pretty good was: "Managed DirectX 9 Kick Start: Graphics and Game Programming", but 432 pages! then it can't cover most of the important topics. Anyne got a good sugestion for a good book about Managed DirectX and C#, maybe also game programming. I have just ordered Professional C#, i hope it is good.
I'd say learn console programming in C, it will introduce you pointers and structured programming.

Then move to C# to learn some OOP and to do some windows programming.
I heard DirectX was dying.
Quote:Original post by Leffe
I heard DirectX was dying.

Don't even start. Please, if you're going to make a comment like this with no proof to back it up, don't post at all.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.

This topic is closed to new replies.

Advertisement