The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

Is the tech talent trend anti-MS?

I've heard it said that frameworks like RoR "attract better talent" because great coders naturally gravitate toward open source platforms, and trendy frameworks.

Do you think there's truth to that?

If I built a firm around a software app coded in .NET that required the caliber of coders found at Google or Amazon, would it be any harder to recruit the likes of, say, fresh-outta-Uni Berkeley students because of the Microsoft platform basis than it would coding the thing in Ruby on a *Nix platform?

Do you think there's a psychological profile difference - and a performance discrepency - between .NET developers and those attracted more to the Open Source movement?
Lucifer Send private email
Sunday, August 12, 2007
 
 
"Do you think there's a psychological profile difference - and a performance discrepency - between .NET developers and those attracted more to the Open Source movement?"

I'd say most likely... and I see three main reasons for it:

First, since MS is so late to the Open Source game (afterall, it was evil before), the idea of collaboration has come later.  While this is hard to quantify, look at the breakdown of % of total/new Open Source projects in any MS language compared to any other.  You can do it here - http://www.ohloh.net/languages;compare and you'll notice that there are approximately as many projects in C# as there are in Ruby.  When you spend time nearly every day kicking around ideas with other people - some smarter than you, some less - innovation is bound to occur.


Second, look at the costs of getting up to speed on the different stacks.  If you are just starting off and have little to no budget to start learning or building an organization, starting with MS is cost prohibitive.


Third, when you write code, you want it to work to everyone you give/sell it to.  If you write PHP, Python, Ruby, etc, you have an environment on indows, Linux, and OSX box that should work with some tweaking.  If you wrote it in C#, you have Windows... or take your chances with Mono.
KC Send private email
Sunday, August 12, 2007
 
 
"Do you think there's truth to that?"

No. There are a lot of great developers out there who choose to use Microsoft products. The open source fanatics are simply louder than anyone else so they get a lot of attention. Don't take it as a sign or trend. After all, Linux has gotten WAY more press and Internet chatter over the past 10 years in the tech circles than Microsoft has. And you'll find a lot of people ready to tell you that it is better in every way. Yet it doesn't seem to ever make a difference. Even many of the IBM guys whose company is trying to make their money off of Linux still run Windows on their laptops.

Talking and doing are two different things. There will always be talented developers working with MS products. And there will always be talented developers working on open source software.
dood mcdoogle
Sunday, August 12, 2007
 
 
I think it's not a problem with "anti-MS" as much as it's a problem that MS still doesn't support Unix to the liking of many people who find Unix a little better for things they do. Even Eric Sink likes Unix tools to a certain extent, albeit he still likes .NET and WPF. So, how could we make it easy for guys like Eric Sink to be able to keep using tools from Microsoft and from the Unix universe so they could mix and match them as much as they like?

That's a start for the differences.

With regards to tools such as Rails and Django, one needs to account for the Web generation folks who have had most of their experiences with Web related tools. Why? Because these folks are not scared of the Web and its standards. They know a little bit of HTML, CSS, JavaScript, SQL, ASP/PHP/JSP, RSS/Atom, images (GIF/JPG), XML/XSL, JSON...

Still about Rails and Django, projects such as these have energy in them because people feed them, develop them, improve them, advertise, support, hype them, and put their names and faces behind them in conferences, books, videos... So there's a self-perpetuating cult to them as well, with cool people attracting cool people.

Also, somehow some of this new generation has been doing well on the Apple platform, and let's remember, Mac OS X is based on Unix as well, so some of these cool dudes have been able to enjoy Unix tools while still using the best of what Apple has had to offer in terms of stability, custom applications, community. And Windows fells more like bureaucracy to them than the Apple stuff they like. Let's remember that if Windows was so cool, Windows Vista would have been a success in the first place, with little changing from Windows XP. Don't kill me yet, it's just part of it. Another thing is that Apache and MySQL don't feel so weird in Apple systems as they might do in Windows systems. And you know, part of the success of Apache and MySQL is that free and cheap hosting solutions support them, so there's a demand.

Continuing, with Apple I guess people don't feel like cheating Microsoft or Apple by using open source tools, so they can save some headache and bucks by reusing free open source tools and not feel guilty as Microsoft has made people feel on its platform.

