Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jan 23rd, 2006, 7:28 AM   #1
Ekros
Newbie
 
Ekros's Avatar
 
Join Date: Jan 2006
Location: Canada|Ontario|London
Posts: 8
Rep Power: 0 Ekros is on a distinguished road
Python? GUI or Learning?

Well, im a fairly good Python programmer but im not sure if Python should be primarily used to make applications, or for learning a language to help you getting acustomed to other languages?
__________________
-- Ekros - Python Programmer
AlphaNetwork Administrator
http://www.alpha-nw.com/
^Under Counstruction^
Ekros is offline   Reply With Quote
Old Jan 23rd, 2006, 7:34 AM   #2
Arevos
Programming Guru
 
Arevos's Avatar
 
Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 4 Arevos is on a distinguished road
Quote:
Originally Posted by Ekros
Well, im a fairly good Python programmer but im not sure if Python should be primarily used to make applications, or for learning a language to help you getting acustomed to other languages?
It depends what applications you wish to make. Python works well on the server side, running web applications like Plone or Trac. It also doesn't do badly with GUI applications, such as Bittorrent.

You won't be able to develop the next Google, Quake or Microsoft Office in Python, but the language is suited for rapid development of small to medium sized applications.
Arevos is offline   Reply With Quote
Old Jan 23rd, 2006, 9:02 AM   #3
Infinite Recursion
Programming Guru
 
Infinite Recursion's Avatar
 
Join Date: Jul 2004
Location: United States
Posts: 3,466
Rep Power: 8 Infinite Recursion is on a distinguished road
Send a message via MSN to Infinite Recursion Send a message via Yahoo to Infinite Recursion
Python is used a great deal in Linux applications, not so much in Windows (it seems). I'm a fan of Perl myself, though I toyed with the idea of learning more advanced Python because it is relatively new.
__________________
http://jasonpowers.net

"There are a thousand hacking at the branches of evil to one who is striking at the root."
Infinite Recursion is offline   Reply With Quote
Old Jan 23rd, 2006, 10:40 AM   #4
Cerulean
Professional Programmer
 
Cerulean's Avatar
 
Join Date: Apr 2005
Location: London, England
Posts: 459
Rep Power: 4 Cerulean is on a distinguished road
Quote:
Originally Posted by Infinite Recursion
Python is used a great deal in Linux applications, not so much in Windows (it seems).
I hear its getting more exposure on the Mac side too, as it's shipped with recent versions of Mac OS X. With that said, its userbase is always rapidly increasing on all different operating systems. When an application is made with Python on Windows you just won't know it as easily as it'll be bundled up with py2exe or something of the sort.

Quote:
Originally Posted by Arevos
It also doesn't do badly with GUI applications, such as Bittorrent.
I'd go as far as saying it does excellently with GUI applications. Python's dynamic nature and duck typing makes many high level constructs of particular use in GUI building (signals/slots) childs play. Python takes out the hefty compile step, removes the worry about build management with makefiles to get things to build properly, and - provided the toolkit is also - is platform agnostic. Being interpreted isn't a real issue with GUI applications as the GUI libraries are usually written in C or C++, and the applications tend to be input bound. If there are bits where performace is critical, they can easily be written in Pyrex or C.

Quote:
You won't be able to develop the next Google, Quake or Microsoft Office in Python
Weeell i'm not so sure I agree with you on that. Google is a very heavy user of Python as you're probably aware - If you look around pages on Google you'll even see a few of them have a .py extension. I can understand that very intense performance (millions of hits per second) would probably require use of a compiled language, but in Google's case it also requires use of a custom web server, so you know.
As for developing the next Quake - i've found developing 3D games with Panda3D to be very enjoyable and manageable, and that the games themselves run very quickly indeed, so why not? EVE online makes heavy use of Python, for example.
Microsoft Office uses its own hybrid GUI toolkit of some description, so you probably wouldn't be able to develop the next MS Office with C or C++ anyways :-P. Don't see why an office application would be so unfeasible with Python personally.

To answer the original question, Python is definitely not a language that is solely there to help you step onto other things. It's the primary language that I write applications in, be they games, GUI applications, network clients/servers, whatever. Sure, I agree with using the right tool for the right job, but many of the times Python is just that. Being an easy language doesn't mean that it's a toy one, it just means it's a well designed one.

