Setting up Xemacs to work in python mode

Managed to get python mode set up in Xemacs after some initial teething problems. Found the following links useful:

How to add the python mode to Xemacs

Where to get python-mode.el

Definitely in Python mode because I can execute a “Hello World” python script from within Xemacs but I don’t see any syntax highlighting yet. Any ideas?

Edit: Figured out the problem. I could get “syntax highlighting” to work from menu options. So figured it was just a setting in my init.el.

Added the line to my init.el and highlighting now works.

(require ‘font-lock)

Might play around with the highlighting later but this is good for now.

Choosing an IDE/editor

Should I use a full-fledged IDE like Eclipse with the PyDev plugin? Or should I just go with emacs (which I used to be familiar with)?

Quite confused by the number of editors and IDEs listed in python’s FAQ.

Already wondering whether I’ve bitten off more than I can chew. Instead of opening up too many new fronts, I’ve decided to go with Xemacs (I’m on a Windows machine. Before you ask, I am regretting it already).

Will check out PyScripter and Notepad++ too if I cannot get python’s plugins to work with Xemacs or if I realize how much easier those two options will be.

Choosing a programming language

I am probably most comfortable programming in C, C++ and Java (in that order). However, given the amount of time that has elapsed since I last programmed seriously, I suspect that I’ll face the initial learning curve with any programming language (probably steeper if I decided to program in Lisp).

A friend and colleague of mine who I respect a lot, used to swear by python for rapid prototyping. My own exposure to python has been very limited (completing code that someone else had started on but had not finished about 8 yrs ago). At the time, I found it a little painful but that probably was just the initial learning curve that everyone experiences.

Without agonizing over the decision much longer, I’m going to choose python given that I want to be able to churn out working code very fast. If I find that I made a bad choice, I will revisit this decision.

Edit: Couldn’t decide between python version 2 vs. 3. Read the following article and decided to go with version 2.7 for now.

What type of programmer do I want to be?

I have three choices before me.

  1. To try to be the kind of programmer who can get into the zone and come up with some quick code that gets the job done — useful for proof of concepts.
  2. To be the type who does everything by the book, following ideal software development processes, documenting all changes, etc.
  3. To try and be a combination of the two.

Given the time I have allocated to achieve this goal, I am setting out to be type 1. If the code I write is worth anything, I’ll get some other code monkey to refactor it.

My programming background

My programming background involves some programming for class assignments in languages like Basic, Pascal, Prolog, Fortran, Perl and Lisp.

At work, I’ve done some boring maintenance work of legacy Cobol code, done some small but interesting projects using C, C++ and Java but the last one was over 4 years ago. I used to be pretty good at writing complex SQL queries but have not written any SQL code in about 10 years.

Most recently my exposure to code has been limited to doing the occasional code review, helping my colleagues with some debugging, playing with CSS and HTML, and writing some simple bash scripts and Excel macros for automation.

Tags: code monkey

Getting started

Ok, so the goal is as follows:

* To moonlight as a code monkey. (Can’t do it during work hours and thankfully I have a supportive wife).

* To become very proficient in writing code in a short period of time (30 days)

* To come up with one cool stand-alone app or library (within 2 months)

* To document the journey

* To evaluate if this is what I want to be

Needless to say, I will not be revealing who I really am so that I can slink away into my hole if I fail or this whole thing peters out.

Tags: code monkey