OT(Slightly): Thanks to Python.

Discussion in 'Python' started by Adonis, Mar 4, 2004.

  1. Adonis

    Adonis Guest

    This is my .02 as to why Python is excellent for academic use for
    upcoming CS graduates. Since I have been 14 I have been programming, mainly
    BASIC/VB/C/C++ so I was familiarized with basic programming concepts. Then
    up until more than 1 1/2yr ago I stumbled into Python, looking for a C/C++
    compiler for windows, and Python kept coming up, so I go to check it out
    (this was on www.downloads.com) I download it, installed it, and ran to the
    all common newbie problem of running IDLE and thinking that this is all that
    Python had to offer, I naivly deleted it, thinking it was probably some
    novelty language, that had no support for it. I check out python.org and
    notice it was very active, and there was a more up to date version out, so I
    download it again, this time I read the documentation and followed the
    tutorial, within 15 minutes I already had enough under my belt to start on
    small projects, which within a week I already had made a great deal, I was
    hooked! Cutting to the chase, Python introduced me to the world of OOP,
    which in VB I mildy touched its pseudo OOP methods, but have not been fully
    exposed to it.
    Now Python being a fully OOP language, it made it easier for me to
    understand what all this OOP stuff was, from generating events to
    inheritance, and organizing my code into reusable modules and the such.
    Also, the clarity in which Python syntax is presented made it MUCH easier to
    understand any source, this was a big plus as I was studying other persons
    works to enhance my knowledge of Python.
    Then this year I started in a local university to persue my CS degree
    after undergoing a 2yr college, in my university the language of choice for
    the CS program is Java which I was actually dissappointed as I wanted to
    expand my knowledge of C/C++ which I already had some prior knowledge about,
    but nevertheless with my background in Python, giving me the knowledge of
    OOP I dove into Java like a pro, everything came easy to me, I fully
    understood the language, everything was just some clarification and learning
    the syntax (I still dislike Java, but to each its own), so I am writing this
    as a thank you to everyone who contributes to Python.

    Sincerely,
    Adonis
     
    Adonis, Mar 4, 2004
    #1
    1. Advertising

  2. Adonis

    Ben Finney Guest

    On Thu, 04 Mar 2004 02:11:35 GMT, Adonis wrote:
    > with my background in Python, giving me the knowledge of OOP I dove
    > into Java like a pro, everything came easy to me, I fully understood
    > the language, everything was just some clarification and learning the
    > syntax (I still dislike Java, but to each its own), so I am writing
    > this as a thank you to everyone who contributes to Python.


    Python has introduced many students to the benefits of
    properly-implemented OOP. It's good to know that you've got this strong
    start.

    It may interest you to know that Python's suitability as a language for
    teaching programming has long been a conscious goal of the language's
    creator, and something with which he actively involves himself:

    <http://www.linuxjournal.com/article.php?sid=5028>
    <http://www.artima.com/intv/pyscale.html>

    --
    \ "I don't care to belong to a club that accepts people like me |
    `\ as members." -- Groucho Marx |
    _o__) |
    Ben Finney <http://bignose.squidly.org/>
     
    Ben Finney, Mar 4, 2004
    #2
    1. Advertising

  3. Adonis

    Guest Guest

    I hear that quite a few people who were working with Java in the past are
    now switching to Python, especially as Java code balloons in size when
    compared to Python.

    "Adonis" <> wrote in message
    news:rfw1c.32179$...
    > This is my .02 as to why Python is excellent for academic use for
    > upcoming CS graduates. Since I have been 14 I have been programming,

    mainly
    > BASIC/VB/C/C++ so I was familiarized with basic programming concepts. Then
    > up until more than 1 1/2yr ago I stumbled into Python, looking for a C/C++
    > compiler for windows, and Python kept coming up, so I go to check it out
    > (this was on www.downloads.com) I download it, installed it, and ran to

    the
    > all common newbie problem of running IDLE and thinking that this is all

    that
    > Python had to offer, I naivly deleted it, thinking it was probably some
    > novelty language, that had no support for it. I check out python.org and
    > notice it was very active, and there was a more up to date version out, so

    I
    > download it again, this time I read the documentation and followed the
    > tutorial, within 15 minutes I already had enough under my belt to start on
    > small projects, which within a week I already had made a great deal, I was
    > hooked! Cutting to the chase, Python introduced me to the world of OOP,
    > which in VB I mildy touched its pseudo OOP methods, but have not been

    fully
    > exposed to it.
    > Now Python being a fully OOP language, it made it easier for me to
    > understand what all this OOP stuff was, from generating events to
    > inheritance, and organizing my code into reusable modules and the such.
    > Also, the clarity in which Python syntax is presented made it MUCH easier

    to
    > understand any source, this was a big plus as I was studying other persons
    > works to enhance my knowledge of Python.
    > Then this year I started in a local university to persue my CS degree
    > after undergoing a 2yr college, in my university the language of choice

    for
    > the CS program is Java which I was actually dissappointed as I wanted to
    > expand my knowledge of C/C++ which I already had some prior knowledge

    about,
    > but nevertheless with my background in Python, giving me the knowledge of
    > OOP I dove into Java like a pro, everything came easy to me, I fully
    > understood the language, everything was just some clarification and

    learning
    > the syntax (I still dislike Java, but to each its own), so I am writing

    this
    > as a thank you to everyone who contributes to Python.
    >
    > Sincerely,
    > Adonis
    >
    >
     
    Guest, Mar 4, 2004
    #3
  4. Adonis

    Aahz Guest

    In article <>,
    Ben Finney <> wrote:
    >
    >Python has introduced many students to the benefits of
    >properly-implemented OOP. It's good to know that you've got this strong
    >start.


    Gee, I must be *really* sick: it took me four tries before I stopped
    reading this as "poorly-implemented OOP".
    --
    Aahz () <*> http://www.pythoncraft.com/

    "Do not taunt happy fun for loops. Do not change lists you are looping over."
    --Remco Gerlich, comp.lang.python
     
    Aahz, Mar 4, 2004
    #4
  5. In article <c26b3f$bor$>, Aahz wrote:

    > In article <>,
    > Ben Finney <> wrote:
    >>
    >>Python has introduced many students to the benefits of
    >>properly-implemented OOP. It's good to know that you've got this strong
    >>start.

    >
    > Gee, I must be *really* sick: it took me four tries before I stopped
    > reading this as "poorly-implemented OOP".


    I would call it *pragmatically* implemented OOP. It's not "proper" as some
    would see it.

    Dave Cook
     
    David M. Cook, Mar 4, 2004
    #5
  6. Adonis

    Ville Vainio Guest

    >>>>> "David" == David M Cook <> writes:

    David> I would call it *pragmatically* implemented OOP. It's not
    David> "proper" as some would see it.

    Elaborate?

    --
    Ville Vainio http://tinyurl.com/2prnb
     
    Ville Vainio, Mar 4, 2004
    #6
  7. Adonis

    John Roth Guest

    "Ville Vainio" <> wrote in message
    news:...
    > >>>>> "David" == David M Cook <> writes:

    >
    > David> I would call it *pragmatically* implemented OOP. It's not
    > David> "proper" as some would see it.
    >
    > Elaborate?


    As I understand it, there are a number of issues.

    1. Lack of method polymorphism

    2. Use of built-in functions instead of "proper" methods.

    3. ability to declare functions and variables at the
    module level.

    As far as I am concerned, 2 and 3 are so whats.
    1 would be nice at times, but there's no way it's
    going to happen in a language that doesn't have
    static typing.

    John Roth


    >
    > --
    > Ville Vainio http://tinyurl.com/2prnb
     
    John Roth, Mar 4, 2004
    #7
  8. "John Roth" <> writes:

    > As far as I am concerned, 2 and 3 are so whats. 1 would be nice at
    > times, but there's no way it's going to happen in a language that
    > doesn't have static typing.


    Well, it's called multiple dispatch. Could be done, but it's quite a
    paradigm shift.

    Cheers,
    mwh

    --
    Two things I learned for sure during a particularly intense acid
    trip in my own lost youth: (1) everything is a trivial special case
    of something else; and, (2) death is a bunch of blue spheres.
    -- Tim Peters, 1 May 1998
     
    Michael Hudson, Mar 4, 2004
    #8
  9. Adonis

    Bob Ippolito Guest

    On 2004-03-04 14:40:55 -0500, Michael Hudson <> said:

    > "John Roth" <> writes:
    >
    >> As far as I am concerned, 2 and 3 are so whats. 1 would be nice at
    >> times, but there's no way it's going to happen in a language that
    >> doesn't have static typing.

    >
    > Well, it's called multiple dispatch. Could be done, but it's quite a
    > paradigm shift.


    I've seen quite a few implementations of multiple dispatch in Python,
    based on types, tests, or adaptations/interfaces... but obviously none
    of them can be represented in the function signature [yet, ...]

    -bob
     
    Bob Ippolito, Mar 4, 2004
    #9
  10. In article <>, Ville Vainio wrote:

    >>>>>> "David" == David M Cook <> writes:

    >
    > David> I would call it *pragmatically* implemented OOP. It's not
    > David> "proper" as some would see it.
    >
    > Elaborate?


    Python lacks access controls (private/protected etc), though you can use __
    name munging.

    Dave Cook
     
    David M. Cook, Mar 5, 2004
    #10
  11. [David M Cook]:
    > I would call it *pragmatically* implemented OOP. It's not
    > "proper" as some would see it.


    [Ville Vainio]:
    > Elaborate?


    [John Roth]
    > As I understand it, there are a number of issues.


    > 1. Lack of method polymorphism


    > 2. Use of built-in functions instead of "proper" methods.


    > 3. ability to declare functions and variables at the
    > module level.


    Ad 2 and 3... well, practicality/pragmatism beats purity, once again.
    Right now I'm struggling with the stupidity of Java (whether it's got
    properly implemented OOP is another issue) in order to get certified
    (since doing Python for a living is as yet a severely limited option
    for me, despite evangelism). Guess I'm just spoiled.
    Ad 1... I've yet to get involved in projects big/complicated enough
    where I could conceivably benefit from that, so I don't miss it.

    Christopher
     
    Christopher Koppler, Mar 5, 2004
    #11
  12. "John Roth" <> writes:

    > "Ville Vainio" <> wrote in message
    > news:...
    > > >>>>> "David" == David M Cook <> writes:

    > >
    > > David> I would call it *pragmatically* implemented OOP. It's not
    > > David> "proper" as some would see it.
    > >
    > > Elaborate?

    >
    > As I understand it, there are a number of issues.
    >
    > 1. Lack of method polymorphism


    [...]

    > 1 would be nice at times, but there's no way it's
    > going to happen in a language that doesn't have
    > static typing.


    Sigh ...

    * (defmethod foo ((x integer))
    (format t "~&~s is an integer" x))
    #<Standard-Method FOO (INTEGER) {480054CD}>


    * (defmethod foo ((x string))
    (format t "~&~s is a string" x))
    #<Standard-Method FOO (STRING) {4800ABED}>


    * (foo 2)
    2 is an integer


    * (foo "hello")
    "hello" is a string


    The ANSI standard for the _dynamically typed_ language shown above,
    which implements the behaviour you claim will "never happen in a
    language that doesn't have static typing", is about a decade old. (The
    capability itself is at least another decade older.)
     
    Jacek Generowicz, Mar 5, 2004
    #12
  13. Adonis

    JanC Guest

    Jacek Generowicz <> schreef:

    > * (defmethod foo ((x integer))


    > * (defmethod foo ((x string))


    > The ANSI standard for the _dynamically typed_ language shown above,


    Maybe someone can explain, but the above doesn't look like "dynamic typing"
    to me...?

    --
    JanC

    "Be strict when sending and tolerant when receiving."
    RFC 1958 - Architectural Principles of the Internet - section 3.9
     
    JanC, Mar 5, 2004
    #13
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Heiko Wundram
    Replies:
    0
    Views:
    266
    Heiko Wundram
    Jun 14, 2004
  2. Adonis
    Replies:
    2
    Views:
    338
    Jonathan Ellis
    Oct 4, 2004
  3. R. Bernstein

    ANN: (slightly) extended Python debugger

    R. Bernstein, Jan 12, 2006, in forum: Python
    Replies:
    0
    Views:
    286
    R. Bernstein
    Jan 12, 2006
  4. R. Bernstein
    Replies:
    0
    Views:
    267
    R. Bernstein
    Jan 29, 2006
  5. J
    Replies:
    5
    Views:
    374
Loading...

Share This Page