help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Emacs history, and "Is Emacs difficult to learn?"


From: Rustom Mody
Subject: Re: Emacs history, and "Is Emacs difficult to learn?"
Date: Wed, 31 Jul 2013 12:20:28 -0700 (PDT)
User-agent: G2/1.0

On Wednesday, July 31, 2013 11:41:21 PM UTC+5:30, Emanuel Berg wrote:
> Again, I don't understand the "data" viewpoint. Data structures
> and algorithms are the same, or very close, in my mind. Lots of
> algorithms don't even work - and how could they? - if not for a
> specific data structure. (Is this what you mean by "data"?)

> SQL is respected. There is nothing wrong with VB, or VBA, as
> *languages* (they are just BASIC offshots like all the others),
> the problem are those disgusting IDEs, and especially the MS
> Access database wizards. From a theory standpoint, they are the
> opposite of MVC. From an emotional standpoint, they make me want
> to puke. I don't know anything about Cobol. C is highly respect in
> theory and practice, perhaps because of Unix, perhaps because it
> is so cool. C++ is far from as stable/gentlemanly as C, but it
> works, and is fast, with development, and with execution. It is
> the language that the man on the street *still* is (by far) most
> likely to associate with programming.

Well we see differently then.

C programmers think that C has data-structures though they dont think of an int 
or a char as a data structure.
In fact the opposite is the case: The only data structures C has are int and 
char (and scalars).  The rest are just storage structures.
Haskell (and from a certain pov lisp) are languages that actually have data 
structures.

Of course we use the same words and in different ways so heres a map:
What I call a data structure you would probably call a discrete math structure
What you call a data structure I call a pattern of memory layout in a von 
Neumann machine.

The reason to make this distinction. Consider this C type:
struct S {
  T x; 
  struct S *a, *b; 
}

Does this type represent a doubly linked list of Ts or a binary tree of Ts?

The fact that it could be both (or something still different) implies that C 
does not have the tools for building genuine data structures, just for memory 
layouting.

In 1991 I had collected up many such issues about how students brains are 
getting pickled by being brought up on C. 
[Here with some uptodating 
http://blog.languager.org/2013/02/c-in-education-and-software-engineering.html ]
It used to be widely cited at one time including the C edition of Code Complete 
and also some C++ books.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]