Getting started with Windows programming

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

mosco

Senior member
Sep 24, 2002
940
1
76
How many corporations are developing Windows based apps these days? I would think the vast majority of in-house apps today are browser based. Along with online browser apps, that's essentially what I've been doing for the past 15 years, and it's gotten old.

I'm a little more interested in developing shrink-wrapped applications. Perhaps some shareware, perhaps get involved with some open source projects.

In the first post you mention knowing C and Perl, and in both you mention doing web development for past 15 years? What kind of web development have you been doing? I hope it doesn't involve Perl or C.

I would get into Ruby, JS (and things like Node.js, Backbone) before I got into Windows programming.
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
Why do you dislike XAML? Laying out UI with XML makes much more sense to me than doing it in code. I wish there was something like XAML for Java.

Long story short.

Code is object oriented. XAML is not. I like to inherit UI's and use polymorphism.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
Long story short.

Code is object oriented. XAML is not. I like to inherit UI's and use polymorphism.

Inheritance works fine in the classification hierarchy that represents the "primitive" UI components. But when it comes to assembling those primitives into domain-specific interfaces I think the "has-a" relationship is more appropriate. I can envision some pretty context-specific uses of polymorphism in complex UIs, but not enough, or of enough benefit, to forgo the advantages of a declarative markup for UI element composition.

That said, I haven't done WPF stuff in a year or two now, but iirc there are some ways you can create "is-a" relationships between controls that have markup.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Orly? Don't you need Apple stuff to do ObjC?

Yes, really. And no.

I think that some of you have a misunderstanding of what these statistics are. These are the most searched-for languages across several search engines. It is not necessarily a list of most-used languages. For example, C is at the top, followed by Java. Guess which 2 languages are used most by universities for teaching students Computer Science. Java and C. It stands to reason, then, that there are lots of Java and C "rookies" out there googling up a storm so they can complete their assignments. It doesn't mean that C is the most-used language in the real world, because clearly it is not.

This statistic is basically meaningless in terms of real-world usage.

I wouldn't go as far as useless, it's a good indicator of historical and current trends. Well, better than anecdotal trends in a limited area/market at least.

While I agree it's not some definitive source of knowledge.. it is useful. Typically it leaves those who aren't seeing things go their preferred way dismiss it, and those whose 'chosen' technologies are winning, endorse it.
I'm more in the middle. I don't dismiss and don't say 'use this to choose your career path'.

I'd be endorsing Python and less single-source technologies over C# (even tho it has a lackluster opensource movement in Mono) with or without steep declines in C#'s popularity.

C#, as great of a language as it is, is tainted by MS. Just as ObjC is tainted by Apple. And Java is beyond tainted by Oracle.
I say no to all 3 for me. I prefer to the 4rd way, Python and C(ython). I'd like to tinker with Lua more as well.
That said, there's time for everything if you want to learn more.

True, but I can't imagine any other reason for wanting to learn it.

Same argument goes for .Net/C#, to program solely on Windows platforms. ObjectiveC is just the hottest thing out, if he is doing web programming I'd argue his efforts are better focused on ObjectiveC than C#. Just my personal opinion. But really, C# programmers are abundant (not that ObjC aren't.. but there's probably more opportunity there).

Many companies are VERY interested in good ObjC programmers for not just iOS.

I don't like becoming dependent on MS or Apple, or any company, but if I were to jump into 'shrink wrapped' applications per the OP's own words.. and work with a corporate-backed technology, it sure as heck would be the hottest of the private market company's tech. Today that's Apple's. Not to mention, Apple's userbase tends to buy/spend more.
A shrink wrapped app is usually meant to make money.

Just my suggestion.

In the first post you mention knowing C and Perl, and in both you mention doing web development for past 15 years? What kind of web development have you been doing? I hope it doesn't involve Perl or C.

I would get into Ruby, JS (and things like Node.js, Backbone) before I got into Windows programming.

^ Agreed. I'm guessing he's been using PHP and such.
He mentioned opensource: Python (pretty much opens every door)
Shrinkwrapped: ObjC, gives you premier access to the #1 money making mobile platform and the world of Apple. C# is more likely to put you in a corporate drone position like my own.
There's plenty of ways to write native Windows apps, no need to learn C# to do that. HTML5+JS, C++ are now on the list per the link to Ars I posted. The effort would be best put towards improving C++ skills IMO.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
Same argument goes for .Net/C#, to program solely on Windows platforms. ObjectiveC is just the hottest thing out, if he is doing web programming I'd argue his efforts are better focused on ObjectiveC than C#. Just my personal opinion.

