Is .NET too user friendly for new programmers?

a question, not an opinion

  • (3 Pages)
  • +
  • 1
  • 2
  • 3

36 Replies - 8522 Views - Last Post: 11 March 2010 - 01:00 PM

#1 CupcakePirate   User is offline

  • New D.I.C Head

Reputation: 6
  • View blog
  • Posts: 19
  • Joined: 14-February 10

Is .NET too user friendly for new programmers?

Post icon  Posted 22 February 2010 - 09:28 PM

So I've taken the plunge back into programming and decided to re-work my way from the beginning. I've taken courses that taught me C++ and it's use of OOP, some DirectX 8 and 9, NovodeX which became PhysX (and I'm not sure if it's even still around). Anyways, I ultimately ended up a copy/paste programmer. Never learned enough of the fundamentals to write code on my own two legs. C# I've been hearing and reading is a great place to start, but now that I've started going with it I'm beginning to wonder if it's detrimental to learn it if my goal is to ultimately learn C++? I find that .NET is amazingly helpful in how much "boilerplate" code it provides...getting the ball rolling. It's always good to have a helping hand with a'lot of the redundant stuff, but does anybody find it hinders progress when wanting to learn how to write the same program in C++ for instance?

Edit: Should the question arise, the reason I'm choosing to start with C# in the first place is because I've heard that it allows more focus to be placed on learning more about how to program and not just a language. I've definitely got to learn how to engineer a program before I can go off learning a bunch of languages, at least from my previous experience I feel that way.

Is This A Good Question/Topic? 1
  • +

Replies To: Is .NET too user friendly for new programmers?

#2 MentalFloss   User is offline

  • .
  • member icon

Reputation: 619
  • View blog
  • Posts: 1,590
  • Joined: 02-September 09

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 12:04 PM

I think .net is the logical direction programming should make. Every new language should at least attempt to deliver more robust abstractions than the previous generation. This is clearly noted in C# on countless occasions. So, even if it does seem like it's too easy, programming is probably only going to get more library/framework-centric in the future anyway. In fact, I believe that given enough maturity, we will have pattern-driven languages where you don't just specify objects any more, you specify the entire hierarchy of objects to complete a desired pattern. They are far from a panacea but they do provide an incredibly flexible and extensive solution to many things you encounter.
Was This Post Helpful? 3
  • +
  • -

#3 prajayshetty   User is offline

  • D.I.C Addict
  • member icon

Reputation: 31
  • View blog
  • Posts: 920
  • Joined: 27-April 07

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 12:29 PM

ya even i agree .net is too friendly because i guess if u convert a c# code to c++.net it wont be much difficult provided that u know c++.net well because c# and c++ there is no change at all i see almost all features are implemented in the same way the way by which in c++ is implemented more ever the thing that i like of c# is that it is going cross platform thanks to mono project so u can also write your c# code in linux this was one of adventage of java over vb but thanks to c# this is reduced a bit ,C# is also said to be the Microsoft's answer to java i dont know how much this is a rumor but i read this on the net

This post has been edited by prajayshetty: 23 February 2010 - 12:31 PM

Was This Post Helpful? 0
  • +
  • -

#4 KeyboardKowboy   User is offline

  • D.I.C Head
  • member icon

Reputation: 20
  • View blog
  • Posts: 142
  • Joined: 15-December 08

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 01:08 PM

I think if anything, for new programmers, you would want to abstract out as much as possible. Jumping into the world of programming can be a pretty intimidating place, and to be honest, I feel that C++ tends to scare new programmers away more-so than a .NET language like C#.

With C# being managed, the novice programmer doesn't need to wrap their head around garbage collection and object destructors. They can focus and narrow in on the problem solving aspects of programming as well as the tools (data structures, variables, looping, etc.) to help them code a solution to a real world problem. As they learn more and more, they can feel free to dive into the lower level stuff to get an even deeper understanding of where the abstractions came from and why they were implemented to begin with. As MentalFloss stated, I also agree that new languages should do a better job at making the developer that much more productive through abstraction.

@CupcakPirate: Even you stated that you had become a cut and paste programmer when dealing with C++ and DirectX. Doesn't it feel better using .NET and XNA frameworks, which should be enabling you to get more done without needing to possibly know how deep the rabbit hole really goes?
Was This Post Helpful? 0
  • +
  • -

