Is .NET too user friendly for new programmers?a question, not an opinion
36 Replies - 8522 Views - Last Post: 11 March 2010 - 01:00 PM
#1
Is .NET too user friendly for new programmers?
Posted 22 February 2010 - 09:28 PM
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.
Replies To: Is .NET too user friendly for new programmers?
#2
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 12:04 PM
#3
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 12:29 PM
This post has been edited by prajayshetty: 23 February 2010 - 12:31 PM
#4
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 01:08 PM
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?
#5
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 02:45 PM
prajayshetty, on 23 February 2010 - 02:29 PM, said:
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).
#6
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 02:56 PM
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
#7
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 05:13 PM

POPULAR
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
#8
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 07:12 PM
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.
#9
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 08:54 PM
#10
Re: Is .NET too user friendly for new programmers?
Posted 23 February 2010 - 09:21 PM

POPULAR
neptunusmaris, on 23 February 2010 - 04:56 PM, said:
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.
baavgai, on 23 February 2010 - 07:13 PM, said:
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.
#11
Re: Is .NET too user friendly for new programmers?
Posted 24 February 2010 - 07:05 AM
Quote
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
#12
Re: Is .NET too user friendly for new programmers?
Posted 24 February 2010 - 11:09 AM
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.
#13
Re: Is .NET too user friendly for new programmers?
Posted 24 February 2010 - 12:05 PM
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?
#14
Re: Is .NET too user friendly for new programmers?
Posted 24 February 2010 - 12:11 PM
#15
Re: Is .NET too user friendly for new programmers?
Posted 24 February 2010 - 12:41 PM
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.

New Topic/Question
Reply



MultiQuote





|