You mean if he is focused on mobile apps? I agree with that. Microsoft dropped the ball there. I also agree that the relevance of windows application programming is declining. The hot application areas job-wise are mobile and web. The MS web stack is well-entrenched in businesses, so demand for C# will remain strong. The open source stack on python or ruby is the technology of choice for startups and technology companies in our area (northeast), but overall I see fewer open positions than in business web development on the MS stack. If you're doing mobile it's either Obj-C or Java, obviously, and I'm not sure which is growing faster. It's still expensive to get going with iOS development, since practically speaking you do need a Mac and a device. It's also a major pain in the ass to actually get an app deployed on the iOS mobile platform, due to Apple's dictatorial control. For that reason I've preferred to fool around with Android, but I don't know which is the better bet at this point.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
He said shrinkwrapped programs so I'm assuming desktop OSX apps also count. If I were to invest my time today in ObjectiveC or C#, I'd pick ObjC. Programming native OSX and iOS programs is too attractive, especially when HTML5+JS and C++ are equal with C# in every way now.

You can use your skills gained elsewhere for native Windows8 apps, but Apple if you want to be native you need to use ObjectiveC. Until Apple stops it's march, I'd go where the money is (Apple) and not duplicate his existing skillset (C++/HTML5/JS) for no net gain on Windows.

For the costs, I'm assuming you'd also want a Windows PC and a device for that as well, at some point. I'm not sure if that requirement goes away with any hardcore mobile development. I certainly would want to do testing on a real device whether be Android, iOS or Win8.
I have no opinion on which is a better bet, I would just follow the money which is Apple.
 

douglasb

Diamond Member
Apr 11, 2005
3,163
0
76
He said shrinkwrapped programs so I'm assuming desktop OSX apps also count. If I were to invest my time today in ObjectiveC or C#, I'd pick ObjC. Programming native OSX and iOS programs is too attractive, especially when HTML5+JS and C++ are equal with C# in every way now.

You can use your skills gained elsewhere for native Windows8 apps, but Apple if you want to be native you need to use ObjectiveC. Until Apple stops it's march, I'd go where the money is (Apple) and not duplicate his existing skillset (C++/HTML5/JS) for no net gain on Windows.

For the costs, I'm assuming you'd also want a Windows PC and a device for that as well, at some point. I'm not sure if that requirement goes away with any hardcore mobile development. I certainly would want to do testing on a real device whether be Android, iOS or Win8.
I have no opinion on which is a better bet, I would just follow the money which is Apple.

I would argue that the money is not in writing software for Apple's operating systems. Apple generates more revenue than Microsoft (mostly because they sell a lot more hardware and charge a premium for it), but that does not mean that there is more money to be made writing Apple software. In the business world, the overwhelming majority of corporations use Windows, and they generally want web-based or Windows software. I see very few job openings looking for iOS or Objective C developers, and I definitely see a lot more looking for either Java or .NET. This is in the South, Northeast, and Midwest USA, so basically everywhere but the West Coast (which I have not looked at). I know that ObjC, Java, and open-source are much bigger on the West Coast than elsewhere in the US, but for the majority of the United States, .NET is king in the business world. I don't know that there's a ton of money to be made in iOS development at this point, although it would appear that there is even less to be made in Android development. This article would indicate that iOS development has already started to stale, while Android is catching up (but still has a ways to go).

In terms of the .NET stack, could you explain your basis for this statement:
HTML5+JS and C++ are equal with C# in every way now.

Have you actually opened and used the Visual Studio IDE? In terms of project types, Visual C++ is nowhere near C#. Visual C++ lacks every major modern framework for VS. C# has things like MVC, WPF, Silverlight, Webforms, etc. and it has designers for all of them. You could argue that none of this is technically necessary, because you could just use Notepad, but get real. In all reality, you would spend weeks writing HTML5/JS and C++ code that can be done in a matter of hours through VS designers, MVC scaffolding, etc. People use Visual Studio for Windows development because it is, hands down, the best IDE on the market today. You will have a tough time convincing most people that anything else even comes close. It would be foolish to have this wonderful tool, then tell somebody not to use it because, technically, it can be done with HTML5/JS or C++. "Technically" I could dig a ditch with a spoon, but I'd rather use an excavator.

