473,586 Members | 2,678 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Getting Python Accepted in my Organisation

Hi Everyone,

I'm working hard trying to get Python 'accepted' in the organisation I work
for. I'm making some good in-roads. One chap sent me the text below on
his views of Python. I wondered if anyone from the group could give me
some advice on how to respond / if they had been in a similar position.

Any help appreciated,

Thanks in advance,

- Stuart
"Python is a scripting language like Perl, awk, tcl, Java*etc...* it is
not*quite a*fully developed OO language, but does support some OO that Perl
doesn't.* To be clear, these scripting languages have their place in our
environment, but they are not full replacements for C#, Java, C, etc...*
because they do not come with the full range of libraries e.g GDI
libraries.* Python has to be compared to Perl, Awk in order to evaluate it.*
Perl, until recently, did not support threading.* Why would it? it is a
scripting language and can run async shell commands.* I would be interested
to learn if Python supports a robust threading model (not just a pointer
reference to an object), as this is a significant drawback when using a
scripting language.* CGI only works because the container can thread with
Perl.* Python is object orientated, but I do not know what implementation? *
Essentially any language with a pointer can claim to be OO, although Python
does market itself on OO capabilities.* Do you know what implementation
they have used?
*
*** Lets discuss, as I am not a great fan of Perl and if Python is more
structured then it is possibly worth promoting."
Nov 3 '05 #1
30 2766
Stuart Turner <tu******@famil y-zone.co.uk> writes:
Hi Everyone,

I'm working hard trying to get Python 'accepted' in the organisation I work
for. I'm making some good in-roads. One chap sent me the text below on
his views of Python. I wondered if anyone from the group could give me
some advice on how to respond / if they had been in a similar position.


What do you want to use Python for? What do you use now?

S.
Nov 3 '05 #2
I'm already using it for a ton of things - I want to try and get broader
acceptance in the organisation for it to be made and 'officially supported
product'.
Stefan Arentz wrote:
Stuart Turner <tu******@famil y-zone.co.uk> writes:
Hi Everyone,

I'm working hard trying to get Python 'accepted' in the organisation I
work
for. I'm making some good in-roads. One chap sent me the text below on
his views of Python. I wondered if anyone from the group could give me
some advice on how to respond / if they had been in a similar position.


What do you want to use Python for? What do you use now?

S.


Nov 3 '05 #3
Stuart Turner <tu******@famil y-zone.co.uk> writes:
I'm already using it for a ton of things - I want to try and get broader
acceptance in the organisation for it to be made and 'officially supported
product'.


IMO that is what you need to communicate: 'already using it for a ton of
things' and probably adding 'being more productive than with tool XYZ'

S.
Nov 3 '05 #4
Stuart Turner wrote:
Hi Everyone,

I'm working hard trying to get Python 'accepted' in the organisation I work
for. I'm making some good in-roads. One chap sent me the text below on
his views of Python. I wondered if anyone from the group could give me
some advice on how to respond / if they had been in a similar position.

Any help appreciated,

Thanks in advance,

- Stuart
"Python is a scripting language like Perl, awk, tcl, Java etc... it is
not quite a fully developed OO language, but does support some OO that Perl
doesn't. To be clear, these scripting languages have their place in our
environment, but they are not full replacements for C#, Java, C, etc...
because they do not come with the full range of libraries e.g GDI
libraries. Python has to be compared to Perl, Awk in order to evaluate it.
Perl, until recently, did not support threading. Why would it? it is a
scripting language and can run async shell commands. I would be interested
to learn if Python supports a robust threading model (not just a pointer
reference to an object), as this is a significant drawback when using a
scripting language. CGI only works because the container can thread with
Perl. Python is object orientated, but I do not know what implementation?
Essentially any language with a pointer can claim to be OO, although Python
does market itself on OO capabilities. Do you know what implementation
they have used?

Lets discuss, as I am not a great fan of Perl and if Python is more
structured then it is possibly worth promoting."


First of all, let's dismiss the notion that "Python is a scripting
language". It can be used for scripting tasks, and has been successfully
so used in many environments, but it's a fully-developed programming
language with a well-defined and cleanly-implemented OO model. Many
people call Python a scripting language because it is interpreted, but
the parallel with Java is better that that with Perl, since Python
compiles programs into bytecodes for a virtual machine.

