FAQ
I'm going to make a number of points which I'm sure many people will object
to. Feel free, but also try not to knee-jerk about them. As someone who
programmed DEC Alpha in 1998, and who sees the sorry state of CPUs nowadays,
I can definitely say that better technology doesn't always win. In fact, it
doesn't *usually* win. Python needs to look to its strategic marketing and
product positioning if it expects to survive in the rough and tumble world
of mainstream industry.

Points to note:

- in 5 years, nobody will be doing significant amounts of new application
development in C++. The writing is on the wall: garbage collection is
essential. Any C++ code will be support and legacy libraries.

- Microsoft is already implementing said strategy across all levels of the
company today. Microsoft developers don't do much C++ development anymore.
Various upcoming products are being written entirely in C#.

- The "higher level language" playing field is crowded: C#, Java, Perl, and
Python. Mainstream industry does not need and will not make room for 4
higher level languages. Any of these languages has to grow at some other
language's expense.

- Python will never displace C# on Windows. It's Microsoft's home turf and
you can't fight directly with The Beast. You will see UNIX boxes running
Python, not Windows boxes.

- Sun is about to die. It has done nothing for anyone lately and has no
further tricks up its sleeve.

- Sun has failed to make Java live up to its claims of universality. Java
is for all intents and purposes simply a widespread programming language,
not a portable computing environment. Portable computing environments are,
in general, a pipe dream as long as Microsoft is around. It will always be
Windows vs. open standards.

- Java is proprietary. Python is open source. Open Source is the best shot
that anyone has at competing with Windows.

- Perl is open source and sysadmins won't be giving it up any time soon.
Perl is optimal for their jobs, the capabilities of Python are a non-sell.

- Ergo, Java is the weakling of the litter for Python to attack.

- Alternately, if you look at this in real world marketing terms, Python is
the weakling of the litter that must defend itself. I know that will make
various Python idealists upset, but that's the economic reality. Merit
doesn't win in this game. Java is the next weakest langauge so that's whose
lunch Python should try to eat.

- No, this isn't the appraisal of a Microsoftie who wants to set Python and
Java at each others' throats to conquer both. :-) I'm just offering a
realistic picture of what your options are, if you don't want to become a
"gee whiz, wasn't that nice!" technology. Like I said, I've lived through
it already. Don't talk to me about merit carrying the day. Learn from
history, or you are doomed to repeat it.

--
Cheers, www.3DProgrammer.com
Brandon Van Every Seattle, WA

20% of the world is real.
80% is gobbledygook we make up inside our own heads.

