Is Python your only programming language?

B

Ben Finney

many [...] have come to the conclusion that Java and Python are highly
complimentary languages.

I think you mean "complementary"; I've never had a programming language
compliment me on anything, though it'd make a nice change from all those
error messages :)
I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python)
Or do you keep another language equally close at hand, and if so, what
is it?

My professional programming these days is mostly sysadmin tool writing.
Where I used to use 70% shell with 30% perl, these days I do 80% python
with 20% shell. That probably reflects the ad-hoc, small-scope nature
of the tools I write though.

It also reflects the fact that I intend these tools to be maintainable
by others who don't necessarily know the languages I use inside out. I
would shudder to show a complex shell or perl script to a cow-orker, but
my Python scripts are easily explainable -- one cow-orker has
volunteered the comment that "it looks like pseudocode" :)
And finally, do you foresee a day when Python can be, for all
practical intents and purposes, your only programming language?

I do have several larger-scale programming projects in the back wings,
and those will be written entirely in Python. (Waiting has gained me
the incremental nice features of Python 2.3 :)
 
J

Joe Cheng

I'm curious about something... many Artima.com members who have a Java
background and learned Python have come to the conclusion that Java and
Python are highly complimentary languages. They would never consider
filling the place Java has in their toolbox with Python, but recognize there
are many tasks where it really pays to add Python to the mix.

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?
 
M

Markus Jais

Joe said:
I'm curious about something... many Artima.com members who have a Java
background and learned Python have come to the conclusion that Java and
Python are highly complimentary languages. They would never consider
filling the place Java has in their toolbox with Python, but recognize
there are many tasks where it really pays to add Python to the mix.

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or
do
you keep another language equally close at hand, and if so, what is it?
And finally, do you foresee a day when Python can be, for all practical
intents and purposes, your only programming language?

at work I use mainly java and C.

at home when I programm for myself I normally use Python or Ruby.
it depends on the libraries available. I like both and use both.

I rarely use C or Java at home because with Python or Ruby I am much faster
in developing a solution. and I never use C++ at home.

and sometimes I play with PHP and Perl. just for fun.

Markus
 
D

Doug Tolton

I'm curious about something... many Artima.com members who have a Java
background and learned Python have come to the conclusion that Java and
Python are highly complimentary languages. They would never consider
filling the place Java has in their toolbox with Python, but recognize there
are many tasks where it really pays to add Python to the mix.

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?
I know Java, C, C#, C++, Visual Basic, Python, Asp and now I'm getting
into Lisp and Scheme. I'm familiar with quite a few others, but these
are the ones I'm most comfortable with.

I write 90% of my code in python, maybe even 95%. I used to write
everything in C#, but I found that most of the time I was writing a
form that had buttons to push and a rich text box for output (at least
at my current position).

When we have to deploy an app with an ide we'll use either VB or C#,
and put the guts in python com classes which are called from the ide.
Python has great COM integration (much better than either C# or VB
incidentally), so it makes it really easy.

I do see a day when all my programming could be done in python
(although more likely it will all be done in Lisp). There are a few
things that need I need to learn how to do, but ultimately I believe
all the major pieces are in place.

- I need to learn wxPython or one of the variants on building good
cross platform guis better.
- I need to learn how to deploy apps to end users better
- I need to learn one of the web based python systems.

You'll note, these are all centered around technologies I need to
learn better, not techonlogies that need to be done still.

As for an IDE, I already have one, it's call Emacs.
Debugger, I just use pdb (althouh I wish it had, or I knew how to do
Edit and Continue)
 
F

Fredrik Lundh

Joe said:
I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python)
yes.

And finally, do you foresee a day when Python can be, for all practical
intents and purposes, your only programming language?

has been, since 1995.

</F>
 
M

Max M

Joe said:
I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?


I used to learn a new language a year. But i'm afraid that python has
made me lazy. It sort of killed the natural itch to learn new languages
by removing the little anoyances I used to have when programming.

So now I start up my editor in Python mode like a mindless zombie. It
has even gotten to the point that I use it for calculations instead of a
spreadsheet and pocket calculator.

But to keep up to date language wise I will look into other languages
again someday soon. I swear. hmm!



regards Max M
 
N

Nikola Plejic

In
Erik Max Francis said:
I get paid to write C++ or C, use Python for recreational projects,
and use shell, Python, or (rarely) Perl for administration tasks. For
recreation and exploration I play around with a variety of other
languages, including Io, APL/J, Logo, Prolog, Scheme, and so on.

I use Python for most of my projects, but for web I use PHP. I also have some
knowledge of C++ (but very limited), and I am planning on expanding that
knowledge soon. I started learning C++ before Python, but when I saw Python, I
paused learning C++ and turned to Python.