An advantage of Python is that while it is fully object-oriented it is
also well-suited to procedural programming and, unlike Java, you are not
forced to try and fit all tasks into an object-oriented model.

Python does indeed support a robust threading model, and has recently
improved threading support still further by adding explicit features to
support per-thread state in a cleaner way. It has been used to implement
many high-volume asynchronous network server tasks, among which Zope is
perhaps the best known.

The author of your comments asks "what implementation" of OO
capabilities Python uses. This is a very broad question, but basically
Python uses a multiple-inheritance model (though nobody is forced to use
multiple superclasses) and has a very clean object orientation.

For background I have been studying and working with object oriented
languages for over thirty years, and find Python the most natural and
cleanest way to express many object oriented programming solutions.

Finally I feel that the Python community is much more welcoming than
that of most programming languages, which is important if you are
looking for support as your familiarity with the language grows.

Good luck with your Python advocacy.

regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/

Nov 3 '05 #5
How about, Google use python extensively ? This I believe is a very
strong argument for any concern about python.

However, policy in organisations can be very funny and many of them may
be set long time ago which even though may no longer be relavent are
still "policy".

I would suggest focus on why the policy(like why distinguish between
script vs compiled language, as the rationale behind it can be
performance) and address it accordingly rather than taking literal
arguments.

Stuart Turner wrote:
Hi Everyone,

I'm working hard trying to get Python 'accepted' in the organisation I work
for. I'm making some good in-roads. One chap sent me the text below on
his views of Python. I wondered if anyone from the group could give me
some advice on how to respond / if they had been in a similar position.

Any help appreciated,

Thanks in advance,

- Stuart
"Python is a scripting language like Perl, awk, tcl, Java etc... it is
not quite a fully developed OO language, but does support some OO that Perl
doesn't. To be clear, these scripting languages have their place in our
environment, but they are not full replacements for C#, Java, C, etc...
because they do not come with the full range of libraries e.g GDI
libraries. Python has to be compared to Perl, Awk in order to evaluate it.
Perl, until recently, did not support threading. Why would it? it is a
scripting language and can run async shell commands. I would be interested
to learn if Python supports a robust threading model (not just a pointer
reference to an object), as this is a significant drawback when using a
scripting language. CGI only works because the container can thread with
Perl. Python is object orientated, but I do not know what implementation?
Essentially any language with a pointer can claim to be OO, although Python
does market itself on OO capabilities. Do you know what implementation
they have used?

Lets discuss, as I am not a great fan of Perl and if Python is more
structured then it is possibly worth promoting."


Nov 3 '05 #6

Stefan Arentz wrote:
Stuart Turner <tu******@famil y-zone.co.uk> writes:
I'm already using it for a ton of things - I want to try and get broader
acceptance in the organisation for it to be made and 'officially supported
product'.


IMO that is what you need to communicate: 'already using it for a ton of
things' and probably adding 'being more productive than with tool XYZ'

S.


It didn't work well in my case. I still use Python for "tons of things"
but it didn't change the attitudes of my co-workers towards learning a
new language. It just changed my status as a programmer inside of the
department. And remember: Python is still cutting edge as a language
but sub-standard when it comes to tool support i.e. you do not have to
introduce just a language but a different culture of programming as it
is common sense now.

Kay

Nov 3 '05 #7
Stuart Turner <tu******@famil y-zone.co.uk> wrote:
"Python is a scripting language like Perl, awk, tcl, Java*etc...
It is difficult to say whether Python is a scripting language or not until
you define what you mean by "scripting language". People throw the term
"scripting language" around with wild abandon these days. As far as I can
tell, what they usually mean is something like, "It's not C++", or perhaps
somewhat more generally, "It doesn't fit the compile-link-load-execute
model I learned in college 20 years ago".
it is not*quite a*fully developed OO language
Ask the guy in what way he thinks it's not quite fully developed. My guess
is he doesn't really know, or perhaps will latch onto something like "it
doesn't have private data". That is true, but only partially so. And for
people who are hung up on that, you can point out that it's also only
partially true about C++.