Last edited by Cerulean; Jan 23rd, 2006 at 10:51 AM.
Cerulean is offline   Reply With Quote
Old Jan 23rd, 2006, 11:02 AM   #5
Arevos
Programming Guru
 
Arevos's Avatar
 
Join Date: Aug 2005
Location: England
Posts: 1,499
Rep Power: 4 Arevos is on a distinguished road
Quote:
Originally Posted by Cerulean
I can understand that very intense performance (millions of hits per second) would probably require use of a compiled language, but in Google's case it also requires use of a custom web server, so you know.
Of course. I wasn't saying that Python couldn't be used in conjunction with compiled language such as C or C++, just that Python alone doesn't have the efficiency required for such heavy work.
Quote:
Originally Posted by Cerulean
As for developing the next Quake - i've found developing 3D games with Panda3D to be very enjoyable and manageable, and that the games themselves run very quickly indeed, so why not? EVE online makes heavy use of Python, for example.
I hadn't run across Panda3D before - I'm certainly going to have a nose around that site later on. But whilst EVE and Panda3D make use of Python for higher level logic, they use a compiled language for the computing intensive 3D engine. And this was rather my point again - that whilst Python is an excellent language, in the case of large projects, it needs to be supported by lower-level libraries and frameworks.
Arevos is offline   Reply With Quote
Old Jan 23rd, 2006, 11:47 AM   #6
Dietrich
Professional Programmer
 
Dietrich's Avatar
 
Join Date: Feb 2005
Posts: 434
Rep Power: 4 Dietrich is on a distinguished road
Smile

There is a certain symbiosis between C, C++ and Python that makes it very worth while to know all three languages well. I would start with Python for the fun of it, then bring in C and C++.
__________________
I looked it up on the Intergnats!
Dietrich is offline   Reply With Quote
Old Jan 23rd, 2006, 3:01 PM   #7
Ekros
Newbie
 
Ekros's Avatar
 
Join Date: Jan 2006
Location: Canada|Ontario|London
Posts: 8
Rep Power: 0 Ekros is on a distinguished road
Nice posts everyone. Alot of you have answered questions that were in my moving around my head. Im gonna try to make Python my primary language and then I will try to move on to C++ in the future.
__________________
-- Ekros - Python Programmer
AlphaNetwork Administrator
http://www.alpha-nw.com/
^Under Counstruction^
Ekros is offline   Reply With Quote
Old Jan 24th, 2006, 3:38 PM   #8
Writlaus
Hobbyist Programmer
 
Writlaus's Avatar
 
Join Date: Nov 2005
Posts: 149
Rep Power: 3 Writlaus is on a distinguished road
Python was the first language I've learned; I am now familiar with it, PHP, Java, and a bit of C++ and Javascript. I've found it to be an excellent language to be your first--but I'm not saying that that's all it's good for.

I agree that it is good for smaller programs, or working in conjunction with other languages. Additionally, it's always nice to know if you want to write a short script that, for example, just parses a bit of text. Just a bit ago, I wrote a short piece of code that made an email I got more readable.

def myparse(data):
    for line in data.split(">"):
        print line

Didn't even need to use anything other than the prompt in python to do that--I love it for doing simple tasks like that.

The way I've looked at python is: It makes writing the program very fast, but running the program can sometimes be way slower than other languages could make it. As such, it's good for simple programs.
Writlaus is offline   Reply With Quote
Old Jan 27th, 2006, 1:01 PM   #9
Dietrich
Professional Programmer
 
Dietrich's Avatar
 
Join Date: Feb 2005
Posts: 434
Rep Power: 4 Dietrich is on a distinguished road
Smile

The speed of developing a program (any size) is often more critical than the speed of execution. Python has many other languages beat in this category!
__________________
I looked it up on the Intergnats!
Dietrich is offline   Reply With Quote
Old Jan 28th, 2006, 4:11 AM   #10
hydroxide
Programmer
 
Join Date: Apr 2005
Posts: 73
Rep Power: 4 hydroxide is on a distinguished road
Quote:
Originally Posted by Arevos
You won't be able to develop the next Google ... in Python
<cough>It worked for the last Google<cough cough>

-T.
hydroxide is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 3:30 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC