Live data from Hacker News

Why programming languages matter [video]

youtube.com

121–129 of 129 posts

Re: Why programming languages matter [video]

#121

Earlier quoted context omitted.

> 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 I don’t understand how the argument about LISP would imply that programming languages matter “not as much as many people think”

I mean that people over-fixate on syntax or language quirks, but when you start writing for (and deploying for) production then it turns out that many others things are much more important. And I wish people were more practical in our area and they are often not, they are like kids who only want to play even. And even though I am eating down votes I will keep saying it: fangirling over LISP I view as a collective dra…

> I am saying that if you want to truly move the art forward, well, we have 5000 other problems that are at least 100x more important than "oh look I can code a basic LISP interpreter".

How does one "move the art forward" without understanding the landscape first? That is, an individual can't know what "forward" means without understanding where they currently are. There isn't a finite number of people over a fixed period of time doing all this. Just because something "is known" to humanity doesn't mean it's known by every individual presently. Each generation must rediscover what previous generations knew, either through raw insight or by knowledge transfer. People aren't born with computing knowledge :)

Viewed this way, how many people in the world, presently, have sufficient knowledge to "move the art forward"? How many have the means? I'd put it at a few hundred. Maybe you're one of them?

You explicitly say you can't be easily disuaded from your opinion, so maybe I'm just spitting into the wind. However, rather than talk down on people doing the hard work of learning where they're at in history, being excited my genuinely exciting things, and taking the necessary steps to "move the art forward", maybe you could assist them by sharing your experience? Or, simply move the art forward yourself :)

PS: Play is exactly what's needed. That's how humans learn and discover :) But maybe we need to play more efficiently? ;)

Re: Why programming languages matter [video]

#122
post #54
post #26

Earlier quoted context omitted.

I don't know what "silver bullet" claims you've heard, but I'm not sure how that is relevant to this thread. I don't think I've made any outlandish claims, or any claims that aren't substantiated by a preponderance of academic literature.

Functional programmers regularly claim: -Haskell is faster than C (lol) -FP gives you free concurrency -FP makes code more testable -FP is easier to read -FP is easier to consume for people -FP results in no bugs -FP is easier to change -FP will literally suck your peepee -Actually FP is the second coming for Christ It’s really funny how you also pretend you’ve never heard of all the silver bullet claims that are inc…

> Functional programmers regularly claim:

> -Haskell is faster than C (lol)

If they regularly claim that you should easily be able to point to several recent examples. Can you?

Re: Why programming languages matter [video]

#123
post #32
post #30

Earlier quoted context omitted.

