Earlier quoted context omitted.
Self has an even bigger legacy, the JVM is basically all the technology that made Self fast ported over to Java. David Ungar pioneered not only Self and prototype based inheritance, but also generational garbage collection, and polymorphic inline caching. Before Sun cannibalised the Self team into Java, it was actually slow as a snail. Another fun fact, a reduced version of Self was used the programming language for…
Having played with Self a bit before the Newton came out and then seeing it in NewtonScript, it was a very cool thing to watch the idea of system-wide prototype-based inheritance filter through the community. I think it was a bit too much for most people to grok, but the ability of a coder to modify only a few prototypes in the system soup to change the behavior of existing apps was absolutely amazing.
Most(ly dead) Influential Programming Languages
61–70 of 291 posts
Re: Most(ly dead) Influential Programming Languages
#62Re: Most(ly dead) Influential Programming Languages
#63> At a time when adding two lists of numbers meant a map or a loop, APL introduced the idea of operating on the entire array at once. Am I missing something, how is this different from a map?
Re: Most(ly dead) Influential Programming Languages
#64- Influenced C's type system. I'm just going to quote Dennis Ritchie on this: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of. The central notion I captured from Algol was a type structure based on atomic types (including structures), composed into arrays, pointers (references), and functions (procedures). Algol 68's concept of unions and casts also had an influence that appeared later."
- Influenced bash's syntax (fi, esac)
- I'm not sure if this counts as an influence or not, but objections to Algol 68's design lead Niklaus Wirth to revive his earlier proposal for a new version of Algol, called Algol W, and ultimately evolve it into Pascal.
Re: Most(ly dead) Influential Programming Languages
#65That was an incredibly interesting article. I never quite grasped the historical significance of CLU. Something I always wonder about COBOL, since it has so little influence on other languages, is if there are good ideas that we missed out on.
Re: Most(ly dead) Influential Programming Languages
#66> The interesting question isn’t “Why did Smalltalk die”, it’s “Why did C++ survive”. I think it’s because C++ had better C interop so was easier to extend into legacy systems. Video Games. From around 1999 to recently, C++ was the language of game development. It only recently came under serious threat, from C#.
Re: Most(ly dead) Influential Programming Languages
#67> At a time when adding two lists of numbers meant a map or a loop, APL introduced the idea of operating on the entire array at once. Am I missing something, how is this different from a map?
APL by default operates on entire arrays even if they're multi-dimensional like a matrix. You can just say matrix x 3 and it will automatically do the nested for-loops behind the scenes.
Re: Most(ly dead) Influential Programming Languages
#68Earlier quoted context omitted.
But there was an affordable Smalltalk system in the early 1990s -- Digitalk's Smalltalk/V. It cost $99 and came with a huge manual that had a great tutorial. It introduced me (and lots of others) to the whole idea of object-orientation.
I've seen this several times. You need to get the stuff to the students who usually have no money to spare. Emphasis on "NO". Affordable doesn't cut it. If you can't download it from somewhere for free, something else will be used by students that will later determine what they'll use at their startups or companies. Even better if it's legal to download for free.
Re: Most(ly dead) Influential Programming Languages
#69Earlier quoted context omitted.
Does anyone know whether Turbo Pascal DOS/Windows compiler produced slower code than C compilers at the time? For a long time I was sticking with Pascal and resisted switching to C, even when everyone around me was doing so. One thing I do seem to remember from that time was that the things people were coding up in C seemed to work faster (not sure if it was Borland's Turbo C or something else). It was one of the arg…
Urban legend, as Borland fanboy, using their Pascal and C++ products, the generated binaries were pretty much the same, even if you might had to play with compiler pragmas, like disabling bounds checking for example. In MS-DOS days, if you actually cared about performance, a macro Assembler was the only way to achieve it.
Re: Most(ly dead) Influential Programming Languages
#70> At a time when adding two lists of numbers meant a map or a loop, APL introduced the idea of operating on the entire array at once. Am I missing something, how is this different from a map?
3 3 3 ⍴ ⍳10
1 2 3
4 5 6
7 8 9
10 1 2
3 4 5
6 7 8
9 10 1
2 3 4
5 6 7
M ← 3 3 3 ⍴ ⍳10
M*M
1.00000E0 4.00000E0 2.70000E1
2.56000E2 3.12500E3 4.66560E4
8.23543E5 1.67772E7 3.87420E8
1.00000E10 1.00000E0 4.00000E0
2.70000E1 2.56000E2 3.12500E3
4.66560E4 8.23543E5 1.67772E7
3.87420E8 1.00000E10 1.00000E0
4.00000E0 2.70000E1 2.56000E2
3.12500E3 4.66560E4 8.23543E5
That's 3 nested 3x3 matrices, and we take the pointwise product of each of them with just the usual multiplication operator.How many maps did you want?