• 0

Computer Science and Real World Programming


Question

For those of you who don't know, I'm a sophomore in college studying computer science. I also do a ton of self-teaching and researching on .NET and programming in general in my own free time. Apparently, throughout my entire college career, I'm not going to learn a single thing about Windows programming (let alone anything about .NET or even java). The entire CS department teaches old school C++ and nothing else. I'd like to ask those of you who are professionals in this field just a few things about my future.

For starters, why am I learning console programming and not Windows programming? :blink: As far as I'm concerned, DOS is dead, it's been dead for about 8-10 years, and I see no reason not to immediately delve into event-driven programming and Win32. Sure, a few solutions will always call for the traditional command line app, but generally, everyone who is anyone in the software industry programs for Windows. Just when in the next 5 years do my college advisors expect me to learn Windows programming if not on my own? :huh:

I've read how Windows programming was first done with C in 1985 (or so) and then later in C++ (early 1990s). I just can't help but assuming that with Microsoft's forthcoming efforts that C#/.NET will become the next language of choice for Windows programming. Now I understand the value in learning C++ and I don't have a problem with it. But I don't want to do everything in C++ and then maybe read over a few examples in C# or java - no, I want to learn the fundamentals of programming and use primarily .NET (and once in a while C/C++ for some hardcore low-level programming).

Last semester (my second semester in college) I showed my CS teacher some C# code and explained to her how everything is an object in .NET. She quickly put it off as overly complex and too difficult for beginners. I, however, see the value in object-oriented programming and I've made several projects of my own in my free time that are fully object-oriented. Now, I know C++ (to an extent), but to be honest, I would have never completed these projects (being the size they are) without .NET simply because C++ is too procedural. I'm not saying they couldn't be done, just that I don't have enough experience with C++ to have finished them.

I really feel like putting together some sort of presentation and going to the department chair and asking him just when my school plans on teaching me event-driven programming, object-oriented programming, .NET/java, network programming (TCP/IP), COM/COM+ programming, linux programming, assembly, or any number of other things that would actually be useful to me after I graduate... :hmmm:

Link to comment
Share on other sites

Recommended Posts

  • 0

im not a professional (DUH.) but i do have something say about this kind of thing at my uni.

first of all, im starting my second year (after this semester ill be a junior) and am going through my uni's computer science program as well. At my uni they teach these types of things that you want your uni to teach you. mine teaches C++, some java, assembly, unix (linux), and networking type stuff (not sure about programming part). they also teach VB (not sure if it is with .NET or not), but stuff like that and office types things are CIS (Computer Information Systems). you ay want to try and look for those kinds of classes (CIS) too, if that is what you want.

just thought i'd add to the discussion.

STV

Link to comment
Share on other sites

  • 0

Well i do Comp Sci at my uni in australia and right now we're learning Java, OOP was the first thing that they wanted us to learn then next year we'll be doing procedural stuff with C and then on to C++, and depending if we want to major in software, i wouldn't quite know, all i know is that .NET wouldn't be taught primarily because all our terminals are Unix based.

Link to comment
Share on other sites

  • 0
Sure, a few solutions will always call for the traditional command line app, but generally, everyone who is anyone in the software industry programs for Windows.

you're a bit off here. think about all the embedded electronics that people use. things like cars, dvd players, cash registers, missle guidance systems, navigation systems, etc. all use some type of software and few are windows based. i would go so far as to say that there are more embedded type things than there are windows based pcs out there but i am just taking a stab in the dark on that one.

i do agree with some of the things that you suggest your school should start teaching but i do think that programming should be first learned in a procedural manner. after this other things such as functional programing, object-oriented programming, neural nets, and etc. can be learned. i do believe that it helps to have a base of procedural programming to start from though.

also, don't think that you are the only one that learned most of their programming on their own through college. there are a great many that had to gain their experience the same way. i know that i sure did. if you have the proper self motivation, and it seems that you really do, this can be just as valuable as anything that you learn in the classroom.

as for c/c++ being "hardcore low-level programming"...hardcore maybe but it is definitely not low-level programming.

Link to comment
Share on other sites

  • 0