#5 eclipsed4utoo   User is offline

  • Not Your Ordinary Programmer
  • member icon

Reputation: 1536
  • View blog
  • Posts: 5,972
  • Joined: 21-March 08

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 02:45 PM

View Postprajayshetty, on 23 February 2010 - 02:29 PM, said:

ya even i agree .net is too friendly because i guess if u convert a c# code to c++.net it wont be much difficult provided that u know c++.net well because c# and c++ there is no change at all i see almost all features are implemented in the same way the way by which in c++ is implemented more ever the thing that i like of c# is that it is going cross platform thanks to mono project so u can also write your c# code in linux this was one of adventage of java over vb but thanks to c# this is reduced a bit ,C# is also said to be the Microsoft's answer to java i dont know how much this is a rumor but i read this on the net


He believe was referring to normal C++, not C++.Net. So yes, there would be considerable changes need to move a C# application to C++.

And a side note, I believe that is the longest run-on sentence I have ever seen posted.

As for the question at hand, I don't believe it's too easy for early programmers. Is it "easier" to deal with than some other languages? Sure. But I think that's the point. I think .Net was designed to speed development, and to make tedious processes in other languages very easy or almost non-existent in .Net(ie: memory management).
Was This Post Helpful? 1
  • +
  • -

#6 neptunusmaris   User is offline

  • New D.I.C Head

Reputation: -18
  • View blog
  • Posts: 42
  • Joined: 31-July 09

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 02:56 PM

Well from personal experience, I think C# and the whole .NET is a cluster f*ck compared to languages like C, C++, Perl, Python, PHP.

The reason why C# is nice to use when its not cluster f***ing your brain when the Visual Studio is helping you out. I'll be honest, I like the IDE but try using C# .NET without it, its an even bigger cluster f***. See if you use C/C++ or Python without an IDE and use just a plain text editor you can do just fine.

But anyway I'd rather learn with Python or C/C++. Why C/C++? Well once I started learning it in class beyond Python I learned a lot more about computers, memory management.. how program allocates and frees, and how memory leaks can occur, digging deep into whats "really" going on. See with C# and other high level languages they kinda bypass that essential stuff. Why Python? Very quick to get up to speed on the fundamentals of programming because of its simple syntax.

I would pick C# third in line in terms of "learning".

Sometimes it depends on whats "helping" you get the task done ...aka IDE.

Just my thoughts...

This post has been edited by neptunusmaris: 23 February 2010 - 03:00 PM

Was This Post Helpful? -14
  • +
  • -

#7 baavgai   User is offline

  • Dreaming Coder
  • member icon


Reputation: 7507
  • View blog
  • Posts: 15,558
  • Joined: 16-October 07

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 05:13 PM

*
POPULAR

Wait, didn't we want easy languages? Isn't that the point? Makes me think of buzz labels like 4GL or vaporware like 5GL.

And since I'm enjoying a programming flashback, a little more history. Each level of language abstraction has met with concern over being "too" easy. First, there was assembly, and it was good. Next, "high" level languages like FORTRAN and COBOL. Such things were distrusted, programmers weened on such things were too far away from real programming.

Then came procedural approaches, casting previously worshiped paradigms like goto into the pits of hell. Others have followed, succeeding to greater and lesser degrees. Always distrusted by followers of the status quo.

Computer languages have been evolving since punch cards and only one thing is certain; programming ain't easy. You can identify "patterns" and attempt to write "RAD" rules, but in the end it still takes a human to write a good program. As a project's level of complexity rises, all the cute little short cuts available to programmers for "most" cases will fail to be applicable to the case at hand. That's when the work begins.

While .NET makes many things seem very easy, those aren't really the hard things. Syntax sugar, a plethora of helper and utility classes, these things make quick work of trivial tasks. They make us feel we're saving time and effort. Maybe we are. However, those aren't the real problems.

The real problem in writing any production software is controlling complexity. No one has solved that problem. No computer environment can claim victory over it. The only solution to the problem is a competent software developer. Given the proper human resources, the development environment has little real impact on the process. The language is never the development bottle neck. And no languages will magically write software for the unskilled, regardless of the propaganda.

This post has been edited by baavgai: 23 February 2010 - 05:13 PM