Open source tools are not an easy way out for folks. They are a start. Folks who have invested in popular open source tools haven't had their knowledge turned obsolete as fast as Microsoft has done with their technologies. For example, open source folks still code C a good deal, which is older than C++. Why? Because it's part of the foundation of open source tools and instead of killing tools to replace them with the latest and greatest, open source developers keep the tools around whenever they are still useful to someone. So, young folks who have had to learn C, have had many tools available to them in the open source environments. And C++, Java, PHP, Python, Ruby, and so on, all available and always there... Thus, someone who starts using them, hardly would like to switch away from them entirely.

While these open source tools work on Windows, they sometimes don't fit in that well, and take more time to integrate with Windows, might work slower on Windows too, then when they work on Linux for instance.

Hence, if good folks gravitate in other galaxies than Microsoft's, it might not be because they have an agenda against Microsoft, but just that they have been exercising their abilities to choose whatever they want to get the job done. And for Web stuff, that has meant many times the use of a non-Windows platform.
Joao Pedrosa
Sunday, August 12, 2007
 
 
"starting with MS is cost prohibitive."

KC, not true anymore. I have used the Visual Studio Express tools available for free. Great tools!

Combine that with SQL Server Express, which is good for up to 1 Gig of data, and MS is hard to beat.
XYZZY
Monday, August 13, 2007
 
 
Visual Studio Standard is only a couple hundred bucks and has pretty much everything that the professional version has short of a few things like remote debugging and such.

But businesses don't bat an eye at the cost of MS tools. The only people who complain about the cost of MS development tools are hobby programmers and those footing the bill themselves. But that's why the Express and Standard editions exist in the first place.

I'm always amazed at how programmers out here can be such tight asses when it comes to paying for software. And then they complain when their customers turn around and do the same thing! We are our own worst customers...
dood mcdoogle
Monday, August 13, 2007
 
 
"great coders naturally gravitate toward open source platforms, and trendy frameworks. Do you think there's truth to that?"

No. Great, and even good programmers create their own frameworks. It's the mediocre programmers that have to stay hobbled by these toy programming languages with such poor performance.
Meghraj Reddy
Monday, August 13, 2007
 
 
I don't know anything great that runs on RoR.
Basecamp and tadalist are OK, but I'd hardly call this stuff groundbreaking.

On the other hand, everything John Carmack and others are coming up with is just breathtaking. Of course they're using C++ for their stuff.
Fritz Send private email
Monday, August 13, 2007
 
 
John Carmack has been seeing paying some tribute to Java mainly in the mobile space (cellphone games). So it's not as if he is religious about his tools necessarily, and still, I haven't seen him singing the praises of the .NET solutions. Perhaps the time has not come yet for him to jump on board of .NET.

Hey, folks might save a little bit in some tools but might spend the savings in hosting services, so it's not as if folks can save money indefinitely by using open source. Of course, the more money you spend, the more money you need to keep the cash flow positive, so mainly in the beginning, it might be helpful to have inexpensive alternatives.

And hobbyists can do less damage than some so-called professionals. If all it matters is for the professionals to charge lots of money for some service, it doesn't seem very difficult to get there from a hobbyist.
Joao Pedrosa
Monday, August 13, 2007
 
 
See how different algorithms can differ a good deal in performance of a template engine with a little benchmark of a template engine with support for Ruby, PHP and other languages:
* Tenjin - http://www.kuwata-lab.com/tenjin/

It sounds intriguing.
Joao Pedrosa
Monday, August 13, 2007
 
 
"KC, not true anymore. I have used the Visual Studio Express tools available for free. Great tools!"

Can those be used for commercial purposes?  My understanding was that they were for development only.
KC Send private email
Monday, August 13, 2007
 
 
They can be used for commercial purposes. No problem.
Fritz Send private email
Monday, August 13, 2007
 
 
> No. Great, and even good programmers create their own
> frameworks. It's the mediocre programmers that have to
> stay hobbled by these toy programming languages with
> such poor performance.

Meghraj,

What is *not* a "toy programming language?"  I could poke fun at any language you choose to use and call it names.  Ruby is slow as molasses, Python is barely any better and doesn't even have a string class, C++ has a syntax that towers above anything else, C is an outdated portable PDP assembler, Perl is _${#![]}.  So what's your poison?  What non-toy language do you use to write your own rock-star framework in?



On topic:

I think that the best talent is driven away from Microsoft by one thing: every technology MS releases is a push to make *more money* plain and simple.  The FOSS languages and frameworks may be the result of some company's for-profit work, but the people behind it are the same people that consume it: alpha geeks who love the FOSS community.

FOSS software is for geeks, by geeks.  Microsoft software is for business, by business.

P.S.  I can't bring myself to make fun of Lisp...
John Cromartie Send private email
Monday, August 13, 2007
 
 
"FOSS software is for geeks, by geeks.  Microsoft software is for business, by business."

Exactly. And geeks typically have no say in how a business is run so al lot of businesses end up using MS products.

Geeks make a lot of noise but in the end the business side of the house wins. Geeks really need to understand that all of their noise making doesn't count for squat. No one cares about what we think.

In my industry Java and .NET are king. No one will buy a product written in RoR, PHP, or C++. Writing something in any language other than Java or .NET is pure suicide no matter how "cool" it makes me look with the other geeks.
dood mcdoogle
Monday, August 13, 2007
 
 
Despite Microsoft's intention to turn a profit (which, lets face it, is the aim of most every business), do you think its technology is sub-standard vs. the open source variety?

I have to say - as an unbiased user of technology (I run a business that intends to make a profit, but at the same time, do so out of lifestyle choice, so the inner-geek is satisfied by the choices I make to run my business by), I've been mighty impressed by what Microsoft have been pumping out over the past couple of years.

When I first started dabbling with .NET about 6 months ago, I was amazed by how integrated and well thought-out the whole framework was. And the integrated nature of .NET, IIS7 and Longhorn with the virtualization and inherant server and scaling management provided, I've yet to see one complete framework anywhere else that rivals the Microsoft offering.

They seem to have got somewhat trendier in their design approach, too (making taking a leaf, and/or a beating, from the Apple crew). The MS site is a lot nicer to navigate, its full of videos and multimedia, and the stuff they're working on now like Surface and Silverlight seem incredibly innovative.

Is Microsoft ever gonna seem "cool" again to the alpha geek, or will the hippy-like defiance against the "man" that cares about churning a profit always prove the overriding reason to hate 'em?
Lucifer Send private email
Monday, August 13, 2007
 
 
"Is Microsoft ever gonna seem "cool" again to the alpha geek, or will the hippy-like defiance against the "man" that cares about churning a profit always prove the overriding reason to hate 'em?"

when did MS ever stand for cool/hip? Billy boy's fortune is build on average, good enough, and cheap enough software used by everyday average coder and worker.

i see no reason for MS to be cool or trendy. you can't please "alpha geek"(i doubt OSS users = alpha geek but hey if it make you feel better). i see a lot of bickering between OSS users more than MS users and the Apple crow is like a Cult build around Steve Jobs. Most people just don't care.
.
Monday, August 13, 2007
 
 
"when did MS ever stand for cool/hip? Billy boy's fortune is build on average, good enough, and cheap enough software used by everyday average coder and worker."

It seems to me that good ol' Bill cornered the market by being smart, innovative and playing the game of software strategically.

He created an empire where none existed before. I'd give the guy a lot of credit for that. I'm very hesitant to jump on the MS-bashing bandwagon for how much money they have... to me, that's only a gauge of how smart they are as a corporation.

I wouldn't call their latest offerings "average" by any means - it seems to me there's a lot of smart people working at Microsoft (not least because of their selection criteria and interview methods) who produce some really smart things.

Clearly though, this isn't the hip thing to say - it's much "cooler" to bash the company that could squash almost every naysayer out of existence with one flick of the corporate finger.
Lucifer Send private email
Monday, August 13, 2007
 
 
... still, my main concern remains:

Is it going to be harder (and by what order of magnitude), to find exceptional coders for a Windows/.NET platform than it is for, say, anything open source?
Lucifer Send private email
Monday, August 13, 2007
 
 
1 - If you develop for the MS technology stack, the speed of the treadmill is out of your control: MS controls it.
2 - If you develop for OSS technology stacks, then *you* control the speed of the treadmill.

In general, people drastically OVER-estimate risks and fears when they are *not* in control, while equally drastically UNDER-estimating risks and fears when they *are* in control. The most common example of that would be air travel vs driving a car. By every measure, driving a car is more dangerous and risky. Yet there aren't many people who have a phobia of driving, and no where near the number of people who worry and have panic attacks during flight. People think nothing of jumping in a car and driving off.
http://www.amazon.com/Normal-Accidents-Living-High-Risk-Technologies/dp/0691004129/
is one book that discusses this a bit - mostly in the context of what technologies really are uncontrollable.