For starters, why am I learning console programming and not Windows programming? As far as I'm concerned, DOS is dead, it's been dead for about 8-10 years, and I see no reason not to immediately delve into event-driven programming and Win32. Sure, a few solutions will always call for the traditional command line app, but generally, everyone who is anyone in the software industry programs for Windows. Just when in the next 5 years do my college advisors expect me to learn Windows programming if not on my own?
The simplest answer is that traditional programming - essentially the concepts - make you a computer scientist. You see, part of the process of graduating from a GOOD CSC college is to understand that they didn't teach you a language... they taught you the concepts. You may never understand this, but your job and your future will be learning the languages necessary to apply the concepts. Being able to grow professionally on your own, is what seperates the men from the boys. Want to make those big dollars, well you need to have a good standing of the concepts and be able to apply that knowledge and retain it. A college degree won't do that for you... mark my words... that is what seperates the men from the boys.

You are incorrect to assume that only a few solutions call for command line apps. There are many real-world practical solutions that require command line driven applications or boxy DOS environments. Have you looked at your local grocery stores, shopping malls, and everywhere else??? Do you see windows loaded on those machines? No, you don't.. and quite frankly, I doubt you ever will... why? it's simply not practical and certainly overkill. Secondly, do you understand the concepts behind how the 'command line DOS' application that runs every check-out counter works??? Maybe you should... it's more involved than you can imagine. Sure, it may not be as exciting as game development, but honestly... how much of the market does game programming have in a world centered around computers... less than 1%... still think you're game development material? Still think you're gonna be that lucky? I'm not trying to put you down, or smash any dreams (Not like you expressed your interest in games), but most immature and uneducated CSC majors think the only job out there is gaming. But when you get to my level, usually you start to understand the reality of the situation.

I've read how Windows programming was first done with C in 1985 (or so) and then later in C++ (early 1990s). I just can't help but assuming that with Microsoft's forthcoming efforts that C#/.NET will become the next language of choice for Windows programming. Now I understand the value in learning C++ and I don't have a problem with it. But I don't want to do everything in C++ and then maybe read over a few examples in C# or java - no, I want to learn the fundamentals of programming and use primarily .NET (and once in a while C/C++ for some hardcore low-level programming).

No, C# will not be the next language of choice... C# is a RAD based managed language, very simillar to Visual Basic. NOTICE I said, simillar... not the same. They are simillar in the sense that you can Rapidly develop a program within a windows based environment (hence RAD - Rapid Application Development), however C# is much more powerful & a little more micro manageable (hence the derivation from C, C++, & JAVA) than VB. So, why wouldn't C# become the next language of choice. Simple, Developers don't always need RAD or managed code... they instead need complete control down to the lowest level possible. C# cannot provide this and therefore will never overcome C++, assembly, or the other langugages that do provide this.

Obviously you don't understand the value of learning C++. Within C# & VB, creating a window that can resize and repaint itself when the user moves it or manipulates the size is a one-two step process. Actually, it's done for you... so it's a zero step process; however, in C++ you actually write the code... you create that window, the Msg processor, and the Window Processor. You complain that you want to learn Windows based programming, but you don't like C++... I personally don't see how you're goning to learn windows programming.

Last semester (my second semester in college) I showed my CS teacher some C# code and explained to her how everything is an object in .NET. She quickly put it off as overly complex and too difficult for beginners. I, however, see the value in object-oriented programming and I've made several projects of my own in my free time that are fully object-oriented. Now, I know C++ (to an extent), but to be honest, I would have never completed these projects (being the size they are) without .NET simply because C++ is too procedural. I'm not saying they couldn't be done, just that I don't have enough experience with C++ to have finished them.

You may not want to hear this, but your insturctor was correct. Object oriented programming is very complex, and makes an individual write almost twice as much code to create an application that does the same. Obviously, object-oriented programming is the future, already is, but it is useless without the fundamental concepts. Object-oriented programming is very beneficial, and definately worth learning, but not on the fundamental level... the students have plenty of time after college to learn it.

Do not take this the wrong way, but a sophomore in college is barely taking classes that are exclusive to ones peers. You still have stragglers from other majors. So, for you to say that you couldn't have done the required projects with C++ is.... I'm not sure what to say... but that's not good.

Out of all the languages that will offer you the most growth, professionally & personally, you are denying... and for no good reason... Maybe you should re-evaluate what you are doing... I do mean langugage wise.

Link to comment
Share on other sites

  • 0

Dude, having been in the industry for about 6 years now, take heart!

I found that at Uni, you learn how to program. Forget the language/IDE issue, you are really learning about programming.