Was This Post Helpful? 20
  • +
  • -

#8 Merddin   User is offline

  • New D.I.C Head

Reputation: 12
  • View blog
  • Posts: 37
  • Joined: 19-February 10

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 07:12 PM

Being someone who started programming on a Texas Instrument and progressed to QBasic and now uses Visual Studio a lot, I have to agree with the majority opinion in this thread. I don't believe VS is too easy, nor does it make you a lazy programmer. What it does do is quite often prevent you from having to scour resources to find the name of a method or class when your brain is not processing as fast as your computer is. The boilerplate code additions that the OP mentioned are a fantastic feature for saving time and headaches. And it doesn't take too much effort to work through them to discover what the studio is doing for you.

In regards to VS making it harder to learn non-VS C++, I think that depends on the individual. It would be akin to saying that learning French makes it harder to learn Italian because they are so similar but have distinct differences. I know a lot of programmers that do not like to code in other languages because they have trouble changing syntax. However, in my opinion it is far more important to understand problem solving and algorithmic thinking than to have a deep knowledge of syntax. Syntax can also be looked up, problem solving can only be learned and practiced.

That being said, I would recommend C# as an reintroduction language as it is a straightforward language syntactically. There are a lot of excellent resources and communities supporting the language and plus you can program in XNA which is a fantastic way to learn 2D/3D game programming.

Good luck with your reintroduction, I just recently did the same thing myself. It gets easy with a bit of time.
Was This Post Helpful? 4
  • +
  • -

#9 CupcakePirate   User is offline

  • New D.I.C Head

Reputation: 6
  • View blog
  • Posts: 19
  • Joined: 14-February 10

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 08:54 PM

There are a'lot of great insights here. I'm definitely looking forward to getting back into programming with C#. It's so far an enjoyable language to learn.
Was This Post Helpful? 0
  • +
  • -

#10 SixOfEleven   User is offline

  • Planeswalker
  • member icon

Reputation: 1055
  • View blog
  • Posts: 6,643
  • Joined: 18-October 08

Re: Is .NET too user friendly for new programmers?

Posted 23 February 2010 - 09:21 PM

*
POPULAR

View Postneptunusmaris, on 23 February 2010 - 04:56 PM, said:

But anyway I'd rather learn with Python or C/C++. Why C/C++? Well once I started learning it in class beyond Python I learned a lot more about computers, memory management.. how program allocates and frees, and how memory leaks can occur, digging deep into whats "really" going on. See with C# and other high level languages they kinda bypass that essential stuff. Why Python? Very quick to get up to speed on the fundamentals of programming because of its simple syntax.


Sorry, I voted you down for your post as I feel you were wrong on a lot of things but they are your opinions but may be misleading to a new comer.

As baavgai pointed out and in a way you when you are talking about Python being easy to learn. For a beginner you don't want to force them to learn memory leaks, computer architecture, memory management. Pointers, as an example, in C/C++ can be a complicated topic for a beginner to pick up. The syntax of C++, even when compared to other C-style languages, can be cryptic and hard for a beginner as well. Python is a good language to work on because it is a high level language that as you said, can help you get up to speed on the fundamentals. Python has its drawbacks as well. It isn't a mainstream language, compared to languages like C/C++, Java, C#, VB.NET. You aren't as likely to find it in the work place, compared to the others I just mentioned. Learning C# first, will make learning C/C++ down the road much easier. The syntax is so similar that by the time you are done with C# you will be more than ready to use C++, same is true for Java. Pascal was used as a teaching language for years, even though C was present for a long time, because the syntax was easy to read and for a beginner with structured programming, it was a good place to start.


View Postbaavgai, on 23 February 2010 - 07:13 PM, said:

And since I'm enjoying a programming flashback, a little more history. Each level of language abstraction has met with concern over being "too" easy. First, there was assembly, and it was good. Next, "high" level languages like FORTRAN and COBOL. Such things were distrusted, programmers weened on such things were too far away from real programming.

Then came procedural approaches, casting previously worshiped paradigms like goto into the pits of hell. Others have followed, succeeding to greater and lesser degrees. Always distrusted by followers of the status quo.