Python can suit most of the programming needs today, but not all. It has
limitations, just as any other programming language and I think there will
always be cases where using some other programming language will be more
efficient or more suitable for some projects.

As for me, personally, Python suits my needs even now, as I am not some
advanced programmer, but I suppose I will see some limitations and downsides as
I progress.

I also play around with Visual Basic with my friend a bit when we're at school,
but he knows VB way better than I do.
 
V

Van Gale

From my point of view (writing system applications, servers, web apps)
Python and Java fill the same space, which is one reason I don't know
much Java.

I used to use perl + shell for sysadmin type stuff, but now use Python
exclusively for that (well... maybe some shell still for really really
short scripts).

So, the only other language I really use is C (and not just for writing
extensions).

There are some areas where I would consider other languages, For
example I would consider using Delphi for Windows GUI apps. For Linux
GUI apps I might consider Objective C just for something different, but
most likely would choose Python and either Qt or GTK bindings.
 
C

Carl Banks

Joe said:
I'm curious about something... many Artima.com members who have a Java
background and learned Python have come to the conclusion that Java and
Python are highly complimentary languages. They would never consider
filling the place Java has in their toolbox with Python, but recognize there
are many tasks where it really pays to add Python to the mix.

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?


For me, it's almost 100% Python + C extensions. Even the C extensions
are getting dubious: for my current project, I took the time to write
a C code generator in Python.

I use a smattering of Bourne Shell and Mathematica for their intended
purposes. I often used Fortran in research work and a few other
things. I use Java when I want to make an applet (rarely).

Any other language I use is either for fun, or to keep my programming
skills sharp.
 
P

Peter Hansen

Joe said:
I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it?

We do web, systems/application, and embedded programming (that's the kind of
thing where you have a little 16-bit micro with 1K of RAM to play with, nothing
to do with "embedding and extending" ala Python). The web work is all
Python (back end) plus a tiny bit of Javascript. The systems/app work is
all Python. The embedded stuff is part Python, on the larger embedded
system which can handle it, and part C, on the tiny micros where Python
has no hope, plus a few hundred lines of Assembly code.

On a day-to-day basis, over 95% of what we do is Python.
And finally, do you foresee a day when Python can be, for all
practical intents and purposes, your only programming language?

No, unless we abandon all embedded programming. But if you exclude
that special area, where basically little but C has a foothold, and
you exclude the client-side web stuff where Javascript is the only
serious option, then we are already using Python as our *only* language,
and I have no intention of letting that change any time soon. There
is a *huge* benefit, often much underestimated, in maintaining only
a small set of technologies, including the programming languages a
company/individual actually uses (as opposed to those it knows of).

-Peter
 
C

c42

After college I started using VB & VBA for most of my bigger projects
and Winbatch for my system admin stuff. However, as my current company
has started to move more of its servers to Linux, I'm programming almost
exclusively in Python.

In the past I've used Komodo and found it to be very nice tool, but I'm
also keeping an eye on Boa Constructor with its advances as well.
 
H

Harry George

Joe Cheng said:
I'm curious about something... many Artima.com members who have a Java
background and learned Python have come to the conclusion that Java and
Python are highly complimentary languages. They would never consider
filling the place Java has in their toolbox with Python, but recognize there
are many tasks where it really pays to add Python to the mix.

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?

In the past I've written C, C++, Java, Lisp, Modula-2, Modula-3,
Pascal, Perl, and Prolog for pay. I've dabbled in a dozen others.
All of these are drifting away as Python takes center stage at home
and at work. I personally haven't written in anything else for over a
year. I also used it through a recent MSCS degree. Of course, I'm
dependent on extensions written in C, C++, and Fortran, plus CORBA,
COM, etc. communication protocols.

What uses?

Some sysadmin scripts, lots of "glueware" reader/writer adaptors and
automation for COTS apps, lots of code which needs to be portable
across *NIX and Win** platforms. Usually need Numeric and XML, some
SQL, CGI wrappers, etc.

