[HN Gopher] The Economics of Programming Languages [video]
___________________________________________________________________
The Economics of Programming Languages [video]
Author : satvikpendem
Score : 208 points
Date : 2023-10-06 02:11 UTC (2 days ago)
(HTM) web link (www.youtube.com)
(TXT) w3m dump (www.youtube.com)
| baron816 wrote:
| A talk on "the economics of programming languages" could go a
| number of different ways. I'd like to see a talk (or maybe a
| whole book) on how the evolution of programming languages over
| the last 50 years has made it possible for multiple trillion
| dollar companies to form and reshaped the whole global economy.
| Like, these things wouldn't be possible if we were stuck with
| Fortran.
|
| I think there's an interesting discussion to be had about why all
| these programming tools (languages, frameworks, version control,
| other infrastructure) have made the job of software engineers so
| much easier, and many more people have entered the profession as
| a result, but the wages of software engineers has continued to
| rise.
| armchairhacker wrote:
| > I think there's an interesting discussion to be had about why
| all these programming tools (languages, frameworks, version
| control, other infrastructure) have made the job of software
| engineers so much easier, and many more people have entered the
| profession as a result, but the wages of software engineers has
| continued to rise.
|
| More demand. As you've stated, we probably just wouldn't have
| services like Google Docs if we were still writing code in
| Fortran. But with the advent of better languages and tooling,
| people replace old tasks (e.g. spreadsheets copywriting) with
| automation, and create new types of software (video games,
| social media, ads). Software engineers have become more
| efficient but there's a need for more software engineers,
| because there's a need for much more programming.
|
| It's the same reason people still work a lot despite having
| more and more automation: our expectations for a decent quality
| of life (housing, shopping choices, machines) have increased.
| Workers have become more efficient but there is much more work
| to be done.
|
| A lot of it is inefficiently too. I believe there are a lot of
| "bullshit tech jobs" (see: ad creators), and software produced
| with real money which really just isn't necessary. Similarly,
| there are bullshit jobs in other fields (see: call centers);
| things like huge houses and shopping choices which aren't
| necessary, and there's a lot of waste (food, old stuff,
| products designed to fail), which all cause society as a whole
| to work much more than we really need to.
|
| But it's not just inefficiency. There are a lot of problems we
| simply couldn't tackle with old technology (be it software,
| hardware, chemical manufacturing, healthcare) which we can
| tackle now. So, better tools don't reduce jobs, they just
| change how the jobs are done and what they're for.
| 1-more wrote:
| Brutal ending. Let me kick the tires on Elm types stored in
| Postgres!
| refset wrote:
| I'm extremely keen to see what the SQL<->Elm experience might
| be (assuming something like that is part of the deal too).
| Simplifying how we interact with databases is arguably even
| more important/$valuable than simplifying UIs.
| 1-more wrote:
| I strongly endorse having some fun with Lamdera then. Your
| frontend and your backend are written in Elm. Your backend
| state is the state of the world, and it is stored in a DB.
| You write migrations that force you to have a safe
| translation between versions. They answer the question of
| "given a state of frontend and backend models and in flight
| messages, how do we construct new versions of these things?"
| And they can include "throw out that message" if you really
| want.
| carapace wrote:
| FWIW, I'm about to try integrating Elm and Tau Prolog
| (Prolog-in-JavaScript). I have a toy language that uses Elm
| for the interpreter and Prolog for the type inference and I
| want to make one of those nifty "try this language right in
| the browser" things.
|
| The "relations" in Prolog and SQL ("relational model") are
| the same thing, and Prolog is arguably "nicer" than SQL?
|
| https://en.wikipedia.org/wiki/Relational_model
| iamwil wrote:
| That part of the talk surprised me. It implies that you can
| compile Elm into C? I wasn't aware that was in its
| capabilities.
|
| It seemed like a good idea worth exploring. I can see how he'd
| get Jeff'd there.
| 1-more wrote:
| it's certainly not in the 0.19.1 compiler, but yeah you can
| compile anything into anything when you're the compiler
| writer (and he's a not bad compiler writer).
|
| Lamdera, fwiw, is storing Elm states in a database right now.
| It's a closed source fork of the Elm compiler. It's honestly
| amazing, and it may be what Jeffs the official Elm on the DB.
| IDK.
| marcosdumay wrote:
| You can compile almost anything into C. And if you can't, you
| can always compile it to machine code with a C compatible
| interface.
| abdellah123 wrote:
| Another very successful way to go about building a language is
| Imba.
|
| Build a successful product with new lang https://scrimba.com,
| make sure the product's very hard to Jeff and take VC money.
|
| Now you can work on the language as you please, and they can't
| Jeff you since nobody else can build something similar (not in a
| reasonable amount of time anyway)
|
| P.S: taking VC money is optional. Scrimba is profitable so it
| wasn't necessary.
| otteromkram wrote:
| Your product is a bootcamp with a Javascript abstraction and
| you think Amazon can't replicate that?
|
| How do you sell people on enrolling for a course that uses a
| language that isn't used by any other company, which makes it
| pretty useless outside of possibly teaching some high level
| concepts?
| tcbawo wrote:
| What does "Jeff" mean in this case?
| dcre wrote:
| In the talk it's short for getting Jeff Bezos'd, i.e.,
| someone with deep pockets easily replicating what you've
| built on top of their own infrastructure (often cheaper for
| them because of that infrastructure) after you showed there
| was a market for it.
| AndyKelley wrote:
| If you want to dig into the economics of the "donation" model,
| here's a talk I did at FOSSY in September:
|
| Case Study: Zig Software Foundation by Andrew Kelley
|
| https://archive.org/details/fossy2023_Case_Study_Zig_Softwar...
| KolmogorovComp wrote:
| Tangential: those slides are very slick, does someone know which
| software was used?
| refset wrote:
| Almost certainly https://prezi.com/
| deathtrader666 wrote:
| Prezi was where Elm was conceived / sponsored.
| lrx wrote:
| Why did Prezi take Elm off the payroll?
| timinou wrote:
| He mentions it in the video. They couldn't rely on Elm,
| which was too young at the time, for their migration away
| from Flash. The scale of creating a language was too big
| for Prezi's immediate needs back then
| pjmlp wrote:
| Great talk, and a good overview why having a better grammar and
| semantics on their own doesn't matter, unless the rest is also
| taken care of.
| cloogshicer wrote:
| The sad thing about this is:
|
| Imagine how amazing our languages and tooling could be if there
| was a happy path for talented people to work on this.
|
| For example, the error messages in Elm are just insanely better
| than in any other language I know. Like, it's not even in the
| same ballpark. Why doesn't every language have this?
|
| But that's just an example. In general, I think we under-invest
| in tooling.
| CSSer wrote:
| Oh, absolutely. This came up in a conversation I had with a
| friend last night about antitrust in tech. Not only do we
| underinvest in tooling but only the largest companies have the
| spare time and resources to do so.
|
| I think this has led to many modern open innovations only
| realistically being useful for solving the problems of very
| large companies.
|
| On a cynical day I might even accuse certain tools of being
| designed that way for job security. Or at least it looks that
| way because the majority of people who are using the tool could
| only dream of getting approval from management to make a better
| alternative.
|
| The priorities of many of the tool maintainers, no matter how
| honest, just don't match like they used to, and this is in an
| ecosystem awash with telemetry.
| vlovich123 wrote:
| Can you give an example? I find Rust's error messages to be
| also very good in most cases, but I've been in C/C++ land so
| long I don't know what the state of the art actually looks
| like. Also, do you think Elm's error messages come from a
| simpler language design? For example, some of Rust's ability to
| provide better error messages come from the language
| improvements relative to C/C++ itself I think.
| mbStavola wrote:
| Fun fact, Rust's human readable errors were inspired by
| elm[1].
|
| [1]: https://blog.rust-lang.org/2016/08/10/Shape-of-errors-
| to-com...
| [deleted]
| diggan wrote:
| I'm fairly sure I read somewhere that Rust error messages
| were inspired by the great error messages popularized by Elm.
|
| And in most cases, it's just a matter of sitting down and
| really thinking about what is the best error message you
| could provide in that specific scenario, what context is
| needed any so on. Instead of just writing down the first
| thing that comes to your mind, and never iterating on it ever
| again.
| bbkane wrote:
| I find the "state of Elm" over the past couple of years
| absolutely fascinating. Some folks reasonably claim the language
| is dead and absolutely not suitable for production due to
| scarcity of updates, public roadmap, or bug fixes. Others run Elm
| in production and reasonably claim it's perfect/stable already.
| There's a steady stream of blog and forum posts on this argument.
| I read them all.
| dartos wrote:
| There are only 2 kinds of tools.
|
| Tools people complain about And tools nobody use.
| pcstl wrote:
| Yeah, I don't think this quote fits here.
|
| Elm had a massive shot at making the big time circa
| 2015-2016. If they hadn't blown that shot, yeah, they'd be
| the kind of tool a lot of people use and complain about. But
| what I see when it comes to Elm is a lot of people who _don
| 't_ use the language shaking their heads in frustration at
| what they see as missed potential, while a handful of people
| who _do_ use the language insist that it 's perfect and
| unchangeable and that Evan could never ever make a bad
| decision, all the people who disagree must just be short-
| sighted.
| satvikpendem wrote:
| As the sibling comment implies, the fact that we see fewer
| and fewer complaints compared to a few years ago leads me to
| believe that Elm usage is dying.
| noelwelsh wrote:
| Agreed. It's amazing how much history is determined by small
| decisions. As another commenter said, Elm completely blew their
| chance, which is essentially down to the actions of one guy
| making what seem, from the outside, obviously bad decisions. At
| a meta level, there has long been demand for a modern ML but
| all the contenders have fumbled the bag in various ways. E.g.
| OCaml was "nah, multi-core isn't important" for at least a
| decade.
| pharmakom wrote:
| F# is the most popular ML derivative now. If it had a few
| more of the type system features in OCaml it would be
| perfect.
| xtian wrote:
| It's because the only people left in the Elm community are
| those who are content with its current state and aren't
| interested in having a stake in the future direction of core
| components or in even knowing whether there is a direction.
| davidw wrote:
| I wrote about this subject a while back. I'd be curious to read
| an 'article version' of his talk.
|
| https://www.welton.it/articles/programming_language_economic...
| layer8 wrote:
| Your article is more about the economics of using a language,
| while Evan's talk is about the economics of developing a
| language.
|
| Your choice of examples also dates you as being roughly 20
| years older than Evan. ;)
| davidw wrote:
| Well, yeah, I wrote the article nearly 20 years ago. I still
| think the fundamental forces at work are pretty similar
| though.
|
| The economics of creating a programming language are similar
| to most other open source software economics, although even
| proprietary languages need a way to get an initial user base.
| In some cases that's easier, as a large company can force a
| language for some important environment like writing iOS
| apps.
| layer8 wrote:
| Ah, I missed the date, and "a while back" sounded more
| recent to me.
|
| I think your article and Evan's talk are largely
| complementary.
| satvikpendem wrote:
| Interesting, I posted this a couple days ago but it now seems to
| have gotten into the second-chance pool.
|
| I used to use Elm, but after all of their hostility to their own
| users (which you can see with a cursory search online) and the
| growing popularity of TypeScript, I stopped using it, even though
| TS is in some ways worse. But sometimes, worse is better, and
| sometimes, you just want to get things done.
| continuational wrote:
| I don't know what to search for - can you elaborate?
| satvikpendem wrote:
| If you search on HN for Elm, you'll find several articles: ht
| tps://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
|
| The one that's most talked about is the top one as of this
| writing, Why I'm Leaving Elm. You'll find some examples in
| there.
| bbkane wrote:
| Also head to the Elm subreddit or the Elm discourse forum
| and sort by "top all time"
| jpcfl wrote:
| Tbf, Reddit is pretty hostile in general.
| nyssos wrote:
| That's not the sense in which Elm is hostile. It's
| hostile as in 1990s Microsoft. There are lots of little
| things, but the big ones are:
|
| - the compiler detects whether it's compiling core
| libraries and disables some features if it's not
|
| - you can't choose your own package set, even locally
| foobiekr wrote:
| That doesn't make the top posts unfair or valueless.
| poidos wrote:
| I was lucky enough to be in attendance for this one. Loved the
| energy in the room during this fantastic talk.
| ad404b8a372f2b9 wrote:
| The presenter is hilarious! I've rarely seen an engineer with
| such charisma.
| zoogeny wrote:
| I love this talk for a lot of reasons. Mostly because it
| crystalizes a lot of feelings I have been having about "Open
| Source" as a general concept. His conclusion that Open Source is
| for big companies and not small developers is a really compelling
| conclusion (IMO). The fact that a lot of open source projects
| support massive corporate rent-seeking (directly or indirectly)
| is a great example.
|
| My spiciest take for 2023 is that the development community is
| going to start waking up to the realities of asymmetry between
| the kind of open source models made possible by the largess of
| massive billion dollar corporations and the kind of open source
| made possible by individual developers working on passion
| projects.
|
| It probably helps that I am aligned with what Evan is saying in
| some meta sense. We really need to zoom out from the viewpoint of
| being the benefactors of seemingly "open" projects like Chrome. I
| even see in these comments some pot-shots at the Elm community
| and leadership for being extremely protective of their project
| when faced with unwanted and undesirable intrusions.
|
| It is also interesting that this comes not long after I ran into
| Golang debating an updated json library for its stdlib [1]. What
| I want to say about that is, there is almost no universe I would
| be willing to put up with that community feedback. Any human with
| the stamina to respond to aggressive and persistent haranguing
| and nitpicking has more patience than I will ever have. So if the
| majority of criticism of Elm is that they exclude those kinds of
| people from their community then I totally understand it. Even if
| you paid me a 300k TOC FAANG salary there is no way I'm dealing
| with those kind of people, forget about it for a project of my
| own passion. Thank you for your interest, but please take your
| "help" anywhere else.
|
| His conclusion is bleak and a bigger warning than most realize.
| How many people have amazing ideas on their laptops in a proof-
| of-concept state right now but they don't know what to do? One on
| hand is the specter of entitled expectation from a legion of
| idiots who have been conditioned on the open source models made
| possible by huge corporations. On the other are the corporations
| salivating at Apache, MIT and BSD licensed free software they can
| host for almost no cost. And as he points out - the current
| alternatives for funding are totally inadequate.
|
| 1. https://github.com/golang/go/discussions/63397
| pcstl wrote:
| I don't think it's very charitable of you to assume that the
| massive amount of people who have left the Elm community are
| all, and I quote: "a legion of idiots who have been conditioned
| on the open source models made possible by huge corporations".
|
| I get the point you're trying to make here, and I agree that
| funding from big corporations has fundamentally distorted the
| open-source landscape in ways that might not be the most
| desirable, but we can acknowledge that without invalidating
| people who believe that the Elm project has been mismanaged by
| just assigning them to some "those kinds of people" bin.
| zoogeny wrote:
| I'm not above using inflammatory language when I want to and
| I don't subscribe to tone-policing in general. But in the
| context of the paragraph you quoted, "a legion of idiots"
| refers explicitly to a _specter_ in the mind of any person
| with code written that's considering releasing it open
| source. It does not refer to any specific individual,
| situation, project, etc. It is a fear of the mob and of the
| dog-piling we so often see in open source communities.
|
| But to continue on the topic you brought up - I am also not
| interested in calling out people who decide a project is not
| for them and decide to walk away. I am calling out people who
| jump into discussions about the core fundamentals of projects
| that they are not currently contributing to and turn those
| discussions in a hostile direction. Once they realize that
| their technical contributions are not wanted they turn to
| character and reputation attacks against the project owners
| and core contributors. Even if one out of one hundred users
| matches this description, you end up with a situation most
| sane individuals want to avoid at all costs.
|
| So there is no invalidation of people who believe Elm went in
| the wrong direction. There isn't invalidation of people who
| wish to express that opinion publicly and even on project
| hosted forums, chats, bug-lists, etc. It is against those who
| go the "extra mile" and persistently push for changes even
| after they have been rejected and who resort to attacks on a
| person's character or reputation when they fail to get their
| way. And it is against those who defend such behavior by
| invoking some unspoken rules of open source development.
| xtian wrote:
| > There isn't invalidation of people who wish to express
| that opinion publicly and even on project hosted forums,
| chats, bug-lists, etc
|
| This was and I believe still is disallowed on any
| communication venues controlled by the Elm core team. Any
| discussion of alternative designs or workarounds was shut
| down and deleted, regardless of tone.
| pcstl wrote:
| That is fair enough. And sorry if I seemed like I was
| policing your tone, I was actually just disagreeing with a
| certain characterization of the situation.
| otteromkram wrote:
| [flagged]
| pcstl wrote:
| Are these "woke SJWs" in the room with us right now?
| pjmlp wrote:
| Recently someone made a quote on twitter asserting that trying
| to live from open source without a proper business plan, is
| like hoping people listening for free music radio will actually
| buy the record.
|
| Or as I like to point out, living as street artist.
|
| Sure one does get some money out of it, yet on its own its
| isn't going to pay all the bills.
| waveBidder wrote:
| both of these people are making non-exclusionary public
| goods, so yeah, the parallel is valid. Lots of non-physical
| goods fit in the same category (when we haven't hamfistedly
| tried to make them exclusionary), our mechanisms for getting
| creators rewarded for their efforts suck.
| aksss wrote:
| We often think the critical skill is being able to create
| something of value, but unless it's charity (which has
| value, dgmw) the critical skill is being able to create
| something of value to others and then to protect the
| potential returns. Specifically, this means protecting it
| from thieves, absconders, seizures, penalties, etc. It's
| like people saying that good ideas are a dime a dozen, the
| important thing is execution. Well, one level beyond that
| is that "execution/schmexecution" - the important thing is
| capturing a return.
|
| To that end, it's worth asking why our "mechanisms for
| getting creators rewarded for their efforts suck". Is it
| because copyright is too weak/too strong? Is it because
| patent process is overly burdensome/costly/a joke? I don't
| know, but I empathize with your points entirely and think
| it's worth thinking about.
|
| Personally, I think there's room for more nuance in the
| commercial/non-commercial licensing dichotomy.
| Specifically, instead of using that as a breakpoint for
| charging licensing fees, maybe having some revenue
| threshold after which payments need to be made. I was about
| to say into a general fund to support open-source
| developers generally, but that would be ripe for
| corruption, rent-seeking, and self-dealing (like union
| administration). Better to go straight back to sponsor the
| project, IMO. Some products do this - free for
| organizations with less than x revenue. I've not really
| seen it much in open source though. Some tooling to make
| this "10 times easier" could be the next github.
|
| But this problem has plagued inventors/creators of all
| eras. It does seem like we have better tools than ever to
| deal with it - telemetry, micropayments, etc.
| skybrian wrote:
| A more optimistic take would be that open source is one way
| that big companies indirectly and somewhat inadvertently
| support small ones.
|
| This means the code might be tackling problems that small
| companies don't have, though. It might be more complicated than
| you need.
|
| Maybe it's bleak if you care about control issues (governance)
| or you want to make money off open source? But as a source of
| free, possibly useful stuff, it's pretty good.
| brabel wrote:
| About Dart: it only got several people working on it and given
| proper attention because of Flutter... before Flutter, it was
| really close to die after the bet on replacing JS in browsers
| didn't work out.
|
| Flutter seems to be a revenue maker for Google (which should
| explain why it has gained so much attention - just look at the
| StackOverflow tag for Flutter, or their Youtube Channel - it's
| really, really active and the pub.dev package manager has grown
| immensely lately, to the point there's packages to do nearly
| anything in Dart/Flutter), but I am not sure how exactly given
| both Dart and Flutter are open source! Are the big users of
| Flutter giving Google big money?? Or how does that work?
| zigzag312 wrote:
| I would guess easy integration with Google's cloud services
| like Firebase and promotion of these services within Flutter's
| docs, brings more costumers these services.
| [deleted]
| danielvaughn wrote:
| I'm curious why Dart was chosen over Go, seeing as Google
| created both, and Go has far more interest and activity.
| chairhairair wrote:
| https://docs.flutter.dev/resources/faq#why-did-flutter-
| choos...
|
| Lots of other links you can find that explain the choice.
| skybrian wrote:
| I worked on the Dart team at around that time. After
| integrating Dart into Chrome was cancelled, the team got moved
| from Chrome to Ads, because Ads was migrating all their
| websites from GWT to Dart. This isn't something anyone outside
| Google cares about, but it meant that it was consistently
| staffed as they looked for other big customers.
|
| Also, the ads codebase is enormous, so there are plenty of
| technical challenges from getting language infrastructure to
| scale to their needs. (Consider getting a language server for
| an IDE to scale up as a codebase grows, or making the language
| tools generate efficient JavaScript that's not unreasonably
| slow to download, or loading and displaying large tables in the
| browser.)
|
| I have no idea whether Flutter generates revenue directly. I'd
| guess not, but internal usage of Flutter is likely enough to
| justify having a team devoted to maintaining and improving it.
| alexashka wrote:
| The talk is a nice combo of informative and entertaining.
|
| I liked the ending of 'now that I've proven myself to be capable
| and likeable, someone give me money for this new thing I've been
| working on'. Very shrewd 'self marketing'.
|
| For all this talk of free markets and whatever, we still live in
| a world of rich but bored and creative but poor.
| anotherhue wrote:
| Anyone have any bright ideas as to how we can change these
| economics? Zig foundation is interesting.
| sseagull wrote:
| I'll be kinda honest here, but one thing that pops into my head
| is to stop developing so many new languages and workflows. It's
| hard to build any sort of critical mass (paying or not) around
| hundreds or thousands of tiny communities.
|
| I'm not saying there needs to be only one programming language
| out there, but I get overwhelmed at the fragmentation. I am
| someone who programs to get things done not to sit back in awe
| at the beauty of programming languages, and there have been
| small projects that I have wanted to do that were impossible
| because my dependencies were spread across different languages
| (some of which I was not familiar with).
| dfee wrote:
| Not an interesting take.
|
| You want to benefit off the work of others, and bear zero
| cost. What if you just built those libraries yourself, or
| paid someone else to do it for you?
|
| And on language creation and development, why should we stop
| exploring, discovering and innovating? To make _you_ more
| productive? What a joke.
| sseagull wrote:
| > You want to benefit off the work of others, and bear zero
| cost. What if you just built those libraries yourself
|
| No one can do that to any large scale. That is all there is
| to say about that.
|
| And all my projects are open source. I give back to the
| community and to science (see below).
|
| > To make you more productive?
|
| There's intent, and then there's reality.
|
| I work in scientific programming, and scientists are
| absolutely _struggling_ with software development. Not
| programming, but everything related to package management,
| version control, distribution, different languages,
| incompatible ecosystems, etc.
|
| There is complexity in the boundaries of packages,
| languages, and ecosystems. That is unsolved and no one
| seems to care about it as long as you can do this cool
| things with your own language.
|
| Someone's intent could be to make python package management
| easier. The reality is that having only a few people adopt
| that can make the entire community suffer.
| corinroyal wrote:
| This. So many languages I run across would have been better
| off as a domain-specific language hosted on top of Common
| Lisp. Instead of learning a new language, we could grow our
| vocabulary.
| pcstl wrote:
| Fragmentation is a problem that solves itself, though. People
| tend to preferentially attach to larger communities and small
| communities tend to evaporate into a "hard core" of very
| dedicated people. If you look at the market as a whole, Java,
| JS, C# and other mainstream stuff is still most of
| everything. Whether that's good or not is a different issue.
| foobiekr wrote:
| You're getting downvoted but I agree with this. Fragmentation
| tends to become a pathological situation where the ecosystem
| ends up consisting of mostly promising but half baked
| solutions and h th is gets dominated by big, boring, awful
| but corporate financed solutions.
|
| I know a lot of people like Java but Java is exactly that.
| carapace wrote:
| If I may stand on your soapbox for a moment, changing economics
| is the whole point of computers and software.
|
| We have Turing's _Universal Machine_ , we have _transistors_.
| Science and capitalism have delivered technology and wealth. We
| won history.
|
| The obvious thing to do is apply our technology and resources
| to provide a basic level of quality of life to everyone (i.e.
| knockout the lower levels of Maslow's hierarchy.) Build a
| simple and efficient regenerative machine to provide food,
| shelter, clothing, some medicines, building material, etc. It
| would look like a neighborhood.
|
| Then people like Evan Czaplicki could just do whatever they
| wanted to without having to worry about making money. Also
| everybody else.
|
| We do this because: A) We can. B) Not to do so is cruel.
| brabel wrote:
| Zig is a really interesting case... it seems Andrew Kelly has
| been able to get from a small Patreon donation model to support
| his own modest salary, to a Foundation that is sponsored by
| several big names and has enough funds to pay several people to
| work on Zig full time.
|
| I've watched Elm for many years from a distance, and I think
| that with a little more "social skills", Evan could've probably
| done the same as Elm had quite a lot of hype a few years ago...
| notice that even though Andrew may be a bit more charismatic
| (though I find Evan really nice too) he also has a bit of a
| hardline regarding features, specially requests by sponsors are
| not treated specially in any way - there's a talk from an Uber
| employee where he mention that after getting Uber to sponsor
| Zig, they asked about some issues they'd created and were told
| very, very clearly that sponsorships don't come with "perks"
| like having your issues given priority!
| foobiekr wrote:
| That's wrong though. Sponsorships that do come with perks low
| negotiating a mutually beneficial position. A valid take
| would have been to work out some kind of NRE scheme or
| contracting scheme.
| dustingetz wrote:
| build a killer app (web browser) build scripting language into
| app (javascript)
|
| corollary: if no killer app, not killer language
| hardwaregeek wrote:
| I got to see this talk irl and it was definitely one of the
| highlights of the conference. It did make me feel a little bad
| for how many times I've ragged on programming languages for
| having poor UX/tooling, even though it's pretty unrealistic to
| expect a community driven project to invest the thousands of
| developer hours. I do wonder if there are ways to lower that
| burden, although that still doesn't help with the cost of support
| and developer relations.
| sbergot wrote:
| The Language Server Protocol is a newish thing that allowed
| some languages to gain more tooling for cheaper. I have a ton
| of respect for MS for doing this. They didn't need to do it
| that way. Tooling is still a ton of work and the protocol seems
| to have issue but looking the adoption it seems that a lot of
| project are finding value in it both on editors and language
| sides.
| hardwaregeek wrote:
| Yeah I've written about what I call "Tooling for Tooling",
| stuff like the LSP or tree-sitter that make it easier for
| language authors to build out their tooling ecosystem. I wish
| people invested more into these sorts of projects so we could
| raise the standard of tooling for everyone.
| 1-more wrote:
| I felt like a danged genius when I got a competent Rust
| writer at work to help me put the Elm LSP or tree sitter or
| whatever it was to work in Difftastic. Standing on the
| shoulders of a few giants at the same time.
| danielvaughn wrote:
| Yeah, as someone who's actively building a language right
| now, I can attest that the process is rough. Rough in the
| sense that I need to invest heavily into putting together
| my own set of tooling. It's a non-trivial exercise, to say
| the least.
| otteromkram wrote:
| Why are you creating a language? There aren't enough good
| ones out there to cover your use case(s)?
| danielvaughn wrote:
| Yep, I'm trying to build a language that allows UI
| designers to express their design decisions:
| https://matry.design
| throwaway17_17 wrote:
| Not who you asked, but for me (I use a custom language
| for work) it was a matter of being able to do what I
| wanted, in the way I wanted. The other added benefits
| were I could ensure that code I wrote for clients and for
| my employer met the ethical and professional obligations
| that I incur as an attorney. The only downside (according
| to others) is that my language implementation belongs to
| my employer, the theoretical foundation and language
| definition are owned by me. Overall, I feel more
| productive and I feel like the value I deliver is greater
| than it would be in another language.
| danielvaughn wrote:
| Please tell me you called it legalese.
|
| Jokes aside, that's a really interesting use case. I've
| often wondered how laws, and changes to them over time,
| are recorded. It seems like the kind of thing that could
| be made more efficient with a formal syntax along with
| version control.
| throwaway17_17 wrote:
| I now regret that I didn't have that thought myself. As
| to the encoding of laws formally, I know there are some
| existing attempts to achieve that, but that type of thing
| doesn't really apply in my line of work. I do however
| have a database version of the statutes that keeps the
| textual history and is searchable implemented.
| cinntaile wrote:
| Looking at his Github he seems to be creating a
| programming language for UI designers.
| danielvaughn wrote:
| Thanks, yeah that's what I'm doing. I've called it a
| programming language as a colloquialism. But it's not
| strictly speaking a "programming" language as it's only
| meant to spec out UI designs, not implement functional
| behavior.
| hardwaregeek wrote:
| Why not? It's fun and a cool exercise. It's like writing
| songs. They may not be hits but they can still be fun to
| make.
| tester756 wrote:
| There's also Debugger Adapter Protocol iirc.
| owlstuffing wrote:
| LSP is a double-edge sword. Indeed, it offers a quicker path
| from a zero IDE support position, which is a boon not only to
| language authors but also to the hosting IDE. MS I'm sure
| recognized the leverage potential of the latter. For them
| faster onboarding meant all the difference, and it worked.
|
| The downside is the nature of LSP, which is to say it is
| necessarily a common denominator API. As a result a tool
| built on LSP-based API tends to be significantly inferior
| compared with similar tools built on comprehensive,
| proprietary APIs. For instance, the IntelliJ IDEA Open API
| illustrates this advantage quite well.
|
| Thus, the economically rich tool authors maintain a clear
| advantage _if dev experience is the key differentiator_.
| adonovan wrote:
| True, but I guess the amount of work that goes into a
| proprietary bespoke IDE is on another order of magnitude.
| For example our team maintains an LSP server for Go with
| only about 3 FTE, but I guess JetBrains has a much larger
| team devoted to Goland (a bespoke IDE), and benefits from
| common infrastructure with their IDEs for Java and other
| languages.
| citruscomputing wrote:
| Also got to see it live, agreed. Sat with my friend who gave a
| talk earlier about developing programming languages, and who
| was hoping for answers on how to get paid to do it. Funny how
| the talk ended.
|
| I think I get the Clojure guy now.
| gtani wrote:
| I'm always rooting for projects like zig, odin, vale, nim,
| even jai. I think some killer apps are JS runtimes and
| defensive security, making eBPF more straightforward (and
| whatever tigerbeetle does... )
| mike_hearn wrote:
| There are projects that try to do this, but you do have to use
| them.
|
| LLVM is one. That's pretty successful.
|
| The JVM is another. That's very successful, there are lots of
| languages that build on the JVM to reduce their tooling costs.
| Java, Kotlin and Clojure are examples of that.
|
| GraalVM is another. If you use their Truffle framework then you
| get JIT compilation, debugging, tracing, instrumentation,
| different kinds of interpreters, advanced strings, some LSP
| support, language interop and FFIs and more.
|
| But what you see, generally, language authors tend to start by
| hacking together a compiler and standard library starting from
| a C hello world program. Not that many survey the landscape and
| look for ways to reduce the costs.
| chriswarbo wrote:
| Racket, PyPy and Parrot (RIP) are also designed to host
| multiple languages. BEAM is another interesting VM (fault-
| tolerance, distributed systems, live updates, etc.). GNU has
| a bunch of projects to help language implementers, like
| Lightning, Jitter, libjit, superopt, etc. Eclipse's Xtext
| lives in the same space as tree-sitter and (to some extent)
| LSP.
| hardwaregeek wrote:
| Yeah part of the issue is that language designers by
| definition have not-invented-here syndrome. So it takes a lot
| to convince them to not write it themselves. LLVM has solved
| a sufficiently hard problem that it's gotten over this
| barrier, but other meta-tools will likely struggle to achieve
| that
___________________________________________________________________
(page generated 2023-10-08 23:00 UTC)