Then you start work, and what you have learned can be applied to any language. The syntax, context and semmantics change, but the general idea is sthe same.

And also remember this: I have just taken on a new (fresh from Uni) developer. I didn't care what languages he used, I was more interested in his willingness and ability to adopt new languages, problem solving skills, etc.

The fact you use Neowin to let us know you are aware that there are other ways to skin a cat (other than the languages you are learning at uni) suggests you are on the right path. Keep chipper!

Link to comment
Share on other sites

  • 0

I don't understand why people think it's a good idea to 'learn .NET from the ground'. I'm not a huge fan of .NET, granted (even though I think C# is a good language), but tying yourself to one platform (especially if it's closed like .NET) is a very, very bad idea. Look what's happened to Java programmers latley, they tend to do the same as the thousands of new .NET-zombies and never use anything else but Java - which means they are missing out on other areas.

Object oriantation is way over-hyped aswell. If you find it easier, great, but it does not offer the huge time saving boosts that it was meant to. Memory management does that.

I agree 110% with njlouch that it's the concepts you learn, not the syntax. When I started programming I was all worried about how the syntax worked, but soon I realized the syntax is like having a dictionary in a foreign country and trying to converse by looking each word up one by one - it'll get you there eventually, but it's going to be very slow. It's the concepts that count and the way you can arrange problems in your head. I mean we have all done it where we have made a problem way too complex and ended up writing 500 lines of code instead of 50. That's the kind of expereince you have to go through.

If you listen to the 'majors' in software development, most of them say that web apps programming is the way forward, and most of them don't like that. I think that is where we will see the big projects go. ASP.Net is quite nice, but again, closed and propeitery, and you have to run it on IIS.

Microsoft has done extremely well in convincing all the new people that .NET is the way forward, when everyone knows it's not really... Rich Client apps are dying for the most part, and Microsoft doesn't want to know that.

Link to comment
Share on other sites

  • 0

I agree with how learning concepts is more important than learning the language. In my university our CS department makes us learn a "fake" language that actually is a modified version of C++. Everybody hated it and said why are we learning a "fake" langague that nobody else in the real world uses?!

But once I finished the sequence, I found that all those programming books that teach you how to program in specific languages became really easy to understand. All I had to learn is how to "say" it. When the concept is already there, learning a new language becomes trivial.

Link to comment
Share on other sites

  • 0
You are incorrect to assume that only a few solutions call for command line apps. There are many real-world practical solutions that require command line driven applications or boxy DOS environments.

I didn't mean to sound like command line apps are a thing of the past, I only meant to say that I don't want to write them unless I have to.

Obviously you don't understand the value of learning C++. Within C# & VB, creating a window that can resize and repaint itself when the user moves it or manipulates the size is a one-two step process. Actually, it's done for you... so it's a zero step process; however, in C++ you actually write the code... you create that window, the Msg processor, and the Window Processor. You complain that you want to learn Windows based programming, but you don't like C++... I personally don't see how you're goning to learn windows programming.

That's just it, why do I have to create the window myself? What's the value in having a handle to a window? These type of things are what I really don't like about C++, simply because I don't see the benefit in it. Perhaps I will in the next few years, but if I'm never going to be taught Windows programming, when will I learn it?

Link to comment
Share on other sites

  • 0
You may not want to hear this, but your insturctor was correct. Object oriented programming is very complex, and makes an individual write almost twice as much code to create an application that does the same. Obviously, object-oriented programming is the future, already is, but it is useless without the fundamental concepts. Object-oriented programming is very beneficial, and definately worth learning, but not on the fundamental level... the students have plenty of time after college to learn it.

Sure OOP is more complex than procedural programming, and I feel if you think about only a single app, OOP will require more code. But I'm thinking about a whole career of programming; it's easier to start on a project if you have existing objects to use that have been previously coded by yourself or others. Reusable code is what I'm talking about. Yes, a single program may not need to be programmed with an OO language, but if every program was OO, then they could interact with each other much easier...

Link to comment
Share on other sites

  • 0

Some good answers in here, particularly from Heartsofwar... remember that the CS world changes at a dramatic pace. There's simply no way for any college to really prepare you to walk out the door with all the skills you need. College is for learning how to THINK, for learning how to work in a team, write algorithms, learn about HOW things work. You should be building a VERY strong Math basis and you should leave understanding to some extent how VERY high level languages translate all the way down to the 1's and 0's... even if you don't remember the details of this that's fine, but you really need to understand it at some real level.

