On May 26, 2008, at 12:19 PM, Mark Waser wrote:
I live in Northern Virginia, near Washington, DC.
That pretty much explains it then, as DC is another Windows stronghold
in my experience. Some areas, like Seattle and Boston, seem to be
mixed markets.
Where do you get your statistics? What exactly are you measuring?
It is invisible to most people, but Unix server environments remain
the dominant server environment on the Internet generally (and I use
"Unix" to include Linux). Not surprisingly, this means there are a lot
of people that develop for that target.
While I am aware that Silicon Valley takes this to a relative extreme,
Windows is almost non-existent as a development target there. Part of
the reason is that most servers are still Unix-like systems, and
servers or the web interface are the primary development targets in
Silicon Valley. It is kind of hard to over-emphasize how non-existent
Windows is as a server target in Silicon Valley.
I honestly do not know anyone at any company in Silicon Valley who is
developing for Windows server targets. No one. It does not even cross
anyone's mind to even consider it as a possibility. And client targets
are web-related platforms. The killer hook of MacOS X as a developer
platform is that it works very well as a Unix desktop and has a slick
IDE that directly supports all the major languages Unix server
development is done in. Write, build, test on MacOS, push it to Linux
servers and it works just fine. MacOS X is useless for Windows
development, but it is a very slick development environment for the
Unix tool chain, even if you are not using MacOS X as a target. Unix
development on Windows is pretty bad; it is not like Visual Studio
really supports UNIX server targets.
If you're looking solely at servers like Google's which require
extremely high performance for very specific, very tailored
purposes, you are correct.
Google is one company. Silicon Valley has thousands of tech
companies. They almost all use Unix on the server, whether the task is
mundane or complex and esoteric. Your web browser or desktop client
does not care that the back-end is Unix, and Unix/Linux has a lot of
advanced features out-of-the-box that make nice servers.
If you're looking at more generic business-type work, you're just
plain wrong. And, realistically, AGI development is *MUCH* closer
to the business-type work than the high-performance work.
Non sequitur. I'm not entirely sure what you are assuming and/or
asserting here.
A lot of other business in Europe specifically excludes *nux. It's
a cultural difference in contracting. I'm starting to distrust your
claims when you come up with BS like this that I know is wrong from
my own experience. How much European contracting have you done? I
worked with the World Bank for a number of years and then was spun
off with the Global Development Gateway. Do you really want to
argue European contracting?
You are talking about your experience with European contracting back
then (when I was not), I am talking about contracting with both the EU
and UN *right now*.
Your original quote was about Mac notebooks at conferences -- not
development systems. I know numerous people who use their Mac
notebooks as a gateway to their non-Mac development machines. It's
very common here for the reasons I stated previously.
These were all technical conferences; the political and policy
functions I attend are dominated by Windows laptops. Mac notebooks
*are* the development systems. I do what everyone else does: plug
their Mac laptop into a large external monitor. Not surprisingly,
developers tend to buy the MacOS platform for its development
environment, which is quite good if you have a Unix target.
If Windows is the development target, you would be very poorly served
with a Mac -- it would be a lousy development environment. The
popularity in the software development community is utilitarian.
To use Silicon Valley as an example, C/C++, Java, and Python will
give you about 90% coverage of the developer pool. The .NET
languages are in the residue.
OK. Show me your statistics. I have *NEVER* seen statistics
anywhere like what you're quoting. One of us is *very* misinformed
or you're quoting a very odd little subset that has no relevance to
the real world.
Unix-like environments are a major portion of the server market,
particularly on the Internet -- I did not realize this was
controversial. There are a limited number of choices for development
choices for Unix that are practical. C/C++ for systems level work and
Java for web app environments are obvious choices. Perl used to be
the dominant high-level language choice back in the 1990s in Silicon
Valley but was slowly supplanted by Python, since the latter is
extremely productive, maintainable, and scales up well. There are
still a few parts of the US where Perl is going strong, but not in the
Valley.
The TIOBE programming language popularity index shows Java in the #1
spot followed by C in #2. Even Python edges out C#, which comes in at
#8. A lot of big companies in Silicon Valley use the three languages
mentioned above as their official development languages, so it is not
surprising that they are primary choices in Silicon Valley. The
important languages I glossed over were actually things like PHP and
Ruby, neither of which are C#.
I have yet to see anyone attempt to deny my claim about the relative
development speed on .Net vs. anything else.
Supposed "development speed" does not do you much good without
sufficient developers, even if I allowed that it were true. As a
practical matter if you can specify a problem I can always find a
platform that has better development speed than .NET -- this is really
quite irrelevant and other things are more important in the big picture.
The language/environment is a secondary concern to the developer
pool because you could develop this project in *any* language. The
difference in overhead costs intrinsic to the environment are
nominal. I don't like Java myself, but I think a better argument
can be made for it *in this instance* relative to .NET because
language features are not that important at the end of the day. If
you were doing a closed shop project then .NET would be very
arguably a superior choice.
So, why do you believe that all these developers are staying away
from the superior choice? Why aren't the smarter ones defecting?
Are you sure that they aren't? Are you sure you want that huge
developer pool of those who aren't smart enough to defect?
Most of your arguments are based on the assumption that most of these
developers are Windows developers who just happen to be stuck working
on Java. Often they are Unix developers who happen to be stuck working
on Java. If they stopped using Java, .NET would not be their logical
next choice.
There are practical economic reasons Java is used so much, most
notably its ubiquity and the fact that it works well on Unix. There
is a trend moving away from Java for some web apps, but it is toward
languages like Python, Ruby, and PHP, which also run on Unix very well.
If you hate Java, there are other environments with a better feature
Where did *that* come from. I don't hate Java. It's just seriously
sub-optimal so I don't waste my time with it.
*shrug* Maybe I was just projecting my distaste for Java. I don't
like it, but I understand the rationale behind using it.
I dunno, the obsession with a very particular and narrow platform
systems misplaced and inappropriate for a project like this. The
goal is (hopefully) *not* to select a platform you like and then
rationalize every other decision around that.
You mean like choosing the platform solely based upon the size of
your developer pool and ignoring what *you* acknowledge as superior
features on another platform?
You agree with all of my technical reasons and then accuse me of
rationalization?
I agree with your technical arguments re: Java versus .NET in the
abstract. My point is that these are minor factors in the overall
platform decision.
J. Andrew Rogers
-------------------------------------------
agi
Archives: http://www.listbox.com/member/archive/303/=now
RSS Feed: http://www.listbox.com/member/archive/rss/303/
Modify Your Subscription:
http://www.listbox.com/member/?member_id=8660244&id_secret=103754539-40ed26
Powered by Listbox: http://www.listbox.com