Not what I meant. I admittedly forgot one of these: The point you made is very valid, It's just one of those things where I see someone mention w3schools and my mind goes "w3fools in 3...2...1" On topic: It's worth noting that C# and Java have a good few syntax similarities. That's to say that learning one would make it easier to learn the other. Same goes for all C-Style languages, such as php, Java, C#, C++, and many, many others.
Pick up and design, yes. Use correctly in combination with code, not that easy. Bindings, many ways to cause a memory leak,...
I've not yet managed to cause a memory leak using bindings. Provided you're not doing anything ridiculously stupid then it should be pretty hard to cause a memory leak. Learning how to properly apply M-V-VM may help to this end.
Well, maybe you are a very good programmer, but there are lots of articles debating about it, for example : http://blogs.msdn.com/b/jgoldb/arch...g-memory-leaks-in-wpf-based-applications.aspx
Yep. It is way too easy to leave a accidental reference through some UI element, which will keep a whole tree of objects in memory, and it won't be garbage collected because they are referenced.
If the programmer is the one writing bad code then problems will arise. This isn't specific to C# though - It's the same with all programming languages. I'm not sure you can use the possibility that the developer may be bad at memory management as an argument against a certain programming language. According to your logic he shouldn't learn a single OO language and should stick with procedural languages that only use the stack (which is an outdated paradigm that no-one uses, just sayin'). That aside, strongly-typed, garbage-collected languages like C# are good to learn because it's harder to make these mistakes. Not to mention the compiler specification is incredibly robust and does an awful lot of compile-time checking. I suggested C# because it's much more likely than a lot of languages to point out any mistakes you're making, not because it's impossible to break or code poorly in.
Just wondering - I didn't realise bit tech had so many people into programming. A programming section of the forum, anyone?
You misunderstood me. What i was trying to say that the language really doesn't matter. C# or Java, the basics are the same. But once you dig deeper, you can hit many issues like the above with not so obvious mistakes (event handler won't be a first thing to come in mind for many programmers when they will try to figure out where you leak the memory). Or that some frameworks are way too complex (no offense, but XAML + styles + data templates + content templates + biindings + event handlers + rest of the WPF stuff is not that easy and straightforward) - but this applies to both C# and Java as well (even such frameworks as Seam have some stupid quirks). Simply put - if OP is in the web, then he should first learn Javascript (a must have) and then check out different frameworks (ASP.NET for C#, Seam/Struts/whatever is the current hype for Java) - both the design and backend side. Then he should decide which one he likes more; or he should choose based on what employment possibilities does he have.
Well, I tried to learn JS, but I couldn't get my head around it (good old w3schools). Its been a while since then, and I've decided to drop web development for the moment and try a true programming language. I know it will be harder than JS, but will probably be more beneficial, and with hopefully better online tutorials.
W3School's JS tutorials are a joke tbf, the only useful parts of that site are the HTML and CSS references (and they're not entirely correct either). I'd use this for JS, Mozilla have the most comprehensive set of JS references on the web. Also, desktop programming won't necessarily be harder - all programming languages work in very similar ways* with similar constructs. Once you pick up one, you'll see the similarities to other and it becomes far easier to pick new ones up. *provided they're in the same paradigm - which for any of the ones you'll want to learn is Object-Oriented. Unless you want to start with functional programming! DISCLAIMER: I am under no liability for any brain injuries that are a direct result from attempting to learn functional programming as your first paradigm.
The problem I had to start with is the Binding to an object, as I didn't find it that intuitive to start with when coming from Swing. It doesn't help the fact that, as a designer's language, if you jump straight into the GUI stuff with WPF, as I was tasked to do, you're learning two languages at once. Now I know more of it, I'm sure I wouldn't have much trouble, but it gets a little frustrating. Personally, I prefer Scala based Swing, as it solves many of the problems I had with Java Swing syntactically and I find it quicker to code than XAML because I know the syntax from console based Scala, and typically it's written in fewer lines of code than both. Out of interest, what's the current state of Mono? EDIT: TheKrumpet, I'd advise against a functional language as first point as well, it'll get confusing. the sole reaosn I got reccommended Scala was to understand the functional side in a more limited form. Would seriously reccommend this to any Java programmer wanting to learn functional stuff. EDIT 2: I would ALSO like a programming sub-section. this seems like it could be popular.
Alive and kicking. Still having issues with the grey areas that are the .NET technologies that aren't ECMA specifications such as ASP.NET, WinForms etc. but they've had no patents filed against them yet. But everything else is up to date. Has all the .NET 4.0 technologies, their C# implementation supports everything that Microsoft's does. But that's about all I know. C# also has Lambda expressions to do more functional stuff. Wouldn't suggest touching them until you're very comfortable with the more standard imperative model. Thirded. Latin ain't got sh*t on Prolog and the like. I encountered my first truly-functional programming language about 5 years after I first learnt to program, and to this day (about 2 years later) I still have nightmares.