That said, if you want to be successful, you really need to pay attention, do your assignments, and push to the next levels ON YOUR OWN. Do your assignments on your UNIX/LINUX terminal (heck, it was VAX for us back in the day) but then bring them home and use Visual Studio (any version) or other Compiler to get them running on Windows or Linux, or Mac, or... whatever. Visual stuff uses toolkits which you will learn later unless you want to write games. What's more important is that you can solve real world problems in code. Pretty buttons are secondary.

Link to comment
Share on other sites

  • 0
I don't understand why people think it's a good idea to 'learn .NET from the ground'. I'm not a huge fan of .NET, granted (even though I think C# is a good language), but tying yourself to one platform (especially if it's closed like .NET) is a very, very bad idea. Look what's happened to Java programmers latley, they tend to do the same as the thousands of new .NET-zombies and never use anything else but Java - which means they are missing out on other areas.

Huh? Get used to it. If you go to work for a company, you'll write in one language/technology.

Object oriantation is way over-hyped aswell. If you find it easier, great, but it does not offer the huge time saving boosts that it was meant to. Memory management does that.

Wtf does memory management have to do with lifecycle reduction? OO is there to aid in making simpler, logical models for easier implementation and easier maintenance, to encourage reuse, and reduce programming time.

If you listen to the 'majors' in software development, most of them say that web apps programming is the way forward, and most of them don't like that. I think that is where we will see the big projects go. ASP.Net is quite nice, but again, closed and propeitery, and you have to run it on IIS.

Microsoft has done extremely well in convincing all the new people that .NET is the way forward, when everyone knows it's not really... Rich Client apps are dying for the most part, and Microsoft doesn't want to know that.

Yes, it's a vast conspiracy. :rolleyes: Technologies come and go. Web clients aren't a panacea. They work well for what they're designed to do, and that is make data available to anyone, anywhere. Beyond that, what else can you do? Rich clients aren't going away at all. The user experience is just too important to go completely web.

Back on topic. I second what HeartsOfWar said.

Link to comment
Share on other sites

  • 0

OH man...you are going through the same thing that I went through. My CS department was all about console. Console this console that....BLAH!!! You know what, it helps you learn concepts!

I have not touched a sinlge line of console programming since I have been working in the real world as a programmer. I have been .NET'ing for the last 3 years. I recently went back to graduate school while working. Many professors at my new school are teaching in java. But I have been able to ask them if I could do it in C# instead. All but one of the 5 classes I had programming assignments in allowed me to do it. I just had to justify it. Plus since java and C# are similar in syntax, they would still be able to look at the code and see what I was doing.

I think your profs are partially doing their job. Beginning programmers need to learn the basics first. I had no problem picking up OO programming, and it worked quite well. Some people have a hard time with it. So the profs have to take it easy. However, the value of delving into the windows programming model is very beneficial since that is what you do in real world most often. When I first started working, I have no idea about how to program windows events and threading and services. I just knew about OO design. I just got out of building my own compiler in my last semester so I was a battle hardened console app programmer.

I love .NET ,Web and windows programming, and I definitely see the need to at least do one or two assignments using it. At least you get your feet wet. But remember, you are just a sophomore, and you still have two more years! The curriculm may change some for you, or you could ask them!

Link to comment
Share on other sites

  • 0
That's just it, why do I have to create the window myself? What's the value in having a handle to a window? These type of things are what I really don't like about C++, simply because I don't see the benefit in it. Perhaps I will in the next few years, but if I'm never going to be taught Windows programming, when will I learn it?

You have handles in C#, too. Anyhoo, to really understand what is happening in Windows programming, you may want to understand how to write things in C/C++ first. Then you'll know what you can do when all the drudgery of writing Win apps is removed with a great framework like .NET, and arguably MFC.

Sure OOP is more complex than procedural programming, and I feel if you think about only a single app, OOP will require more code. But I'm thinking about a whole career of programming; it's easier to start on a project if you have existing objects to use that have been previously coded by yourself or others. Reusable code is what I'm talking about. Yes, a single program may not need to be programmed with an OO language, but if every program was OO, then they could interact with each other much easier...