Futhark ( https://futhark-lang.org ) is an example of a functional language specifically designed for writing "normal" high-level functional code that compiles to parallel execution.

Genuine question-- is there something about Futhark that makes it particularly well-suited for parallel execution compared to any other functional programming language (especially of the purely functional kind)? FP in general is inherently well suited for this application. As I understand it, Futhark aims to leverage GPUs in particular, and that approach seems to be what makes it unique within the category of FP lang…

Functional languages have a core that is well suited for parallelism, but all mainstream functional languages have various features that are unsuitable for parallel execution - particularly if you want to target limited machines like GPUs.

The Futhark programming model is standard functional combinators: map, reduce, scan, etc. You can do that in any Functional language, and it is mostly trivial to rewrite a Futhark program in Haskell or SML or OCaml. Futhark removes a lot of things (like recursive data structures) to make efficient parallel execution easier (and even possible), and adds various minor conveniences. But you don't really need to add something for functional programming to be suitable for parallelism; you just have to avoid certain common things (like linked lists or laziness).

Re: Why programming languages matter [video]

#124

Earlier quoted context omitted.

> but as you said it's a solved problem in very few languages. That's not what I said. What I said was "I'm not saying that every existing language has solved it". TypeScript, C#, Kotlin, Dart are all examples of popular languages that have solved this problem. Another problem that's currently being solved is the inability to do basic data modeling. In particular, the inability to say "it's A or B". That has been sol…

Yes, “solved” can mean multiple things. 1. We have a describable or demonstrable solution Y for problem X. 2. We have a language that uses Y to solve X. 3. We have several languages that use Y to solve X. 4. Most languages use Y to solve X, and popular languages that don’t are anticipated to do so soon so they can. 5. Any sensible language uses Y to solve X. > I really hoped that 22 years in my career I would've seen…

> I interpret this comment as referring to “solved number 5”.

Yep, that's what I meant, thank you.

It breaks my heart seeing e.g. Python and JS still being the same terrible monstrosities that they always were, and what's even worse is all the post-hoc rationalization that people do to justify their favorite language. Instead of, you know, just say "yeah it's bad that we don't have that, choose another language if it bothers you" but no, it has to be BS like "almost everyone uses Python, have you considered that you might be wrong?". The good old appeal to popularity and tradition, and one of the well-documented logical fallacies that's being done every day and every hour. But hey, who's counting, right.

I wish that our work area -- the programming -- had more balls. More courage. "Alright guys, sum types are unequivocally better than having NULL, let's start changing our language" probably followed by an announcement "Sorry we couldn't fit sum types in Python, we're forking the language with a small list of incompatibilities and a tool to rewrite your old Python to the new one, please migrate". Or something along the lines.

But no, of course not. Let's pretend everything is okay. :/

Re: Why programming languages matter [video]

#125

Earlier quoted context omitted.

I mean that people over-fixate on syntax or language quirks, but when you start writing for (and deploying for) production then it turns out that many others things are much more important. And I wish people were more practical in our area and they are often not, they are like kids who only want to play even. And even though I am eating down votes I will keep saying it: fangirling over LISP I view as a collective dra…

> I am saying that if you want to truly move the art forward, well, we have 5000 other problems that are at least 100x more important than "oh look I can code a basic LISP interpreter". How does one "move the art forward" without understanding the landscape first? That is, an individual can't know what "forward" means without understanding where they currently are. There isn't a finite number of people over a fixed p…

> How does one "move the art forward" without understanding the landscape first?

Practice data structures, make complex algorithms described in books (most of which are free, and the rest are maximum $35), code a small program for an embedded controller for once to see how the sausage is made first-hand, participate in different kinds of open-source. There are plenty of ways outside of "the world needs one more LISP interpreter".

> Just because something "is known" to humanity doesn't mean it's known by every individual presently.

Sadly. I wish I belonged to another species where this assertion was not true. Sigh.

> Viewed this way, how many people in the world, presently, have sufficient knowledge to "move the art forward"? How many have the means? I'd put it at a few hundred. Maybe you're one of them?

Me? Absolutely not, I am 43 and at this point I am severely burned out. I had so many ideas and ambitions but working for the man for 22 years has crushed me. Maybe if I get a bag of money in the upper 7 digits I'll be able to reignite my tinkering spirit but we don't live in fairly land and this is not happening so nope. You're looking at one more person who was crushed by the free market forces.

That being said, you have people working on e.g. the Rust compiler or OCaml in general. Likely a bunch of geniuses and I love it that they are actually funded and are keeping up the good fight. Gives me some hope.

> maybe you could assist them by sharing your experience?

Yes, that's the best idea really: education. But as we all know (1) younger people never listen to advice, and (2) I probably never found the right audience (though thinking of it I am starting to see some lectures popping up lately in my city again, maybe I should try to go). I've been told I am excellent mentor (as recently as 3 months ago) but my health and time constraints prevent me from doing it more.

But how do you educate people to be unhappy with the status quo? I seriously don't know. The human brain is kind of like this: "Hey I am not hungry, I have where to sleep and most of my basic needs are covered, I guess the world is perfect and I don't need to change anything at all anywhere". Observed it thousands of times in my life and I am bitter about it to this day, likely to my grave.

> But maybe we need to play more efficiently?

Yep, I would not be against some central "authority" website / app that distributes "play" tasks to whoever is willing to do them (obviously with plenty of repetition and redundancy, you can't have 10 people agree to tackle on 10 different tasks and then they never show up again). And this does not remove choice, you can still present people with like 50 choices and they surely will identify with at least one of them.

All this free energy, wasted all the time. [sighs deeply] I wish we had more structure and direction is what I am saying all along.

Re: Why programming languages matter [video]

#126

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…

I support abandoning dynamic typing.

I don't think static typing is the right way to go for every kind of application (imagine doing data analysis without dynamic typing), but every dynamic programming language should ideally support progressively adding types to a codebase.

Re: Why programming languages matter [video]

#127
post #111
post #97

Earlier quoted context omitted.

I work at a FAANG-like company. The code base has almost no functional programming paradigms deployed. It’s a multi-billion dollar company from which I, an IC cog in the machine employee, became a multimillionaire through from the IPO. It’s wildly successful.

Is it all design-patterny OOP?

The vast majority of it is, unfortunately. That's starting to change, though, as we are hitting some pretty severe maintenance and performance issues, as well as being bottlenecks to making changes, that all the abstraction is obviously the root cause of. None of the services the team I used to lead utilized OOP (in the sense you're referring to), and the new team I lead will be making sweeping changes to move away from it under my guidance.

It served its purpose, but we've outgrown it.

Re: Why programming languages matter [video]

#128
post #88

Earlier quoted context omitted.

On that I totally agree.

Then my apologies to you and everyone else who replied to me: I really should have just said "I feel we scatter our attention and energy too much and we don't collectively evolve our craft as much as I believe we are capable of".

No worries! Apologies for being overly curt.

Re: Why programming languages matter [video]

#129
post #21

Earlier quoted context omitted.

Array languages, such as APL and others, tend to be easily parallisable given primitives tend to focus on intent and how to transform data rather than imperative operations. Some of the SIMD operations feel very reminicent of APL primitives

So your best bet for a modern language is one from 1966?

Just because something's old doesn't mean it's not relevant, yes might not've been the best language to suggest - the more modern BQN, Uiua and Singeli exist too - but it's still a fairly niche paradigm. Ideas tend to come in cycles too - look at the 1980s ideas of the transputer or connection machine.

I wanted to point towards a programming paradigm that's approach enables you to take advantage of the parallel execution possible within chips today due to the notation being both precise in intent yet vague in execution. Take summing an array (`+/vector`) or selecting values given a boolean mask (`mask/values`) - both these very simple expressions are expressible directly in SIMD instructions, as there's no for loop index enforcing an order.

Post reply on HN