Two other books I have in this area (and that I think are relevent) are:
http://www.amazon.com/exec/obidos/ASIN/0226109410/
http://www.amazon.com/Logic-Failure-Recognizing-Avoiding-Situations/dp/0201479486/

It is a deep-rooted psychological issue that you can't fix - except with the sort of training that engineers get. Perhaps some other professions go through that training, I don't know, mine was in engineering. I've never seen a self-educated person get there, which could be part of the problem with the lack of formal education in software development.

I suspect that the main driving force of the psychology behind the adoption of OSS is that it gives the user a stronger sense of being *in* control. Closed source software can't do that (by the vendor's choice). Likewise, DRM (by design) can't do that.
Peter Send private email
Monday, August 13, 2007
 
 
For Microsoft to appeal to geeks it might need to give up on its ideas for one platform to rule them all. Let's say we didn't care what sort of damage that would cause to Microsoft itself because it's not of our business. But the age of the open Web and Unix support has come and Microsoft needs to support them in more ways than it has done so far.

Microsoft's strategies of providing clients with a "path" that Microsoft decides on is too uncomfortable and unrealistic.
Joao Pedrosa
Monday, August 13, 2007
 
 
"Is it going to be harder (and by what order of magnitude), to find exceptional coders for a Windows/.NET platform than it is for, say, anything open source? "

Again, no. Why are you worrying about being able to find exceptional coders? If you think you are going to find the top 1% regardless of technology then you are dreaming anyway. With that said, there are plenty of programmers in the top 25% to go around. It's not like there is suddenly going to be a shortage of .NET developers simply because the noise level on slashdot spikes over a few years.

It doesn't even matter if MS goes out of business next year. There would still be a HUGE pool of programmers capable of programming in the MS stack for at least 10 years. Can the same be said of the OSS alternatives? I get the feeling that you don't understand the sheer number of people using languages like .NET and Java vs. those using some of the newer OSS stacks like RoR and such. I'd argue that you have the situation reversed. It is MUCH harder to find good programmers who are trained in OSS tools than it is to find good .NET and Java programmers.

Plus, true professionals don't care about what technologies they use. Only the fanatics really care. And you don't want to hire fanatics anyway.  ;)
dood mcdoogle
Monday, August 13, 2007
 
 
"So there's a self-perpetuating cult to them as well, with cool people attracting cool people."

Joao was referring to the tendency of non-Microsoft developers to aggressively promote their offerings and projects, but I think he stumbled across another factor.

The Microsoft development sphere is very old and very established, going all the way back to DOS. It was arguably the first mainstream platform that mISVs could write and ship compiled binaries for, and the market was big enough to easily accommodate many players. The shareware version of Doom comes to mind.

I remember the days when you had to compile the vast majority of UNIX software because the major distributions were so different (and this was before Linux came on the scene). Apple, Commodore and Amiga were arguably niche markets compared to DOS.

I think most of the people who have been developing on DOS and its successor Windows for a long time, no longer feel the need to evangelize the platforms and the philosophy. They do defend it but its not like they have to go out of their way to make you aware they exist. Everyone knows who Microsoft is. Very few people know what Python is.

So what we're seeing, among other things, is a vocal minority in a media space that's largely ignored by the majority. Err... some hypothetical numbers; it's as if 30% was anti-Microsoft, 15% evangelizes Microsoft, and 65% uses Microsoft but otherwise simply doesn't care enough anymore to be drawn into the debate.
TheDavid
Monday, August 13, 2007
 
 
Lucifer,

I think that it may actually be harder to find good C# programmers than, say, good Ruby programmers.

In working with mostly Microsoft-oriented companies I've observed that the job market is full of people who don't even have an interest programming.  The top of the heap may, in fact, care about how good their code is.  But, the rest just don't care!

I've received career advice from half a dozen peers at two companies who said that it was a ridiculous waste of time to learn anything besides Microsoft.  It's all about the money.  If they could make a little more working at McDonalds than coding, they would be flipping burgers right now.