Furthermore, what gives you the idea that the OP has any desire to do Windows 8 apps? From his post, it sounded like he is tired of web development and wants to do some very basic Windows development (no strange widgets, oddball interfaces, etc.) So what do we do? We immediately point him towards web development, Windows 8 (with its oddball interface), and worse yet, OS X/iOS apps.

Very few (if any) businesses are using Windows 8 at this point. Most of them are still on 7, Vista, or even XP. To me, a Windows 7 desktop application would seem like the logical place for OP to get started and learn the Visual Studio IDE. He never said he wanted to do anything bleeding-edge. I quoted Obsoleet for this reply, but I think that quite a few others in this thread have given the OP either bad or totally irrelevant advice on how to get started with Windows programming.

And Obsoleet, just so I'm not disagreeing with literally everything you said, I agree that having at least one real iOS/Android device to test against (instead of just an emulator) is basically a necessity. :) A variety of devices of different sizes would be even better.
 

Sureshot324

Diamond Member
Feb 4, 2003
3,370
0
71


I just have a problem in principle with the notion that all Windows desktop apps from here on out should run in a virtual machine. It's a waste of resources IMO even if for most apps that is negligible. Microsoft could implement all these UI tools for native apps, but they choose not to. I believe this not for consumer's benefit, but because in the corporate world, MS is still intensely competing with Java, and want to do everything they possibly can to push .NET.

HTML5/JS with a good JS library like JQuery or Ext-JS is as good or better than any UI tool out there including WPF in terms of both development speed and flexibility.
 

douglasb

Diamond Member
Apr 11, 2005
3,163
0
76
I just have a problem in principle with the notion that all Windows desktop apps from here on out should run in a virtual machine. It's a waste of resources IMO even if for most apps that is negligible. Microsoft could implement all these UI tools for native apps, but they choose not to. I believe this not for consumer's benefit, but because in the corporate world, MS is still intensely competing with Java, and want to do everything they possibly can to push .NET.

HTML5/JS with a good JS library like JQuery or Ext-JS is as good or better than any UI tool out there including WPF in terms of both development speed and flexibility.

Apples and oranges. WPF is strictly for standalone applications, and HTML5/JS is stricly for web-based applications or Windows 8 apps. In that one tiny (for now) niche of Windows 8 apps, you may be correct. In terms of pre-Windows 8 development (which is practically all of the development done in the business world right now), HTML5/JS will only produce web apps. A better comparison would be with ASP .NET MVC (which uses HTML5 and JQuery extensively, by the way). There is absolutely no way that pure HTML5 and Javascript, whether it be JQuery or any other library, can compete with ASP .NET MVC scaffolding in terms of development speed.

Personally (and this is just my opinion), I don't see any issue with code running in a VM instead of natively. It makes it more portable, and modern hardware is fast enough that we can afford a little bit of extra overhead. We are almost in 2013, not 1999. You can have your "problem in principle" but in the meantime, the world keeps turning. There is no real need to run these sorts of business applications (which is what .NET was designed to do) natively when they run fine in the VM. Microsoft isn't going to spend the time and resources making everything that C#/VB has available to C++ because C++ represents a tiny fraction of their target market (probably a low single-digit percentage). Going back to native code represents a huge step backwards for Microsoft, and goes against the entire strategy behind .NET. They just aren't going to do this, nor should they. They have headed in this direction for the last 10 years, and regardless of if you like it or not, you can't expect them to revert to pre-2003. You take the good with the bad, and if you have such a huge problem with .NET, use something else.

If you absolutely have to write unmanaged native code, do it in another language. To use my previous analogy, it would be like me complaining about how slowly a spoon digs ditches, or how difficult it is to feed myself with an excavator. It's not the job that the tool was designed to do. It amazes me that Visual Studio is such an incredible development tool, yet people still complain about it to the extent that they do. There's a lot that it does very well, but it isn't all things to all people (nor should it be).
 

mosco

