Live data from Hacker News

Most(ly dead) Influential Programming Languages

hillelwayne.com

61–70 of 291 posts

Re: Most(ly dead) Influential Programming Languages

#61
post #12
post #10

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.

Contrast to nowadays where people mainly seem to view it as a source of bugs and security vulnerabilities. Which is true and reasonable, but a shame. I always like monkey-patching, at least in small personal projects. But if you want to distribute anything, you end up needing to go back and remove all of it. .

Re: Most(ly dead) Influential Programming Languages

#62
The APL section seems a little off. I downloaded the latest Dyalog version and the RIDE IDE and it was all very simple to use. Despite having zero APL experience I wrote a pretty nifty program to simulate something in my domain in like 3 lines of code. The keyboard thing is a non-issue as the IDE let's you enter symbols and you quickly start to memorize that you can enter command-key r to enter rho and so forth. I've used the ASCII J before and find the APL glyphs help me learn what's going on better. It's right that it isn't a popular language, but that is sad. Dyalog has a lot of tools too from web server, database libraries, R & Python Bridges, GUI...and so forth.

Re: Most(ly dead) Influential Programming Languages

#63
post #60

> 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

#64
I'm surprised by how hard this article is on Algol 68. It was pretty influential:

- 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

#65

That 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.

ABAP which runs in all of SAP systems in Fortune 500 companies as an ERP is derived from COBOL. The core product has 400Million lines. Extensions would be 4X

Re: Most(ly dead) Influential Programming Languages

#66
post #26

> 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#.

And that wasn’t because it had better C interop?

Re: Most(ly dead) Influential Programming Languages

#67
post #60

> 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.

Aha, thank you.

Re: Most(ly dead) Influential Programming Languages

#68
post #53

Earlier 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.

I'm not denying that the modern world of open source tooling and online documentation is better, but in the 1980s-early-1990s that's just not how it was. Things like Turbo Pascal and Smalltalk/V cost money, but not that much, and were worth it because of the large printed manuals they included, which were needed because you couldn't just Google things.

Re: Most(ly dead) Influential Programming Languages

#69
post #45
post #37

Earlier 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.

Borland Pascal had built in assembly which was very easy to use and integrated with the rest of the language. This let me have DOS program that had it's own high performance graphics for GUI (I basically stole Motif visual design with some adaptations) and proprietary preemptive multithreading. C programs venturing into same realm were not really any faster and had to use assembly anyways for performance critical parts.

Re: Most(ly dead) Influential Programming Languages

#70
post #60

> 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?

It keeps going!

      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?

Post reply on HN