On 17/07/13 16:09, wolfrage8...@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/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to