At home I recently wrote a morse code tutor by reimplementing
algorithms (e.g., bit-twiddling to generate pcm) from an OSS package.
Once it worked at all, I changed the algorithm to cache preprocessed
sin approximations (profiling showed I needed the speedup). Then I
enhanced to the functionality of commercial packages. Then added
features (autogenerated QSO's) which I don't think are available
anywhere else. All in a weekend.

How did I get there?

I really liked Modula-3's static and dynamic typing system. Other
static typing systems I've tried pale by comparison. With Python and
good test suites, I don't seem to miss the static typing, and it is
vastly easier to generate working code. I also liked Modula-3's
syntax and namespace system. Python's syntax is cleaner and the
namespaces are simpler-yet-adequately-powerful. (Not too surprising,
given Python's origins)

I used to be a champion for and an instructor for Perl. I still do
code reviews on Perl scripts written by others (shudder). I do not
agree sysadmins will stay with Perl over Python. There is a learning
curve, but the needed functionality is there. We are finding in
complex mixed platform environments, it is easier to install (and
upgrade) Python than Perl. Python is readable by people other than
the original author (important in an era of layoffs and doubling up).
Python is readable by the original author even after being away for
months at a time.

We found we could replace c. 100 LOC of Prolog with a few lines of
python when we needed regex's and other string manipulation. We are
finding we can do Lisp-style programming in Python (lazy evaluation,
mixins, etc.). We find that Python is "a better VB than VB" for
scripting COTS apps via COM. We found python took 1/3 fewer LOC (and
was a lot cleaner) than Java for a geometry task (lots of matrixes and
netlist traversals).

I've yet to look seriously at C#. My primariy concern is "does it
support open source cross-platform development and implementation"?
As long as it fails that test (e.g., until Mono is fully approved by
Microsoft), I'll stick with a known winner.
 
M

Michele Simionato

Anybody who thinks there's only one programming
language for all tasks is seriously deluded.

Yes, but a programmer does not necessarily need to perform ALL tasks.
It may very well be that Python fullfill 99% of what an average
programmer needs. I personally know various languages, but at the
end I only use Python since it fullfills all my needs and it is
faster to develop in it that in any other language.

Michele
 
G

Grant Edwards

Yes, but a programmer does not necessarily need to perform ALL
tasks.

Good point. I forget that others jobs may be more narrowly
defined than mine. Not everybody has to range from embedded
assembly language, to GUI apps, to Linux drivers, to CGI, to
ASP.
 
J

Jarek Zgoda

Joe Cheng said:
I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything? (and I'm counting Python + C extensions as just Python) Or do
you keep another language equally close at hand, and if so, what is it? And
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?

I learn new programming language each year. During last 10 years I
learned 10 languages -- only in few of them I wrote more than exercises,
these are Python, RPG and REXX, sorted descending. Python is most
amusing and fun part of my work, I use it whenever it is possible and
has any sign of advantage over any other languages but I will never try
to use Python to write interactive application on OS/400. There is
RPG/400 for this and other platforms have other tasks that are better
accomplished in other ways than Python.

But I'll continue to love Python until somebody invents something more
amazing. Which looks impossible now, but remember, 10 years ago mr Gates
said, that 640KB seems to be enough for everybody. ;)
 
J

John Machin

Ben Finney said:
It also reflects the fact that I intend these tools to be maintainable
by others who don't necessarily know the languages I use inside out. I
would shudder to show a complex shell or perl script to a cow-orker, but
my Python scripts are easily explainable -- one cow-orker has
volunteered the comment that "it looks like pseudocode" :)

How does one "ork" and what is the effect on the cow? What is the
RSPCA's attitude to this?
 
L

Larry

Joe Cheng said:
I'm curious about something...

At work I'm now at about 90% Python and the rest a mix of Visual Basic
and Java. Almost anything new gets done in Python, with Java for
applets (blah) and the VB mainly just maintenance on existing VB crap.

At home I'm currently about 40% Unreal Tournament 2003 and 60% Civ
III.
 
J

Jarek Zgoda

Larry said:
At home I'm currently about 40% Unreal Tournament 2003 and 60% Civ
III.

I'm 100% Steel Panthers World At War 7.1 and I clearly see, that
pythonic tactics makes me winner in most of cases. ;)

Thanks God, I have wife that allows me run "unknown binaries" on her W2K
box. And she has 80GB HDD, just enough for all our collected music.
 
A

Alan Gauld

I want to ask you hard-core c.l.p Pythonistas: Do you use Python for
everything?

I'm not sure I'm "hard core" but I use Python most days.
However most projects I work on use many programming
languages - I think the record was 12 languages on 1 project.
An average is probably around 5.

I use Python mainly for prototyping and proof of concept work
during design, the results get turned into C++, Java, COBOL
or assembler depending on the project.

In theory we could use Python for an embedded scripting language
but Tcl and VBScript have already grabbed that slot in our
corporate armoury...
finally, do you foresee a day when Python can be, for all practical intents
and purposes, your only programming language?

Nope, there will always be places where I want to use Lisp or
Prolog. Even awk is better for some things. And when the code
really gets down n' dirty nothing beats raw C and assembler...

Alan G.
Author of the Learn to Program website
http://www.freenetpages.co.uk/hp/alan.gauld
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top