The UK Home Automation Archive

Archive Home
Group Home
Search Archive


Advanced Search

The UKHA-ARCHIVE IS CEASING OPERATIONS 31 DEC 2024


[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

Re: [OT] Programming Language



Howdy,

> I would like to force myself to (at least try)  learn a programing
language
> so i could maybe write some simple apps for my xPL  usage....Have
several
> books on C ...VB........
> But i was browsing the web and came across Python ...??? Is this a
suitable
> language for my needs and is it easy for a non programmer to pick
> up.......Here ther link where im currently reading from...
> http://wiki.python.org/moin/BeginnersGuide

Python is a nice scripting language and you can get a lot done.  In terms
of
scripting languages, I think it's cleaner than most, though the requirement
to
use fixed spacing to indicate program structure has always bugged me (and
the
funny part is I use *very* strict spacing in my code to help indicate
blocks,
but I chaff at the idea that I *have* to).

If you are looking for something other than a scripting language, you may
consider Java.  Now Java is not the be all to end all in programming
languages, but it's no more difficult to learn than C# (C# and Java are 95%
the same) or other semi-modern languages.  Some folks feel Java is complex,
but it's basic language is not at all.  There are lots and lots of class
libraries you can use to get things done and trying to learn them all at
the
same time can overwhelm someone, but the same is true of Python or C# --
you
don't get very far coding nowadays without using libraries to avoid
reinventing the wheel.

Java is portable (you can make it non-portable, but it takes some doing)
and
is easily deployed on many platforms (Mac, Windows, Linux, Solaris, etc).
While technically you can deploy C# apps on windows or linux, doing it on
linux is a real bear (the first time -- getting all the components you need
to
make C# run takes a real long time to make work and gets very fussy --
especially if you don't want to build the entire distribution from source
(which takes almost a day to do anyway)).  The Java JRE, by comparison, is
about 20MB download you just unzip and run (or, for windows, run the
included
installer).

One last caveat on C# -- there are areas of it that are not supported off
windows yet and C# in general makes it pretty easy to create non-portable
apps.  I'm not trying to crap on C# -- I happen to think it brings little
to
the table that wasn't already in Java and is Microsofts "me too"
language, but
it fine technically -- just things that aren't often discussed when folks
talk
about C#.

I think the bigger questions is: do you want to learn an Object Oriented
Language or a non-OO language?  This decision is large -- some folks just
don't get the OO approach and wind up beating the head against a wall
(though
for very small programs, it won't matter much).  OO languages include Java,
Python, C#, C++, etc.  Non-OO languages include perl and C.

In the end, if you set yourself to learn any of these languages, you'll
eventually find that conceptually, they are all very similar and that
moving
to another language is very easy (Java to C# or back is about 1 hours of
learning -- tops -- for example).

So, in short, it's unlikely you'll "go wrong" -- just sample a
few before you
jump in and pick the ones that make the most sense to you.

Gerry
--
Gerry Duprey
Ann Arbor, MI 48103
http://www.cdp1802.org



xPL Main Index | xPL Thread Index | xPL Home | Archives Home

Comments to the Webmaster are always welcomed, please use this contact form . Note that as this site is a mailing list archive, the Webmaster has no control over the contents of the messages. Comments about message content should be directed to the relevant mailing list.