On the other hand, people that actually enjoy programming and have an interest in their trade are more likely to learn other languages, like Ruby.  They may still be C# programmers (*raises hand*), but they're happy to be coding regardless of the language.

I'm almost sure that I'm willing to bet *money* on this:

Put out two job listings, one for Ruby programmers and one for C# programmers.  After weeding out a few obvious "no" candidates, you'd come up with a higher proportion of good-candidates-to-resumes coming from the Ruby side.
John Cromartie Send private email
Monday, August 13, 2007
 
 
I should clarify that by "harder to find" I mean harder to find needles in the respective haystacks.  The pool of .NET candidates is HUGE compared to the pool of Ruby candidates.  I'm talking about proportions.
John Cromartie Send private email
Monday, August 13, 2007
 
 
Close enough TheDavid. :-)

It's as if Microsoft was the Government, with the responsibilities entailed by it. While the alternatives to Microsoft didn't have to follow any rules and were more open to trying new things out while enjoying the ride.

Sure, it's not that perfect of an analogy, but it's close enough. :-)

And now the Government needed to decide what to do with all these non-governmental things going on...

And you know how Governments react, right? Sense of superiority does not mean superiority under all circumstances, if at all. Citizens can organize themselves without much help of an otherwise unhelpful Government anyway. And just like "in real life", Governments generally have more funds so they can't be totally ignored.
Joao Pedrosa
Monday, August 13, 2007
 
 
Geeks will talk up the trends and the politics all day, but in the end most will make an economic choice and go where the invisible hand of the market beckons.

Do not base platform decisions on speculations about fashion trends among potential staff.
Mikkin
Monday, August 13, 2007
 
 
"1 - If you develop for the MS technology stack, the speed of the treadmill is out of your control: MS controls it.
2 - If you develop for OSS technology stacks, then *you* control the speed of the treadmill."

That seems to work on a superficial level (since you're theoretically using MS components for every elment), but isn't it arguable that .NET can conceivably achieve (in code) anything that an OSS stack could?

That makes it sounds like MS technology is out-dated vs. OSS. Perhaps I'm being short-sighted; could you provide any examples where MS doesn't live up to performance or features of the OSS equivalent?

I don't mean that defiantly, btw - I'm genuinely interested.

From web servers and OS, to framework and language, to Ajax and IDes what I've seen via issued MS press releases, beta versions and video introductions on MSDN, I can't help but feel impressed with what I've seen.

IIS7, for example, seems far more feature-rich, configurable, scalable and integrated into/extensible with the languages and framework you'd be coding for (.NET) than any OSS offering.

Surely with those base tools alone, you could conceivably create almost any app that's not bound by the "MS treadmill" analogy... and anything else that exists in the OSS world that doesn't yet on an MS platform, you could always integrate with .NET or build yourself.

I realize I sound like an MS fanboy here, but my intention is simply to discover the truth - whether the OSS world really is the leaps and bounds ahead of MS that it claims to be, or whether it's merely proported by those that have something of a cynical side against the Big Bad Company.
Lucifer Send private email
Monday, August 13, 2007
 
 
Lucifer, the differences between .NET and OSS can vary depending on what you want to measure.

For example, Linus Torvalds has said that Linux is much faster than Windows in some regards such as some I/O operations I think (my memory can play tricks on me). But how much does that matter? Perhaps not much depending on what you want to measure.

Abstractions are needed but can be expensive as well, so measuring them can be tricky and they can always be eliminated or improved. Major sites end up having to refactor their abstractions on way or another throughout the life-cycle of their systems, so it's hard to compare apples to apples. MySpace for instance which uses .NET has a very custom framework which they have created through evolution. So while they use .NET, they don't use it in a "blessed way" or "standard way" necessarily, some someone trying to copy them might have a hard time doing so.

Likewise, eBay uses Java, but they have a custom Java framework of their own which has been created out of their creativity and needs through evolution as well.

I don't know which database eBay uses though, it could be MS SQL Server... If it is, then you could see how mixed environments can play together.

Anyway, besides the famous Apache, there are other ones such as Lighttpd and Nginx, which can be more than 10% faster than Apache at times. I don't have the numbers handy though. And as far as I know, Lighttpd and Nginx are supposedly to be production ready only on Unix/Linux, even if one could run them on Windows.

Now comes the question, do Lighttpd and Nginx compete favorably against IIS? It probably depends on what you want to achieve. Do you want to serve images fast than everything else? Do you want to serve other static files as fast as possible? Do you want to serve dynamic content? Do you want something else?

Sure, somethings might not be easily optimized, but as long as they are fast enough, and as long as you are committed to giving them a real shot, you could extract more performance from them. Youtube uses Lighttpd I think. :-)