Ok, I disagree with the OOP is more complex. Maybe from a conceptual standpoint, but certainly not from an implementation standpoint. Procedural programming is the core of OO, so understanding how to write effectively procedurally will lend itself to you becoming a better OO programmer. Again, you're just learning the fundamentals of programming, so don't try to put the cart before the horse.

Code reuse is somewhat of a pipe dream as most programmers have the "if it ain't rolled here, it's crap" mentality. OO lends itself to reuse, but I've rarely seen full reuse come of it. It's a good goal, though.

Link to comment
Share on other sites

  • 0

In a week or so, I'm starting my second year in CS. I gotta say, I completely agree with HeartsOfWar. CS is about concepts. One thing that really ****es me off is how people go into CS thinking that it's about programming. Programming is simply a tool. Just like in astronemy, the telescope is a tool. CS is about information processing and NOT programming. How do you suppose .NET came to be. The guys how created it probably didn't give a rats ass about how it was implemented. They created the idea, the syntax and sematics of the language. They thought about creating an object oriented language that was both powerful and easy. They thought about it from the theoretical side.

Another thing you have to remember is that a university is a research institution. They don't care about making a nice UI for their protein folding programs. They'll just use a command line interface because that's all they need.

You say .NET is the future. Go to Pixar and ask for a job and say that you know .NET. They'll laugh at you. They'll ask you how good are your math skills. They'll ask you if you've written any papers on image processing and linear algebra and other non-programming issues. Programming languages are probably the last thing they'll ask you about. Let's see how good your .NET is then.

Link to comment
Share on other sites

  • 0
For those of you who don't know, I'm a sophomore in college studying computer science. I also do a ton of self-teaching and researching on .NET and programming in general in my own free time. Apparently, throughout my entire college career, I'm not going to learn a single thing about Windows programming (let alone anything about .NET or even java). The entire CS department teaches old school C++ and nothing else. I'd like to ask those of you who are professionals in this field just a few things about my future.

I'm reading this thread backwards. :)

For starters, why am I learning console programming and not Windows programming? :blink: As far as I'm concerned, DOS is dead, it's been dead for about 8-10 years, and I see no reason not to immediately delve into event-driven programming and Win32. Sure, a few solutions will always call for the traditional command line app, but generally, everyone who is anyone in the software industry programs for Windows. Just when in the next 5 years do my college advisors expect me to learn Windows programming if not on my own? :huh:

I think this has been answered by HoW, but I'll just reinforce it. Technologies come and go. When I first started school, we were doing COBOL. Wanna talk about "WTF?" That was in 1995. I felt very much like you do. As I changed degree programs a few times, and finally ended up in CS, I realized it's never about the tech, it's about the concepts. Languages are tech. Their popularity waxes and wanes, so they really aren't that important when it comes to fundamentals. Things like Windows programming fall into the tech area, too.

There are core concepts that need to be learned in order to really fulfill the job of a programmer. The greatest of them, in my opinion, is problem solving skills. In programming, there are millions of ways to skin a cat. Finding the most effecient, understandable, and easist to implement is difficult. It gets easier as you get better tech because a lot of the equation has been done for you. Then it becomes a question of how to put the parts together.

With command line programming, it's just learning the basics of problem solving with code. It's not about the tech.

I've read how Windows programming was first done with C in 1985 (or so) and then later in C++ (early 1990s). I just can't help but assuming that with Microsoft's forthcoming efforts that C#/.NET will become the next language of choice for Windows programming. Now I understand the value in learning C++ and I don't have a problem with it. But I don't want to do everything in C++ and then maybe read over a few examples in C# or java - no, I want to learn the fundamentals of programming and use primarily .NET (and once in a while C/C++ for some hardcore low-level programming).

Again, it's not about the tech. If anything, I'd say that not using C++ is more a problem than using it. It would be much harder to illustrate concepts of memory with .NET. What's a reference? It's essentially a pointer. What's a pointer? OK, let's check out C. These languages are just a means to an end, not the end themselves. The instructors are leveraging a tool to help you get the concept of basic computer architecture and basic computer programming and all that goes with it. You don't have a grasp of the big picture yet, and that's OK. At least you're questioning the validity of what you're doing... get used to that. ;)
Last semester (my second semester in college) I showed my CS teacher some C# code and explained to her how everything is an object in .NET. She quickly put it off as overly complex and too difficult for beginners. I, however, see the value in object-oriented programming and I've made several projects of my own in my free time that are fully object-oriented. Now, I know C++ (to an extent), but to be honest, I would have never completed these projects (being the size they are) without .NET simply because C++ is too procedural. I'm not saying they couldn't be done, just that I don't have enough experience with C++ to have finished them.

