Beginning programming question

Mar 03, 2011 100 Replies

I haven't kept up with current books about Python (a long time ago I bought a CORBA-via-Python book, which turned out not useful, and an overly elementary Python book) and have used online refs since to deal with particular questions. However, I've seen both of the following books recommended in comp.lang.python : "Python Standard Library", Fredrik Lundh, and "Python Cookbook, Second Edition", Martelli/Ravenscroft/Ascher, . Both are a few years old now and I don't know if newer versions are out.

My thought is that it isn't worthwhile to get a book about Python syntax, which can be presented well enough online. However, the Standard Library book should be able to present background and framework information that online man pages often lack, while the Cookbook presents numerous segments of code for specific purposes, which may be useful examples for learning Python. The tables of contents of both books are available at those O'Reilly links, so you may be able to see if one or the other matches up with what you want.

Also the books "Dive Into Python" and "How To Think Like A Computer Scientist" are online somewhere, and mailing list may help.

[...]

As long as you have less than about 64k records [lines] and ample memory, take a look at an Excel statistics package add-in. The one I use is WinStat

formatting link
99$US Everything up to but not including canonical analysis. As it is an Excel add-in charts and graphs are easy to generate to include in the reports.

-- Unka George (George McDuffee) .............................. The past is a foreign country; they do things differently there. L. P. Hartley (1895-1972), British author. The Go-Between, Prologue (1953).

[ ... ]
[ ... ]

[ ... ]

At least with a linux box, your turnaround is in seconds, not days. :-) Makes learning easier.

Enjoy, DoN.

If at all possible, it is suggested that he take at least one and possibly several courses in econometrics/political econometrics as these techniques scrub out most of the theorizing and replace it with data driven and empirically verified conclusions.

-- Unka George (George McDuffee) .............................. The past is a foreign country; they do things differently there. L. P. Hartley (1895-1972), British author. The Go-Between, Prologue (1953).

BTW -- the mention of "basics" reminds me to strongly advise

*against* learning in BASIC. It teaches bad programming habits, as Pascal makes it difficult to learn bad programming habits.

