I read this mailing list fairly often, and I am always amazed at what
I learn (even not related to Python). I am relatively new to Python.
I make my living developing mostly in Java. Python was a "discovery"
I made a couple of years ago, and I love the language, but only get to
use it at home for hobbies.
With all the recent news:
- ESR tells Sun to open Java, or be relegated into obscurity by
Python, Ruby, and Perl.
- Project mono (C# compiler) is touted to be the next great thing in
Linux, and will be the dominate language. (by it's creator, of
coarse).
- This past weekend, Sun signs deal with devil (oops... Microsoft).
Now Java "openness" seems to have taken a very large step backwards!
I'd like to know if you guys think Python really has a chance to
compete with Java, .NET, and any other commercially backed language.
The reason I ask is I think it is important to have a "popular"
well-supported Open Source language to compete with the big players.
PHP seems to have some momentum in popularity, but I much prefer
Python as a language. Python has much to offer over Java, VB, etc...
Maybe the best chance it has is to ride on the coat-tails of .NET
(Python.NET) and the JVM (Jython). Interested to hear your comments. 18 1970
kk wrote: I'd like to know if you guys think Python really has a chance to compete with Java, .NET, and any other commercially backed language.
Python, by nature, does not compete: it is a product, and only
producers of a product can compete with producers of other products;
products never ever compete with one another (a product has no soul,
and no goal).
Whether the makers of Python compete with the makers of Java or
..NET is an interesting question, and one that is difficult to answer.
The makers of Python a free software developers, many of them
volunteers. The maker of Java is Sun Microsystems, the maker of
..NET is Microsoft. The Python makers have very different motivations,
and for some of them, competing with Sun may be a motivation - others
could not care less.
The same holds for the users: Some users of Python compete with
some users of Java, whereas others don't. This continues into education:
authors of Python books typically compete with authors of Java books,
except for authors of the Python tutorial, which likely don't compete
with anybody (except perhaps that authors of Python books have to
compete with the authors of the Python tutorial and other free
online documentation).
The mission of the Python Software Foundation is (among others), to
publicize, promote the adoption of, and facilitate the ongoing
development of Python-related technology and educational resources.
Whether or not that makes the PSF a competitor of Sun Microsystems,
I don't know.
The reason I ask is I think it is important to have a "popular" well-supported Open Source language to compete with the big players.
Why is that important?
PHP seems to have some momentum in popularity, but I much prefer Python as a language. Python has much to offer over Java, VB, etc... Maybe the best chance it has is to ride on the coat-tails of .NET (Python.NET) and the JVM (Jython).
If Python works for you, just go ahead and use it. Consider all
advantages and risks, and weigh for yourself.
Regards,
Martin
"kk" <kk********@yah oo.com> wrote in message
news:8b******** *************** ***@posting.goo gle.com... I read this mailing list fairly often, and I am always amazed at what I learn (even not related to Python). I am relatively new to Python. I make my living developing mostly in Java. Python was a "discovery" I made a couple of years ago, and I love the language, but only get to use it at home for hobbies.
With all the recent news: - ESR tells Sun to open Java, or be relegated into obscurity by Python, Ruby, and Perl. - Project mono (C# compiler) is touted to be the next great thing in Linux, and will be the dominate language. (by it's creator, of coarse). - This past weekend, Sun signs deal with devil (oops... Microsoft). Now Java "openness" seems to have taken a very large step backwards!
I'd like to know if you guys think Python really has a chance to compete with Java, .NET, and any other commercially backed language.
That's an interesting question. I presume you mean for
market share in terms of the number of real projects, loc
and all that stuff.
At one time I would have said no, but recently some of the industry
gurus have been questioning whether the additional complexity of
static typing and other Java complexities is paying its weight as compared
to Python, especially when used in a TDD type development environment.
Another thing to consider is that while Sun has a lot wrapped
up in Java, Microsoft does not have the same attitude toward
C#. It may look like it, but their strategic direction would be
satisfied just as much by IronPython as by C# - both run on the
..NET platform, and as long as they take advantage of the native
libraries they will both do as well to lock the user into Windows.
And IronPython seems to be a pretty good performer; at least
as good as Python itself, and accordingly it beats Jython by quite
a margin.
The reason I ask is I think it is important to have a "popular" well-supported Open Source language to compete with the big players. PHP seems to have some momentum in popularity, but I much prefer Python as a language. Python has much to offer over Java, VB, etc... Maybe the best chance it has is to ride on the coat-tails of .NET (Python.NET) and the JVM (Jython). Interested to hear your comments.
PHP has a considerable mindshare as "the language" to write
a certain class of web application. Beyond that, Perl is, I think,
the dominant scripting language, but it suffers from a perception
that it doesn't scale, and it isn't maintainable unless the development
team is very disciplined in adhering to a sane subset.
I think the next 10 years are going to see a huge shift in the
languages and tools we use regularly.
John Roth
"John Roth" <ne********@jhr othjr.com> wrote: recently some of the industry gurus have been questioning whether the additional complexity of static typing and other Java complexities is paying its weight as compared to Python, especially when used in a TDD type development environment.
Yeah, tell me about it. I've been playing around with some JSP stuff
lately. Here's a method I wrote:
protected void doLogin (HttpServletReq uest request,
HttpServletResp onse response)
throws ServletExceptio n
{
String name = (String) request.getPara meter ("name");
String password = (String) request.getPara meter ("password") ;
Connection connection = getDbConnection (request);
try {
LoginModel model = new LoginModel (connection);
boolean loginIsValid = model.validate (name, password);
if (loginIsValid) {
makeMainPage (request);
forward (request, response, "/main.jsp");
} else {
forward (request, response, "/badLogin.jsp");
}
}
catch (SQLException exception) {
throw new ServletExceptio n (exception);
}
catch (IOException exception) {
throw new ServletExceptio n (exception);
}
}
It's just filled with extraneous crap that's only there to make the java
complier happy and has nothing to do with the logic of my application.
The type declarations and casts are just the beginning. The interface
I'm inheriting from requires that the only exception I throw be
ServletExceptio n, so I need to catch all the others are re-throw.
Here's what the same logic would look like in Python, as a mechanical
transliteration :
def doLogin (request, response):
name = request.getPara meter ("name");
password = request.getPara meter ("password") ;
connection = getDbConnection (request);
model = LoginModel (connection);
loginIsValid = model.validate (name, password);
if loginIsValid:
makeMainPage (request);
forward (request, response, "/main.jsp");
else:
forward (request, response, "/badLogin.jsp");
13 lines of code instead of the original 26! This 2:1 ratio seems to be
pretty typical in my experience. It's not that I'm cramming more
application logic onto each line in the Python version, it's that I'm
getting rid of the fluff that takes up lines without adding anything
useful.
The end result is that it's harder to write, and the effort that goes
into making the compiler happy is that much less effort that I can put
into making sure I really understand how my application should be
designed, and testing it. It's a seeing the forest for the trees kind
of issue.
I think it's also a lot easier to read and understand the Python
version. Pretty much every line maps directly to the application logic,
with very little overhead.
Found on the web (http://www-users.cs.york.ac.uk/~susan/joke/foot.htm)...
How to Shoot Yourself In the Foot [....] Java You locate the Gun class, but discover that the Bullet class is abstract, so you extend it and write the missing part of the implementation. Then you implement the ShootAble interface for your foot, and recompile the Foot class. The interface lets the bullet call the doDamage method on the Foot, so the Foot can damage itself in the most effective way. Now you run the program, and call the doShoot method on the instance of the Gun class. First the Gun creates an instance of Bullet, which calls the doFire method on the Gun. The Gun calls the hit(Bullet) method on the Foot, and the instance of Bullet is passed to the Foot. But this causes an IllegalHitByBul let exception to be thrown, and you die.
They don't have one for Python, but I expect it would be something like
this:
You create a Foot object and call its shoot() method. The bullet makes
a hole in your foot, but by that time you've gotten dragged into a huge
flamewar about the relative merits of spaces vs. tabs for indentation
and barely notice the pain.
Roy Smith <ro*@panix.co m> wrote in news:roy-094613.21022405 042004
@reader1.panix. com: http://www-users.cs.york.ac.uk/~susan/joke/foot.htm
They don't have one for Python, but I expect it would be something like this:
I think the most common solution is:
How to Shoot Yourself In the Foot
Python
you discover that Guido used his time machine to shoot you in the foot
years ago
Peter Hansen wrote: Roy Smith wrote:
They don't have one for Python, but I expect it would be something like this:
You create a Foot object and call its shoot() method. The bullet makes a hole in your foot, but by that time you've gotten dragged into a huge flamewar about the relative merits of spaces vs. tabs for indentation and barely notice the pain.
See Laura's excellent
http://groups.google.com/groups?selm...e.mediaone.net
Oops! My apologies to Nick Mathewson, who actually wrote that.
I have a distinct, and clearly wrong, memory of it having been
authored by Laura Creighton. :-(
and also a whole thread from late 2001
http://groups.google.ca/groups?threa...e.mediaone.net
-Peter
kk wrote: I'd like to know if you guys think Python really has a chance to compete with Java, .NET, and any other commercially backed language.
It depends on what you mean by "compete".
Python is never going to have the same combination of hype
and money behind it as those other languages you mention.
But is that a bad thing or a good thing?
I think it's a *good* thing. Python is succeeding very well
by just existing and actually being well designed and useful,
as opposed to having a large company's marketing machine trying
to tell everyone that it is.
It sells itself to those who are willing to look. It doesn't
need or want any hype.
--
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand http://www.cosc.canterbury.ac.nz/~greg
Roy Smith wrote: They don't have one for Python, but I expect it would be something like this:
You create a Foot object and call its shoot() method. The bullet makes a hole in your foot, but by that time you've gotten dragged into a huge flamewar about the relative merits of spaces vs. tabs for indentation and barely notice the pain.
Found this one at news.admin.net-abuse.email
Python
You shoot yourself in the foot and everything goes so smoothly that you
go ahead to to shoot yourself in the other foot then your legs, then
your torso and then your head. Problem solved.
Roy Smith wrote:
[... JSP example ...] 13 lines of code instead of the original 26! This 2:1 ratio seems to be pretty typical in my experience. It's not that I'm cramming more application logic onto each line in the Python version, it's that I'm getting rid of the fluff that takes up lines without adding anything useful.
I've experienced the same thing with the XML applications I tend to write at
work; the Python version is much smaller than the Java version, much easier
to read, and it was much easier to write. And tends to run about as quickly.
Strangely enough, I've had the same results with C# and .NET XML apps;
smaller, with less extraneous text in the code. And very fast. If Mono
and/or GNU Portable.NET were further along, I'd port my XML apps to C# (I
need to run on OS X and, eventually, Linux as well as Windows)...
The end result is that it's harder to write, and the effort that goes into making the compiler happy is that much less effort that I can put into making sure I really understand how my application should be designed, and testing it. It's a seeing the forest for the trees kind of issue.
One of Python's most awesome features (IMHO at least) is that you can fire
up an interactive interpreter while you're writing your code, and try things
out as you go... using this technique, I've unit tested methods and
algorithms interactively and ended up with useful, non-trivial applications
that run and work properly the first time.
With compiled languages (Java, C#, C++), I find I'm writing a bit of code,
taking a break to compile it, figuring out how to unit test the method...
Python saves me a huge amount of time in the prototype and development cycles.
--
Chris Herborth ch****@cryptoca rd.com
Documentation Overlord, CRYPTOCard Corp. http://www.cryptocard.com/
Never send a monster to do the work of an evil scientist.
Postatem obscuri lateris nescitis. This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Stephen Ferg |
last post by:
Seen in the Wall Street Journal, Monday, July 21, 2003, page B1.
Lee Gomes' "Portals" technology column: "Two Men, Two Ways to Speak
Computerese and Two Big Successes".
This is a brief, non-technical story on Guido von Rossum, inventor of
Python, and Larry Wall, inventor of Perl.
I don't think this is available online unless you are a paid
subscriber to the WSJ online edition. So here are a few quick quotes
|
by: Brandon J. Van Every |
last post by:
What's better about Ruby than Python? I'm sure there's something. What is
it?
This is not a troll. I'm language shopping and I want people's answers. I
don't know beans about Ruby or have any preconceived ideas about it. I have
noticed, however, that every programmer I talk to who's aware of Python is
also talking about Ruby. So it seems that Ruby has the potential to compete
with and displace Python. I'm curious on what basis it...
|
by: limor |
last post by:
Hi,
I am considering using Python in a new testing tool application we
intend to build for out product.
I must get references before starting develope in this language ,
since although lots of good things are said about this language , I
still have my doubts how can it compete with languages like C++ and
Java.
I have found te sytax and some features if the language not as
problematic in maintenance prospective (although I keep reading...
|
by: John J Lee |
last post by:
QOTW: "The site that I worked on spent TWO MILLION U.S. DOLLARS on its web
server hardware. OK, it used Java servlets that are even slower than Python,
but you have to understand that there's a point after which you can no longer
pretend that hardware is free." -- Paul Rubin
"Monte Carlo sampling is no way to understand code." -- Gordon McMillan
Martin v. Loewis clarifies what entities might "compete" with Python...
|
by: Michael Scarlett |
last post by:
I was just thinking that we should get a new icon for Python. Its such
an amzing effective language, and I know it sounds silly, but I can't
help but think that one of the reasons it hasn't surpassed JAVA or at
least taken more seriouly than it is now - is because of the dorky
looking .py icon.
We need a icon that reflects python. Robust, flexible and Effective.
Something that says "we get the job done right and the code is tight".
Eat...
| |
by: Maurice LING |
last post by:
This may be a dumb thing to ask, but besides the penalty for dynamic
typing, is there any other real reasons that Python is slower than Java?
maurice
|
by: Eric Pederson |
last post by:
Raise your hand if you think the best technology wins!
For those of you with your hands in the air, tell me: if Python is so good,why has PHP achieved such greater adoption and mindshare? Why do web scripters still cling to their Perl, even in corporate environments? Why hasn't Python made inroads against Java? Why is Ruby, and Ruby on Rails, getting such strong play?
Are these better programming languages, or is it other factors?
...
|
by: seberino |
last post by:
I'm interested in knowing which Python web framework is most like Ruby
on Rails.
I've heard of Subway and Django.
Are there other Rails clones in Python land I don't know about?
Which one has largest community/buzz about it?
|
by: Jack |
last post by:
I understand that the standard Python distribution is considered
the C-Python. Howerver, the current C-Python is really a combination
of C and Python implementation. There are about 2000 Python files
included in the Windows version of Python distribution. I'm not sure
how much of the C-Python is implemented in C but I think the more
modules implemented in C, the better performance and lower memory
footprint it will get.
I wonder if it's...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
| |
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
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 into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
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 the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
|
by: adsilva |
last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
|
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
| |
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 effective websites that not only look great but also perform exceptionally well. In this comprehensive...
| |