473,320 Members | 1,922 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Need advice on choosing skills.

When I had been programming for a few years, I realised that as much as
a love to learn, I can only explore and be proficient at a limited
subset of technologies. I explored different languages to use for
general purpose programming including C, C++, Java, Perl, Ruby, and
Python. Of those languages, I chose to focus on Python because of many
reasons including clean design, high productivity, and an intelligent,
helpful community. My choice was against the grain of popularity as C++
and Java are often touted as the 'Enterprise' languages. One of my
friends thinks I'm wasting my talent learning and using smallish
technologies. Example: "Why learn PHP, Python, GTK, ... when you can
just learn Java". J2EE, .NET, WebSphere, etc, are quite prevelant in
the bussiness world and sometimes I question my choice to focus on
Python because there do not seem to be many opportunities to use it in
the business world. I really love the language and enjoy programming
with it much more than others, but should I be learning other
technologies? J2EE? WebSphere? I realize that I should use the best
tool for the job at hand and that is not what I'm talking about. I
don't plan on writing a device driver in Python.

The big question. In the limited time I have, what technologies would
you suggest I learn and why? I realize the question 'Depends' on many
factors. If it helps, I'm not money-hungry. I simply want to be
productive, help others with my skills, and make choices that are good
for the computing world at large.

Randall
Jul 18 '05 #1
2 1368
Randall Smith <ra*****@tnr.cc> wrote:
The big question. In the limited time I have, what technologies would
you suggest I learn and why? I realize the question 'Depends' on many
factors. If it helps, I'm not money-hungry. I simply want to be
productive, help others with my skills, and make choices that are good
for the computing world at large.


If your focus is on doing useful stuff, then learn things that will
directly help you in that goal. For example, I would suggest a
cross-platform Python GUI as a good next step. I chose wxPython myself
because it can run and look native on Windows, Mac, and all forms of
Unix that GTK has been ported to (which is just about all of the popular
ones). I wanted to pick a GUI that would let me *easily* write
cross-platform apps that would run on Unix, Mac and Windows, because
there's a lack of quality open-source software for the latter two
platforms. I rejected Tkinter because adding another scripting language
underneath Python seemed a bit much, and I didn't find that Tkinter
looked "native enough" on Windows. (I understand that it has improved a
bit since I looked at it, but by now I've invested enough time in
learning wxPython that I'll just stick with that.)

After learning wxPython, I'd suggest the Twisted framework as a good
next step. (You could also very productively switch the order and learn
Twisted first, then wxPython). As of the latest version of Twisted, it
integrates nicely with wxPython, and the more I learn Twisted, the more
impressed I am with how easy it makes it to do rather powerful things.

After wxPython and Twisted, if you still have time, I'd suggest moving
away from programming languages and spending some time playing around
wiht a good database like PostgreSQL. Beyond that, if you've still got
more time, look into one of the Python-based Web frameworks. There I
can't give you a recommendation, as I'm not too familiar with them
myself.

Between Python, a GUI like wxPython, a framework like Twisted, a
transactional database system like PostgresQL, and a solid Web framework
like (insert your favorite here), you'll have a lot of quality,
multi-purpose tools in your programming toolkit with which to build
whatever application you might desire.

--
Robin Munn
rm***@pobox.com
Jul 18 '05 #2
Funny you said that.

I chose Postgresql about a year ago to use at work for several projects
and have never looked back.

I started working with wxPython about 2 months ago and like it for the
same reasons.

I built a website using Webware.

I'm looking for a solution for tying together PHP to a python backend.
xmlrpc, soap , corba maybe. Might twisted be good for this?

Thanks.

Randall

Robin Munn wrote:
Randall Smith <ra*****@tnr.cc> wrote:
The big question. In the limited time I have, what technologies would
you suggest I learn and why? I realize the question 'Depends' on many
factors. If it helps, I'm not money-hungry. I simply want to be
productive, help others with my skills, and make choices that are good
for the computing world at large.

If your focus is on doing useful stuff, then learn things that will
directly help you in that goal. For example, I would suggest a
cross-platform Python GUI as a good next step. I chose wxPython myself
because it can run and look native on Windows, Mac, and all forms of
Unix that GTK has been ported to (which is just about all of the popular
ones). I wanted to pick a GUI that would let me *easily* write
cross-platform apps that would run on Unix, Mac and Windows, because
there's a lack of quality open-source software for the latter two
platforms. I rejected Tkinter because adding another scripting language
underneath Python seemed a bit much, and I didn't find that Tkinter
looked "native enough" on Windows. (I understand that it has improved a
bit since I looked at it, but by now I've invested enough time in
learning wxPython that I'll just stick with that.)

After learning wxPython, I'd suggest the Twisted framework as a good
next step. (You could also very productively switch the order and learn
Twisted first, then wxPython). As of the latest version of Twisted, it
integrates nicely with wxPython, and the more I learn Twisted, the more
impressed I am with how easy it makes it to do rather powerful things.

After wxPython and Twisted, if you still have time, I'd suggest moving
away from programming languages and spending some time playing around
wiht a good database like PostgreSQL. Beyond that, if you've still got
more time, look into one of the Python-based Web frameworks. There I
can't give you a recommendation, as I'm not too familiar with them
myself.

Between Python, a GUI like wxPython, a framework like Twisted, a
transactional database system like PostgresQL, and a solid Web framework
like (insert your favorite here), you'll have a lot of quality,
multi-purpose tools in your programming toolkit with which to build
whatever application you might desire.

Jul 18 '05 #3

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

Similar topics

5
by: Martin Piper | last post by:
Hi all. I've recently landed myself the position of trainee C++ programmer which I'm extremely pleased about, but also nervous. According to the feedback from the interview, I have a good...
7
by: Phil Powell | last post by:
I am one of 95 people on a project bid (I do freelance on the side), and the potential buyer wants for each of us to produce a professional L&F mockup based upon an existing site...
28
by: Jed | last post by:
Hello to all! I have a couple of projects I intend starting on, and was wondering if someone here could make a suggestion for a good compiler and development environment. My goals are as...
2
by: news.uow.edu.au | last post by:
Any suggestions for the following would be gratefully accepted. I have a table which includes name and interest fields e.g., contact interest smith carpentry jones gardening...
5
by: Kevin Carne | last post by:
First, Merry Christmas. I have been doing intensive Java programming for two years in school (no choice on the language), but now I need to return to C++ because my resume is filled with it both in...
7
by: John Paul | last post by:
I'm thinking of building an e-commerce site in php. Anyone got any advice in building one? What is the best way to implement a payment system? Are any legal issues involved? Thanks,
12
by: Tomas | last post by:
Hi, I have worked with VB.NET for half a year (semi-newbie). Currently I am looking around for some books for those that crossed the starting hurdle. There are too many books out there-make...
4
by: C.Howard18 | last post by:
I work for ValoreBooks.com, which is an internet company based out of Buffalo, NY. I am looking to hire a computer programmer with the job description listed below. Can anybody tell me where would...
14
by: Leah | last post by:
I am a student and are required to build a website that provide services (client-server). I need advice in choosing approach or to be exact the methodology that appropriate for such development....
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

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.