And even if one can throw hardware at the problem, a better platform might be able to use the extra hardware better than a more handicapped platform. For example, while scripting languages can be slower in number crunching, by the use of careful algorithms, optimizations, good architecture, and powerful hardware, they can provide a lot of bang for the buck too.

I believe OSS has the edge, but that .NET is a good competitor.

OSS favors mix and match more, and it's my understanding that monolithic applications can be a dream more than a reality in current web-sites and web-services development. That is, modules are necessary to make things happen, and I am yet to see .NET modules playing together to deliver great services out there. It's more common for people to use the OSS modules deliver the services they use.
Joao Pedrosa
Monday, August 13, 2007
 
 
If MS goes less than 5 years until their next browser release, I might believe it a bit more...

I remember early this year when I was offered the opportunity (well, requirement) to upgrade to IE7 for nifty things like Tabbed Browsing (2002) and Phishing filters (2005?).

The problem with MS - or anything close to a monopoly - is that they come to dominate a niche and they get fat, dumb, and lazy, and then everyone suffers.  Hopefully, we'll always have groups around to restart the market and make it competitive again.
KC Send private email
Monday, August 13, 2007
 
 
MS's treadmill.

Is is me or OSS also have the same treadmill as MS?

it used to be Perl(CGI), PHP, Python because Google use it then Ruby.

we have many different flavor of the month linux distro. who know what next linux distro will kill off Ubuntu.
.
Monday, August 13, 2007
 
 
"Billy boy's fortune is build on average, good enough, and cheap enough software used by everyday average coder and worker."

You do not know what you are talking about. VS ide towers over all other ide's. They are without doubt the greatest ide's available anywhere. Microsoft have always treated their developers like GOLD and provided them with the best tools and the simplest and most satisfying development experience available.

Of this there can be no disputing.
Invader Zim
Tuesday, August 14, 2007
 
 
"You do not know what you are talking about. VS ide towers over all other ide's. They are without doubt the greatest ide's available anywhere. Microsoft have always treated their developers like GOLD and provided them with the best tools and the simplest and most satisfying development experience available."

Some will argue Eclipse is the best out there due to its flexible framework and there are some nice features that even VS studio doesn't have. For example, refactoring was on Eclipse long before VS studio and background compile.
.
Tuesday, August 14, 2007
 
 
+1 to Eclipse.  It's been the trendsetter for tech tools for quite a while now... that's the primary benefit of their plugin system.  And probably why MS copied it for VS.  ;)
KC Send private email
Tuesday, August 14, 2007
 
 
>could you provide any examples...
One of my employer's products is a tool to help companies prepare documents for benefit plans. Some of the text *must* be customized. Some of the text *may* be customized. Some of the text *MUST NOT* be changed from the legally mandated text. As a result, this application has to support every version of Word from Word95 to the current one. When a new version of Word comes out, the day it hits the shelves, we'll get tech support calls complaining it doesn't work with the brand new version.

The speed of this treadmill isn't controlled by my employer. The speed of the treadmill is controlled by Microsoft.

One initiative, to remove the dependency on Word, and replace the editor with a text editor we could control was killed (mid-way through the project) by one of the big cheeses who was unwilling to allow the team to have the time needed to do this. He wanted an upgrade every few months, and going 1 year without an upgrade was - in his mind - a company killing move. Keeping up with the various versions of Word, regressing the bugs across all versions, keeping up with the beta/rtm versions as they arise - that is a full time job for 2 people. All that is needed is a simple word processor, and Wordpad is more than sufficient. Allow exports to Word/PDF/HTML and the team can work on future features - not keeping up with the treadmill. It would let them focus on what they do best - keeping up with legislation and delivering that to the customer - rather than waste all that time and energy keeping up with Microsoft's business model. 

In another sample: one of my home projects was to develop up a quality/risk management tool. It could use Office, or it could use VS as the base framework. Sadly, the programming models of Office and VS changed too much with each version that it was never possible to actually complete a product before the next version of Office/VisualStudio rolled out the door. So I started looking into Eclipse/Open Office as a framework.

