C# Java Html5 need expert Advices

Started by
5 comments, last by eFoDay 11 years, 9 months ago
Hi what's the best way to prepare for WinRT and the future of windows development ?? Which main language should I start learning today C#, Java, Html5 ?


I want to get back into programming I did a little C++ 12 years ago I remember my concept and some pointers arithmetic etc but here is the thing... I contacted a few authors (like 10) of some of the main programming books right now and some told me .Net is on it's way out because of Metro in general and the raise of mobile with ios and android... they told me xaml is gonna die and be replaced by Html5 and C++ is gonna be king on Metro with Javascript ... I don't know what to think anymore I wanted to learn C# but now am not sure if I shouldn't choose Java instead... most of them think Java future isn't sure because of oracle and C# is superior as a language... they think windows forms is gonna be replaced by wpf and asp.net mvc is the future


What's the best language to learn today ??? Is learning C# a waste of time or a mistake ??



thanks a lot am lost because they contradict each others a lot, it's true the industry is going mobile but don't you guys agree that windows isn't going anywhere in the next 10 years ??
Advertisement
you already have a topic about learning C#. C# will be fine to continue with into windows RT.

WPF is a .net technology, .net supposedly comes preinstalled on windows 8 and still remains the recommended way of writing windows phone apps aswell. Theres also the mono project which is basically a cross platform clone of .net (more complex than that really but think of it as .net for windows, mac, linux, android and iOS, last 2 aren't free). Shows that java doesn't have the cross platform advantage over C# any more.

C++ has always been king, done right its faster than any .net language so really the guys you've contacted are right, has that made me go out and learn C++? no
HTML5 and javascript might make a good way of distributing GUI applications that look nice, but functionality wise a dedicated app will always have it beat. Not to say its a bad tech though, if your app works as HTML5 and JS then thats fine, HTML offers a nice way of drawing "pretty" GUI's I think, they can scale well to different screen resolutions aswell (hence why theres the odd game using HTML overlayed onto the main game for the HUD, easy to make/edit, resolution independant [sometimes] and can still look amazing. Downsides: uses more storage than hardcoding and has lower performance than hardcoding a GUI)
I kind of disagree with the authors about their view on .NET dying. I certainly see their point, though. Given Microsoft's recent history to abandon otherwise good projects and technologies, there is a slight chance of that happening. If this were the case, it would still be supported, and every Windows release after XP has .NET preinstalled (huge advantage over Java).

Java is NOT an option for WinRT. Not yet at least. And probably never, given the dislike of Windows that I've seen in Java developers (as if they feel no greater joy than bashing Microsoft). Java applications don't integrate well, and I doubt you will even be able to install Java on Windows RT.

So far as Javascript + HTML5... They are nice technologies and everything, and Microsoft has done a nice job supporting them. They are in the quick development category. JS is more than capable in terms of performance for classical desktop apps. Dynamic languages are faster, no doubt, but I have my personal preference for static typing.

C++ is a pain in the ass. I will restrain from writing hateful things about it, because it is just a language. Certainly, it is not that bad if you know what you are doing, but it is so easy to bite your ass. I sincerely doubt that most people need the performance, certainly not with Metro apps where even JS is appropriate. If you go down that route, I strongly advice you to get up to date with modern C++, it will make a huge difference. Here is a video of Sutter if that is the case: Writing modern C++ code: how C++ has evolved over the years.

XAML is still the premiere technology for windows phone (although that might change with WP8). It is one of my personal favourites. As a bonus, it integrates beautifully with DirectX, so you can do your UI in XAML and render it on top of your scene. Even if Microsoft do decide to discontinue this technology, it will still be an awesome thing to program in. I would pick XAML over HTML any day. That, of course, is my personal opinion.

And the direct response to your question: C# is the way to go unless you are doing AAA title or some sort of very complex simulation. I would pick XAML for the UI, and would stay away from HTML/Javascript because 1) I believe XAML is very solid piece of technology 2) I have very strong preferences for statically typed languages.
I am running Windows 8 Release Preview and Visual Studio 2012 Express RC.

I'm not sure if it's just because it's the release preview or if its the express version but there are basically four types of apps you can make with it.
All of them are Metro apps.

HTML / JavaScript
XAML / Visual Basic
XAML / Visual C#
XAML / Visual C++

There is no Windows Forms designer. It is replaced with an XAML designer.

Because of this I believe XAML to be the current future of Windows UI development.

If you want the full Microsoft experience then learn XAML and C#.
That is not true. Windows Forms and the classical Win32/COM stuff is still there, it is now simply excluded from the Express editions. You have to have at least professional.

Edit: Yep, to confirm it I just opened the VM with Win8 & VS 12. All the stuff and project templates are there. Getting professional edition is easy peasy: it is free for academic purposes (MSDN AA/Dreamspark) and start-ups. If you can afford to hire and pay more than 5 developers, you should be able to afford the $500.

That is not true. Windows Forms and the classical Win32/COM stuff is still there, it is now simply excluded from the Express editions. You have to have at least professional.

Edit: Yep, to confirm it I just opened the VM with Win8 & VS 12. All the stuff and project templates are there. Getting professional edition is easy peasy: it is free for academic purposes (MSDN AA/Dreamspark) and start-ups. If you can afford to hire and pay more than 5 developers, you should be able to afford the $500.


There will be an express version.

http://blogs.msdn.com/b/visualstudio/archive/2012/06/08/visual-studio-express-2012-for-windows-desktop.aspx

There will be an express version.


It looks like you will be able to develop normal (non-Metro) desktop apps with Visual Studio 2012 Express.

We’ll all be using Metro in 2020?
http://www.ghacks.ne...lysts-think-so/


what's the best way to prepare for WinRT and the future of windows development ?? Which main language should I start learning today C#, Java, Html5 ?


C# can be used to make WinRT or Metro apps and is a good language to start with.
Java is a good learning language but you can't make Metro apps with it.
JavaScript is a good language to know as a secondary language.
C++ is my favourite language and can be used to write WinRT apps.

This topic is closed to new replies.

Advertisement