FAQ
What can I do with Python that I can't do with C#?

I'm currently going up a learning curve about C# and .NET. I've avoided
"Microsoft stuff" for a rather long time, but there's this reality that I
currently live in Seattle. I need gigs, so swallowing C# and .NET is
currently the way to go. While swallowing, I've been surprised to find out
that on paper, C# and .NET look like well implemented systems. C# could be
glossed as "C++ without the headaches." I certainly don't care for the
headaches of C++, I've just spent most of the last 11 years avoiding them,
that's how I've gotten by. Also C#, like Python, has higher level data
types built right in. No more memory management, no more implementing
linked lists over and over again .NET Framework could be glossed as "an
interoperability environment for programming languages." So long as your
language looks a lot like C#. ;-)

Some open source projects are trying to clone .NET and provide a C#
compiler. So, C# may not remain a "Windows thing," although it will remain
driven by Microsoft. We'll have the age-old question, can open source keep
up with Microsoft, enough to be usable and of interest to people? Don't
really know at this point. But I do know, from reading the Linux
newsgroups, that Linux people have failed to provide "an interoperability
enviornment for programming languages." That's why some people are looking
to clone .NET. Microsoft is leading in this area.

So again my question is, language-wise, what can I get done with Python that
I can't get done with C#? What is easy to express in Python, that is
tedious, difficult, or impossible to express in C#?