Once you know what *good* programming practices are, then you can consider using BASIC. I started in assembly language for the Motorola 6800 and 6809 CPUs (even more possible to do bad things there, but more work to write and faster running), then went to BASIC, because that was what was available for the system which I was then running. No floppies, no hard disk, just punched tape, and later a digital cassette tape drive which I interfaced to the system (and wrote the control software for). (This was in the 6800, I later had floppies for that and floppies plus hard discs for the 6809 systems.

Enjoy, DoN.

And Java, was owned by Sun, which has been bought by Oracle. No bets whether it remains freely available, given what they are requiring for software and service contracts on the Sun hardware.

Sun had the OS (Solaris 10, in multiple updates) available for free download -- and even would occasionally offer sets of DVDs for free (which I took them up on, instead of living through the download times for three DVDs and one CD. (Actually -- only two DVDs were really

*needed* for the SPARC platforms, the third was the OS for the x86 and x64 platforms instead.)

Anyway, for the downloads they asked how many systems you intended to use it on, and that was that. If you wanted support, you needed a service contract.

Now, Oracle insists that you get a service contract (with them) to be allowed to use the downloads for more than one month. And -- to get a service contract, you have to either buy new hardware, or show the purchase documentation showing that *you* purchased it from Sun directly. Those who have systems bought through contractors have to fight like mad to get the service contracts, and they then lock down the systems so you can do very little admin work on the systems.

And for those of us who purchase old systems from hamfests or eBay -- you're just plain SOL as far as getting and running the lastest Solaris 10 is concerned. Of course, there are things like OpenBSD or linux available, but while good, the are not quite as good a fit to the hardware as Solaris 10 is.

So -- what will happen with Java downstream? (And MySQL (also was a Sun portable free package), and BerkeleyDB (another DB package, which used to be from UC at Berkeley, then from "SleepyCat Software", and now that also is owned by Oracle.

And Oracle's own database program *cannot* be purchased. It can only be leased by the year, and there is clock in there to shut it down at the end of that year, until you get a new license, holding your data hostage.

Enjoy, DoN.

Yeah, he studied econometrics at the undergrad level, and econometrics is what his department does. He's very numbers-driven in his economics work. That's what they emphasized in the econ program at Washington & Lee, and that's what he'll be doing with the applied math master's program at Georgetown, if he decides to go there. The Univ. of Maryland has a good program in that, too, and he can get to either with public transportation.

He just took the GREs and scored 800 on the math portion. They accepted him over the phone at Georgetown. d8-)

Thanks. Looks like there are good online Python tutorials, and I may not need a book.

i

Hi Ed, Can I suggest that he has a look at visual basic for applications (vba), it's built into excel and word and all the other microsoft products. I learnt it years ago,when learning access, and I use it often when woking with data. If Excel, Access, PowerPoint can't quite do what you want it to, you write own code to do it and extend it a bit.

John

Unless he wants to know how computers REALLY work, avoid assembly language. Knowing how computer work CAN be quite useful, and the knowledge can help you avoid or at least understand really oddball problems from time to time, but as you have programmed in it, you will already know it is NOT a quick way to get a job done.

C is really a CRAPPY language, and has a number of syntactic "features" that make it VERY easy to make hard-to-find mistakes. The meanings of = and == is a good example.

if (a==b) { do something} is the normal conditional statement. However : if (a=b) {do something} not only does the "something" based only on the value of b, it assigns the value of b to a. In a couple dozen pages of code, I defy anyone to find such a bug in less than a few hours. There are dozens more like this I know about.

On the other hand, C generally produces efficient code, and is portable to hundreds of different platforms. C++ adds a number of advanced features that make it possible to create functions that perform operations not built into the language, but I don't use them enough to be really comfortable with them.

Jon

Sometime, you ought to expose him to assembly language, or even machine language, if he is interested. I don't think most people really should be using this anymore, but understanding what is going on down at the lowest levels can be really helpful in understanding the limits and pitfalls of higher level language programming.

Not too many computers anymore where you can key in the bootstrap loader program through the front panel switches.

Jon

Assembly language does not fit my personality. I like to get things done quickly, not messing with registers and offsets. Kind of like, I retrofitted this Bridgeport (high level), but I would not try to make a "homemade milling machine" (low level).

i

Bootstrap loader? I had to toggle in the whole freakin' program through the switches and pushbuttons that weren't even _debounced_! (Scelbi 8H, 8008, mine had 256 bytes of RAM)

Cheers! Rich

There is a really cool 6502 kit on the net. The microKim is a tiny single board KIM computer that is code and hardware compatible with the ubiquitous Kim-1 from way back at the beginning of recorded time.

Wasn't the Kim-1 (the?) first assembled microcomputer that could be bought over the counter?

No. Thank Heavens.

Today you gotta have a USB link.

And web address... Sorry

formatting link

Thing is, Iggy, once you think the way the machine works and have routines, Assembly language can go together very quickly.

And you have complete and total control of the system.

(...)

And Assembly can be a lot of fun, too! :)

--Winston

I found assembly (8080A, Z80, and 80C85) fairly easy after learning to program my HP RPN calculator. d8-)

On the slow old desktop computers (and especially on my RS M100 -- what was the clock speed, 1.5 kHz??), a dab of assembly here in there made it much easier to tolerate the interpreted BASIC that was churning away on top...

Anybody with a function brain stem can learn 8080, et al. They were meant to be easy.

The Z-80 mnemonics made more sense to me.

There was this one Kaypro that I had ran 12 MHZ. Interpreted BASIC was ok on that.

But compiled BASIC made the world go 'round... Also ran Pascal, C (just ordinary C) Nevada Fortran.

But the best buzz was AZM the Z80 Macro Assembler.

They were fun days. You could still do things . . .

March some dots across the screen and make your fortune in the video game market.

(it actually was around 2 MHz. I exaggerated for effect. d8-))

Yeah, but the fact is, in the beginning, we HAD to do things. I was writing BASIC routines to do all sorts of arithmetic calculations. When I got VisiCalc, I thought I'd died and gone to heaven.

The Apple word processors of the day would crash right in the middle of writing an article, and you couldn't recover a damned thing.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required