Senior member
Sep 24, 2002
940
1
76
I see very few job openings looking for iOS or Objective C developers, and I definitely see a lot more looking for either Java or .NET. This is in the South, Northeast, and Midwest USA, so basically everywhere but the West Coast (which I have not looked at). I know that ObjC, Java, and open-source are much bigger on the West Coast than elsewhere in the US, but for the majority of the United States, .NET is king in the business world.

In Boston, there aren't enough mobile engineers to go around.
 

Sureshot324

Diamond Member
Feb 4, 2003
3,370
0
71
Apples and oranges. WPF is strictly for standalone applications, and HTML5/JS is stricly for web-based applications or Windows 8 apps. In that one tiny (for now) niche of Windows 8 apps, you may be correct. In terms of pre-Windows 8 development (which is practically all of the development done in the business world right now), HTML5/JS will only produce web apps. A better comparison would be with ASP .NET MVC (which uses HTML5 and JQuery extensively, by the way). There is absolutely no way that pure HTML5 and Javascript, whether it be JQuery or any other library, can compete with ASP .NET MVC scaffolding in terms of development speed.

I believe in the near future, HTML is going to be the defacto standard way to develop desktop UIs and not just in Windows. Pretty much all the major web platforms have scaffolding. I'm not sure if the Windows 8 UI tools have it yet, but if not I'm sure they will soon.

Personally (and this is just my opinion), I don't see any issue with code running in a VM instead of natively. It makes it more portable, and modern hardware is fast enough that we can afford a little bit of extra overhead. We are almost in 2013, not 1999. You can have your "problem in principle" but in the meantime, the world keeps turning. There is no real need to run these sorts of business applications (which is what .NET was designed to do) natively when they run fine in the VM. Microsoft isn't going to spend the time and resources making everything that C#/VB has available to C++ because C++ represents a tiny fraction of their target market (probably a low single-digit percentage). Going back to native code represents a huge step backwards for Microsoft, and goes against the entire strategy behind .NET. They just aren't going to do this, nor should they. They have headed in this direction for the last 10 years, and regardless of if you like it or not, you can't expect them to revert to pre-2003. You take the good with the bad, and if you have such a huge problem with .NET, use something else.

Java code may be portable, but you're generally not going to run a .NET app in anything other than Windows. I see no actual advantage to using a VM for Windows desktop apps. I can see wanting a garbage collector, but this could be compiled into a native app.

As others in this thread have noted, MS ARE backing away from their previous approach of pushing .NET as the be all end all of Windows development. For the first time in years they're developing new non .NET UI tools.
 

douglasb

Diamond Member
Apr 11, 2005
3,163
0
76
^ You may be right about the future. I am merely commenting on the state of the Windows ecosystem today.
 
Last edited:

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
I just have a problem in principle with the notion that all Windows desktop apps from here on out should run in a virtual machine. It's a waste of resources IMO even if for most apps that is negligible.

I think you're overplaying the idea of a virtual machine here. .NET is basically a runtime framework on top of the Windows API. The use of CIL to achieve architecture and language independence introduces relatively little in the way of overhead at runtime after initial compilation and caching. And if it's a big deal and you know you're targeting x86 you can always compile to native. But it's sort of a step backwards, imo, to start thinking of architecture and language independence as unacceptable in terms of overhead. That's the future of development, period, and we have gobs of CPU, disk, and GPU resources sitting idle 99% of the time on pretty much any desktop platform the apps will run on, and increasingly most mobile platforms as well.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
The CLR (C#) and JVM (Java) have the advantage of JIT compilation. They do a quick compilation, gather runtime information, and then dynamically recompile with various optimizations. These optimizations can be machine-dependent and based on the profiling data gathered about the way the program is currently being executed. You can't get that with static compilation.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Stupid workweek is causing me to not be able to keep up with these posts. Interesting points and I don't necessarily disagree with much of what's been said.

My general point was that it seems MS is backing away from, or at least de-emphasizing the direction they've been pushing for the past 10 years, and that's because times are changing. If he was already working in C#, that's a great thing to know. But MS is one of the more, if not the only(?) pay-to-develop shop out there. I know for iOS (but not OSX) there is a small fee to develop, $90 or so but I'm talking about VS (I also agree it's good, I still don't want to drop $500 on it, the version I have actually destroys my Windows installs somehow..).
To dip into a stale, if not dying (on the consumer side) realm is kind of silly, and to PAY to do it? Forget it.

I'm not a fan of MS, Apple or Google (though I appreciate products from all 3)- I'm more of an opensource advocate.
Between the 3 if learning from scratch I'd have to go Apple.

As the press continues to go out over Apple's 'made in the USA' line, the average person who is willing to try something new (and who already has a positive view of the company's high quality products..) will be sure to buy one when the existing PC dies.