--
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

  • Terry Reedy at Aug 10, 2003 at 12:50 am
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:3f357a9b at shknews01...
    What can I do with Python that I can't do with C#?
    Given that all Turing complete languages are theoretically equivalent,
    nothing, either way.

    But...
    So again my question is, language-wise, what can I get done with
    Python that
    I can't get done with C#?
    Same question, same answer. but...
    What is easy to express in Python, that is
    tedious, difficult, [or impossible] to express in C#?
    Different question, more realistic answer...

    I don't believe there are many C# experts who post here, so I'll share
    the teeny bit I know from other postings.

    The smart people who investigated integrating Python as a full-fledged
    .NET CLR language gave up because they found the [common intermediate
    language] to be unsuitable for Python. I believe it had to do with
    dynamic typing vs. C#, etc, static typing. So I speculate that
    generic programming (writing functions that work with any behaviorally
    compatible objects) is much easier in Python than C#.

    Maybe someone more knowledgable will chime in.

    Terry J. Reedy
  • Christopher Barber at Aug 11, 2003 at 4:33 pm

    "Terry Reedy" <tjreedy at udel.edu> writes:

    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:3f357a9b at shknews01...
    What can I do with Python that I can't do with C#?
    Given that all Turing complete languages are theoretically equivalent,
    nothing, either way.
    Turing equivalence is probably the least interesting property of any
    programming language and says absolutely nothing about its suitability for
    real programming tasks.
  • Harry George at Aug 11, 2003 at 7:07 pm

    Christopher Barber <cbarber at curl.com> writes:

    "Terry Reedy" <tjreedy at udel.edu> writes:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:3f357a9b at shknews01...
    What can I do with Python that I can't do with C#?
    Given that all Turing complete languages are theoretically equivalent,
    nothing, either way.
    Turing equivalence is probably the least interesting property of any
    programming language and says absolutely nothing about its suitability for
    real programming tasks.
    True, and that was probably why it was mentioned. Personally I make
    the same point by saying "Sure we could do it in XYZ language, but
    then we could also do it assembler. On the other hand, if you want it
    done on time, with the available resources, and a hope of maintaining
    it later, then look at Python."



    >

    --
    harry.g.george at boeing.com
    6-6M31 Knowledge Management
    Phone: (425) 342-5601
  • Terry Reedy at Aug 12, 2003 at 12:45 am
    "Christopher Barber" <cbarber at curl.com> wrote in message
    news:pso8yq0b1d3.fsf at bandit.curl.com...
    "Terry Reedy" <tjreedy at udel.edu> writes:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in
    message
    news:3f357a9b at shknews01...
    What can I do with Python that I can't do with C#?
    Given that all Turing complete languages are theoretically
    equivalent,
    nothing, either way.
    Turing equivalence is probably the least interesting property of any
    programming language and says absolutely nothing about its
    suitability for
    real programming tasks.
    Huh???
    This is a paraphrase of what I said. So why did you silently clip the
    remainder of my post where I went on to discuss practical suitability?

    Terry J. Reedy
  • Christopher Barber at Aug 13, 2003 at 10:34 pm

    "Terry Reedy" <tjreedy at udel.edu> writes:

    "Christopher Barber" <cbarber at curl.com> wrote in message
    news:pso8yq0b1d3.fsf at bandit.curl.com...
    "Terry Reedy" <tjreedy at udel.edu> writes:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in
    message
    news:3f357a9b at shknews01...
    What can I do with Python that I can't do with C#?
    Given that all Turing complete languages are theoretically
    equivalent,
    nothing, either way.
    Turing equivalence is probably the least interesting property of any
    programming language and says absolutely nothing about its
    suitability for
    real programming tasks.
    Huh???
    This is a paraphrase of what I said. So why did you silently clip the
    remainder of my post where I went on to discuss practical suitability?
    I quoted you verbatim, there is no paraphrasing here, although I did clip the
    rest of the article. I only meant to express the opinion that there is no
    point in ever bringing up Turing equivalance when comparing languages (unless
    of course they are not Turing equivalent!). Turing equivalence only addresses
    what computations you may perform, not what programs you may write.

    - Christopher
  • Brian Quinlan at Aug 10, 2003 at 2:30 am

    So again my question is, language-wise, what can I get done with Python
    that I can't get done with C#?
    Nothing, as both are Turing complete.
    What is easy to express in Python, that is tedious, difficult, or
    impossible to express in C#?
    1. the .NET class library is fairly robust but a lot of powerful types
    aren't available as literals in C# (or there literals have usage
    restrictions e.g. array literals are only available during variable
    initialization)
    2. the entire reflection API in .NET is painful to use and mainly
    provides
    features that are automatic in Python
    3. C# forces you to do a lot of type casting (for some reason it doesn't
    even allow covariant return types)
    4. forcing everything into a class is stupid e.g. does anyone really
    like
    writing Math.sin(x) over sin(x)?

    Sorry, no time for more; dinner time.

    Cheers,
    Brian
  • Daniel Klein at Aug 10, 2003 at 3:22 am

    On Sat, 9 Aug 2003 15:59:05 -0700, "Brandon J. Van Every" wrote:

    What can I do with Python that I can't do with C#?
    You can go home on time at the end of the day.

    Dan
  • Brandon J. Van Every at Aug 10, 2003 at 4:08 am

    Brian Quinlan wrote:
    4. forcing everything into a class is stupid e.g. does anyone really
    like writing Math.sin(x) over sin(x)?
    Although tacky at first glance, it's not entirely stupid. I've written
    many, many variations on sin(x) cos(x) because one often wants an efficient
    approximation for some algorithmically specific purpose. They all end up
    with slightly funny different names, so why not namespace 'em? And IIUC,
    you could simply write

    using Math

    and be done with the issue, I think.

    Can't respond to any of your other points, I haven't a clue, which is why I
    posted. :-) Thanks for the input.

    --
    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.
  • Brian Quinlan at Aug 10, 2003 at 5:51 am

    4. forcing everything into a class is stupid e.g. does anyone really
    like writing Math.sin(x) over sin(x)?
    Although tacky at first glance, it's not entirely stupid. I've written
    many, many variations on sin(x) cos(x) because one often wants an
    efficient approximation for some algorithmically specific purpose. They
    all end up with slightly funny different names, so why not namespace
    'em?

    Sure, putting everything in a namespace makes sense and, in C#,
    everything must be in a namespace (in .NET, Math is in the System
    namespace). So why force two levels of namespacing? You could have:

    System.sin() AND
    TableTrig.sin() AND
    CORDIC.sin()

    That is unambiguous without adding the extra level of indirection
    through a class name. The Python system is even more flexible:

    import math
    math.sin(1.0)

    OR:

    from math import sin
    sin(1.0)

    OR:

    from math import sin as msin
    from CORDIC import sin as csin
    import TableTrig

    msin(1.0)
    csin(1.0)
    TableTrig.sin(1.0)
    And IIUC, you could simply write

    using Math

    and be done with the issue, I think.
    Nope. The using statement is for namespaces not classes.

    Cheers,
    Brian
  • Hannu Kankaanpää at Aug 10, 2003 at 9:43 am
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<3f357a9b at shknews01>...
    So again my question is, language-wise, what can I get done with Python that
    I can't get done with C#? What is easy to express in Python, that is
    tedious, difficult, or impossible to express in C#?
    There aren't many single cases where Python can express things
    considerably better, but in general Python leads to about 50% of the code
    that you'd end up with in C# (actually, I've only had this experience
    when comparing to Java or C++, but C# is quite similar to Java).

    First, I'll give some of the real examples that can't be expressed
    in C#. I can make a memoize()-function in Python, that remembers
    what arguments were passed to a function and what the return value
    was, so calling again with the same arguments is but a simple
    hash table look-up.

    def fib(n):
    return n < 2 and 1 or fib(n - 1) + fib(n - 2)

    Everyone knows what kind of recursion nightmare that is. But
    let me add this line:

    fib = memoize(fib)

    Now fib() calculates fibonacchi numbers in linear time and
    for numbers that were already calculated, it's O(1) (average case,
    mind you. hashes can be slow when unlucky). I'm not an expert
    in C# but I still dare to say you can't make such a generic
    function as "memoize".

    Python has some other features not found in C# (AFAIK, once again)
    that can lead to considerably cleaner and shorter code. At least
    metaclasses and generators. With metaclasses you could e.g. make
    fully automatic class registration, so that each subclass won't
    need a piece of code to register itself. With generators you
    can make itearion over some complex system very simple, such
    as iterating through a directory and all it's subdirectories. In many
    other languages, this has to be done with cumbersome callbacks.

    Then there are the typical things that make Python code smaller,
    like dynamic types (no need for interface classes at all, or explicit
    declaration of types), list comprehensions, blocks indicated by
    indentation and multiple return values. So your whole program ends up
    being easy to express in Python, as compared to C#.
  • Michele Simionato at Aug 10, 2003 at 2:16 pm
    Brian Quinlan <brian at sweetapp.com> wrote in message news:<mailman.1060482616.14896.python-list at python.org>...
    4. forcing everything into a class is stupid e.g. does anyone really
    like
    writing Math.sin(x) over sin(x)?
    I always have thought that putting everything in classes was stupid
    from a boilerplate point of view; however, it is stupid even from an OOP
    point of view. Having the possibility of defining functions outside
    classes is quite useful, for instance in the implementation of multi-methods.
    Thinking that OOP means "everything is in a class" is a pretty naive
    point of view, IMHO. Also, I feel OOP in Java to be pretty weak as compared
    to Python (I am referring to multiple inheritance, metaclasses, etc). Dunno
    about C#, but I am assuming here that it is on the same foot as Java.
    Anyway, even if C# was better than Python (which I strongly doubt; if
    speed is a concern, notice that Python has Psyco, Pyrex, SWIG, Boost,
    etc. etc.) I would not waste my time in learning something which could
    disappear in few years (Microsoft's policy in supporting programming
    languages is well know).

    Just my $0.02,


    Michel
  • Brandon J. Van Every at Aug 10, 2003 at 8:55 pm

    Michele Simionato wrote:
    I would not waste my time in learning something which could
    disappear in few years (Microsoft's policy in supporting programming
    languages is well know).
    Microsoft does almost all of its internal development in C# now. It is not
    going away. C# is, essentially, the .NET Framework. The advantages of C#
    as an enterprise language over C++ are quite obvious, and of course
    Microsoft is going to use its homegrown, not Java.

    I think what C# has got going for it, is it's much better than C++ to work
    with, it's got mature tools support, and performance is claimed to be good
    as long as you don't create garbage collection hell. Comparing C++ to
    Python, Python has obvious higher level advantages. But comparing C# to
    Python, Python isn't much higher level than C#. They've got "similar
    stuff," with Python adding some exotic features. Python gets style points,
    but tools maturity, ubiquity, and future count for more than style points.

    I'm beginning to think that within 5 years, no new applications will be
    written in C++. People will still be using legacy C++ libraries, but all
    new development will be in higher level langauges. Java and C# are the
    obvious languages that are not going away. Python? What industrial entity
    is going to champion Python? It takes a Sun, a Microsoft, or overwhelming
    utility to push a language. For instance, Perl has become popular because
    it's overwhelmingly useful for sysadmin and web admin. But I am not seeing
    Python's overwhelming utility compared to other languages. You can do apps,
    you can do web admin, but most people are doing Java, C#, or Perl. And
    unlike C++ they aren't bad languages, so Python is not offering an obvious
    "slam dunk" remedy.

    --
    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.
  • Brian Quinlan at Aug 11, 2003 at 12:31 am
    Microsoft does almost all of its internal development in C# now.
    Do you have any basis for this claim? I would imagine that most of
    Microsoft's development effort goes into Office and Windows, and neither
    of those products currently use the .NET framework.
    It is not going away. I agree.
    C# is, essentially, the .NET Framework.
    Nope. That statement is as meaningless as "C++ is, essentially, the
    STL".
    But comparing C# to Python, Python isn't much higher level than C#.
    Yes it is. I find it odd that you claim to have very little knowledge of
    C# yet you make some very bold claims as to its characteristics
    (actually, IIRC, you have only made one specific claim about the
    semantics of the language and that was incorrect).
    They've got "similar stuff," with Python adding some exotic features.
    No, they don't have "similar stuff". C# is missing a lot of features
    with respect to Python. And Python has, at least for GUI programming, no
    equivalent to the .NET framework.
    Python gets style points, but tools maturity, ubiquity, and future
    count for more than style points.
    I wouldn't use the word "maturity" when discussing C# tools but the VS
    .NET IDE is quite impressive when it works correctly.

    I'm starting to think that you are trolling. Are you?

    Cheers,
    Brian
  • Istvan Albert at Aug 11, 2003 at 2:30 am

    Brandon J. Van Every wrote:

    For instance, Perl has become popular because
    it's overwhelmingly useful for sysadmin and web admin. But I am not seeing
    Python's overwhelming utility compared to other languages. You can do apps,
    you can do web admin, but most people are doing Java, C#, or Perl. And
    unlike C++ they aren't bad languages, so Python is not offering an obvious
    "slam dunk" remedy.
    As far as I'm concerned it does not have to be "slam dunk". Just a
    little better is enough, that goes a long way and adds up quickly in
    larger projects. That's why people use python, it is not a conspiracy
    nor a brainwashing that made it popular. For many tasks it works better
    than anything else out there.
    I'm beginning to think that within 5 years, no new applications
    will be written in C++.
    Most people get paid for what they get done today. Not in five years.
    So I wouldn't lose sleep yet.

    C# was created to counteract Java. Unlike Python it would die quickly
    if it weren't for the marketing muscle of Microsoft. So claiming as
    the holy grail seems a bit of a joke.

    Istvan.
  • Brandon J. Van Every at Aug 11, 2003 at 9:57 pm

    Istvan Albert wrote:
    Brandon J. Van Every wrote:
    For instance, Perl has become popular because
    it's overwhelmingly useful for sysadmin and web admin. But I am not
    seeing Python's overwhelming utility compared to other languages.
    You can do apps, you can do web admin, but most people are doing
    Java, C#, or Perl. And unlike C++ they aren't bad languages, so
    Python is not offering an obvious "slam dunk" remedy.
    As far as I'm concerned it does not have to be "slam dunk". Just a
    little better is enough, that goes a long way and adds up quickly in
    larger projects. That's why people use python, it is not a conspiracy
    nor a brainwashing that made it popular. For many tasks it works
    better than anything else out there.
    Right, but what if C# is "a little better" for tools integration and extant
    worker skills on the Windows platform? If it actually has its own class of
    noticeable improvements in that domain, plus Microsoft's marketing muscle
    behind it, then C# sweeps the table on Windows. Leaving Python to the UNIX
    world. And there, it comes down to whether Python or Java is the better
    tool for a particular job.
    C# was created to counteract Java. Unlike Python it would die quickly
    if it weren't for the marketing muscle of Microsoft.
    I am not convinced. As the books tell it, C# was created to take the best
    features of Java and some other languages. And as a dyed in the wool C++
    programmer, most of what I've learned about C# so far certainly looks like
    sanity. I am currently thinking of it as "C++ without the pain."
    So claiming as the holy grail seems a bit of a joke.
    It's not a holy grail. It is probably a better real world language product
    on the Windows platform. My question is about the strategic consequences of
    that likely fact. What's Python's strategic plan? Why is there going to be
    room for 4 "high level languages" in the future? Why are we going to need
    Java, C#, Perl, *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.
  • Doug Tolton at Aug 12, 2003 at 6:08 am

    On Mon, 11 Aug 2003 14:57:55 -0700, "Brandon J. Van Every" wrote:

    I am not convinced. As the books tell it, C# was created to take the best
    features of Java and some other languages. And as a dyed in the wool C++
    programmer, most of what I've learned about C# so far certainly looks like
    sanity. I am currently thinking of it as "C++ without the pain."
    It's amazing that you pass yourself off as an expert in C# when you
    are just reading the propaganda still. Come back and have this
    discussion when you have actual experience in C#.

    I've used C# full time for over two years. Finally I got disgusted
    with it and swtiched my entire company over to Python.
  • Erik Max Francis at Aug 12, 2003 at 7:26 am

    Doug Tolton wrote:

    It's amazing that you pass yourself off as an expert in C# when you
    are just reading the propaganda still. Come back and have this
    discussion when you have actual experience in C#.
    By the way, in case it wasn't obvious, there's no evidence he knows
    anything about Python, either. And with his continuing admissions that
    he doesn't know Standard C++ -- and seems staunchly unwilling to learn
    anything about it -- we arrive at the trifecta.

    --
    Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/
    __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
    / \ I will always remember / This moment
    \__/ Sade
  • Brandon J. Van Every at Aug 12, 2003 at 8:57 am

    Doug Tolton wrote:
    I've used C# full time for over two years. Finally I got disgusted
    with it and swtiched my entire company over to Python.

    Python:
    -Internally consistent, cleanly designed, to the point of being
    beautiful
    -Dynamic typing is amazing
    -First class functions (try mimicking that in C# - ha)
    -Tuple unpacking is a god send
    -List types are the cats meow
    -Dictionaries are blazingly fast
    -using metaclasses and the magic methods gives you amazing power and
    flexibility
    (this is just the beginning of a long list)
    In your "Python pros" list, you didn't name any kind of Windows system
    interface component at all. What kind of Python development on Windows are
    you actually doing?

    --
    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.
  • Peter Hansen at Aug 12, 2003 at 11:34 am

    "Brandon J. Van Every" wrote:
    Doug Tolton wrote:
    I've used C# full time for over two years. Finally I got disgusted
    with it and swtiched my entire company over to Python.

    Python:
    -Internally consistent, cleanly designed, to the point of being
    beautiful
    -Dynamic typing is amazing
    -First class functions (try mimicking that in C# - ha)
    -Tuple unpacking is a god send
    -List types are the cats meow
    -Dictionaries are blazingly fast
    -using metaclasses and the magic methods gives you amazing power and
    flexibility
    (this is just the beginning of a long list)
    In your "Python pros" list, you didn't name any kind of Windows system
    interface component at all. What kind of Python development on Windows are
    you actually doing?
    Use either ctypes or the win32all stuff... works nicely.
  • Joe Cheng at Aug 12, 2003 at 2:16 pm
    Hi Doug,

    I have no particular love for C#, but your criticism seems a little too
    harsh...
    I've used C# full time for over two years. Finally I got disgusted
    with it and swtiched my entire company over to Python.
    That must include plenty of time with the beta, then? Is that where most of
    your bad experiences with C# were encountered?
    From my experience I have found the following:
    -C# is buggy and inconsistent.
    I haven't seen this...
    -C# debugger is a piece of crap, the immediate window is worthless
    I've found the debugger (VS.NET, VS.NET 2003) to be easy to use, and work as
    expected. You can easily hook into existing processes, so you can for
    example debug client and server pieces from the same window. The main
    complaint you might have is a lack of "Edit & Continue" support. Is there
    something as good for Python? (an honest question)
    -C# Garbage Collection algorithm is worthless, essentially it never
    collects until it's way to late. By that time you are screwed.
    Can you elaborate? My understanding is that the CLR's GC is a quite
    sophisticated, performant, generational garbage collector. And if I'm not
    mistaken, interacts with the OS memory manager to vary its parameters
    depending on how much free memory is available system-wide.
    -C# static typing is a major pain in the ass, it causes far more bugs
    and errors than having loose types like C ever did.
    I've heard the argument that static typing slows down development, but
    actually *causing* bugs?? Over C-style typing!? I'd like to hear more.
    -The .net widgets are slow and *really* buggy. Events get lost, they
    choke are large volumes of text, and the drawing.dll just pukes on
    load randomly.
    OK, some of the widgets are slow and buggy... but I believe most of the few
    bugs I've encountered have been due to problems in the underlying native
    Win32 widgets. But I agree, this is an area where they could stand some
    improvement.
    -The lack of a multi-line string drives me bananas. Try building up a
    big HTML form using a string builder sometime.
    (this is just the beginning of a long list)
    I believe if you prepend the string with @, then multi-line strings are
    accepted. (However, you still need to \escape any literal double quotes.)
    They really need to add multi-line strings to Java... long SQL statements
    are also pretty annoying to concatenate, grrrr.
    Python:
    -Internally consistent, cleanly designed, to the point of being
    beautiful
    It is pretty nice.
    -Dynamic typing is amazing
    Sure, if that's what you're into...
    -First class functions (try mimicking that in C# - ha)
    Delegates get you a lot of what you need in C#. They are less convenient
    than fcfs in the same way that C# collections or arrays are less convenient
    than Python's (from a static/dynamic typing point of view). And C# will get
    anonymous delegates in the next version, which will be nice--a little bit
    like Ruby blocks.
    -Tuple unpacking is a god send
    -List types are the cats meow
    -Dictionaries are blazingly fast
    -using metaclasses and the magic methods gives you amazing power and
    flexibility
    Agreed, agreed, agreed, agreed. Working with collections in Python is a
    joy, and metaclasses and magic methods are things you simply can't get in
    C#. (Well, there are dynamic proxies... but it's definitely not the same)
    Overal C# is a buggy, slow, half implementation of Java. It's written
    by committe for people dumber than themselves. If you need to perform
    some function that pushes the limits of the language, it will either
    choke, or throw an error saying it was explicitly disallowed. It's
    painful attempting to write real world apps in C#.
    I've encountered more bugs in Java than C# (ok, I've worked a lot longer
    with Java...) and certainly would not call C# slow compared to Java. And
    it's *certainly* faster than Python, by 5-10x if I remember correctly
    (unless you count C... but then you could pull the same trick with C#).
    C#'s startup time compared to Java is nil, and the benchmarks between the
    two for sustained performance have been inconclusive from what I've seen.

    Certainly the designers of C# were designing for people dumber than
    themselves--that includes almost everyone else in the world. :) But I
    disagree with the lowest-common-denominator argument you're making. The
    same has been said of Java since its inception, yet Gosling insists at every
    turn that he designed the language so *he* could work faster and better. If
    anything, C# gives you more rope to hang yourself with than Java.
    When you can come back with some real world experience using some of
    these languages you are bashing then your opinion might mean
    something. Right now you are just spewing Microsoft hyperbole and
    propaganda.
    On the flip side, I think Python can stand on its own merits without needing
    its advocates to exaggerate the shortcomings of its competition--assuming
    that is what you're doing. If not, and you encountered the behavior you
    described above with a release version of .NET, I (and a whole legion of
    rabid Java coders on TheServerSide.com) would love to hear about it...

    Please take this post in the spirit in which it was intended--I want only to
    balance your unrestrained criticism of C# from the perspective of one who
    has had a pretty OK experience with it, not take anything away from Python.
    And again, C# is not my favorite language--not even over Java.
  • David M. Cook at Aug 11, 2003 at 8:18 am

    In article <3f36af20 at shknews01>, Brandon J. Van Every wrote:

    I'm beginning to think that within 5 years, no new applications will be
    written in C++. People will still be using legacy C++ libraries, but all
    new development will be in higher level langauges. Java and C# are the
    obvious languages that are not going away. Python? What industrial entity
    is going to champion Python? It takes a Sun, a Microsoft, or overwhelming
    I read all the way to this point in the thread before wrinkling my nose and
    looking at the From: line, and then chuckled when I saw the name. Van Every
    does it again! What an obnoxious know-nothing twit! But the jokes on me
    for wasting my time with his self-important blather.

    Dave Cook
  • Michele Simionato at Aug 11, 2003 at 12:33 pm
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<3f36af20 at shknews01>...
    I'm beginning to think that within 5 years, no new applications will be
    written in C++.
    ?? Are you joking or what ?? Did you learn anything from Fortran lesson?
    Or from Lisp? Programming languages *never* die!
    Python? What industrial entity
    is going to champion Python? It takes a Sun, a Microsoft, or overwhelming
    utility to push a language.
    You said it well: to "push" a language.
    Python relies on his own strenght only. No help from anybody.
    Nevertheless, it is still there after 13 years. You should
    think about it.
    And I don't see why it should not have a future longer than C#.

    It is just a matter of patience: let us wait and see ;)


    M.S.
  • Brandon J. Van Every at Aug 11, 2003 at 9:59 pm

    Michele Simionato wrote:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:<3f36af20 at shknews01>...
    I'm beginning to think that within 5 years, no new applications will
    be
    written in C++.
    ?? Are you joking or what ?? Did you learn anything from Fortran
    lesson? Or from Lisp? Programming languages *never* die!
    Ok, "no" new applications may be a bit strong. There will always be
    hobbyists and cranks.


    --
    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.
  • Cliff Wells at Aug 12, 2003 at 5:58 pm

    On Mon, 2003-08-11 at 14:59, Brandon J. Van Every wrote:
    Michele Simionato wrote:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:<3f36af20 at shknews01>...
    I'm beginning to think that within 5 years, no new applications will
    be
    written in C++.
    ?? Are you joking or what ?? Did you learn anything from Fortran
    lesson? Or from Lisp? Programming languages *never* die!
    Ok, "no" new applications may be a bit strong. There will always be
    hobbyists and cranks.
    And which group do you fall under?
    20% of the world is real.
    80% is gobbledygook we make up inside our own heads.
    Living up to your sig'ly yrs,

    --
    Cliff Wells, Software Engineer
    Logiplex Corporation (www.logiplex.net)
    (503) 978-6726 (800) 735-0555
  • Doug Tolton at Aug 12, 2003 at 5:55 am

    On 11 Aug 2003 05:33:38 -0700, mis6 at pitt.edu (Michele Simionato) wrote:

    ?? Are you joking or what ?? Did you learn anything from Fortran lesson?
    Or from Lisp? Programming languages *never* die!
    Hey, watch the Lisp cracks!! :-P

    Seriously Lisp is the Mother of all programming languages. So much of
    the features that are being implemented today come from Lisp it's not
    even funny. If you want to see what they are, take a gander at Paul
    Graham's website:
    www.paulgraham.com

    Lisp seriously is my favorite language. It's still got quite a few
    features that other lesser languages are working on implementing.
  • Michele Simionato at Aug 12, 2003 at 1:35 pm
    Doug Tolton <dtolton at yahoo.com> wrote in message news:<070hjvou8s33gvmom1t45t3avlkhudsstn at 4ax.com>...
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    news:<3f36af20 at shknews01>...
    I'm beginning to think that within 5 years, no new applications will
    be
    written in C++.
    On 11 Aug 2003 05:33:38 -0700, mis6 at pitt.edu (Michele Simionato)
    wrote:
    ?? Are you joking or what ?? Did you learn anything from Fortran lesson?
    Or from Lisp? Programming languages *never* die!
    Hey, watch the Lisp cracks!! :-P

    Seriously Lisp is the Mother of all programming languages. So much of
    the features that are being implemented today come from Lisp it's not
    even funny. If you want to see what they are, take a gander at Paul
    Graham's website:
    www.paulgraham.com

    Lisp seriously is my favorite language. It's still got quite a few
    features that other lesser languages are working on implementing.
    I cited Fortran and Lisp because they are the oldest programming
    languages and they are still used. Of course, not by everybody.
    Only be the "hobbyists and cranks" according to Brandon van Every's
    terminology. Strangely enough, the "hobbyists and cranks" category
    includes most of the academical world.
    Fortran is still *very* hard to beat in its domain of application,
    number crunching, and its library support is simply incredible. It will
    never die (even if I see a definite trend in converting Fortran
    applications to C++, at least in my domain of expertise, High Energy
    Physics). About Lisp, it is simply the most powerful language ever
    invented for abstract thinking. It will never die, too.
    Nevertheless, I would use Scheme, not Lisp, if I had to choose. But
    I don't have to choose, since Python does already everything I
    want ;)


    Michele
  • Aahz at Aug 12, 2003 at 2:42 pm
    In article <070hjvou8s33gvmom1t45t3avlkhudsstn at 4ax.com>,
    Doug Tolton wrote:
    Hey, watch the Lisp cracks!! :-P

    Seriously Lisp is the Mother of all programming languages. So much of
    the features that are being implemented today come from Lisp it's not
    even funny. If you want to see what they are, take a gander at Paul
    Graham's website:
    www.paulgraham.com
    Paul Graham was the keynote speak for PyCon DC 2003.
    --
    Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

    This is Python. We don't care much about theory, except where it intersects
    with useful practice. --Aahz
  • Doug Tolton at Aug 13, 2003 at 1:12 am

    On 12 Aug 2003 10:42:21 -0400, aahz at pythoncraft.com (Aahz) wrote:
    Paul Graham was the keynote speak for PyCon DC 2003.
    This statement on Paul Graham's web site is what got me using Python:


    <excerpt from the Lisp FAQ at: http://paulgraham.com/lispfaq1.html>
    I like Lisp but my company won't let me use it. What should I do?

    Try to get them to let you use Python. Often when your employer won't
    let you use Lisp it's because (whatever the official reason) the guy
    in charge of your department is afraid of the way Lisp source code
    looks. Python looks like an ordinary dumb language, but semantically
    it has a lot in common with Lisp, and has been getting closer to Lisp
    over time.
    </excerpt>
  • Aahz at Aug 13, 2003 at 3:01 am
    In article <934jjvkd3ss4c2lbcovjhnlaqqjjukq8jr at 4ax.com>,
    Doug Tolton wrote:
    On 12 Aug 2003 10:42:21 -0400, aahz at pythoncraft.com (Aahz) wrote:

    Paul Graham was the keynote speak for PyCon DC 2003.
    This statement on Paul Graham's web site is what got me using Python:

    <excerpt from the Lisp FAQ at: http://paulgraham.com/lispfaq1.html>
    I like Lisp but my company won't let me use it. What should I do?

    Try to get them to let you use Python. Often when your employer won't
    let you use Lisp it's because (whatever the official reason) the guy
    in charge of your department is afraid of the way Lisp source code
    looks. Python looks like an ordinary dumb language, but semantically
    it has a lot in common with Lisp, and has been getting closer to Lisp
    over time.
    </excerpt>
    Cool! There's one critical difference in the semantics of Python (lack
    of macros), but that's precisely to enforce the simplicity and clarity
    of Python's syntax.
    --
    Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

    This is Python. We don't care much about theory, except where it intersects
    with useful practice. --Aahz
  • Cliff Wells at Aug 12, 2003 at 5:55 pm

    On Sun, 2003-08-10 at 13:55, Brandon J. Van Every wrote:
    Microsoft does almost all of its internal development in C# now. It is not
    going away.
    Using QBasic to develop the POSIX layer for Windows NT didn't stop that
    language from disappearing ;)
    I'm beginning to think that within 5 years, no new applications will be
    written in C++. People will still be using legacy C++ libraries, but all
    new development will be in higher level langauges.
    As much as I'd like to see that, I'm choking on my coffee. You are
    obviously painfully new to this industry.
    Java and C# are the obvious languages that are not going away.
    Python? What industrial entity is going to champion Python?
    Perhaps people who think for themselves and simply choose the best tool
    don't need shiny brochures and a pat on the back from a salesman to feel
    they've made a good choice.
    It takes a Sun, a Microsoft, or overwhelming utility to push a
    language. For instance, Perl has become popular because
    it's overwhelmingly useful for sysadmin and web admin.
    So it takes marketing or usefulness for a language to be adopted?
    Versus what? A mackerel and a tennis racket? Do you work for Gartner?
    Most people look at things like past growth and market size to predict
    future growth for a product. You're starting to sound like your
    research was done on page 3 of PC Magazine.

    If you think it takes major marketing to push a language, let me ask you
    this: what are you doing on this list? No, really. You couldn't
    possibly have discovered Python without a major corporate advertising
    campaign, so how did you find your way here? It seems almost...
    contradictory.
    But I am not seeing Python's overwhelming utility compared to other languages.
    Then perhaps you should spend less time trolling the newsgroups and more
    time programming.
    You can do apps, you can do web admin, but most people are doing Java, C#, or Perl. And
    unlike C++ they aren't bad languages, so Python is not offering an obvious "slam dunk" remedy.
    Perl isn't a bad language? Perl is a terrific tool but a terrible
    language. I could go on, but I think your own statements sum up your
    abilities to make any sort of qualitative judgement regarding
    programming languages. No wonder you chose C++.


    Regards,

    --
    Cliff Wells, Software Engineer
    Logiplex Corporation (www.logiplex.net)
    (503) 978-6726 (800) 735-0555
  • Brandon J. Van Every at Aug 12, 2003 at 6:52 pm

    Cliff Wells wrote:
    On Sun, 2003-08-10 at 13:55, Brandon J. Van Every wrote:

    Java and C# are the obvious languages that are not going away.
    Python? What industrial entity is going to champion Python?
    Perhaps people who think for themselves and simply choose the best
    tool
    don't need shiny brochures and a pat on the back from a salesman to
    feel they've made a good choice.
    If I had coffee, I'd be the one choking on it.
    You're starting to sound like your
    research was done on page 3 of PC Magazine.
    And how many corporate managers do you think do exactly that?
    If you think it takes major marketing to push a language, let me ask
    you
    this: what are you doing on this list? No, really. You couldn't
    possibly have discovered Python without a major corporate advertising
    campaign, so how did you find your way here? It seems almost...
    contradictory.
    Python is known in the game industry. There's a steady trickle of
    programmers who extol its virtues. Unlike certain advocates in c.l.p, they
    give both sides of the story. A GDC 2002 speaker will not irresponsibly
    sell you on merits, without commenting on integration issues with C++ and
    the debugger environment. Humongous Entertainment, for instance, "solved"
    problems of this sort by writing an open source debugger. Also, the
    companies using Python seem to be writing 2D adventure games (low
    performance app) and scripts for Massively Multiplayer Online Games (stuff
    is gonna get scripted in something). Not 3D engines.

    In my case, I thought I needed a scripting language for user AI extensions
    in my game. I had absolutely no interest in inventing a scripting language,
    so I surveyed all available scripting languages for their merits and
    demerits. Python emerged as the one with the best features, the simplest
    syntax, and most importantly the best community support. The downside
    appeared to be performance. But overall, it looked like the best fit to the
    problem.

    As it turned out, the problem went away. Looking closer and closer at the
    AI problems, I had serious reservations that any casual hobby programmer
    could handle low level AI problems without serious brainpower and hard work.
    There was no point in providing the service if few to no people would use it
    in practice. I decided that I should do the low level AI stuff in whatever
    langauge was appropriate, probably C++. Once I had a more stable, high
    level API for what I was doing, then worry about user AI. So now I had no
    immediate reason to use Python.

    Looking for reasons why I might still use Python, I examined 2D + 3D GUI
    problems. Could I get cross-platform widgets that could be skinned for game
    development and would run on any platform? Would they integrate well with
    my 3D code? I found at least one project along those lines, but as a
    sideshow project without a lot of industrial testing, I wasn't willing to
    make a big learning curve committment just over that. It didn't look "prime
    time" and the whole point of switching to Python is to save work, not create
    it. So I put that idea on the backburner.

    More recently I've realized what a chore C++ is, and how it limits my
    development. I hate the look of STL, I"ve always avoided it, and I could
    really use lists, collections, dictionaries, etc. for some problems. I've
    never done much memory management, but even the tiny amount that I have done
    tends to be tedious. So recently I started considering the advantages of
    higher level languages.

    Available were: Python, Java, C#. They can all do the "higher level
    language" job, but C# currently has slam dunk advantages on the Windows
    platform. It's pretty much a no-brainer for a Windows developer who's been
    doing lotsa C++ but is tired of it.
    But I am not seeing Python's overwhelming utility compared to other
    languages.
    Then perhaps you should spend less time trolling the newsgroups and
    more time programming.
    Perhaps you should spend more time programming on Windows.
    Perl isn't a bad language? Perl is a terrific tool but a terrible
    language. I could go on, but I think your own statements sum up your
    abilities to make any sort of qualitative judgement regarding
    programming languages. No wonder you chose C++.
    Please notice my e-mail address as to what kinds of tasks have been
    historically most important to me. If you don't see why C++ is a better fit
    to low-level 3D graphics problems than Python, well....

    --
    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.
  • Cliff Wells at Aug 12, 2003 at 10:21 pm

    On Tue, 2003-08-12 at 11:52, Brandon J. Van Every wrote:
    Cliff Wells wrote:
    On Sun, 2003-08-10 at 13:55, Brandon J. Van Every wrote:

    Java and C# are the obvious languages that are not going away.
    Python? What industrial entity is going to champion Python?
    Perhaps people who think for themselves and simply choose the best
    tool
    don't need shiny brochures and a pat on the back from a salesman to
    feel they've made a good choice.
    If I had coffee, I'd be the one choking on it.
    Would it stop you from typing if you were?
    You're starting to sound like your
    research was done on page 3 of PC Magazine.
    And how many corporate managers do you think do exactly that?
    What difference does that make to me (or you)? If a corporate manager
    tells you to develop your 3D renderer in Python, does that make it a
    good choice? Would you go ahead and do it, knowing that failure is
    practically guaranteed, or would you instead try to change their mind
    based upon the actual merits of the respective tools and maybe try to
    find another job if you couldn't?
    If you think it takes major marketing to push a language, let me ask
    you
    this: what are you doing on this list? No, really. You couldn't
    possibly have discovered Python without a major corporate advertising
    campaign, so how did you find your way here? It seems almost...
    contradictory.
    Python is known in the game industry. There's a steady trickle of
    programmers who extol its virtues. Unlike certain advocates in c.l.p, they
    give both sides of the story.
    And this would mean a lot more to me than some corporation telling me
    their latest product will solve all my programming problems on every
    platform. I would think the Java hype would have taught everyone a
    lesson about this. I'm not sure what the other side of the story is, in
    this case. Obviously Python is not well-suited for all problems. It's
    probably better suited than C# for most things. If I were going to use
    C#, I'd use C instead. To me, C# combines all the faults of an
    interpreted language with all the faults of a compiled language. There
    is always a balance to be made between sacrificing one feature to gain
    others. Python sacrifices speed for flexibility, ease of use and true
    cross-platform functionality. C sacrifices those things for speed and
    being close to the metal. If Python were weaker in one of those areas,
    then the tradeoff might not be worth it. C# is the biblical lukewarm
    spew. It's neither as fast as C nor as flexible as Python.
    A GDC 2002 speaker will not irresponsibly
    sell you on merits, without commenting on integration issues with C++ and
    the debugger environment. Humongous Entertainment, for instance, "solved"
    problems of this sort by writing an open source debugger.
    Why is "solved" in quotes? Isn't this the nature of open source
    development? If something you need doesn't exist, you write it. What's
    the problem?
    Also, the
    companies using Python seem to be writing 2D adventure games (low
    performance app) and scripts for Massively Multiplayer Online Games (stuff
    is gonna get scripted in something). Not 3D engines.
    <Gasp> So you would recommend C# or Perl instead?
    In my case, I thought I needed a scripting language for user AI extensions
    in my game. I had absolutely no interest in inventing a scripting language,
    so I surveyed all available scripting languages for their merits and
    demerits. Python emerged as the one with the best features, the simplest
    syntax, and most importantly the best community support. The downside
    appeared to be performance. But overall, it looked like the best fit to the
    problem.
    Then what's the problem?
    As it turned out, the problem went away. Looking closer and closer at the
    AI problems, I had serious reservations that any casual hobby programmer
    could handle low level AI problems without serious brainpower and hard work.
    Again I'm stunned <wink>
    There was no point in providing the service if few to no people would use it
    in practice. I decided that I should do the low level AI stuff in whatever
    langauge was appropriate, probably C++. Once I had a more stable, high
    level API for what I was doing, then worry about user AI. So now I had no
    immediate reason to use Python.
    Seems fair.
    Looking for reasons why I might still use Python, I examined 2D + 3D GUI
    problems.
    Perhaps this is the crux of the problem. Looking for a problem so you
    can use a particular tool. Doesn't that seems a bit, um... backwards
    to you?
    Could I get cross-platform widgets that could be skinned for game
    development and would run on any platform? Would they integrate well with
    my 3D code? I found at least one project along those lines, but as a
    sideshow project without a lot of industrial testing, I wasn't willing to
    make a big learning curve committment just over that. It didn't look "prime
    time" and the whole point of switching to Python is to save work, not create
    it. So I put that idea on the backburner.

    More recently I've realized what a chore C++ is, and how it limits my
    development. I hate the look of STL, I"ve always avoided it, and I could
    really use lists, collections, dictionaries, etc. for some problems. I've
    never done much memory management, but even the tiny amount that I have done
    tends to be tedious. So recently I started considering the advantages of
    higher level languages.
    As do most people, at one point or another.
    Available were: Python, Java, C#. They can all do the "higher level
    language" job, but C# currently has slam dunk advantages on the Windows
    platform. It's pretty much a no-brainer for a Windows developer who's been
    doing lotsa C++ but is tired of it.
    Sort of like Visual Basic was a few years ago. I'll leave it open to
    speculation whether C# has "slam-dunk" advantages anywhere, but you've
    raised another question: Why, two paragraphs ago, were you looking for
    "cross-platform" tools, and now it's all about Windows? Are you even
    sure what your goal is? Do you want cross-platform? Then C# probably
    won't be the answer. Yes, I'm aware of Mono. I'm also aware of how MS
    strives to create incompatibilities in cross-platform tools. That makes
    it a probable slam-dunk right in the toilet as far as I'm concerned.
    But I am not seeing Python's overwhelming utility compared to other
    languages.
    Then perhaps you should spend less time trolling the newsgroups and
    more time programming.
    Perhaps you should spend more time programming on Windows.
    And perhaps you should procreate with a lawnmower ;) You see, this is
    probably what differentiates us right here. I enjoy programming and
    don't see any reason to torture myself with subpar tools. Besides, I
    don't see what programming on Windows has to do with Python's utility as
    a programming language. If you're referring to the ability to interact
    with the Win32 API then there is Mark Hammond's win32all package which
    seems to do the job quite well.
    Perl isn't a bad language? Perl is a terrific tool but a terrible
    language. I could go on, but I think your own statements sum up your
    abilities to make any sort of qualitative judgement regarding
    programming languages. No wonder you chose C++.
    Please notice my e-mail address as to what kinds of tasks have been
    historically most important to me. If you don't see why C++ is a better fit
    to low-level 3D graphics problems than Python, well....
    Again, I'm stunned. A static compiled language is better than a dynamic
    interpreted one for CPU-intensive tasks? Anyway, that was more of a
    poke at your apparent fondness for screwed-up languages.

    The reason you've raised my ire is that you clearly aren't too familiar
    with either Python or C# yet seem to want to argue about the merits of
    both with people who are clearly more knowledgeable about them than you
    are. That to me is just plain silly. If you want to know which tool is
    best for the job, it's fine to ask somebody who knows. If you don't
    believe them, try it yourself. But please don't *argue* with them.

    You also made some clearly speculative statements yet forwarded them as
    if they were foregone conclusions (we should all just throw in our hats
    and do C# on Windows, apparently). People like you were telling me that
    Linux was a "hacker's OS" in '94 and would never make it in production
    environments. I obviously should have listened <wink>.


    Regards,

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

    On Tue, 2003-08-12 at 14:21, Patrick Useldinger wrote:
    Brandon J. Van Every wrote:
    [...]
    Some time ago, you started a similar discussion on C++ vs. Python. You
    pretended to be just as objective, and you turned out to be just as
    decided as you are now (funny, isn't it ?).

    So what the heck is the purpose? I cannot help but think that you are
    just bored. Maybe 3D-programming isn't that interesting after all ...
    Apparently, it's just a way to establish some platform of credibility
    with which to launch ridiculous tirades from.

    Ooh. That might be an idea for a new 3D shooter <wink>

    --
    Cliff Wells, Software Engineer
    Logiplex Corporation (www.logiplex.net)
    (503) 978-6726 (800) 735-0555
  • Tom at Aug 13, 2003 at 3:45 am
    Patrick Useldinger <pu> wrote in message news:<3f3959e3_1 at news.vo.lu>...
    Brandon J. Van Every wrote:
    [...]
    Some time ago, you started a similar discussion on C++ vs. Python. You
    pretended to be just as objective, and you turned out to be just as
    decided as you are now (funny, isn't it ?).

    So what the heck is the purpose? I cannot help but think that you are
    just bored. Maybe 3D-programming isn't that interesting after all ...

    -Patrick

    Quite right, Patrick. For anyone who hasn't seen the old C++ threads
    and might still think that Mr. Van Avery is a non-Troll, please do a
    search, read his old C++ stuff and make your own judgement. I think
    it's a 'slam-dunk'.

    The only reason I have bothered posting about this is that I think
    valuable c.l.p. cycles are being wasted and the generosity and
    open-mindedness of the c.l.p. community are being taken advantage of
    by someone who appears to be, as Patrick noted, "just bored".

    Sorry to be harsh, Mr. Van Avery. I have a suggestion, though. I
    think you've chosen the wrong group to play in. I think you should
    read a book about Lisp (maybe even two) and then share your thoughts
    with the comp.lang.lisp folks. Lisp is a really neat language (not
    sure but maybe there's a Lisp.NET to explore!!!) and the c.l.l. folks
    will be really interested in your insights. I think you and Erik will
    hit it off big time.

    End of rant. Don't feed trolls.
  • Erik Max Francis at Aug 13, 2003 at 4:03 am

    Tom wrote:

    Sorry to be harsh, Mr. Van Avery.
    Thing is, I doubt that Van Every is consciously trolling. He's just
    behaving like he always behaves. It shouldn't be any surprise that he
    has had similar exchanges in practically every newsgroup he's ever
    visited. Though I don't think he's consciously trolling, it seems that
    practically no one who encounters him randomly on Usenet doesn't
    conclude that he's _not_ trolling. That this drama has repeated itself
    over and over again on Usenet everytime he pokes his head into a new
    newsgroup should at the very least have raised a red flag in his mind by
    now. But it hasn't. I wonder why.

    However, although I don't think that he would honestly considering
    himself trolling, it hardly matters much. If most people you encounter
    think that you're trolling, your protests to the contrary won't convince
    them otherwise, and shouldn't. If it looks like a duck and quacks like
    a duck, it starts not to matter if it's really a goose.
    I have a suggestion, though. I
    think you've chosen the wrong group to play in. I think you should
    read a book about Lisp (maybe even two) and then share your thoughts
    with the comp.lang.lisp folks. Lisp is a really neat language (not
    sure but maybe there's a Lisp.NET to explore!!!) and the c.l.l. folks
    will be really interested in your insights. I think you and Erik will
    hit it off big time.
    He's probably going to think you're talking about me, rather than Erik
    Naggum :-).

    --
    Erik Max Francis && max at alcyone.com && http://www.alcyone.com/max/
    __ San Jose, CA, USA && 37 20 N 121 53 W && &tSftDotIotE
    / \ He who conceals his disease cannot expect to be cured.
    \__/ (an Ethiopian proverb)
  • Fredrik Lundh at Aug 13, 2003 at 8:26 am

    Erik Max Francis wrote:

    He's probably going to think you're talking about me, rather than Erik
    Naggum :-).
    is naggum still posting to the net?

    </F>
  • A.M. Kuchling at Aug 13, 2003 at 12:24 pm

    On Wed, 13 Aug 2003 10:26:10 +0200, Fredrik Lundh wrote:
    is naggum still posting to the net?
    The most recent Google Groups posting for him is Jan. 13 2003.
    comp.lang.lisp has since settled down into discussion that are <shock,
    horror> mostly about Lisp, not about newsgroup etiquette, Scheme/Lisp
    flamewars, and personal attacks.

    --amk (www.amk.ca)
    It serves the purpose of not serving a purpose, surely quite a valid one.
    -- Peter Greenaway, in an interview in _Artforum_, Nov. 83
  • Tom at Aug 13, 2003 at 5:05 pm
    "A.M. Kuchling" <amk at amk.ca> wrote in message news:<dZydnSpqtad2sKeiRTvUrg at speakeasy.net>...
    On Wed, 13 Aug 2003 10:26:10 +0200,
    Fredrik Lundh wrote:
    is naggum still posting to the net?
    The most recent Google Groups posting for him is Jan. 13 2003.
    comp.lang.lisp has since settled down into discussion that are <shock,
    horror> mostly about Lisp, not about newsgroup etiquette, Scheme/Lisp
    flamewars, and personal attacks.
    That's great news. I haven't checked c.l.l. for several months.
    Didn't think such a complete turnaround was possible. Sounds like
    this is no longer the best spot for Mr. Van Avery.
  • Doug Tolton at Aug 13, 2003 at 7:00 am

    On 12 Aug 2003 20:45:52 -0700, nonotreally999 at yahoo.com (Tom) wrote:

    I think you should
    read a book about Lisp (maybe even two) and then share your thoughts
    with the comp.lang.lisp folks. Lisp is a really neat language (not
    sure but maybe there's a Lisp.NET to explore!!!) and the c.l.l. folks
    will be really interested in your insights. I think you and Erik will
    hit it off big time.

    Ack, we already have one troll on c.l.l. I don't think we need
    another one. Although I think "Vain" Every is more of a troll than
    Yaas.

    c.l.l. seems to be lower volume that c.l.p., but those dudes are hella
    smart. These are the only two groups I actively watch.

    I honestly don't think "Vain" Every would ever be able to understand
    Lisp, even if he read ten books. He can't even grasp the simple truth
    behind open source. The beauty and power of Lisp are far beyond his
    reach I suspect.

    Doug Tolton
  • Chad Netzer at Aug 13, 2003 at 7:50 am

    On Wed, 2003-08-13 at 00:00, Doug Tolton wrote:

    I honestly don't think "Vain" Every would ever be able to understand
    Lisp, even if he read ten books.
    Battle not with trolls, lest ye become a troll.

    --
    Chad Netzer
  • Rune Braathen at Aug 13, 2003 at 9:30 am
    Brandon J. Van Every wrote:

    ( ... )
    I decided that I should do the low level AI stuff in whatever
    langauge was appropriate, probably C++. Once I had a more stable, high
    level API for what I was doing, then worry about user AI. So now I had no
    immediate reason to use Python.
    Aha, this explains why you have so much time for usenet; you are
    rebuilding all the time.

    --
    runeb
  • Simon Bayling at Aug 10, 2003 at 5:28 pm
    The interactive interpreter.
    for i in range(10):
    print i, i**i

    Allows for some very quick testing and exploring, even moreso when
    combined with dir(object).

    Tuples.
    def minmax(L):
    return min(L), max(L)
    a, b = test([4,3,1,2])
    a, b
    (1, 4)
    test("bca")
    ('a', 'c')

    A quick way to return multiple values from a function without needing to
    use 'out' or explicitly put everything into an arraylist and take it out
    again.

    Lowered finger-typing - minmax() works on lists, tuples, and strings
    without needing to make:
    minmax(string s)
    minmax(list l)
    minmax(tuple t)

    overloads.

    Mixed type collections.
    L = [] # make an empty list
    L.append("1")
    L.append(1)
    for item in L:
    print type(item)

    <type 'str'>
    <type 'int'>

    In C#, (I think), everything that goes into a collection is cast to
    object, and when it comes out you have to know what type you are
    expecting and cast it back.

    Nothing amazing to beat C# with, just some nice points, like C# has very
    good database interfacing and (x ? a:b) support...

    Cheers,
    Simon.

    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in
    news:3f357a9b at shknews01:
    So again my question is, language-wise, what can I get done with
    Python that I can't get done with C#? What is easy to express in
    Python, that is tedious, difficult, or impossible to express in C#?
  • Eltronic at Aug 10, 2003 at 7:38 pm

    On Sat, 9 Aug 2003 21:08:16 -0700 "Brandon J. Van Every" <vanevery at 3DProgrammer.com> writes:

    Can't respond to any of your other points, I haven't a clue,
    this reminds me of that phrase I wont attribute properly
    nor remember exactly but,
    "one definition of insanity is asking the same question and expecting
    a different answer."
    another definition is responding to the same poster and expecting them to
    suddenly see the light, in spite of the relative ease and speed
    improvements since v2.2 when we first entered this void.
    bug fixes aside, the arguments then were convincing to use as much python
    as humanly possible and reap the benefits in time saved.
    even if you would then take the prototype and convert into
    (c,c++,c#,lisp,*), which you will almost never have to do.
    unless you first optimize then design then reject before profile.
    normally one designs and tests, maybe profile to reveal slow parts.
    easily calling a wrapped 3rd party lib or optomizing.

    the google and ASPN c.l.p archive is a valuable resource for posters and
    responders alike. if only they could be automatically consulted and a
    summary appended to each email.
    we would not be disappointed in this case to notice past attempts by some
    of the c.l.p luminaries who are now avoiding this subject or have
    killfiled early on the quite brite dare I say the word,
    '3D troll'.

    C hasn't changed that much and python is only getting tighter.
    admit it, you now love python, psyco, pyrex & indentation.
    and you lurk in the hope of convincing yourself of the facts.

    apology to anyone truly wanting C# or .NET integration.
    is it any surprize that it will be difficult or impossible?
    huge gratitude to those working on the corner cases in antique languages
    and environments to make python less constricting.

    ________________________________________________________________
    The best thing to hit the internet in years - Juno SpeedBand!
    Surf the web up to FIVE TIMES FASTER!
    Only $14.95/ month - visit www.juno.com to sign up today!
  • Samuel Barber at Aug 10, 2003 at 8:23 pm
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message news:<3f357a9b at shknews01>...
    C# could be glossed as "C++ without the headaches."
    C# is derived from Java. "Java with pointers (and other stuff)" would
    be one way of putting it.
    Also C#, like Python, has higher level data
    types built right in.
    It does not. Hash tables, expandable arrays, etc. are provided by the
    standard library.

    Sam
  • Brandon J. Van Every at Aug 11, 2003 at 5:24 am

    Samuel Barber wrote:
    "Brandon J. Van Every" <vanevery at 3DProgrammer.com> wrote in message
    Also C#, like Python, has higher level data types built right in.
    It does not. Hash tables, expandable arrays, etc. are provided by the
    standard library.
    Ok... does this make a big difference, or any difference, in practice? Is
    there something ugly or bad about the C# standard library? I've avoided C++
    STL for years....

    --
    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.
  • Simon Wittber (Maptek) at Aug 11, 2003 at 1:38 am
    I'm starting to think that you are trolling. Are you?
    Hi Brian,

    You should never insinuate that Brandon is a troll, unless you are
    prepared to have your address appended to the end of his 100MB killfile.

    Indeed, I believe you have guessed correctly, Brandon is a very subtle
    and clever troll. For a full history, try google.
    http://groups.google.com/groups?q=brandon+every
  • Bob Gailer at Aug 11, 2003 at 11:30 am
    What is "trolling"?

    Bob Gailer
    bgailer at alum.rpi.edu
    303 442 2625
    -------------- next part --------------

    ---
    Outgoing mail is certified Virus Free.
    Checked by AVG anti-virus system (http://www.grisoft.com).
    Version: 6.0.506 / Virus Database: 303 - Release Date: 8/1/2003
  • Fredrik Lundh at Aug 11, 2003 at 12:08 pm
  • Cliff Wells at Aug 12, 2003 at 10:29 pm

    On Sun, 2003-08-10 at 18:38, Simon Wittber (Maptek) wrote:
    I'm starting to think that you are trolling. Are you?
    Hi Brian,

    You should never insinuate that Brandon is a troll, unless you are
    prepared to have your address appended to the end of his 100MB killfile.
    Is that something to be feared? Does he actually kill any of those
    people or is it more of a "they'll be sorry when I'm gone" sort of
    thing?

    Regards,

    --
    Cliff Wells, Software Engineer
    Logiplex Corporation (www.logiplex.net)
    (503) 978-6726 (800) 735-0555
  • Simon Wittber (Maptek) at Aug 11, 2003 at 5:55 am

    -----Original Message-----
    From: Brandon J. Van Every [mailto:vanevery at 3DProgrammer.com]
    Subject: RE: Python vs. C#
    Your e-mails are *not* welcome. If you send me e-mail again, I will be
    contacting your ISP about account abuse.
    Cheers, www.3DProgrammer.com
    Brandon Van Every Seattle, WA

    You are going to contact my ISP about what exactly? Account abuse? How
    exactly am I abusing my account? By expressing my opinion that you are a
    troll?

    If you do not like being thought of as a troll, I suggest you stop
    making what appear to be deliberately inflammatory comments cunningly
    hidden among rather innocuous questions.

    I am certain, of course, that this advice falls on deaf ears. You have a
    history of trolling. In fact, you are quite good at it! (154 posts on
    this one)

    http://groups.google.com/groups?threadm>36d04e_2%40news.vo.lu&rnum=1&p
    rev=/groups%3Fq%3Dg:thl716342609d%26dq%3D%26hl%3Den%26lr%3D%26ie%3DUTF-8
    %26oe%3DUTF-8%26safe%3Doff%26selm%3D3e36d04e_2%2540news.vo.lu

    I will list two more troll posts. Finding more is an interesting
    exercise for the bored reader.

    http://groups.google.com/groups?selm=6oli0c%24qng%241%40guysmiley.blarg.
    net

    http://groups.google.com/groups?selm=ltC0a.2919%24tO2.327679%40newsread1
    .prod.itd.earthlink.net

    Others, too, have thought your posts are deliberately provoking.

    http://groups.google.com/groups?selm98062601400000.VAA23852%40ladder0
    1.news.aol.com

    You often aggravate others, seemingly intentionally. Once, it even
    escalated to the point of threats of physical violence.

    http://groups.google.com/groups?q=brandon+van+every&hl=en&lr=&ie=UTF-8&o
    e=UTF-8&safe=off&selm=7ui75g%24918%241%40panix3.panix.com&rnum=9


    So please refrain from posting your troll-comments to the list, and stop
    polluting it with your contentious remarks.


    Cheers,
    Simon.

    PS.

    Pythonistas: please don't feed this troll.

Related Discussions

People

Translate

site design / logo © 2022 Grokbase