The speed of this treadmill isn't controlled by me - I don't have the income to spend 100% of my time making it. The speed of the treadmill is controlled by Microsoft. Switch to OO and ~I~ control the treadmill speed.

We still deliver applications built on VB6 and VB3. The remaining VB3 apps are getting ported to VB6 this year to meet the big cheese's arbitrary deadline that all apps must run on vista by end of year. Moving them from VB6 to .NET isn't on the schedule for this year. Maybe not even next year.

Software doesn't exist by itself: IT NEEDS TO SOLVE A PROBLEM THAT THE CUSTOMER HAS. "Being bored and wanting some shiny new ribbon" isn't an attribute of the customers that we get, nor a problem we can solve by digging around in some 119 page PDF of the shiny blue/gold ribbon spec. "Having too much money" isn't one of the problems our customers have, either.

We deliver solutions that our customers use, so that our customers can do what they do best. I want to be able to do what we do best, which is supply those tools to our customers. Spending time chasing the MS treadmill isn't my idea of productivity. It can be fun playing with every shiny new toy. It doesn't get the job done.
Peter Send private email
Wednesday, August 15, 2007
 
 
"Plus, true professionals don't care about what technologies they use."

Of course, we care.  After all, we want something that works well.

Sincerely,

Gene Wirchenko
Gene Wirchenko Send private email
Wednesday, August 15, 2007
 
 
"Plus, true professionals don't care about what technologies they use. Only the fanatics really care. And you don't want to hire fanatics anyway.  ;)"

You are 100% incorrect.  Go to an "true professional" eye surgeon and ask if their technologies matter... after all, both a scalpel and a laser cut, right?

We need to use technologies that work the best* for our customers.

And "best" is the key word... it depends on their requirements and wishes.  There have been a number of customers to who I've recommended that they go with an MS stack.  Sure, I've lost business in doing build-outs, but if they're a 100% MS shop, there's no other solution that makes sense.
KC Send private email
Thursday, August 16, 2007
 
 
"The speed of this treadmill isn't controlled by my employer. The speed of the treadmill is controlled by Microsoft."

Right, if you're working on *Microsoft specific* data, and you choose to use Microsoft tools to work with that, then of course the proverbial treadmill is going to be dependant on Microsoft.

But that's a very finite, limited example.

It's like saying "I'm making a program that allows easier user changes in Vista, but darn Microsoft, I have to wait for them to finish Vista!".

What I'm talking about is .NET as a framework. Is THAT limited to the "MS treadmill"?

I wouldn't have thought it's any less advanced / could do any less than PHP, Java, RoR, Python or C++. You can easily integrate .NET with OpenOffice to update Word documents, for example, via a COM object - just as easily (if not more so) than you would in Java or PHP.

I agree if you use *exclusively* Microsoft products, then of course, you've gotta wait for some dude sat behind the desk at MS to code it.

But isn't that the same with OSS? If *everything* was already available, there'd be no point coding software. You'd just download and use it.
Lucifer Send private email
Thursday, August 16, 2007
 
 
Glad to see you missed the point again.

>working on *Microsoft specific* data...
We are not working on *data*, we are interfacing with the applications. When the application changes, the tool we sell must change. This is the main risk when treating Office as a "platform," and developing around it. We're even a gold partner, so we do get lots of "heads up."

>But that's a very finite, limited example
No. Every company in the US that has a 401k/pension/health/insurance plan uses something like this tool.

