473,756 Members | 2,996 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

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 1395
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
3015
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 basic knowledge of C++ (through college) although my contract states that I must endeavour to learn more, so my question is - which areas of C++
7
1378
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 (http://www.mackay.qld.gov.au) for his particular site (http://www.laidley.qld.gov.au) and I am trying to give him what he wants, except that I am running into a snag: Hiermenus. I am unable to (and honestly unwilling to) purchase even the older versions of...
28
2480
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 follows: 1. Develop the project code on XP.
2
1449
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 smith plumbing smith geology jones geology
5
1840
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 Windows and Unix and I need work because I am graduating in a few months. Instead of just reading books to refresh my memory, I'm going to build a large (4 month) project that encompasses all the C++ material. I think this is a better way of...
7
2059
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
1643
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 choosing, a bit of a gamble. If you have experience of good VB.NET books on general and office automattion, you could recommend, it would be greatly appreciated.
4
1504
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 be the best place is to post this job. I can't decide between monster/ careerbuilder/dice.com. I was just wondering if anybody even looks at these sites while searching for a programming job or if anyone has any other recomendations to post...
14
1587
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. I am still new in design and analysis, so any extra informations are greatly appreciated. Right now, it is the initial phase, planning. So I need to decide which to adapt. I had been read some of the open source projects code, and majority seems...
0
9431
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 usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
10014
Oralloy
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...
0
9844
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 captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9689
tracyyun
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...
0
8688
agi2029
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...
1
7226
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 instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5119
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...
0
5289
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3780
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 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.