You've kind of made the point there. You don't have a grasp of the fundamentals enough to do your C# projects in C/C++. Say it with me, "It's not about the tech." :) You're doing things procedurally because programming, aside from functional and declarative, is procedurally based. Even OO.

I really feel like putting together some sort of presentation and going to the department chair and asking him just when my school plans on teaching me event-driven programming, object-oriented programming, .NET/java, network programming (TCP/IP), COM/COM+ programming, linux programming, assembly, or any number of other things that would actually be useful to me after I graduate... :hmmm:

To really understand everything you've just stated (THE TECH!!!), you need to know the fundamentals. I don't know about your college, but usually, you'll get to look at OO before all is said and done. Depending on what you choose to focus in, you'll probably get to discuss some of the other things you've stated above. I don't think it'll be as platform specific as COM/COM+, but you'll probably get some event-driven theory, distributed computing theory, frameworks theory, etc. I'm actually surprised you aren't getting assembly language. It's a second year class here.

Anyhow, don't get discourage. Look at it as a challenge to the way you currently think. Challenge yourself and you'll grow.

</end words of wisdom> ;)

Link to comment
Share on other sites

  • 0
It would be much harder to illustrate concepts of memory with .NET. What's a reference? It's essentially a pointer. What's a pointer? OK, let's check out C. These languages are just a means to an end, not the end themselves. The instructors are leveraging a tool to help you get the concept of basic computer architecture and basic computer programming and all that goes with it. You don't have a grasp of the big picture yet, and that's OK. At least you're questioning the validity of what you're doing... get used to that. ;)

I think I get what you guys are saying, kinda... C++ is used to teach you just how the computer "does things" whereas .NET does it for you and you don't have to think about it. Kind of like trying to teach someone binary without first breaking down the decimal system and knowing exactly what a digit is and how the system works instead of just knowing how to count. Am I getting this?

Edit: Reading the last part about binary again, I realize just how much sense it made :pinch:

Link to comment
Share on other sites

  • 0

I haven?t taken time to read all this thread but the title caught my eye and I read GameGuys First post. I am currently at uni doing Software Engineering. I have finished the first year and in a few weeks I am starting the second year. I got taught Visual Basic and the basics at college and I?m glad that I already knew it because the way the lecturers teach you at uni it gets kind of confusing and also at uni most of the work is left up to you. For most of it you will learn a lot of the stuff yourself in private time. Which is good for me but it doesn?t suit everyone.

In the first year we covered a bit of basic assembly (I could only manage simple programs but we learnt about the stack as well), C programming where we learnt the basics from the ground up (Which most of it I already new) most of it was Arrays, Strings, Structures etc. A big part of the C module was learning about pointers. That was all done in Linux Command Shell. But C is C on any platform i.e. Windows/Linux.

Next year I will be starting Advanced C where they cover more advanced things like Linked List and other data structures as well as setting up command line interfaces amongst other things. I do 2 modules called Object Technologies. Object Technologies 1 and 2, 1 in each semester. That is going to cover Object Orientated Programming. In Object Technologies 1 we cover Java and then In 2 we are most likely to cover C++. As well as that we do some networking which I'm quite looking forward to. We also cover specifying software in formal languages.

Link to comment
Share on other sites

  • 0
I think I get what you guys are saying, kinda... C++ is used to teach you just how the computer "does things" whereas .NET does it for you and you don't have to think about it. Kind of like trying to teach someone binary without first breaking down the decimal system and knowing exactly what a digit is and how the system works instead of just knowing how to count. Am I getting this?

well partially...

C++, like C#, VB, Java, etc are tools programmers use to get things done.

In my mind it's all about solving problems and exercising concepts. Whether the concept/problem is file IO, image processing, etc. .NET provides a method, or collection of tools to get the job done....in some ways easier since things are done for you. But when you understand the concepts behind how things are done...which is what they should be teaching you now, then when you see it in action it should click...AH yeah! Now I see, oor Now I know why I did that back then...

In a way, the programming languages allow you to tell the computer how to do things.

Link to comment
Share on other sites

  • 0

I personally like .NET, however i'd love for my uni to offer it as some optional subject for students to learn to fill up their academic points, however, as a base language for the degree, as aforementioned by others, it's something i wouldn't agree on. I'd like to say that .NET in terms of Windows Development is like something that we're taking for granted, all these excellent features that's in the language and the IDE, makes programming so much easier, and in a sense, i think, for some people, they might really on the libraries too much, and then come time to do your own implementation of things, you wouldn't have that experience or idea as to how to go about it. I was trying to look for FileCopy function in java the other week, however to my amazement there wasn't actually one included inside the API, then this is how i sort of realised that i think i took alot of things that .NET provided for granted.

Link to comment
Share on other sites

  • 0

I havne't read a lot of the replies, so I bet this has already been covered.

I'm a freshman at a uni majoring in CS. We too are doing C++ on UNIX system.

The reason they do this is so you learn the fundamentals. For example, if you were to create the .NET framework, you'd want to know the basics, rather than the "wrapped" feel of .NET.

I too LOVE .NET, and which I could take some more classes in it for the more advanced stuff (self taught myself the basics and intermediate stuff). Unfortuantly, for the degree to remain acredited (sp?) for the entire nation, you need to teach what others teach.

Luckily, I've found a job with the Idaho National Guard doingn programming work for their Homeland Security department. They do .NET applications, because they've realized the RAD it offers, as well as the added security.

If you know C++, picking up on other languages is easy. :p

Link to comment
Share on other sites

  • 0

my class does the same thing and I hate that **** But the thing with about programming is

You need to learn the concepts not the language

and C++ has really visible concepts and you can learn quickly

I myself have never really used C# or java but I wish too

Great post

Link to comment
Share on other sites

  • 0

That's true. I did my assignments mostly in C for like 3 years, then took Master course and did in Java.

Most of my assignments were pretty boring (according to me and all were console applications).

Now I'm a full time programmer using Flash Actionscripts in J2EE environment with over 10,000 lines written (for a new kind of CRM application) and you know what, no C!?! :)

I must admit though, learning the most basic and maybe hardest? language, will keep you thinking and set your logic right. You will learn new languages very fast. What you need to do, is actually LEARN new languages (.NET, VB , etc) yourself, create a portfolio, then apply for a job.

I learned PHP and Flash by myself (not trying to be arrogant), but I manage to create a personal website in http://www.michaelaulia.com and that site actually helped me alot to get me into interviews! I got my current job, because my boss was actually looking at the site and saw some potentials there. (The site is not perfect, but at least it showed that I know about Flash, PHP and XMLs. and that's enough)

So, never regret what you had learned, even though it looks useless! ;)

Link to comment
Share on other sites

  • 0

Gameguy, I do kinda agree with you. Just graduated from post-secondary this past April. Unlike you though, For the first 2 semesters, we learnt basic C++ and then advanced C++. Then in my 3rd semester, it was all about OOP. In my 4th semester, it was all about electives and i took MFC and then ASP.NET (taught with VB.NET code-behind).

http://www.nait.ab.ca/PCalendars/SearchArea/ProgramCNT.asp (If you want to see what the ciriculum was and provide some proof/ideas for your instructs/profs.).

We've talked about stuff in previous programming threads, but since graduating, I've been learning C# mainly (although i read a book on Web Services). I just recently got my first career job, where right now i'm doing data entry and sql queries/administration to learn the database I will be coding with. Once there handheld program is done, I am supposed to write the web service to connect database to handheld, using .NET.

To sum it all up, .NET provides the RAD that is needed in today's market. C++ is taught in college/uni because you need to learn the theory behind computers and C++ is the best mix of low level programming and easiness of development for beginners.

@Gameguy, your comment in your original post on how you couldn't complete a project if C++ was mandatory.. was kinda umm ... disturbing? lol. What did you have to do in it?

Link to comment
Share on other sites

  • 0
@Gameguy, your comment in your original post on how you couldn't complete a project if C++ was mandatory.. was kinda umm ... disturbing? lol. What did you have to do in it?

I just mean that I haven't used C++ enough to be comfortable with it for a larger project. What I've been working on myself with C# is so complicated... It would take me much longer to do in C++, not to mention I don't even know how to make a window in C++ :rolleyes:

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.