This is so true! Programmers seem to have a bit of a narrow frame of mind when it comes to programming. They find a language they like and get tunnel vision. Anything new that comes out is crap in their mind. I would have to admit that when Microsoft started expermimenting with the .NET framework and C#/VB.NET C++/CLI I was already a hard core programmer and said: "Nobody will ever go for this crap!" Here it is, about a decade later, and where are C# and VB.NET now?

I believe C++ has stayed around so long because nobody has written an OOP language that will compile to machine language instead of intermediate code that is interpreted and programmers around the world are "used" to it. As I said above, if there was a language similar to C#, or Java, that didn't compile to an intermediate level language it would be more widely accepted. Just my 2 cents.
Was This Post Helpful? 5
  • +
  • -

#11 neptunusmaris   User is offline

  • New D.I.C Head

Reputation: -18
  • View blog
  • Posts: 42
  • Joined: 31-July 09

Re: Is .NET too user friendly for new programmers?

Posted 24 February 2010 - 07:05 AM

Quote

Sorry, I voted you down for your post as I feel you were wrong on a lot of things but they are your opinions but may be misleading to a new comer.


Wow that bad that I had to get put in the negative? Really?

And I clearly stated "my opinion" ...NOT "that's the way you should go" ...

This post has been edited by neptunusmaris: 24 February 2010 - 07:06 AM

Was This Post Helpful? -2
  • +
  • -

#12 SpeedisaVirus   User is offline

  • Baller

Reputation: 115
  • View blog
  • Posts: 855
  • Joined: 06-October 08

Re: Is .NET too user friendly for new programmers?

Posted 24 February 2010 - 11:09 AM

C# is not too easy for a beginner. As has been said above the abstraction provided by Java and C#(so close that if you recommend one you have to agree with the other) allows the entry programmer to focus on principles. They can learn control structures, recursion, problem solving, OOP principles, etc much easier. Adding memory management, pointers, etc detract from the big picture learning. After they know how to look at a problem and apply it to code they are ready to think about it at lower levels.

Can't write C# in notepad? That's more of a personal problem than a C# problem..Any argument that C# is too easy and C++ should come first might as well go further to say C++ is too easy and assembly should be learned first.
Was This Post Helpful? 1
  • +
  • -

#13 merlinfire   User is offline

  • D.I.C Head

Reputation: 9
  • View blog
  • Posts: 114
  • Joined: 23-February 09

Re: Is .NET too user friendly for new programmers?

Posted 24 February 2010 - 12:05 PM

I have a few thing to say about this.

1. There's no such thing as too easy for a beginner
2. There is such a thing as teaching poor design habits
3. There are approaches that unfortunately do #2 while teaching beginners



An example of easy that I've grown accustomed to is Intellisense. I've learned a lot about .NET just by hitting the period, and looking at the list of methods and properties an object has available to it. Tooltips showing parameters and return type, as well as brief description of the method or property? To quote the Kool-Aid man, "Ohhh YEAH!"
This is an "easy" that actually teaches you to interact with objects. I think that's a good way to do things.

After all, we're trying to learn and be productive, not see how difficult we can make things for ourselves. As long as "easy" does not equal "reduced productivity" or "inelegant design", why not make it easy?
Was This Post Helpful? 2
  • +
  • -

#14 merlinfire   User is offline

  • D.I.C Head

Reputation: 9
  • View blog
  • Posts: 114
  • Joined: 23-February 09

Re: Is .NET too user friendly for new programmers?

Posted 24 February 2010 - 12:11 PM

Edit: Of course, Intellisense is an attribute of the IDE, I should say.
Was This Post Helpful? 0
  • +
  • -

#15 CupcakePirate   User is offline

  • New D.I.C Head

Reputation: 6
  • View blog
  • Posts: 19
  • Joined: 14-February 10

Re: Is .NET too user friendly for new programmers?

Posted 24 February 2010 - 12:41 PM

I've always sort of made the connection that C# and .NET are kind of one and the same. Granted .NET isn't just for C# but for other languages as well, it's always seemed like the two very much go hand-in-hand. It's a little fitting to talk about intellisense with C#, at least from what I've seen of it.

The more I read here, and the more I learn C# the more excited I'm getting and loving programming again. Makes me wish I'd never left in the first place.
Was This Post Helpful? 0
  • +
  • -

  • (3 Pages)
  • +
  • 1
  • 2
  • 3