Programming languages do matter but not as much as many people think f.ex. the HN crowd has a soft spot for LISP, and most of the don't even have proper parallel execution (and no I am not talking OS threads, having direct access to those should honestly be removed at one point). And sure, Racket and a few others are "Working on having an actor model". Wake me up when they achieve it. I am betting on somewhere in the…
what would "proper parallel execution" look like in a Lisp? A library or a more fundamental form? Something with the GC?
Why programming languages matter [video]
71–80 of 129 posts
Re: Why programming languages matter [video]
#72Programming languages do matter but not as much as many people think f.ex. the HN crowd has a soft spot for LISP, and most of the don't even have proper parallel execution (and no I am not talking OS threads, having direct access to those should honestly be removed at one point). And sure, Racket and a few others are "Working on having an actor model". Wake me up when they achieve it. I am betting on somewhere in the…
I support abandoning dynamic typing.
Re: Why programming languages matter [video]
#73Earlier quoted context omitted.
what would "proper parallel execution" look like in a Lisp? A library or a more fundamental form? Something with the GC?
There's a language called PARLANSE which is a parallel LISP. http://www.semdesigns.com/products/parlanse/index.html
Re: Why programming languages matter [video]
#74Earlier quoted context omitted.
Rust compiler enables trivial parallelism by enforcing multiple readers ^ writer; and it’s beautiful. See Rayon.
I wouldn't say it's trivial but yes it's there and it's very helpful.
Re: Why programming languages matter [video]
#75Earlier quoted context omitted.
Hardware was for a very long time a limiting factor in the practicality of FP. For most general applications, today this is a relative non-issue. FP is also particularly well suited for cloud computing and parallel computation.
"FP" camps tend to come in two flavors: "I'm a mathematician writing a computer program, and all problems will be made to look like math problems even if it means the program becomes an inscrutable mess of types and dense syntax" and "functional-ish idioms are included". The latter is useful, sometimes, for cloud computing and parallel computation; the former tends to have too many problems (slow build, slow executio…
Re: Why programming languages matter [video]
#76Earlier quoted context omitted.
Some relevant PL research STM: https://cs.brown.edu/~mph/HerlihyM93/herlihy93transactional.... Region based memory management: https://en.wikipedia.org/wiki/Region-based_memory_management Rust lifetimes, originally from Cyclone: https://en.wikipedia.org/wiki/Cyclone_%28programming_languag... Mutable value semantics: https://arxiv.org/pdf/2106.12678.pdf
STM is about hardware, not programming languages, but is decently recent so maybe someone will actually try it in hardware and see if it provides a good benefit for the increased complexity of the chip. Region based memory management was first conceived in 1967 and is achievable by any programming language that lets you manage memory yourself. Mutable value semantics in native code have been available since at least…
As others have pointed out, there's STM research in PL, it's not entirely about hardware. (The link I gave wasn't great, sorry.)
> Mutable value semantics in native code have been available since at least 1980 with Ada.
Could you link to the relevant docs? I wasn't aware Ada had anything like this.
Is this implemented under the hood with deep copying? Because if so, that would explain why it hasn't started to catch on anywhere until now. Swift and Hylo have much more efficient implementations that "copy all the time".
https://www.jot.fm/issues/issue_2022_02/article2.pdf
> Region based memory management was first conceived in 1967
There's active research in this general space. I met someone who was working in it on a train, though I forget the details.
> and is achievable by any programming language that lets you manage memory yourself
Sure. I mean Rust lifetime discipline is "achievable" in C too, so long as you're very very careful.
> Lifetimes in Cyclone seem the best example of PL research in the last 50 years you have there, as it’s only 20 years old.
It typically takes 10+ years for PL research to go from papers to research languages to being incorporated into"real" languages.
> More research is probably required.
Always.
Re: Why programming languages matter [video]
#77Programming languages do matter but not as much as many people think f.ex. the HN crowd has a soft spot for LISP, and most of the don't even have proper parallel execution (and no I am not talking OS threads, having direct access to those should honestly be removed at one point). And sure, Racket and a few others are "Working on having an actor model". Wake me up when they achieve it. I am betting on somewhere in the…
> Wake me up when they achieve it. I am betting on somewhere in the 2030s, best case scenario (slap) (wake-up sleepy) common lisp has actors for a while now
Re: Why programming languages matter [video]
#78Programming languages do matter but not as much as many people think f.ex. the HN crowd has a soft spot for LISP, and most of the don't even have proper parallel execution (and no I am not talking OS threads, having direct access to those should honestly be removed at one point). And sure, Racket and a few others are "Working on having an actor model". Wake me up when they achieve it. I am betting on somewhere in the…
People eventually got around to things like restricting bytes to be eight bits, using a standard character set, and so on. Eventually we will find some language factors that “stick” (e.g. abandon the stupid distinction between statements and expressions) which will become baseline and the space of variation will diminish.
Re: Why programming languages matter [video]
#79Programming languages do matter but not as much as many people think f.ex. the HN crowd has a soft spot for LISP, and most of the don't even have proper parallel execution (and no I am not talking OS threads, having direct access to those should honestly be removed at one point). And sure, Racket and a few others are "Working on having an actor model". Wake me up when they achieve it. I am betting on somewhere in the…
> Wake me up when they achieve it. I am betting on somewhere in the 2030s, best case scenario (slap) (wake-up sleepy) common lisp has actors for a while now
Re: Why programming languages matter [video]
#80Earlier quoted context omitted.
Except for all the research around functional programming? This is like when I hear people claim that physics has not advanced in the last 50-70 years.
Functional programming is not based off how hardware is implemented. Serial execution of instructions and mutating chunks of memory at a time are all core parts of how the hardware works which aren't functional. Doing graph reduction and making tons of copies will be slow.