Search Discussions

  • Istvan Albert at Aug 12, 2003 at 2:12 am
    still trolling eh,

    but you try too hard and it shows,
  • Brandon J. Van Every at Aug 12, 2003 at 4:51 am

    Istvan Albert wrote:
    still trolling eh,

    but you try too hard and it shows,
    I asked you not to knee-jerk on what I wrote, but you couldn't do it. So
    welcome to my killfile.

    I didn't expect emotional idealists to handle it, that's why they're
    emotional idealists. Pragmatic engineers can get on with whether the
    strategic analysis has merit or not. I don't know what your corporate
    culture is, sitting in newsgroups plotting the future of a nice open source
    langauge. Maybe you think the whole world runs on volunteerism and good
    vibes. But in the big iron corporate background I come from, people sit
    down and have powwows about what the strategic threats are. You can deny
    the existence of strategic threats all you like, and stay in a comfortable
    universe of engineering merit. That will last until... commercial reality
    washes over you and your career like a tidal wave.

    Do you want to be earning good money on your Python knowledge 10 years from
    now? Then pay attention. I guarantee you that Microsoft has powwows about
    C#, Java, and Python.

    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
  • Michael Geary at Aug 12, 2003 at 6:31 am

    still trolling eh,

    but you try too hard and it shows,
    I'm new to Python and new to this group, so I'm not familiar with any
    previous discussions that have taken place. All I know about Brandon is what
    he posted in this particular message.

    As someone who has made the wrong bet on strategic directions more than a
    few times in the 35 years that I've been developing software, I found his
    comments, along with Doug's reply, to be interesting and thought-provoking.

    I am being educated here. Is that what trolls do? :-)

    -Mike
  • Cliff Wells at Aug 12, 2003 at 10:55 pm

    On Mon, 2003-08-11 at 23:31, Michael Geary wrote:

    I am being educated here. Is that what trolls do? :-)
    Only if you're interested in social engineering.

    --
    Cliff Wells, Software Engineer
    Logiplex Corporation (www.logiplex.net)
    (503) 978-6726 (800) 735-0555
  • Michael Geary at Aug 12, 2003 at 11:38 pm

    Michael Geary wrote:
    I am being educated here. Is that what trolls do? :-)
    Cliff Wells wrote:
    Only if you're interested in social engineering.
    After reading more of this thread, I see your point. My educational
    experience was short-lived. :-)

    -Mike
  • Simon Wittber (Maptek) at Aug 12, 2003 at 2:26 am

    Istvan Albert wrote:
    still trolling eh,

    but you try too hard and it shows,

    It is fun to watch though!
  • Doug Tolton at Aug 12, 2003 at 5:22 am

    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every" wrote:

    I'm going to make a number of points which I'm sure many people will object
    to. Feel free, but also try not to knee-jerk about them. As someone who
    programmed DEC Alpha in 1998, and who sees the sorry state of CPUs nowadays,
    I can definitely say that better technology doesn't always win. In fact, it
    doesn't *usually* win. Python needs to look to its strategic marketing and
    product positioning if it expects to survive in the rough and tumble world
    of mainstream industry.
    Ok, this sounds like a troll to begin with, but I'm bored and
    irritable so I'll have a go at it.
    Better technology doesn't always win in the short term, however it
    almost always wins in the long term. You are looking at something
    from a very narrow time period. Something that was better 5 years
    ago, but sucks today wasn't definitively a better technology.
    Points to note:

    - in 5 years, nobody will be doing significant amounts of new application
    development in C++. The writing is on the wall: garbage collection is
    essential. Any C++ code will be support and legacy libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud. As you said, it's not always about
    the best technology, quite frequently it's about what people know, and
    there are a lot of people that know and are comfortable with C++
    - Microsoft is already implementing said strategy across all levels of the
    company today. Microsoft developers don't do much C++ development anymore.
    Various upcoming products are being written entirely in C#.
    <sigh> just what we need. More buggy slow products from MS that have
    Memory Leaks the size of the Mississippi. C# is not a good
    development platform yet. Heck they are practically still in the
    standard MS beta period. Everyone knows not to use a MS product on
    version 1.0
    - The "higher level language" playing field is crowded: C#, Java, Perl, and
    Python. Mainstream industry does not need and will not make room for 4
    higher level languages. Any of these languages has to grow at some other
    language's expense.
    This statement is really vague, and has almost no factual basis. If
    there were only four programming languages the world would be a very
    dull place. You forgot to mention Delphi, Visual Basic, Power Builder
    and a host of others. There is room for a lot more than 4 programming
    languages.
    - Python will never displace C# on Windows. It's Microsoft's home turf and
    you can't fight directly with The Beast. You will see UNIX boxes running
    Python, not Windows boxes.
    That's a bold statement, considering the abysmal adoption rate of C#.
    C# isn't the dominant windows programming language currently, rather
    its Visual Basic. Java has far more applications written for Windows
    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.
    - Sun is about to die. It has done nothing for anyone lately and has no
    further tricks up its sleeve.
    People have been saying this for years. I'll believe it when I see
    it.
    - Sun has failed to make Java live up to its claims of universality. Java
    is for all intents and purposes simply a widespread programming language,
    not a portable computing environment. Portable computing environments are,
    in general, a pipe dream as long as Microsoft is around. It will always be
    Windows vs. open standards.
    They must give you a good edjumacation at the Redmond campus. Java is
    by far the best portable computing environment available. These
    claims are actually laughable. You might want to actually look at a
    technology before you bash it ignorantly next time. Microsoft is
    losing ground *big time* to open standards. We'll see how things play
    out in the next 20 years though. Open Source will be around that
    long, will Microsoft in it's present incarnation?
    - Java is proprietary. Python is open source. Open Source is the best shot
    that anyone has at competing with Windows.
    Java is only semi-proprietary. It's not the same proprietary you get
    when using a MS product, because they are the *only* vendor. Still, I
    agree Open Source is the better way in the long run.
    - Perl is open source and sysadmins won't be giving it up any time soon.
    Perl is optimal for their jobs, the capabilities of Python are a non-sell.
    Perl is a great language for some things, but it really sucks for
    other things. The Sysadmins I know would love to use Python. It's
    capabilities are a non-sell? mm...if you think being able to read
    your code two days after writing it is a non-sell, well ok.
    - Ergo, Java is the weakling of the litter for Python to attack.
    No factual basis for this statement. Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language. It is meant as an alternative
    to C++, Python isn't.
    - Alternately, if you look at this in real world marketing terms, Python is
    the weakling of the litter that must defend itself. I know that will make
    various Python idealists upset, but that's the economic reality. Merit
    doesn't win in this game. Java is the next weakest langauge so that's whose
    lunch Python should try to eat.
    Who does Python have to defend itself against? Python is Open Source.
    The only way it's going to die is if everyone stops developing it and
    it stagnates. If that hapens it will be because something
    *significantly* better came along. Python doesn't have to defend
    itself, your Microsoft background is showing through here. C# is by
    far the weakest language of the four. It is buggy, slow and immature.
    It has the smallest user base, the least amount of industry backing
    and a community that is rising up against it's benefactor. I think
    you dramatically overstate it's chances. Historically Microsoft
    switches technologies every 3 or 4 years. That only gives C# about 2
    years to go before it's dead in the water like every other MS
    "Innovation".
    - No, this isn't the appraisal of a Microsoftie who wants to set Python and
    Java at each others' throats to conquer both. :-) I'm just offering a
    realistic picture of what your options are, if you don't want to become a
    "gee whiz, wasn't that nice!" technology. Like I said, I've lived through
    it already. Don't talk to me about merit carrying the day. Learn from
    history, or you are doomed to repeat it.
    If you subsitute the word propaganda for appraisal, and "highly
    dogmatic" for realistic you'd be closer to the mark. Historically
    those with the best technology and the best economic system prevail
    against inefficient and inferior models. Since there wasn't really a
    cogent thesis I can't reject it per se, but your arguments are silly
    at best.

    Oh well, it was fun going through that ridiculous argument. And it
    killed some time while my Sql Script was running. Thanks for the
    diversion.
  • Brandon J. Van Every at Aug 12, 2003 at 8:54 am

    Doug Tolton wrote:
    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    - in 5 years, nobody will be doing significant amounts of new
    application development in C++. The writing is on the wall: garbage
    collection is essential. Any C++ code will be support and legacy
    libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud.
    Do you honestly believe that people are doing a significant amount of new
    application development in Cobol, as opposed to maintenance work?
    - Microsoft is already implementing said strategy across all levels
    of the company today. Microsoft developers don't do much C++
    development anymore. Various upcoming products are being written
    entirely in C#.
    <sigh> just what we need. More buggy slow products from MS that have
    Memory Leaks the size of the Mississippi. C# is not a good
    development platform yet. Heck they are practically still in the
    standard MS beta period. Everyone knows not to use a MS product on
    version 1.0
    Ignore the trend at your peril. A MS product is one thing. A MS initiative
    across the entire company is quite another. The last time they did that,
    Internet Explorer put Netscape in the doghouse. Never, ever, ignore or
    diminish what Microsoft decides to do as an entire company.
    - The "higher level language" playing field is crowded: C#, Java,
    Perl, and Python. Mainstream industry does not need and will not
    make room for 4 higher level languages. Any of these languages has
    to grow at some other language's expense.
    This statement is really vague, and has almost no factual basis. If
    there were only four programming languages the world would be a very
    dull place. You forgot to mention Delphi, Visual Basic, Power Builder
    and a host of others. There is room for a lot more than 4 programming
    languages.
    Actually, Visual Basic vs. C# would be a good discussion in another
    newsgroup. Because the books about .NET Framework that I'm reading, show
    how VB is being modded and borgged to fit the Intermediate Language. Which
    is essentially C#. I wonder if it would be reasonable to say that in 5
    years, nobody will be doing new app development in VB, it'll all be C#? But
    I'll take that up with the VB crowd.
    - Python will never displace C# on Windows. It's Microsoft's home
    turf and you can't fight directly with The Beast. You will see UNIX
    boxes running Python, not Windows boxes.
    That's a bold statement, considering the abysmal adoption rate of C#.
    Within Microsoft, the adoption of C# is universal. That tends to have a
    powerful effect on ISV Windows development over time.
    C# isn't the dominant windows programming language currently, rather
    its Visual Basic. Java has far more applications written for Windows
    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.
    The problem with your thinking here is there's very clear evidence that
    Microsoft can and does catch up to and surpass technologies that they have
    fumblingly cloned. In fact, that's the basic Microsoft corporate
    philosophy. Version 1.0 sucks, 2.0 is ok... 5.0 actually is a really good
    product and then the competition can't catch up anymore. Example: DirectX.
    When it started it was complete garbage. Nowadays it is technically
    superior to OpenGL in most areas. Why they don't finally implement doubles
    and put OpenGL out of its misery, I'm not sure.

    Why can MS catch up? Because Open Source people assume their technological
    superiority and rest on their laurels. They think they don't have to market
    because they are technically superior. Also, their ranks are populated with
    strong engineers who don't *like* marketing, as a matter of basic
    personality. They never get it in their heads that they have to
    counter-market to some degree in order to hold the line. If you don't do
    any marketing, Microsoft completely out-markets you and then you die,
    technical merit or not.
    - Sun is about to die. It has done nothing for anyone lately and
    has no further tricks up its sleeve.
    People have been saying this for years. I'll believe it when I see it.
    Read a paper.
    - Sun has failed to make Java live up to its claims of universality.
    Java is for all intents and purposes simply a widespread programming
    language, not a portable computing environment. Portable computing
    environments are, in general, a pipe dream as long as Microsoft is
    around. It will always be Windows vs. open standards.
    They must give you a good edjumacation at the Redmond campus. Java is
    by far the best portable computing environment available.
    Care to name a concrete example? A testimonial?
    - Ergo, Java is the weakling of the litter for Python to attack.
    No factual basis for this statement. Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language. It is meant as an alternative
    to C++, Python isn't.
    You're saying Python isn't useful as a systems language? Then it is already
    dead.
    Who does Python have to defend itself against? Python is Open Source.
    The only way it's going to die is if everyone stops developing it and
    it stagnates.
    You got it! And development stops when a langauge loses all meaningful
    mindshare. What is the battle of mindshare? A marketing battle. It is not
    a technological battle, except in the grossest terms of complete
    incompetence. Time and again, the marketplace has proven that kludgy but
    well marketed products carry the day. They only fail when they absolutely
    can't do the job.
    If that hapens it will be because something *significantly* better came
    along.

    No, it is not an engineering meritocracy. Look at a company like DEC.
    Wonderful technology company. Couldn't market its way out of a paper bag.
    That's a warning for this c.l.p crowd. Don't sit around congratulating
    yourselves on how superior your techology is. Recognize the strategic
    competition and market against it.
    Python doesn't have to defend
    itself, your Microsoft background is showing through here. C# is by
    far the weakest language of the four. It is buggy, slow and immature.
    It has the smallest user base, the least amount of industry backing
    and is 100% backed by all the resources of Microsoft. It will not go away,
    and its shortcomings will be fixed at a blistering pace.
    and a community that is rising up against it's benefactor.
    Huh? Care to explain?
    I think
    you dramatically overstate it's chances. Historically Microsoft
    switches technologies every 3 or 4 years. That only gives C# about 2
    years to go before it's dead in the water like every other MS
    "Innovation".
    What part of "100% committment across the company" don't you understand?
    You really are blind. You don't live in Redmond, you can't conceive of
    having access to this level of information. And who in c.l.p woudl tell you
    these things?

    Well, you've been warned.
    Historically
    those with the best technology and the best economic system prevail
    against inefficient and inferior models.
    You have *got* to be kidding me. Intel??!? Windows??!?

    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
  • Doug Tolton at Aug 12, 2003 at 10:02 am

    On Tue, 12 Aug 2003 01:54:12 -0700, "Brandon J. Van Every" wrote:

    Doug Tolton wrote:
    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    - in 5 years, nobody will be doing significant amounts of new
    application development in C++. The writing is on the wall: garbage
    collection is essential. Any C++ code will be support and legacy
    libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud.
    Do you honestly believe that people are doing a significant amount of new
    application development in Cobol, as opposed to maintenance work?
    Apparently MS does, they were promoting Cobol.net pretty heavily not
    too long ago.
    - Microsoft is already implementing said strategy across all levels
    of the company today. Microsoft developers don't do much C++
    development anymore. Various upcoming products are being written
    entirely in C#.
    <sigh> just what we need. More buggy slow products from MS that have
    Memory Leaks the size of the Mississippi. C# is not a good
    development platform yet. Heck they are practically still in the
    standard MS beta period. Everyone knows not to use a MS product on
    version 1.0
    Ignore the trend at your peril. A MS product is one thing. A MS initiative
    across the entire company is quite another. The last time they did that,
    Internet Explorer put Netscape in the doghouse. Never, ever, ignore or
    diminish what Microsoft decides to do as an entire company.
    Well, I can pretty much ignore and diminish MS all I want. The only
    reason they beat Netscape was because of the *incredible* abuse of
    monopoly powers coupled with the inept decision making of Netscape.
    Netscape was great when it came out, but over time it started to suck
    more and more and IE started to suck less and less. It wasn't because
    MS was had better technology really, they just jacked people on the
    backend if they ran a Netscape solution. Netscape ran out of money
    and the ability compete.

    How are they going to crush Mozilla, Chimera or Khtml? You keep
    touting Mindshare. Whose mindshare is growing MS or Open Source? If
    you can't answer that honestly then you really are trolling.
    - The "higher level language" playing field is crowded: C#, Java,
    Perl, and Python. Mainstream industry does not need and will not
    make room for 4 higher level languages. Any of these languages has
    to grow at some other language's expense.
    This statement is really vague, and has almost no factual basis. If
    there were only four programming languages the world would be a very
    dull place. You forgot to mention Delphi, Visual Basic, Power Builder
    and a host of others. There is room for a lot more than 4 programming
    languages.
    Actually, Visual Basic vs. C# would be a good discussion in another
    newsgroup. Because the books about .NET Framework that I'm reading, show
    how VB is being modded and borgged to fit the Intermediate Language. Which
    is essentially C#. I wonder if it would be reasonable to say that in 5
    years, nobody will be doing new app development in VB, it'll all be C#? But
    I'll take that up with the VB crowd.
    That's good
    - Python will never displace C# on Windows. It's Microsoft's home
    turf and you can't fight directly with The Beast. You will see UNIX
    boxes running Python, not Windows boxes.
    That's a bold statement, considering the abysmal adoption rate of C#.
    Within Microsoft, the adoption of C# is universal. That tends to have a
    powerful effect on ISV Windows development over time.
    Really, who cares what MS does? How does MS using C# affect Python?
    You have yet to establish any kind of Causal connection.

    Here it is straight, Python has been around going strong for over 10
    years now, inspite of lack of a corporate pimp. Why is that? What is
    it that MS is *suddenly* doing that is going to kill Python? Why is
    the Python mindshare going to *suddenly* evaporate and go to C#? You
    have nothing to back any of those statements up. They are pure
    unadulterated BS.
    C# isn't the dominant windows programming language currently, rather
    its Visual Basic. Java has far more applications written for Windows
    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.
    The problem with your thinking here is there's very clear evidence that
    Microsoft can and does catch up to and surpass technologies that they have
    fumblingly cloned. In fact, that's the basic Microsoft corporate
    philosophy. Version 1.0 sucks, 2.0 is ok... 5.0 actually is a really good
    product and then the competition can't catch up anymore. Example: DirectX.
    When it started it was complete garbage. Nowadays it is technically
    superior to OpenGL in most areas. Why they don't finally implement doubles
    and put OpenGL out of its misery, I'm not sure.
    I could be wrong but I didn't think OpenGL was open source. If it
    isn't, your argument isn't really a good point then.
    Why can MS catch up? Because Open Source people assume their technological
    superiority and rest on their laurels. They think they don't have to market
    because they are technically superior. Also, their ranks are populated with
    strong engineers who don't *like* marketing, as a matter of basic
    personality. They never get it in their heads that they have to
    counter-market to some degree in order to hold the line. If you don't do
    any marketing, Microsoft completely out-markets you and then you die,
    technical merit or not.
    Hmm...interesting point. Too bad there is simply no factual basis for
    it. If Microsoft completely out markets everyone and they die, why
    are there still so many Unix machines around? The only thing that has
    made any headway against the Unix establishment is Linux. Not many
    people switch and go to Windows 2000 Server from a Unix machine. A
    lot of people go from windows to Linux though.

    Ignore Open Source at your own peril
    - Sun is about to die. It has done nothing for anyone lately and
    has no further tricks up its sleeve.
    People have been saying this for years. I'll believe it when I see it.
    Read a paper.
    Ohh...the paaaaper said it...now it must be true. They aren't out of
    business until they are out of business.
    - Sun has failed to make Java live up to its claims of universality.
    Java is for all intents and purposes simply a widespread programming
    language, not a portable computing environment. Portable computing
    environments are, in general, a pipe dream as long as Microsoft is
    around. It will always be Windows vs. open standards.
    They must give you a good edjumacation at the Redmond campus. Java is
    by far the best portable computing environment available.
    Care to name a concrete example? A testimonial?
    Omg - it suprises me that anyone would argue this. Name a better
    portable computing environment? Java is by *far* the most ubiquitous
    environment. Seriously, name anything out there that is even close.
    - Ergo, Java is the weakling of the litter for Python to attack.
    No factual basis for this statement. Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language. It is meant as an alternative
    to C++, Python isn't.
    You're saying Python isn't useful as a systems language? Then it is already
    dead.
    man, you have no fear to pull stuff right out of your ass. You must
    be a marketing guy.
    Apparently we have different definitions of what dead is. I don't
    know about you, but I would be fine with the python community staying
    this size, shrinking or growing. To me its about the language, about
    the elegance of the technology, about it's utility to me. Some people
    just don't get that. I have no desire for Python to have the same
    mind share as VB, because I don't want to have to answer all the
    questions on how to write Hello World by people who probably have no
    business programming in the first place. I'm sure that's an elitist
    snob attitude, but I think MS does a greater disservice to people by
    hiding the technical details and making them think they can run
    mission critical services when they are in all reality ill equiped to
    do so (Windows NT/2k, Sql Server, Exchange, C#...need I go on?)
    Who does Python have to defend itself against? Python is Open Source.
    The only way it's going to die is if everyone stops developing it and
    it stagnates.
    You got it! And development stops when a langauge loses all meaningful
    mindshare. What is the battle of mindshare? A marketing battle. It is not
    a technological battle, except in the grossest terms of complete
    incompetence. Time and again, the marketplace has proven that kludgy but
    well marketed products carry the day. They only fail when they absolutely
    can't do the job.
    Well development hasn't stopped, doesn't appeared to have slowed down.
    In fact if I'm any judge it's been speeding up. Compare that to the
    erosion in the MS world.
    If that hapens it will be because something *significantly* better came
    along.

    No, it is not an engineering meritocracy. Look at a company like DEC.
    Wonderful technology company. Couldn't market its way out of a paper bag.
    That's a warning for this c.l.p crowd. Don't sit around congratulating
    yourselves on how superior your techology is. Recognize the strategic
    competition and market against it.
    You completely miss the point man. Python and OSS isn't about
    marketing to the masses. It's about giving us cool shit to work with.
    People like you will never get that. But that's ok, because morons
    like you who use languages and tools simply because they are popular
    will continue to get owned when we face you head to head.

    I don't mind Microsoft tools, because when I compete with the typical
    MS zombie, I win everytime.

    Microsoft didn't succeed due to Marketing. They didn't succeed due to
    strategic positioning. They succeeded because they lied to IBM and
    told them they had an Operating System. They got lucky and happened
    to be at the right place at the right time. While the Unix world was
    fractured and bickering.
    Python doesn't have to defend
    itself, your Microsoft background is showing through here. C# is by
    far the weakest language of the four. It is buggy, slow and immature.
    It has the smallest user base, the least amount of industry backing
    and is 100% backed by all the resources of Microsoft. It will not go away,
    and its shortcomings will be fixed at a blistering pace.
    blistering?!? wtf are you talking about. MS doesn't do *anything* at
    a blistering pace. Are you talking about how they've fixed all their
    security flaws at a blistering pace? Or are you talking about how
    they've fixed the optimization problems with Sql Server at a
    blistering pace? Or are you talking about how it took DirectX till
    version 8.0 to surpass OpenGL at version 1.0? The only relation MS
    has to blisters is that they are like an STD.
    and a community that is rising up against it's benefactor.
    Huh? Care to explain?
    get a paper
    I think
    you dramatically overstate it's chances. Historically Microsoft
    switches technologies every 3 or 4 years. That only gives C# about 2
    years to go before it's dead in the water like every other MS
    "Innovation".
    What part of "100% committment across the company" don't you understand?
    You really are blind. You don't live in Redmond, you can't conceive of
    having access to this level of information. And who in c.l.p woudl tell you
    these things?
    What part of Open Source and *immune* to Microsoft don't you
    understand? I think *you* are blinded by the shadow of redmond. Get
    out into the real world, people who don't live in the shadow of the
    tower don't tend to hold it in as high of regard.
    Well, you've been warned.
    Historically
    those with the best technology and the best economic system prevail
    against inefficient and inferior models.
    You have *got* to be kidding me. Intel??!? Windows??!?
    Obviously you *aren't* a student of history. You think that Windows
    and Intel have won. You think Open Source developers are resting on
    their laurels thinking smugly about their superiority. You are sadly
    mistaken on about many things. MS won a battle, they certainly
    haven't won the war.

    Doug Tolton
  • Brandon J. Van Every at Aug 12, 2003 at 7:19 pm

    Doug Tolton wrote:
    On Tue, 12 Aug 2003 01:54:12 -0700, "Brandon J. Van Every"
    wrote:
    Doug Tolton wrote:
    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    - in 5 years, nobody will be doing significant amounts of new
    application development in C++. The writing is on the wall:
    garbage collection is essential. Any C++ code will be support and
    legacy libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud.
    Do you honestly believe that people are doing a significant amount
    of new application development in Cobol, as opposed to maintenance
    work?
    Apparently MS does, they were promoting Cobol.net pretty heavily not
    too long ago.
    That's a migration strategy, not new application development.
    How are they going to crush Mozilla, Chimera or Khtml? You keep
    touting Mindshare. Whose mindshare is growing MS or Open Source? If
    you can't answer that honestly then you really are trolling.
    The only people who care about those are open source hackers. The
    mainstream doesn't even know what they are.
    That's a bold statement, considering the abysmal adoption rate of
    C#.
    Within Microsoft, the adoption of C# is universal. That tends to
    have a powerful effect on ISV Windows development over time.
    Really, who cares what MS does?
    I see. So when confronted with data that contradicts your Python world
    view, you change from "that's not true" to "who cares?" Contemplate it
    later, when you've gotten over your first moments of denial.
    How does MS using C# affect Python?
    You have yet to establish any kind of Causal connection.

    Here it is straight, Python has been around going strong for over 10
    years now, inspite of lack of a corporate pimp. Why is that?
    Because Python has been a niche. If you are content to stay in a niche,
    fine. In that sense Python will always survive. Lisp is similarly used by
    academics, hobbyists, and cranks. If you want to grow out of the niche,
    achieve mainstream industry relevance, and maintain it, then you're going to
    have to market yourself against the likes of C# and Java. Engineering merit
    does *not* win as you attempt to scale up.
    I could be wrong but I didn't think OpenGL was open source. If it
    isn't, your argument isn't really a good point then.
    It's an open standard, not open source. That said, I'm pretty sure the
    OpenGL Sample Implementation is now open source. And the Mesa workalike is
    definitely open source, although I don't know why anyone cares about SW
    rendering anymore.
    Why can MS catch up? Because Open Source people assume their
    technological superiority and rest on their laurels. They think
    they don't have to market because they are technically superior.
    Also, their ranks are populated with strong engineers who don't
    *like* marketing, as a matter of basic personality. They never get
    it in their heads that they have to counter-market to some degree in
    order to hold the line. If you don't do any marketing, Microsoft
    completely out-markets you and then you die, technical merit or not.
    Hmm...interesting point. Too bad there is simply no factual basis for
    it. If Microsoft completely out markets everyone and they die, why
    are there still so many Unix machines around? The only thing that has
    made any headway against the Unix establishment is Linux.
    Linux *is* marketed, unlike Python. Meditate on that, Grasshopper.


    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
  • David Eppstein at Aug 12, 2003 at 8:52 pm
    In article <bhbe3k$108mav$1 at ID-203719.news.uni-berlin.de>,
    "Brandon J. Van Every" wrote:
    I see. So when confronted with data that contradicts your Python world
    view, you change from "that's not true" to "who cares?" Contemplate it
    later, when you've gotten over your first moments of denial.
    Ok. I agree with everyone else who's already said it. He's a troll.

    --
    David Eppstein http://www.ics.uci.edu/~eppstein/
    Univ. of California, Irvine, School of Information & Computer Science
  • Kim Petersen at Aug 12, 2003 at 2:39 pm

    Brandon J. Van Every wrote:
    Doug Tolton wrote:
    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    - in 5 years, nobody will be doing significant amounts of new
    application development in C++. The writing is on the wall: garbage
    collection is essential. Any C++ code will be support and legacy
    libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud.

    Do you honestly believe that people are doing a significant amount of new
    application development in Cobol, as opposed to maintenance work?
    You can bet your life on it. When you have a *very* large portfolio of
    Cobol programs (and a lot of companies have) - then you know that you
    cannot change to another programming language - without setting back the
    development years - you might try and run a seperate developing line (we
    do here) to catch up with the Cobol line (in several years).
    - Microsoft is already implementing said strategy across all levels
    of the company today. Microsoft developers don't do much C++
    development anymore. Various upcoming products are being written
    entirely in C#.
    <sigh> just what we need. More buggy slow products from MS that have
    Memory Leaks the size of the Mississippi. C# is not a good
    development platform yet. Heck they are practically still in the
    standard MS beta period. Everyone knows not to use a MS product on
    version 1.0

    Ignore the trend at your peril. A MS product is one thing. A MS initiative
    across the entire company is quite another. The last time they did that,
    Internet Explorer put Netscape in the doghouse. Never, ever, ignore or
    diminish what Microsoft decides to do as an entire company.
    There is a large difference between a product (IE) and a programming
    language. All this reminds me of the hype first C++ and then Java got -
    none of those are today all pervasive. (if your line of thought is
    correct - then we *all* would be programming either VC++ or VB).
    - Python will never displace C# on Windows. It's Microsoft's home
    turf and you can't fight directly with The Beast. You will see UNIX
    boxes running Python, not Windows boxes.
    That's a bold statement, considering the abysmal adoption rate of C#.

    Within Microsoft, the adoption of C# is universal. That tends to have a
    powerful effect on ISV Windows development over time.

    As far as i've read up on .NET/C# - the language doesn't matter - whats
    to stop ppl continuing the programming language they've always used?
    (eg. Cobol (which exists in several versions in .NET).
    C# isn't the dominant windows programming language currently, rather
    its Visual Basic. Java has far more applications written for Windows
    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.

    The problem with your thinking here is there's very clear evidence that
    Microsoft can and does catch up to and surpass technologies that they have
    fumblingly cloned. In fact, that's the basic Microsoft corporate
    philosophy. Version 1.0 sucks, 2.0 is ok... 5.0 actually is a really good
    product and then the competition can't catch up anymore. Example: DirectX.
    When it started it was complete garbage. Nowadays it is technically
    superior to OpenGL in most areas. Why they don't finally implement doubles
    and put OpenGL out of its misery, I'm not sure.
    sorry - won't comment on above - its so damned platformcentric that it
    entirely misses whatever point you may have been trying to put over.
    Why can MS catch up? Because Open Source people assume their technological
    superiority and rest on their laurels. They think they don't have to market
    because they are technically superior. Also, their ranks are populated with
    strong engineers who don't *like* marketing, as a matter of basic
    personality. They never get it in their heads that they have to
    counter-market to some degree in order to hold the line. If you don't do
    any marketing, Microsoft completely out-markets you and then you die,
    technical merit or not.
    Assume for a moment that Linux takes off on the desktop (as indications
    could be read) - where is your argument?
    - Sun is about to die. It has done nothing for anyone lately and
    has no further tricks up its sleeve.
    People have been saying this for years. I'll believe it when I see it.

    Read a paper.
    Which ones ? Sun-pro, Sun-Neutral or Sun-contra's?

    As another example - Unix has been pronounced dead since the late-80's -
    as far as i can see, it seems to live better than ever (in Linux/BSD
    etc.) - and that was in all the papers as well...

    All the papers have also been stating that MS is dominant on the server
    platform (all during the 90's) - slowly the picture is revealed, that
    they _never_ had any dominance in this marked - and that they are at the
    moment even failing to hold on to the marked they have....
    You got it! And development stops when a langauge loses all meaningful
    mindshare. What is the battle of mindshare? A marketing battle. It is not
    a technological battle, except in the grossest terms of complete
    incompetence. Time and again, the marketplace has proven that kludgy but
    well marketed products carry the day. They only fail when they absolutely
    can't do the job.
    Again Fortran is very much alive - Cobol, Lisp and loads others are also
    very much alive - and when is the last time you've seen marketing for those?
    If that hapens it will be because something *significantly* better came
    along.

    No, it is not an engineering meritocracy. Look at a company like DEC.
    Wonderful technology company. Couldn't market its way out of a paper bag.
    That's a warning for this c.l.p crowd. Don't sit around congratulating
    yourselves on how superior your techology is. Recognize the strategic
    competition and market against it
    You seem to have failed in the understanding of the OpenSource movement
    ... Read up on the *why's* of its success - and you will find that it
    has naught to do with marketing.
    Historically
    those with the best technology and the best economic system prevail
    against inefficient and inferior models.

    You have *got* to be kidding me. Intel??!? Windows??!?
    intel => economics made it win
    windows => intel economics made it win (in the 90's)


    --
    Med Venlig Hilsen / Regards

    Kim Petersen - Kyborg A/S (Udvikling)
    IT - Innovationshuset
    Havneparken 2
    7100 Vejle
    Tlf. +4576408183 || Fax. +4576408188
  • John J. Lee at Aug 12, 2003 at 3:44 pm

    Kim Petersen <kp at kyborg.dk> writes:

    Brandon J. Van Every wrote: [...]
    As far as i've read up on .NET/C# - the language doesn't matter -
    whats to stop ppl continuing the programming language they've always
    used?
    [...]

    The design of the CLR. Implementing Python on the CLR isn't feasible.


    John
  • Anand Pillai at Aug 13, 2003 at 6:56 am
    Sounds like being pragmatic to you means being paranoid also.

    Anand

    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<bha9ee$vthc2$1 at ID-203719.news.uni-berlin.de>...
    Doug Tolton wrote:
    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    - in 5 years, nobody will be doing significant amounts of new
    application development in C++. The writing is on the wall: garbage
    collection is essential. Any C++ code will be support and legacy
    libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    writing Cobol for crying out loud.
    Do you honestly believe that people are doing a significant amount of new
    application development in Cobol, as opposed to maintenance work?
    - Microsoft is already implementing said strategy across all levels
    of the company today. Microsoft developers don't do much C++
    development anymore. Various upcoming products are being written
    entirely in C#.
    <sigh> just what we need. More buggy slow products from MS that have
    Memory Leaks the size of the Mississippi. C# is not a good
    development platform yet. Heck they are practically still in the
    standard MS beta period. Everyone knows not to use a MS product on
    version 1.0
    Ignore the trend at your peril. A MS product is one thing. A MS initiative
    across the entire company is quite another. The last time they did that,
    Internet Explorer put Netscape in the doghouse. Never, ever, ignore or
    diminish what Microsoft decides to do as an entire company.
    - The "higher level language" playing field is crowded: C#, Java,
    Perl, and Python. Mainstream industry does not need and will not
    make room for 4 higher level languages. Any of these languages has
    to grow at some other language's expense.
    This statement is really vague, and has almost no factual basis. If
    there were only four programming languages the world would be a very
    dull place. You forgot to mention Delphi, Visual Basic, Power Builder
    and a host of others. There is room for a lot more than 4 programming
    languages.
    Actually, Visual Basic vs. C# would be a good discussion in another
    newsgroup. Because the books about .NET Framework that I'm reading, show
    how VB is being modded and borgged to fit the Intermediate Language. Which
    is essentially C#. I wonder if it would be reasonable to say that in 5
    years, nobody will be doing new app development in VB, it'll all be C#? But
    I'll take that up with the VB crowd.
    - Python will never displace C# on Windows. It's Microsoft's home
    turf and you can't fight directly with The Beast. You will see UNIX
    boxes running Python, not Windows boxes.
    That's a bold statement, considering the abysmal adoption rate of C#.
    Within Microsoft, the adoption of C# is universal. That tends to have a
    powerful effect on ISV Windows development over time.
    C# isn't the dominant windows programming language currently, rather
    its Visual Basic. Java has far more applications written for Windows
    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.
    The problem with your thinking here is there's very clear evidence that
    Microsoft can and does catch up to and surpass technologies that they have
    fumblingly cloned. In fact, that's the basic Microsoft corporate
    philosophy. Version 1.0 sucks, 2.0 is ok... 5.0 actually is a really good
    product and then the competition can't catch up anymore. Example: DirectX.
    When it started it was complete garbage. Nowadays it is technically
    superior to OpenGL in most areas. Why they don't finally implement doubles
    and put OpenGL out of its misery, I'm not sure.

    Why can MS catch up? Because Open Source people assume their technological
    superiority and rest on their laurels. They think they don't have to market
    because they are technically superior. Also, their ranks are populated with
    strong engineers who don't *like* marketing, as a matter of basic
    personality. They never get it in their heads that they have to
    counter-market to some degree in order to hold the line. If you don't do
    any marketing, Microsoft completely out-markets you and then you die,
    technical merit or not.
    - Sun is about to die. It has done nothing for anyone lately and
    has no further tricks up its sleeve.
    People have been saying this for years. I'll believe it when I see it.
    Read a paper.
    - Sun has failed to make Java live up to its claims of universality.
    Java is for all intents and purposes simply a widespread programming
    language, not a portable computing environment. Portable computing
    environments are, in general, a pipe dream as long as Microsoft is
    around. It will always be Windows vs. open standards.
    They must give you a good edjumacation at the Redmond campus. Java is
    by far the best portable computing environment available.
    Care to name a concrete example? A testimonial?
    - Ergo, Java is the weakling of the litter for Python to attack.
    No factual basis for this statement. Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language. It is meant as an alternative
    to C++, Python isn't.
    You're saying Python isn't useful as a systems language? Then it is already
    dead.
    Who does Python have to defend itself against? Python is Open Source.
    The only way it's going to die is if everyone stops developing it and
    it stagnates.
    You got it! And development stops when a langauge loses all meaningful
    mindshare. What is the battle of mindshare? A marketing battle. It is not
    a technological battle, except in the grossest terms of complete
    incompetence. Time and again, the marketplace has proven that kludgy but
    well marketed products carry the day. They only fail when they absolutely
    can't do the job.
    If that hapens it will be because something *significantly* better came
    along.

    No, it is not an engineering meritocracy. Look at a company like DEC.
    Wonderful technology company. Couldn't market its way out of a paper bag.
    That's a warning for this c.l.p crowd. Don't sit around congratulating
    yourselves on how superior your techology is. Recognize the strategic
    competition and market against it.
    Python doesn't have to defend
    itself, your Microsoft background is showing through here. C# is by
    far the weakest language of the four. It is buggy, slow and immature.
    It has the smallest user base, the least amount of industry backing
    and is 100% backed by all the resources of Microsoft. It will not go away,
    and its shortcomings will be fixed at a blistering pace.
    and a community that is rising up against it's benefactor.
    Huh? Care to explain?
    I think
    you dramatically overstate it's chances. Historically Microsoft
    switches technologies every 3 or 4 years. That only gives C# about 2
    years to go before it's dead in the water like every other MS
    "Innovation".
    What part of "100% committment across the company" don't you understand?
    You really are blind. You don't live in Redmond, you can't conceive of
    having access to this level of information. And who in c.l.p woudl tell you
    these things?

    Well, you've been warned.
    Historically
    those with the best technology and the best economic system prevail
    against inefficient and inferior models.
    You have *got* to be kidding me. Intel??!? Windows??!?
  • John J. Lee at Aug 12, 2003 at 12:29 pm

    Doug Tolton <dtolton at yahoo.com> writes:

    On Mon, 11 Aug 2003 18:43:08 -0700, "Brandon J. Van Every"
    wrote:
    [...]
    - in 5 years, nobody will be doing significant amounts of new application
    development in C++. The writing is on the wall: garbage collection is
    essential. Any C++ code will be support and legacy libraries.
    That's a ridiculous blanket statement. People will be doing C++
    development for a long time beyond that. There are people still
    [...]

    You (like me) misread what he wrote, I suspect. *Application*
    development, not development in general. I see no reason to disagree
    that that would be sane (doesn't mean it's going to happen in five
    years, of course).

    than C# does. MS really shot themselves in the foot when they went to
    dotnet, essentially the adopted the Java platform 8 years after Java.
    Now they are playing catchup with an inferior product. I doubt
    they'll ever catch up to Java overall.
    Remains to be seen.

    - Ergo, Java is the weakling of the litter for Python to attack.
    No factual basis for this statement. Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language. It is meant as an alternative
    to C++, Python isn't.
    [...]

    Well, that's certainly frequently debated.


    John
  • Bruno Desthuilliers at Aug 16, 2003 at 7:55 pm
    Doug Tolton wrote:
    (snip)
    Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language.
    Err... Is this another troll ? Or is it me being just dumb ?

    I'd like to see some 'System programming' (I think we don't give 'system
    programming' the same meaning) in Java, that can't be done in Python.

    (snip the rest)

    Bruno
  • Doug Tolton at Aug 20, 2003 at 4:25 pm

    On Sat, 16 Aug 2003 21:55:02 +0200, Bruno Desthuilliers wrote:

    Doug Tolton wrote:
    (snip)
    Java and Python are really
    entirely different things. Python is meant as a scripting language,
    Java is a Systems programming language.
    Err... Is this another troll ? Or is it me being just dumb ?

    I'd like to see some 'System programming' (I think we don't give 'system
    programming' the same meaning) in Java, that can't be done in Python.
    No that is not a troll. I think Java is better at building some large
    systems than Python is. That's what it was designed for, python was
    designed to be a scalable scripting language. Python wasn't designed
    to be a replacement for C++ to my knowledge. Are you saying that
    python was designed to be a replacement for C / C++ for building large
    scale systems? If so I'm suffering under a mis-apprehension of what
    Python is all about.

    I'm using System in the generic sense rather than the specific sense
    of Operating System.

    It isn't a matter of whether it can be done in Python. You can write
    anything in assembly for that matter, the reason you don't is
    typically productivity. That doesn't mean you shouldn't write
    anything in Assembly does it?

    I don't know how stating the obvious 'that some languages are better
    at some tasks than other languages' would be considered a troll.



    Doug Tolton
    (format t "~a@~a~a.~a" "dtolton" "ya" "hoo" "com")
  • Alex Martelli at Aug 20, 2003 at 5:00 pm
    Doug Tolton wrote:
    ...
    designed to be a scalable scripting language. Python wasn't designed
    to be a replacement for C++ to my knowledge. Are you saying that
    python was designed to be a replacement for C / C++ for building large
    scale systems? If so I'm suffering under a mis-apprehension of what
    Python is all about.
    Even though Python was NOT specifically designed for "building large
    scale [software] systems" when it was born over 12 years ago, it does
    "happen" to be excellent for the job. Not just my opinion -- e.g.,
    Mitch Kapor and his OSAF chose Python as the application-programming
    language for the Chandler system, and if you look at the specs for
    that ambitious undertaking you'll see it WILL be quite a large-scale
    system when it matures.

    Of course, part of what helps is that Python is substantially
    higher-level than the other languages you're considering (most
    particularly C): given a system's total functionality, measured
    say in "Function Points", you can rely on the system SIZE (in
    terms, say, of lines of code) being VERY substantially smaller
    when you program it in Python.

    C and C++, rather than being "replaced", are "re=positioned" at
    doing what they're best at -- making libraries of stuff that must
    run fast and in very memory-lean ways. Python is ideal to build
    applications, and systems, out of those "raw materials" (as well,
    very often, at prototyping the libraries themselves).

    I'm using System in the generic sense rather than the specific sense
    of Operating System.
    Yep, same here. Although in the expression "system programming"
    it IS more often than not an _Operating_ system that is meant.

    It isn't a matter of whether it can be done in Python. You can write
    anything in assembly for that matter, the reason you don't is
    typically productivity. That doesn't mean you shouldn't write
    anything in Assembly does it?
    Of course! Kapor and friends didn't choose Python because "it could
    be done that way"; their purpose is making Chandler a great product,
    and their motivation for choosing Python is that they believe it will
    let them pursue that purpose with maximum productivity. I happen
    to agree with them (and, just like them, I come from long experience
    with other languages such as C, C++, and Java).

    I don't know how stating the obvious 'that some languages are better
    at some tasks than other languages' would be considered a troll.
    With such genericity, it could hardly offend anybody (and it would
    be just as unlikely for the super-generic assertion to prove USEFUL
    to anybody, of course:-). But as soon as you get down to specifics,
    it gets more interesting (in all senses of the word "interesting":-).

    Why Java's inability to treat classes, functions etc as first-class
    objects, or the copious and tedious boilerplate it requires, should
    make it better than Python at putting together very large applications
    and systems of applications, for example, is anything but obvious (to
    me, at least). Say, for example, that one believes Java's strength
    is not the language itself, but the huge collection of libraries and
    frameworks; then, since once can access those same libraries and
    frameworks with the Jython implementation of Python, one might still
    perfectly sensibly believe that the best way to put together large
    applications and systems out of those wonderful libraries & frameworks
    is still Python (just like it is when the libraries &c are in C/C++).

    Until and unless somebody tries to build the SAME large application
    several times with different languages (unlikely!), it will be hard
    to get reliable data. I do remember from the recent past, just as I
    was stepping out of the CAD / PDM world, that one of our competitors'
    marketing was making hay from the fact that they had entirely
    rewritten their major system, from Java to C++, with untold benefits
    in speed, memory consumption, and the like. Of course, _our OWN_
    marketing quietly replied that OUR systems had always been in C++
    and the fact that we'd never pursued the (by our competitors' own
    admission) blind alley of Java had just given us that many more
    cycles to spend in solving our customers' problems, etc etc.


    BTW: even though I left that CAD / PDM firm mostly because I was unable
    to evangelize Python effectively there, I do find it amusing that
    there's now LOTS of Python code in their systems -- apparently, my
    evangelism HAD been effective at grass-roots levels, just not with
    top management; and the techies had stealthily deployed growing amounts
    of Python, e.g. in alleged "prototypes"... that had then been shipped:-).

    Not complaining -- it does mean I get occasionally called in as a
    Python consultant, which is a welcome opportunity to greet old friends
    as well as a source of income;-). But note that the firm does NOT
    advertise the role of Python in their systems: "all rock-solid C++"
    is the message marketing wants to keep sending (basically in a fight
    with those competitors who switched to Java, whether they later
    switched back to C++ or not) -- inserting the unknown-to-customers
    "Python" term in the equation would dilute the message. Pity, but I'm
    convinced there's a LOT of that going on in the software world...!-)


    Alex
  • A.M. Kuchling at Aug 20, 2003 at 5:54 pm

    On Wed, 20 Aug 2003 17:00:13 GMT, Alex Martelli wrote:
    "happen" to be excellent for the job. Not just my opinion -- e.g.,
    Mitch Kapor and his OSAF chose Python as the application-programming
    language for the Chandler system, and if you look at the specs for
    that ambitious undertaking you'll see it WILL be quite a large-scale
    system when it matures.
    I don't find OSAF's choice of Python to be much of an endorsement.
    Given that most of the principals involved didn't seem to actually
    know Python at the time of the initial announcement, I can only
    conclude that they thought choosing Python would give them some
    credibility in the open-source community, and not because they did a
    careful comparison of Python with the alternatives.

    --amk
  • Alex Martelli at Aug 20, 2003 at 8:11 pm

    A.M. Kuchling wrote:

    On Wed, 20 Aug 2003 17:00:13 GMT,
    Alex Martelli wrote:
    "happen" to be excellent for the job. Not just my opinion -- e.g.,
    Mitch Kapor and his OSAF chose Python as the application-programming
    language for the Chandler system, and if you look at the specs for
    that ambitious undertaking you'll see it WILL be quite a large-scale
    system when it matures.
    I don't find OSAF's choice of Python to be much of an endorsement.
    Given that most of the principals involved didn't seem to actually
    know Python at the time of the initial announcement, I can only
    conclude that they thought choosing Python would give them some
    credibility in the open-source community, and not because they did a
    careful comparison of Python with the alternatives.
    I think you're doing them an injustice. After all, enough open-source
    work (by far!) is done in (e.g.) C, or Java, or C++, that choosing any
    of these languages, say, would most obviously not have in any way damaged
    their "credibility in the open-source community"! Sure, by choosing
    Python they have gained (e.g.) my personal sympathy, but by the same
    token by choosing (e.g.) Perl they might have gained the sympathy of the
    much-vaster hordes of Perl fans, no?

    It WOULD be interesting to hear from the OSAF guys exactly why they
    chose Python, what other alternatives they compared it to, and what
    criteria they weighed by how much. But clearly, one way or another,
    they DID form the opinion that Python will be suitable to build the
    ambitious, large-scale system they aspire to -- so, the fact that
    "Python is excellent for this job" is NOT just my opinion is amply
    confirmed... whether Kapor & friends made their choice by listening
    to the opinions of others (Raymond, Berners-Lee, Eckel, whoever) or
    (as they appear to claim on their pages) by doing their own
    comparisons of the available alternatives.


    Alex
  • Andrew Dalke at Aug 20, 2003 at 6:59 pm
    Alex Martelli and Doug Tolton, on 'scripting' vs. 'systems' languages:

    Doug
    I'm using System in the generic sense rather than the specific sense
    of Operating System.
    Alex:
    Yep, same here. Although in the expression "system programming"
    it IS more often than not an _Operating_ system that is meant.
    The original article I know of which tried to pin down the differences
    between the two approaches, at least in the context of modern
    languages, is Ousterhout's essay at
    http://home.pacbell.net/ouster/scripting.html

    By its definitions, Python is a system language:

    Scripting languages aren't intended for writing applications from
    scratch; they are intended primarily for plugging together components.

    scripting languages tend to be typeless: all things look and behave the
    same so that they are interchangeable.

    Scripting languages are often string-oriented, since this provides a
    uniform representation for many different things.

    Another key difference between scripting languages and system
    programming languages is that scripting languages are usually
    interpreted whereas system programming languages are usually compiled.

    (Python is byte compiled on the fly, but so is Tcl. And most Java
    implementations.)

    Scripting languages represent a different set of tradeoffs than system
    programming languages. They give up execution speed and strength
    of typing relative to system programming languages but provide
    significantly higher programmer productivity and software reuse.

    I no longer see his essay as interesting. I bring it up to point out
    the scripting vs. system language debate is based on nebulous grounds
    because there are many, many divergent interpretations of what those
    two terms mean.


    Alex:
    as well as a source of income;-). But note that the firm does NOT
    advertise the role of Python in their systems: "all rock-solid C++"
    is the message marketing wants to keep sending
    What's wrong with that? It's just using a C library. ;)

    Andrew
    dalke at dalkescientific.com
  • Tim Rowe at Aug 21, 2003 at 5:03 pm

    On Wed, 20 Aug 2003 17:00:13 GMT, Alex Martelli wrote:
    Doug Tolton wrote:
    [snip]
    I don't know how stating the obvious 'that some languages are better
    at some tasks than other languages' would be considered a troll.
    With such genericity, it could hardly offend anybody (and it would
    be just as unlikely for the super-generic assertion to prove USEFUL
    to anybody, of course:-).
    Though I have upset a few people hereabouts in the past by suggesting
    that the statement could apply to Python :-)
  • Daniel Dittmar at Aug 12, 2003 at 10:13 am
    So what do you propose? To transfer the copyright of Python to SCO so
    that they sue SUN?

    Daniel
  • Michael Sparks at Aug 12, 2003 at 10:32 am

    On Tue, 12 Aug 2003, Daniel Dittmar wrote:

    So what do you propose? To transfer the copyright of Python to SCO so
    that they sue SUN?
    No, no, no. Transfer the copyrights of the Tim-bot & Martelli-bot to
    Microsoft, the BFDL moves to OSDL which becomes aquired by Microsoft in as
    swift turn about of face as their U-turn on the Internet. Python labs is
    aquired by Lindows who acquire SCO once they've destroyed themselves, they
    get infected by SCO Unix's viral Unix license (*) transmogrify into
    SCO-TNG who then attack Microsoft who trounce them right royally in court,
    but in a shock countermove are forced to buy everyone on the planet a pint
    of their favourite beverage. Meanwhile the people working on open source
    projects turn around and go "oh that's nice dear", and carry on working on
    their pet projects.

    Or something like that.


    Michael.

    (*) SCO described it this way somewhere. Probably from a website, so it
    must be true. Definitely. Oh yes.
  • Paul Boddie at Aug 12, 2003 at 3:40 pm
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<bh9g66$vst1p$1 at ID-203719.news.uni-berlin.de>...
    I'm going to make a number of points which I'm sure many people will object
    to.
    I'll resist the temptation to refer to your other threads, then. (Or
    other postings in this thread, in fact.)

    [...]
    - in 5 years, nobody will be doing significant amounts of new application
    development in C++. The writing is on the wall: garbage collection is
    essential. Any C++ code will be support and legacy libraries.
    Well, it should be a surprise that in the "business systems" area
    people are still writing huge quantities of C++ code, especially since
    a lot of the innovation is now done in other languages. Apart from
    your favourite Seattle-based company, who else is seriously bothering
    with C++ for Web services, for example? Or at least, who else worth
    speaking of? As far as I'm concerned, it was a surprise five years ago
    that people didn't automatically consider other languages before C++
    for systems of this kind.

    It's clear that C and C++ do, however, fit the bill as the languages
    most likely to be used to implement systems where high performance is
    crucial. In many areas where those languages are used, developers seem
    to be fairly conservative, and whilst other languages could offer
    noticeable benefits during development and even offer comparable
    performance, bandwagon chasing isn't a priority for these people. The
    Solaris kernel isn't now implemented in Java as far as I'm aware, for
    example.

    Of course, you could be referring to the promising situation of Python
    running directly on the metal. ;-)
    - Microsoft is already implementing said strategy across all levels of the
    company today. Microsoft developers don't do much C++ development anymore.
    Various upcoming products are being written entirely in C#.
    This doesn't interest me, and if it did, I could easily find out for
    myself whether this is really true or just speculation. :-)
    - The "higher level language" playing field is crowded: C#, Java, Perl, and
    Python. Mainstream industry does not need and will not make room for 4
    higher level languages. Any of these languages has to grow at some other
    language's expense.
    Mainstream industry, whoever that is, already entertains more than
    four higher level languages. Note also that Python and Perl are both
    at an even higher level than C# and Java, so that observation has
    potentially been debunked if you consider those languages' areas of
    operation to be complementary.
    - Python will never displace C# on Windows. It's Microsoft's home turf and
    you can't fight directly with The Beast. You will see UNIX boxes running
    Python, not Windows boxes.
    This depends on whether Microsoft remove all their "legacy" APIs and
    insist that everything runs on the common language runtime (CLR, or
    whatever it's called). I doubt that this will happen soon, and you
    ignore the possibility that one of these days someone will get Python
    running natively and efficiently on the CLR.
    - Sun is about to die. It has done nothing for anyone lately and has no
    further tricks up its sleeve.
    About to? They made a pile of cash in the dot-com years and could
    presumably sit and burn that off if it weren't for those shareholders.
    Personally, I believe that they will either be marginalised or adapt
    like IBM and HP have done.
    - Sun has failed to make Java live up to its claims of universality. Java
    is for all intents and purposes simply a widespread programming language,
    not a portable computing environment. Portable computing environments are,
    in general, a pipe dream as long as Microsoft is around. It will always be
    Windows vs. open standards.
    This is where your signature comes in, I think. In your 20% of
    "real-world" experience, presumably around graphics stuff, Java hasn't
    really been as successful as hyped, although the latest mobile 'phone
    craze for Java gaming might at least change that slightly. Meanwhile,
    in various parts of the 80% that you don't have experience of, Java
    has been pretty successful precisely because it offers a portable
    environment, albeit one that can be pretty infuriating at times. Hint:
    Python complements Java when Java gets too infuriating.
    - Java is proprietary. Python is open source. Open Source is the best shot
    that anyone has at competing with Windows.
    This will be demonstrated over time, yes.
    - Perl is open source and sysadmins won't be giving it up any time soon.
    Perl is optimal for their jobs, the capabilities of Python are a non-sell.
    I don't agree. People do use tools which they know about and can be
    hostile to those that they don't have time to learn. Education is the
    principal issue here, and that education won't be readily accepted as
    white papers written by suits.
    - Ergo, Java is the weakling of the litter for Python to attack.
    Again, Python and Java can operate in different areas, interoperate,
    and coexist in the same area as tools which offer certain advantages
    at certain points in time.
    - Alternately, if you look at this in real world marketing terms, Python is
    the weakling of the litter that must defend itself. I know that will make
    various Python idealists upset, but that's the economic reality. Merit
    doesn't win in this game. Java is the next weakest langauge so that's whose
    lunch Python should try to eat.
    I think you should stop trying to think of all this as an
    intellectually lightweight corporate strategy meeting where we have to
    agree on some kind of marketing campaign that actually does nothing
    more than prop up the advertising profession whilst making complete
    fools out of everyone involved.

    What does stop Python from being recognised and adopted is the lack of
    awareness that people have, and it is true that part of this lack of
    awareness is down to a lack of brochures arriving on the desks of
    salespeople and strategists. Nevertheless, demonstrated successful
    systems have a more powerful impact on those whose money is ultimately
    being spent on new software - the customers. Because as their
    competitors demonstrate working systems that give them productivity
    benefits, they can turn to vendors and say, "Stop trying to sell us
    buzzword X - just give us something like our competitors are using!"

    The more I think about it, the more I realise that many customers
    probably don't care whether you've used the latest stuff from
    Microsoft or not (although they might be a bit concerned about the
    licensing schemes), and the more I realise that it must be the various
    bandwagons that "inform" certain parts of the "decision chain" that
    create this downward pressure on people to write all their stuff in C#
    or <insert flavour of the month>. As the balance of power shifts away
    from the vendor to the customer, however, I think you'll start to see
    the smart vendors adapt and start to discover what actually works,
    both from their customers and the people on the ground actually doing
    the work, and they'll cut out the brochure trail as they realise that
    it doesn't really help them to make money and satisfy customers at the
    same time.

    Paul

    P.S. If you're really interested, there's a marketing/promotion
    interest group for Python. The details are out there on the Web, so if
    it's important to you, I'm sure you can dig them out.
  • Brandon J. Van Every at Aug 12, 2003 at 7:43 pm

    Paul Boddie wrote:
    I think you should stop trying to think of all this as an
    intellectually lightweight corporate strategy meeting where we have to
    agree on some kind of marketing campaign that actually does nothing
    more than prop up the advertising profession whilst making complete
    fools out of everyone involved.
    It's actually not my thinking. I really think all the technocrats around
    here are the marketing lightweights. I have a very clear picture of what
    makes it down the corporate value chain, which is why I'm highlighting your
    post:
    What does stop Python from being recognised and adopted is the lack of
    awareness that people have, and it is true that part of this lack of
    awareness is down to a lack of brochures arriving on the desks of
    salespeople and strategists. Nevertheless, demonstrated successful
    systems have a more powerful impact on those whose money is ultimately
    being spent on new software - the customers. Because as their
    competitors demonstrate working systems that give them productivity
    benefits, they can turn to vendors and say, "Stop trying to sell us
    buzzword X - just give us something like our competitors are using!"

    The more I think about it, the more I realise that many customers
    probably don't care whether you've used the latest stuff from
    Microsoft or not (although they might be a bit concerned about the
    licensing schemes), and the more I realise that it must be the various
    bandwagons that "inform" certain parts of the "decision chain" that
    create this downward pressure on people to write all their stuff in C#
    or <insert flavour of the month>.
    With you so far.
    As the balance of power shifts away
    from the vendor to the customer, however, I think you'll start to see
    the smart vendors adapt and start to discover what actually works,
    both from their customers and the people on the ground actually doing
    the work, and they'll cut out the brochure trail as they realise that
    it doesn't really help them to make money and satisfy customers at the
    same time.
    Not in the absence of marketing. Keep in mind, Linux is marketed.
    P.S. If you're really interested, there's a marketing/promotion
    interest group for Python. The details are out there on the Web, so if
    it's important to you, I'm sure you can dig them out.
    Actually, I would be interested in their opinions of the Python community,
    if they're willing to give them. And maybe they'd be interested in an
    outsider's perception of the Python community. It is, after all, people
    like me that have to be sold in order to grow the market.

    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
  • Paul Boddie at Aug 13, 2003 at 10:24 am
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:[The shift of the balance of power from vendor to customer leads to a
    shift in technologies employed.]
    Not in the absence of marketing. Keep in mind, Linux is marketed.
    Well, on the client side people may ask for Windows solutions or Linux
    solutions, but I doubt that so many customers specifically stipulate
    Windows, UNIX or Linux for reasons other than convenience of
    maintenance and consistency with the rest of their environment. And
    way before Linux was marketed, it was getting through the door because
    motivated individuals realised that it could do the job more
    conveniently, for less money, and with less hassle.
    P.S. If you're really interested, there's a marketing/promotion
    interest group for Python. The details are out there on the Web, so if
    it's important to you, I'm sure you can dig them out.
    Actually, I would be interested in their opinions of the Python community,
    if they're willing to give them. And maybe they'd be interested in an
    outsider's perception of the Python community. It is, after all, people
    like me that have to be sold in order to grow the market.
    The way I've seen people convinced is this: you demonstrate some small
    solution which does the job; then you tell them that it's written in
    Python. If that isn't suddenly a part of a mission-critical system,
    they frequently mention how they'd always considered looking at Python
    but hadn't done so yet: "Perhaps I should start to learn Python," they
    usually say. Most of the time, you demonstrate things that are very
    simple in Python but would be a pain with C, C++ or Java, and you let
    people realise that they can either spend days hacking on such
    problems in the languages they know, or they can learn to work more
    effectively. Personally, I made that transition about seven years ago,
    and it is a surprise that many people still haven't realised that such
    a transition can be made relatively easily.

    Of course, you can get hostility, but that's usually down to the fact
    that people feel threatened by things they don't know and fear they
    won't understand. For them, they feel that it's better to stick to
    what they know and be more productive than their peers in that
    environment than to make the transition, be more productive than they
    were before, but not be seen as an expert by their peers any more.

    On the other side of the coin are the people who occasionally post to
    comp.lang.python who ask, "Why should I learn Python?" This isn't
    restricted to programming languages, either, but it's sound advice to
    tell such people that if they know what the benefits of Python are and
    how they apply to their situation, then they don't need to be asking
    those kinds of questions - they already know the answer and just get
    on with it. Otherwise, it isn't interesting to entertain their
    questions because their motivation can usually be summarised as, "Am I
    too sexy for Python?"

    Anyway, raising the awareness of Python probably is a good thing. Big
    bucks marketing and developer coercion will, on the other hand, just
    alienate the talented and motivated developers. As I said before,
    Python's strengths lie in the demonstrated productivity benefits it
    offers, and this kind of message will increasingly drown out
    superficial product endorsement as the nature of the industry changes.

    Paul


    From tonym1972/at/club-internet/in/fr Wed Aug 13 12:38:07 2003
    From: tonym1972/at/club-internet/in/fr (Anthony McDonald)
    Date: Wed, 13 Aug 2003 12:38:07 +0200
    Subject: bsddb.btopen()
    Message-ID: <3f3a1387$0$9624$7a628cd7@news.club-internet.fr>

    PythonWin 2.3 (#46, Jul 29 2003, 18:54:32) [MSC v.1200 32 bit (Intel)] on
    win32.
    Portions Copyright 1994-2001 Mark Hammond (mhammond at skippinet.com.au) - see
    'Help/About PythonWin' for further copyright information.
    import os
    import bsddb
    os.chdir("c:/test")
    my_data = bsddb.btopen("testing", 'c')
    for i in range(10):
    ... if i == 5:
    ... pass
    ... else:
    ... my_data['%d'%i] = '%d'% (i*i)
    ...
    my_data.keys()
    ['0', '1', '2', '3', '4', '6', '7', '8', '9']
    my_data.sync()
    Now heres where my problem is.

    The documentation explicitly states that a btopen database when asked to
    locate a key that doesn't exist in the dataset, will return the next sorted
    key from the dataset.

    So my_data.set_location('5') should return as if I'd called
    my_data.set_location('6')
    my_data.set_location('5')
    Traceback (most recent call last):
    File "<interactive input>", line 1, in ?
    File "C:\Python23\lib\bsddb\__init__.py", line 117, in set_location
    return self.dbc.set(key)
    DBNotFoundError: (-30991, 'DB_NOTFOUND: No matching key/data pair found')

    Okay maybe it has positioned the cursor, but is just raising the exception
    to politely tell me that I'm not pointing at the key I asked for. So
    my_data.previous() will return the key/data pair for key "4".
    my_data.previous()
    ('9', '81')

    Okay its pointing at the end of the database. Erm thats not as advertised.

    Okay whats broken? Is the documentation wrong? Is my version of Python
    wrong?, or do I need to drink some more coffee?

    TonyM
  • Y2KYZFR1 at Aug 12, 2003 at 6:34 pm
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<bh9g66$vst1p$1 at ID-203719.news.uni-berlin.de>...
    Microsoft developers don't do much C++ development anymore.
    this comes from someone who says they have avoided C++ their entire
    career. qualified opinon if I every heard one!
  • Christopher Blunck at Aug 13, 2003 at 5:05 am

    On Mon, 11 Aug 2003 18:43:08 -0700, Brandon J. Van Every wrote:

    - Sun is about to die. It has done nothing for anyone lately and has no
    further tricks up its sleeve.
    Sun will be acquired but will not die.

    - Sun has failed to make Java live up to its claims of universality. Java
    is for all intents and purposes simply a widespread programming language,
    not a portable computing environment. Portable computing environments are,
    in general, a pipe dream as long as Microsoft is around. It will always be
    Windows vs. open standards.
    Disagreed. Sun has done a great job for universality by promoting job
    mobility. For example, a couple of years ago, I as a WebSphere developer
    could not obtain a position on a project using WebLogic or iPlanet. But
    now with the "J2EE Standards for Packaging", deployment is universal. As
    long as I understand the spec, I'm mobile across environments. That
    unifies the job market for J2EE developers, and creates a situation
    whereby an employer has many *many* more potential workers to draw upon.
    That in and of itself makes Java a viable strategic platform.

    To prove my point, I'll extend my argument to database access. Awhile
    back, there were thick and thin database drivers. The thick drivers were
    native and proprietary, but were gleefully fast. As JDBC caught on and
    became more robust, more and more vendors switched to thin clients that
    implemented the JDBC spec. When this happened, Java developers stopped
    writing to the proprietary thick client interfaces and instead adopted
    JDBC. All of the sudden they became more mobile - they could now work for
    another company using a different database vendor because they were
    familiar with coding at the interface (or specification) level.

    Sun has done a fabulous job of defining a specification, and providing an
    reference implementation. The suite of XML parsers is a perfect example.
    JAXP, JAXM, JAXB, etc etc etc are specs that a programmer familiarizes
    themselves with by using the underlying implementations of Xerces, Dom4J,
    Axis, etc. But, because they code to a specification they are mobile.

    So, can you take a piece of bytecode off a Windows platform and run it on
    a Solaris platform? Most of the time yes. In some odd occasions you
    cannot. Big whoop. But, the other benefits that Sun has provided via
    Java far outweigh the downsides imo.

    - Java is proprietary. Python is open source. Open Source is the best shot
    that anyone has at competing with Windows.
    Why compete with Windows? What do you hope to gain other than personal
    satisfaction?

    - Ergo, Java is the weakling of the litter for Python to attack.
    Don't attack Java. Please don't.
    Python has it's place (I actually prefer to code Python over Java), but
    don't turn it into what it's not - a martyr. Let Python evolve as it
    will. It solves a *huge* amounts of problems in a pragmatic fashion that
    other languages don't come close to. Be happy that Python does that. Do
    you really want to have a "Python One" conference costing $2000 that is
    filled with mostly mid level manager donkeys handing out their business
    cards and giving away plush animals? I don't.


    ...


    In my opinion, where Python excels over Java is in it's usability. This
    goes back to the statement (was it Kevin? or Skip?): "batteries
    included." Python's built-in types are top shelf and extremely easy to
    manipulate and use. Capitalize on those benefits. Show coworkers how
    they can gain efficiencies by exploiting the built-in capabilities of
    python. Lead by example, not by commanding an army of cavalry. Python
    has always been a grass roots effort (which may be why it is so
    technically successful).

    You're not going to achieve the same level of penetration that C# and Java
    have achieved - Sun and MS have thousands of marketing and salespeople
    working around the clock at booking Java and C# as the "enterprise
    development platforms". Instead of fighting the beast head, subvert from
    within (to quote Dana Moore from last year's PyCon). Show people where
    Python excels in areas that their Java or C# environments cannot touch.
    Make a MS wizard obey the commands of a Java applet by using Jython and
    CPython. Show people that you can implement 90% of a feature in 3 days,
    and offer to gut it in 6 months when the Java or C# alternative rolls out.
    Make a subtle joke about your coworkers giving you $100 to hold onto until
    such time that they replace your Python implementation with a Java or C#
    impelmentation. That'll get them thinking.


    In Summary -
    Java provides benefits. Java has weaknesses tho. Don't go head to head
    with Java or C# - you'll lose. Instead, make use of the grass roots
    history of Python and lead by example.

    Best of luck Brandon - good post!!! :)

    -c
  • Ben Finney at Aug 13, 2003 at 5:15 am

    On Wed, 13 Aug 2003 01:05:37 -0400, Christopher Blunck wrote:
    Best of luck Brandon - good post!!! :)
    Seconded. Though others argue the motivation behind Brandon making the
    post, I found it to be quite thought-provoking and worth discussing on
    its merits. (As it happens, I didn't, because others already have done
    better in this thread.)

    --
    \ "The man who is denied the opportunity of taking decisions of |
    `\ importance begins to regard as important the decisions he is |
    _o__) allowed to take." -- C. Northcote Parkinson |
    Ben Finney <http://bignose.squidly.org/>
  • John Roth at Aug 16, 2003 at 11:26 pm
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:bh9g66$vst1p$1 at ID-203719.news.uni-berlin.de...
    I'm going to make a number of points which I'm sure many people will object
    to. Feel free, but also try not to knee-jerk about them. As someone who
    programmed DEC Alpha in 1998, and who sees the sorry state of CPUs nowadays,
    I can definitely say that better technology doesn't always win. In fact, it
    doesn't *usually* win. Python needs to look to its strategic marketing and
    product positioning if it expects to survive in the rough and tumble world
    of mainstream industry.

    Points to note:

    - in 5 years, nobody will be doing significant amounts of new application
    development in C++. The writing is on the wall: garbage collection is
    essential. Any C++ code will be support and legacy libraries.
    Well, I tend to agree that people are slowly oozing that way. I think that
    5 years is a bit to enthusiastic a prediction, though. What will happen is
    that C++ will gradually lose market share to other languages.
    - Microsoft is already implementing said strategy across all levels of the
    company today. Microsoft developers don't do much C++ development anymore.
    Various upcoming products are being written entirely in C#.
    Again, this is an overstatement. New products are being written in
    C#, older products are staying in C++, and some core operating system
    products likewise. I have a huge vision of the Windows kernel being
    written in C#, for example.
    - The "higher level language" playing field is crowded: C#, Java, Perl, and
    Python. Mainstream industry does not need and will not make room for 4
    higher level languages. Any of these languages has to grow at some other
    language's expense.
    You missed Ruby and TCL. Granted, TCL is probably only being held up
    by TK and Expect, though. Ruby is the one that's gaining fastest, and it has
    a number of interesting features that Guido would do well to think about.

    Perl, on the other hand, has this Perl 6 effort going on; in a couple of
    years
    its going to be a completely new language.
    - Python will never displace C# on Windows. It's Microsoft's home turf and
    you can't fight directly with The Beast. You will see UNIX boxes running
    Python, not Windows boxes. Duh.
    - Sun is about to die. It has done nothing for anyone lately and has no
    further tricks up its sleeve.
    Don't count the chickens until the fat lady sings.
    - Sun has failed to make Java live up to its claims of universality. Java
    is for all intents and purposes simply a widespread programming language,
    not a portable computing environment. Portable computing environments are,
    in general, a pipe dream as long as Microsoft is around. It will always be
    Windows vs. open standards.
    You're contradicting yourself. Python cannot be portable because Microsoft
    is around?
    - Java is proprietary. Python is open source. Open Source is the best shot
    that anyone has at competing with Windows.
    Duh? Again, the fat lady isn't even gargling in the wings on that one.
    - Perl is open source and sysadmins won't be giving it up any time soon.
    Perl is optimal for their jobs, the capabilities of Python are a non-sell.

    - Ergo, Java is the weakling of the litter for Python to attack.

    - Alternately, if you look at this in real world marketing terms, Python is
    the weakling of the litter that must defend itself. I know that will make
    various Python idealists upset, but that's the economic reality. Merit
    doesn't win in this game. Java is the next weakest langauge so that's whose
    lunch Python should try to eat.
    You forgot Ruby and TCL again.
    - No, this isn't the appraisal of a Microsoftie who wants to set Python and
    Java at each others' throats to conquer both. :-) I'm just offering a
    realistic picture of what your options are, if you don't want to become a
    "gee whiz, wasn't that nice!" technology. Like I said, I've lived through
    it already. Don't talk to me about merit carrying the day. Learn from
    history, or you are doomed to repeat it.
    There is a major divide between the statically typed languages and the
    dynamically typed languages. To sell Python, you need to make two
    points:

    1. Static typing does not do the job that its proponents claim for it
    well enough to be worth the extra development time it imposes, and

    2. Python is better for serious systems development than Perl,
    Ruby, TCL, etc.

    There are a number of people saying item 1, some rather
    vociferously, but there is a noticable lack of hard data on the
    issue. Regardless of the data, the arguement applies to C++,
    Java and C# equally: they all have the same fundamental
    approach to static typing.

    On number 2, I don't think there's any question about Python's
    general superiority to Perl and TCL for serious, large scale
    development work. Ruby, on the other hand, is a completely
    different question.

    So the basic conclusion is that Ruby is the enemy to be
    taken on, not Java.

    John Roth

    --
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
  • Roy Smith at Aug 17, 2003 at 12:22 am

    "John Roth" wrote:
    You missed Ruby and TCL. Granted, TCL is probably only being held up
    by TK and Expect, though.
    Don't kid yourself. I work on a commercial application which includes
    almost 20,000 lines of TCL, and not a single line of it is Tk or Expect.
    As an embedded scripting language, it fills a very nice niche.

    This particular collection of TCL code is the 3rd generation of
    scripting code for this application. The first generation was a huge
    shell script, which was quickly outgrown. The second generation was a
    home-brew language which was a complete failure. The third generation
    was embedding TCL, which was a roaring success.

    I've been known to mutter "TCL is a stupid language" more than a few
    times (typically during code reviews), but it does have a few things
    going for it. It's dead simple to learn, reasonably powerful, and it's
    trivial to imbed (simplier than Python).

    Still, for all that, I suspect it's a bit of an evolutionary dead end.
  • John Roth at Aug 17, 2003 at 11:59 am
    "Roy Smith" <roy at panix.com> wrote in message
    news:roy-E4E108.20220916082003 at reader1.panix.com...
    "John Roth" wrote:
    You missed Ruby and TCL. Granted, TCL is probably only being held up
    by TK and Expect, though.
    Don't kid yourself. I work on a commercial application which includes
    almost 20,000 lines of TCL, and not a single line of it is Tk or Expect.
    As an embedded scripting language, it fills a very nice niche.

    This particular collection of TCL code is the 3rd generation of
    scripting code for this application. The first generation was a huge
    shell script, which was quickly outgrown. The second generation was a
    home-brew language which was a complete failure. The third generation
    was embedding TCL, which was a roaring success.

    I've been known to mutter "TCL is a stupid language" more than a few
    times (typically during code reviews), but it does have a few things
    going for it. It's dead simple to learn, reasonably powerful, and it's
    trivial to imbed (simplier than Python).

    Still, for all that, I suspect it's a bit of an evolutionary dead end.
    I agree. There's a huge amount of intertia since, for many applications,
    there isn't a whole lot of difference between the four major scripting
    languages.

    John Roth
  • Michele Simionato at Aug 17, 2003 at 4:37 pm
    "John Roth" <newsgroups at jhrothjr.com> wrote in message news:<vjtfej59dnnv1f at news.supernews.com>...
    ... Ruby is the one that's gaining fastest, and it has
    a number of interesting features that Guido would do well to think about.
    Out of curiosity, which features are you referring to?


    Michele
  • John Roth at Aug 18, 2003 at 11:04 am
    "Michele Simionato" <mis6 at pitt.edu> wrote in message
    news:2259b0e2.0308170837.9bd5aeb at posting.google.com...
    "John Roth" <newsgroups at jhrothjr.com> wrote in message
    news:<vjtfej59dnnv1f at news.supernews.com>...
    ... Ruby is the one that's gaining fastest, and it has
    a number of interesting features that Guido would do well to think
    about.
    Out of curiosity, which features are you referring to?
    There's another thread started today where several of us have
    posted lists (among a whole lot of idiotic flaming, unfortunately.)
    Ruby solves a number of long-standing problems (and adds a number
    of it's own, of course - nothing's perfect.)

    John Roth

    Michele
  • Mike Margerum at Aug 19, 2003 at 4:17 pm
    C++ is dead? Better not tell that to the embedded/PDA/Phone world.
    Seems to be working really well there and thats where the growth is.
    Why do you think Sun is putting so much effort into J2ME?
  • John J. Lee at Aug 20, 2003 at 1:33 pm

    margerum at yahoo.com (Mike Margerum) writes:

    C++ is dead? Better not tell that to the embedded/PDA/Phone world.
    Seems to be working really well there and thats where the growth is.
    Why do you think Sun is putting so much effort into J2ME?
    Good point.

    Out of curiosity, much much memory / how fast are these devices?

    More interestingly, how long will it take for Moore's law to make C++
    more expensive overall than Python? Not long, I suspect.


    John

Related Discussions

People

Translate

site design / logo © 2022 Grokbase