I guess no one has to trust me, but that's what I'd do if I were willing to go headfirst into MS's platform or Apple's. MS has made it clear they're all-in on Win8, and there's multiple ways to build 1st class applications there.
Apple is so attractive to iOS developers people are still willing to learn their specific technologies rather than expect them to use Java (Google) or HTML5/JS or C++ (MS). Otherwise, people might actually pass on those platforms. No one serious about making money today would look past iOS or OSX. And while you probably want the real devices when developing for any platform, their actual dev tools are free.

If you want a dime a dozen corporate drone job in a Windows shop like me, learn C# and pickup a $500 copy of VS. It's not that great of a fate IMO.. I certainly wouldn't go out and purposefully beg for it.

Learn Python or Ruby, learn more about linux, do more C/C++ and you'll make a lot more money (at least in my market), if you like money. Add in ObjC for shrinkwrapped native OSX/iOS apps and you'd be the person I wish I was. :) Well, I'm doing my best to go with the direction that I personally believe is the future.. putting my money where my mouth is even though that's not where I'm currently invested and what does not pay my bills.

You need to be careful for people who are also career-locked in the Windows world who would paint the picture as anything than what it is becoming (and no one here has from what I've seen)- a enterprise shtick, a mature market, probably not the place to be if you want to sell your own shrinkwrapped programs (not that C# is the only way to accomplish that regardless), and for an individual rather lame and boring.

Like I said, I bet we see even more Macs rolling out of stores with PR stunts like this 'made in America' crap. Heck, I'm even intrigued.

I consider myself unbiased and further proof of that is one of my sayings: always jump on the bandwagon. Don't be an angry nerd, think like a true capitalist. Things get hot for a reason, C#/.Net/MS are not hot. Roll with Apple and/or open source and thank me in 10 years or less.

MS is already embracing alternative technologies to their own in Windows8.. they drop their own crappy technologies all the time.. why not act just like MS yourself and do what's in your own self-interest.
 
Last edited:

douglasb

Diamond Member
Apr 11, 2005
3,163
0
76
Presumably, OP would be able to use the (free) Express Edition of Visual Studio. If not, then the cost might definitely be prohibitive. $500 is actually for the cheapest possible version (Professional) and a new license for the Ultimate version is over $10,000.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
13
81
www.markbetz.net
You need to be careful for people who are also career-locked in the Windows world who would paint the picture as anything than what it is becoming (and no one here has from what I've seen)- a enterprise shtick, a mature market, probably not the place to be if you want to sell your own shrinkwrapped programs (not that C# is the only way to accomplish that regardless), and for an individual rather lame and boring.

The OPs original question was about how to get into Windows programming, but since we don't get that many interesting debate threads on this board I don't mind so much that it's turned into a discussion about the relevance of Microsoft and Windows in the current market. Perhaps the OP will get some insights from it. Or I could just be rationalizing leaving the thread alone so I can continue to insert my own opinions in it :).

In any event, you seem rather biased to me, but I still can't fault all of your conclusions. It's a difficult predicament. I'll say this: you can make your point about which way the market winds are blowing without resorting to slamming Microsoft's "crappy technology" and "lame and boring" development tools. If there is a company or organization that has done a better job with a mainstream computing platform across a three decade span of time, I'd like to hear about them. I don't think any other org has had to operate in the world MS has operated in, and certainly nobody has done a better job of it. Nor has anyone produced better development tools, or done more to democratize the availability of the information that developers need to do their jobs from the free hobbyist level all the way up to enterprise stuff. In many ways the very fact that the web and now mobile has had a vast user base to grow into is because of the good job MS has done. Everyone has their preferences, but for whatever reason a lot of people on the open-source side come across as having a need to found their preferences on all these perceived fatal flaws in the other choices. Microsoft under Ballmer hasn't made stellar marketing strategy choices, but their technologies and tools are solid, and for most people who use them, not really lame or boring at all. In fact, Visual Studio 2012 is the best IDE I have ever used, bar none. Eclipse and Netbeans aren't even playing in the same ballgame, imo.

/soapboax?mode=off

That said, I think, as I've said before, that you're right about some of the current trends. But I actually believe things are settling down a bit now, awaiting whatever the next major evolution is. Smartphones have created a vast new market, but they are up against some significant usability limits, and there is plenty of reason to think that the "migration" of user activities from other platforms to smartphones will slow. I think what we'll be left with for some time to come is web apps, native apps for mobile devices, and native apps for laptops and (fewer and fewer) desktops.

In the web apps area the platform choices are driven more by the type of work you're doing, or by economics. Microsoft has very capable solutions for the web application stack, and there will be lots of work for some time to come for people who know that platform. In mobile devices and laptop/desktop apps it's market penetration. They have a decent mobile solution, but little penetration, so betting on that horse is really risky. In the world of native apps for laptops and desktops Windows is still the largest market by far. Apple is a niche player, and always has been. You can add Google's Chromebook to that list as well. That market has lost some vitality to the mobile space, but it hasn't gone away. So "getting into Windows programming" isn't automatically a stupid idea. It's a marketplace, with pluses and minuses like the other markets.
 

hans007

Lifer
Feb 1, 2000
20,212
17
81
I used to be a c++ windows dev. Do the scribble project in Msdn and get visual studio.

Waste of time though . Windows specific code is dead.
 

Oyster

Member
Nov 20, 2008
151
0
0
I consider myself unbiased and further proof of that is one of my sayings: always jump on the bandwagon. Don't be an angry nerd, think like a true capitalist. Things get hot for a reason, C#/.Net/MS are not hot. Roll with Apple and/or open source and thank me in 10 years or less.

Damn, haven't posted here in a while, but had to pick up on this. You sound amply biased to me. I would have loved to hear your thoughts in 1994 before the advent of the Internet. If calling out the technology sphere 10 years in the future is not biased, I don't know what is! Did you see Apple becoming what it is today in December 2002? How about RIM/Blackberry? LOL.

Move to Silicon Valley and see where the VC/PE money is flowing. Everything north of Silicon Valley and in the East Bay (includes Berkeley) is .NET. Everything south is Java-based (with the exception of Intel which is .NET-based). Performing a DICE search isn't that hard.

I also looked at the popularity index you pointed us to... it doesn't include searches on MSDN or Java forums. Also, there's a reason why Wall Street's sold off AAPL in the past month...
http://www.reuters.com/article/2012/12/06/us-china-smartphones-idUSBRE8B50DX20121206.
http://www.cnbc.com/id/100291937
The latter URL is aptly titled -- what a difference three months can make :). Good luck with predicting 10 years in the future in the tech sector.

I'm not betting on Apple's failure. Like Mark said in his earlier post, Apple, MS, Google, etc. have all contributed to the advancement of the technology industry and competition is good. However, the big issue Apple faces is it is the only company that is bound to ObjC (unless you're an iOS developer). In case of MS or Google, their platforms (mobile or otherwise) are portable such that you can use your skills elsewhere in the industry. Who knows, ObjC may be the thing of the future, with 90% of the computer market belonging to Apple while the remaining to Chromium!

For the OP: Roll with either C# or Java... both are similar, with ample of opportunities in both. There's definitely a push for Web-based UIs unless you're building intranet applications. If you're motivated by satisfaction instead of financial returns, roll with whatever... the world's your oyster.
 
Last edited:

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Damn, haven't posted here in a while, but had to pick up on this. You sound amply biased to me. I would have loved to hear your thoughts in 1994 before the advent of the Internet. If calling out the technology sphere 10 years in the future is not biased, I don't know what is! Did you see Apple becoming what it is today in December 2002? How about RIM/Blackberry? LOL.

I also looked at the popularity index you pointed us to... it doesn't include searches on MSDN or Java forums. Also, there's a reason why Wall Street's sold off AAPL in the past month...

If there's any lesson learned over time it's to not put much stock into what you see happening on Wall Street. Bunch of gamblers/clowns. I'd listen to someone on this forum before I put stock into their (financially incensed 'view'). Apple's reign isn't over, I bet you'll see an increase (like I noted, just wait till the average blue collar joe gets a whiff of American-Made Mac commercials), and I stand by my bet that in the next 10 years OSS and Apple are a better bet than MS.

If I'm wrong with believing in Open Source for most things, and what's hot for the proprietary alternative (Apple), then I'll pay the piper. Bandwagoning is the way to go, regardless of people who profess 'loyalty'. There is no such thing as these companies have no loyalty to you, so throw them under the bus when they aren't the best tool or best way to make money.
I'm investing my own skill set in that direction and am desperately trying to get out of the Windows world.

I do have a significantly different POV than your suggestion of Java vs C#. Those are old corporate standbys and I would suggest Java if Oracle wasn't in charge of that now. There's a ton of alternatives to those, but I'd probably get more into Golang before those two. Talk about saturated markets where the barrier to entry (moreso for Java) is pretty high. Go is more systems and not shrinkwrapped apps, so not relevant to what he asked but I stand by the ObjC/Python/HTML5/JS/C++ list to focus on where to move forward.

In any event, you seem rather biased to me, but I still can't fault all of your conclusions. It's a difficult predicament. I'll say this: you can make your point about which way the market winds are blowing without resorting to slamming Microsoft's "crappy technology" and "lame and boring" development tools.
So "getting into Windows programming" isn't automatically a stupid idea. It's a marketplace, with pluses and minuses like the other markets.

I am biased towards making the right moves, due to my personal career, experiences and outlook. But I'm far more liable to jump between Google, Apple or MS's latest offerings than most people here (who become entrenched, angry nerds who either loved or hated Steve Jobs). I couldn't care less about Android vs iOS, Windows vs OSX vs ChromeOS (other than I usually prefer OSS, being a FF user since 2002). I'm the type to say what I really feel, rather than try to get someone to use my preferred technology because I'm afraid its going to become irrelevant otherwise. I'm trying to move myself in the direction that I see the winds blowing.. some people don't really get it though, and no reason to not point out these realities in a public forum.
Just asking the question: how do I get started in Windows programming in 2012 needs to be confronted rather than honestly answered. Of course the answer, if he's on Windows already is to download the free edition of VS.. but I can't in good faith and without lying through my teeth suggest to do that.

I used to be a c++ windows dev. Do the scribble project in Msdn and get visual studio.

Waste of time though . Windows specific code is dead.

You're where my company is based. And I couldn't say it any better.
 
Last edited:

Sureshot324

Diamond Member
Feb 4, 2003
3,370
0
71
I do have a significantly different POV than your suggestion of Java vs C#. Those are old corporate standbys and I would suggest Java if Oracle wasn't in charge of that now. There's a ton of alternatives to those, but I'd probably get more into Golang before those two. Talk about saturated markets where the barrier to entry (moreso for Java) is pretty high. Go is more systems and not shrinkwrapped apps, so not relevant to what he asked but I stand by the ObjC/Python/HTML5/JS/C++ list to focus on where to move forward.

As far as what's best careerwise, I still think Java and C# are going to be the big two for quite some time. There is a shortage of Java/C# devs in my city and and my company has been taking pretty much any good Java dev we can get for years.

Objective C is hot right now but as far as the job market goes I don't think that's going to last. The trend for mobile is going to be mobile web apps. Assuming Blackberry and Windows mobile stay around, companies aren't going to want to develop 4 different versions of their mobile app when one web app will do the job.

The majority of the software development job market is always going to be corporate apps. There are too many people willing to make consumer apps for free and consumers now expect software to be free.
 

Zodiark1593

Platinum Member
Oct 21, 2012
2,230
4
81
I used to be a c++ windows dev. Do the scribble project in Msdn and get visual studio.

Waste of time though . Windows specific code is dead.
I wouldn't say that for certain, especially as far as PC gaming is concerned. Having said that, I myself am learning to use OpenGL in my code, as DirectX is somewhat too limited for my taste, being available only on Microsoft platforms and all. :rolleyes:

Having barely etched the surface of C++ coding, I wonder what differences there are between programming x86 (Windows) and ARM(Android).