Some people have been working with C++ and Java for so long they have
started to think that "OO" means "The way C++ and Java do things", which
pretty much means static typing and complex access control models. It
doesn't have to be that way.
To be clear, these scripting languages have their place in our
environment, but they are not full replacements for C#, Java, C, etc...
With this I am in complete agreement. A good craftsman keeps a wide
selection of tools at his or her disposal. Each is useful for some tasks,
can be pressed into service for many more, and is utterly wrong for others.
because they do not come with the full range of libraries e.g GDI
libraries.
No language has libraries for everything you might ever possibly want to
do. Python has a wide range of libraries for many common tasks, but my no
means all. Still, if it comes down to "language X has a good library for
what we need and language Y doesn't", that will often be (and rightly so)
the decision maker as to which language to use.
Python has to be compared to Perl, Awk in order to evaluate it.
Comparing Python to Perl makes a lot of sense, but comparing it to Awk is
absurd. What Awk provides is decent flow control (including an implicit
read-match-execute outer loop), excellent pattern matching, automatic
memory management, implicit string-numeric conversion, and associative
arrays. Packaging all this up in a handy to use form was a great advance,
and the features it provides are well suited for a large class of data
reduction and text processing tasks.

But, Awk has no OO features, is not extensible, has poor error handling,
and provides no system access. It doesn't even have subroutines. It is,
with some minor exceptions, a "read one input stream, process it in a
single pass, write one output stream" text processing scripting (there's
that word again) language.

If you want to compare Python to other roughly similar languages, I would
include Perl, Java, Tcl, and Ruby. If this guy thinks comparing Python to
Awk makes sense, he either has no clue what Awk is, or no clue what Python
is. BTW, comparing Java, Tcl, or Ruby to Awk would be equally absurd.
Essentially any language with a pointer can claim to be OO,


And Perl is the proof of that statement!
Nov 3 '05 #8
Stuart Turner wrote:
"Python is a scripting language like Perl, awk, tcl, Java*etc...* it
is
not*quite a*fully developed OO language, but does support some OO that
Perl
doesn't.* To be clear, these scripting languages have their place in
our
environment, but they are not full replacements for C#, Java, C,
etc...*
because they do not come with the full range of libraries e.g GDI
libraries.* Python has to be compared to Perl, Awk in order to
evaluate it.*
Perl, until recently, did not support threading.* Why would it? it is a
scripting language and can run async shell commands.* I would be
interested
to learn if Python supports a robust threading model (not just a
pointer
reference to an object), as this is a significant drawback when using a
scripting language.* CGI only works because the container can thread
with
Perl.* Python is object orientated, but I do not know what
implementation? *
Essentially any language with a pointer can claim to be OO, although
Python
does market itself on OO capabilities.* Do you know what implementation
they have used?


So, Java both is and is not a scripting language?
My favourite article says it all in its title:
http://www.python.org/pycon/dc2004/papers/6/

Nov 3 '05 #9
I have done the same thing in my organisation.

Show them concrete examples of when they can benefit from Python to
Convince them.
My colleagues and bosses has been conviced and therefore my current
work task is to integrate the interpreter in a VxWorks environment so
"everyone" at the company can use it within our context.

If you are good at convincing you can be lucky and get some fun work
tasks. :)

Good luck!

//T

Nov 3 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
1693
by: Alia Khouri | last post by:
Recently, I've been fortunately placed in a position to possibly mandate the use of python for certain tasks in my new organization. Now, I've inherited an environment which is windows-centric, lacking in knowledge about scripting, and somewhat sub-standard in terms of productivity. I've also inherited a set of pre-existing systems which I...
35
3057
by: Michael Kearns | last post by:
I've been using python to write a simple 'launcher' for one of our Java applications for quite a while now. I recently updated it to use python 2.4, and all seemed well. Today, one of my colleagues noted that on her machine the launcher would complain it was missing a DLL - msvcr71.dll However, there's a very grey area concerning the...
99
4617
by: Shi Mu | last post by:
Got confused by the following code: >>> a >>> b >>> c {1: , ], 2: ]} >>> c.append(b.sort()) >>> c {1: , ], 2: , None]}
0
2361
by: mmueller | last post by:
=== Reminder=== The deadline for submitting abstracts for the the workshop on September 8 in Leipzig is July 15. It is only two days away!! If you would like to give a presentation, please send your abstract to mmueller@python-academy.de. The workshop topics are listed at http://www.python-academy.de/workshop/themen.html
0
7912
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7839
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
8338
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
1
5710
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5390
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3837
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
2345
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1449
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1180
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.