[Tutor] What all technologies should a python developer know?

Alan Gauld alan.gauld at btinternet.com
Wed Jul 17 22:00:59 CEST 2013


On 17/07/13 16:09, wolfrage8765 at gmail.com wrote:

> I am not so suprised as I used to be.  Since I have seen that schools
> do not teach like they should, instead they skip the fundamentals and
> head straight to teaching a language

It gets worse. We used to have a local university that taught a very 
good software engineering course.

They started teaching the students how to boot their old DEC mini 
computer using the hardware switches on front then progressed to machine 
code and assembler then C and Pascal before heading into SQL, Lisp and 
Prolog. Some of our best hires came from there.

Nowadays they start with Scratch and move to Smalltalk before 
introducing Java and then C++. It's the reverse of the old approach
and much less detailed. Are the students any better?
No, the opposite. But apparently the old course was too difficult and 
students were going elsewhere - market forces, and the student is king...


> Lisp or Erlang is probably my next language to learn, as I wish to
> better understand Functional Programming.

To be honest i wouldn't use Lisp to learn FP. Erlanfg or Haskell would 
be my recommendation.
Lisp has too many other features and its not always clear which bits are 
FP related and which aren't. Lisp is a great FP language if you 
undertands FP and know how to apply Lisp to it. But not so great for 
learning the new paradigm.

Just my opinion of course others may disagree.

> Dave, how do I "drop down to assembler" with Python?  Can you expand
> on this?

Its really the disassembly listing Dave is talking about I think.
Look at several of Eryksun's  recent post for examples of how the 
disassembly can show what the compiler is doing.

> Also do you think it is still of value to learn Assembly
> Language, and if so which variant, as I understand it, there is a
> unique set for each architecture, although they are usually similiar.

Yes to both points. Assembler is interesting in its concepts rather than 
its immediate use - unless you plan on writing device drivers. There are 
some emulators on the net you can use(*) - I'd recommend a simple 
architecture like the Z80 or 6502. Try to ensure the assembler has macro 
support because using macros is another useful technique that originated 
in assemblers but can be used (or faked) in higher level languages too.

(*)At least for writing. I still occasionally drop into the assembler 
listing when using C/C++ or Pascal(Delphi). But strictly in read-only 
mode. I haven't written any assembler in over 10 years...

-- 
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/



More information about the Tutor mailing list