>The MS site is a lot nicer to navigate, its full of videos and multimedia, and the stuff they're working on now like Surface and Silverlight seem incredibly innovative.
Surface *does* look cool. Silverlight is Flash, and several year old version of Flash at that. When version 1.5 (where one can use C#) comes out, then it will be an improvement over the current version of Flash. I find the MS site clunky with lots of dead links. Especially when doing searches from within VS2005.

>Is Microsoft ever gonna seem "cool" again to the alpha geek...
They became TheMan™. Long ago. When they were competing against OS/2 and other operating systems, they were extremely helpful and supportive. Cool back then. That support has dropped off. No amount of a PHB chanting "developers! developers! developers!" on stage will change that. They've killed off almost all of their competition and have become a fat dumb monopoly. Like the line in the old SNL parody commercial, "we don't care - we don't have to - we're the phone company."

>IIS7, for example, seems far more feature-rich, configurable, scalable and integrated into/extensible with the languages and framework you'd be coding for (.NET) than any OSS offering.
Did you really write that? I don't know any developer that would compose that sentence. Everyone I've met who could conceivably compose a sentence with those buzzwords works in PR. IIS7 doesn't do any more for me than IIS6 or IIS5 did: I want them to serve web pages.

The word you are looking for is "risk management." Which is something everyone does without thinking about it (although younger people do it far more poorly than older folks). Do I cross the street now? Is it "safe" to turn left? Can I touch that pot on the stove? Do I *need* great programmers, or will *good* ones be sufficient? And why only ones that are fresh out of college? Stocks or bonds? Is that person reaching for their pocket pulling out their wallet or a gun? And what one needs to consider is sometimes so complicated that one cannot see the risks and consequences without writing them out. Controlling the speed of the treadmill is an attempt to control risks.

A- For many people, using a platform that is controlled by a large vendor will reduce, what are to them, risks.
B- For many other people, using a platform that is controlled by a large vendor will increase, what are to them, risks.

Based on your two posts, it looks like you're trying to determine your sweet spot in risks involved in your start up: OSS vs .NET (or you might be a PR troll). There is an old joke saying that says you can write any program in Fortran. You can write any application in any language you want: the key is actually writing it. You can even get a COBOL compiler for .NET if you want.

Do I think that "great" developers "naturally" migrate to open source? No. What I think they're doing is trying to manage their risk. And being in control of the platform(s) they use is part of that management of risk.

And what might also be happening is that they want some feature that isn't part of the platform you're interested in. Paul Graham called that Blub.
>As long as our hypothetical Blub programmer is looking down the power continuum, he knows he's looking down. Languages less powerful than Blub are obviously less powerful, because they're missing some feature he's used to. But when our hypothetical Blub programmer looks in the other direction, up the power continuum, he doesn't realize he's looking up. What he sees are merely weird languages. He probably considers them about equivalent in power to Blub, but with all this other hairy stuff thrown in as well. Blub is good enough for him, because he thinks in Blub.
http://www.paulgraham.com/avg.html
Peter Send private email
Thursday, August 16, 2007
 
 
Geez, the level of arrogance is astounding from you, Peter.

I came here to get the feedback from fellow developers, for some tips prior to moving from the UK to the US to commence with the start-up idea I've had for the past 3 years... and from a couple of posts, you're branding me as a PR troll!

I'll not comment on your individual remarks, I'll just say that I respect the time of everyone that has posted, and I appreciate your experiences in this area.

Cheers, Luc
Lucifer Send private email
Friday, August 17, 2007
 
 
"Geez, the level of arrogance is astounding from you, Peter."

asshole dev are everywhere. you can't avoid them.
.
Monday, August 20, 2007
 
 
>A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts: "Excuse me, can you tell me where I am?" The man below says: "Yes, you're in a hot air balloon, hovering 30 feet above this field.

>" You must work in Information Technology," says the balloonist. "'I do," replies the man. "How did you know?"

>"Well" says the balloonist, "everything you have told me is technically correct, but it's no use to anyone."

>The man on the ground says, "you must work in management." "I do" replies the balloonist, "but how did you know?" "Well", says the man, "you don't know where you are, or where you're going, but you expect me to be able to help. You're in the same position you were before we met, but now it's my fault." 
http://c2.com/cgi/wiki?YouMustWorkInManagement
Peter Send private email
Tuesday, August 21, 2007
 
 
> +1 to Eclipse.  It's been the trendsetter for tech tools for quite a while now... that's the primary benefit of their plugin system.  And probably why MS copied it for VS.

Did they? The VS plug-in (they call it add-in) model has been about since Visual Studio 5.0 back in 1997. I wasn't even aware Eclipse was about in its current form back then...it certainly wasn't widely known about until much more recently, I suspect (the internet revolution and all that).

As an aside, we specialise in Visual Studio extensibility (with an eye on other systems, naturally) and one of the things that's held us back from writing for Eclipse is the fact that its plug-in model seems to be tied to Java, which isn't a good fit with our (C++) codebase.

Either I'm missing something, or that's a constraint which wasn't copied by MS. ;)
Anna-Jayne Metcalfe Send private email
Wednesday, August 22, 2007
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz