Economics of Programming Languages

Thank you for coming everyone. I'm Evan. I designed this programming language Elm and I've been working on it over 10 years now and I wanted to share what I learned that I would want to have heard when I started out as a student.

YOUTUBE XZ3w_jec1v8 "The Economics of Programming Languages" by Evan Czaplicki (Strange Loop 2023) page post

um so when I was at University I was finishing up my undergraduate and I was doing my thesis and I was reading all these papers and I thought they were so cool and I had this feeling that there was this you know somewhere out there there's this big hallway of beautiful ideas and you don't you don't get to just see them you have to stand in front of it and be patient and be diligent and if you wait long enough and you read the right things and you look from the right angle this fog lifts and you get to see the beautiful thing in there and it was always in there but now you get to see it and you can show other people hey check it out the fog's not there you can see it and that's not to say that like it's something that's properly transcendently it's just like to me at that moment

I was like ah I got I figured it out I found out what was behind the fog and so for me working on a program language was always this kind of intrinsic motivation of I I want to be able to find out about these things um and as I worked on it I I was very lucky to to have people support my work and through that I would meet other language designers compiler writers virtual machine people and I'd hear things like um there's nine Engineers working on rest I like oh okay that kind of makes sense you know it's a bigger language and it's got this school compiler and 10 Engineers on Swift I was like oh okay um and at some point I heard there 30 Engineers on Dart and I was just like was like that's that's fine but I don't I just can't account for H what would happen with that many people um because from my perspective you know I'm I'm fresh out of college and I'm like the job is you do some engineering right you write a compiler and you make some packages

# Infrastructure

But as time went on it's like okay well but you need to have the infrastructure video for your for your website for the packages and you need to make sure the releases work on all the different uh operating systems and different chips and then there's like this other stuff where it's like you should be on Twitter and you should write blogs and do talks and you should be participating on GitHub and in the forums um and then a bit later it's like okay well there's also like people running conferences and doing elmbridge and like should you be providing some structure to make sure that's happening in a good way and so maybe you should get some trademarks so that if someone's going to run that kind of thing you can make sure they have a code of conduct and there's certain guidelines and if you're going to do that probably you need a foundation that's going to have some accounting and you're going to have to do taxes for that and you know

My attitude throughout all this was like yeah I I can do it I can learn new things um and at some point I kind of realized like okay I can do I can do these things and I can do those things okay but I'm just like I I'm getting crushed by all this work so I took a step back and I was like you know maybe you maybe more than one person's like a good idea um I don't know about 30 but like two or three.

Who Pays for These Jobs? and Why? video

Who pays for these jobs and why are they doing that and why why aren't they doing that to me? um so I thought about it a lot and I kind of came up with these two overall categories of how languages are funded

[…] and so in corporate languages there's a couple options independent languages there there's a couple as well um and with each option that's available there's certain design incentives um and there's certain career risks that come along with it um sorry my wife is texting me probably good luck um so yeah so before we get into all the different options and all the different trade-offs I want to take a step back and talk about traffic acquisition costs is anybody familiar with traffic acquisition costs okay excellent excellent

# Traffic Acquisition Costs (TACs)

This is when Google pays to be default search in Safari and in Firefox. This is probably the largest flow of money into programming languages happening right now um so we're going to figure out how does this work and sort of then come back to the landscape for program pramming languages so I went and read all of Google's uh SEC filings for the last 20 years and we don't we don't have to read them I made it a diagram um so 2022 $283 billion is flowing into Google um and if if we split that between every person who's in America that'd be $880 for everybody so everyone you all get 880 everyone you ever know everyone they ever knew it's kind of a lot I don't know and that's going all these different places and the one we care about is traffic acquisition cost $49 billion and what happens here is a big chunk of that is going to Apple it's hard to get exact numbers because no one lists it exactly on their SEC findings um but there's this firm uh that everyone references when you ask this question and they estimate that uh in 2021 it was $15 billion and in 2022 it was between 18 and 20 so let's just say it's 15 I I don't know exactly um and you know they go into their code and in seven places they say google.com instead of bing.com and then they're like thank you thank you.

And then there is Mozilla Corporation also um so there's Mozilla Foundation but Mozilla Corporation is where most people are employed and the money flows through um you can go read their yearly reports and it's around 400 million that's going into firef Fox for being default search and so when I found this out my first question was like why why is it so much money it's like do you just go to the website I don't get it um and then second why is it so much for the traffic acquisition cost is an incredible amount so for why so much revenue?

# Why So Much Revenue?

I got a list of the top companies in the world by revenue and I we're we're interested in number 18 Google um but I noticed some weird things about uh this l I was like oil and gas and then Commodities is like people who sell oil and gas it's like oil and gas Commodities oil and gas oil and gas Commodities oil and gas Comm oil and gas oil and gas oil and gas I was like man I wonder if those people are powerful and influential um and the other thing I noticed is that like right below Google is Toyota so like all the Toyota cars that were produced in the whole world in 2022 we collectively spent less money than we did on whatever it is that Google does.

# Landlord Instead of an Advertiser

I have this personal theory I don't know if it's true but I was like okay what if they're like a landlord instead of an advertiser? so in a traditional landlord you have all these locations and if you're in the shopping area maybe you get some kind of rent and if you're in the residential area and it's like a wealthy residential area but maybe you're in like you know it's Copenhagen so it's like less wealthy residential area um and part of what influences what rent you can get at all these locations is the transportation right so if you're near a subway station that's probably a better spot than if you're just out in like this spot over here where there there is a really nice swimming pool but you you got to take the bus um and so when I think of an Internet Landlord the transportation is different it's the search box right you don't go on the bus and you're not in a specific spe location you just get in the search bar and you go to the place and the place isn't like the website you go to the locations are shoes Street um and you see all the storefronts on shoes street that you can go to and it's tours of Rome Street and you can see oh here's all the shops that I can go to and when I made these searches a few days ago I noticed that every single link that is visible to me is a sponsored link um on both of them and so I think of it as like okay these people are like paying their Rent to be right outside the train station right in that first spot where they're going to get the most foot traffic

If you haven't thought about what your opinions are on landlords I can recommend this book Progress and Poverty. It's written by this guy who moved to San Francisco in 1860 and then he wrote the book in 1881 and he had this question is like I'm seeing this incredible uh accumulation of wealth but at the same time I'm seeing this incredible poverty that is happening at the same time why is that happening? You don't have to listen to everything he says but on landlords he he's very interesting and so one idea that kind of comes out of that is like what if you put a tax on rent only um and he has a bunch of ideas and like could you control um uh regulate proper prices without price controls through these other mechanisms it's all very interesting um and you know he also he's not a fan of landlords but um but yeah so why so much revenue this is like my theory that I'm going to go with for the purpose of this talk it's my opinion I don't know.

# Why So Much TAC?

Why so much traffic acquisition costs? Well again it's all about that search bar and the people who own that search bar um have a certain amount of browser market share so with Firefox it's about 3% and so Google's saying okay for 400 $ million we would like that 3% thank you very much and with uh Microsoft not for sale sorry this is being territory we get the rents off of this 5% we wish it was more but we get it um and for Safari they're almost uh 20% and so our estimate was that it was uh $15 billion and this is about to scale the difference between um Firefox and and Safari and then Chrome over 60% they don't pay nothing that's free real estate baby and so you can you say but okay there are costs you have to make Chrome and you have to make Android but we can look at this and say well Firefox they're making it for $400 million I wonder if having 60% of the real estate covers that um and so instead of wondering why is it so high the better question is like why is it so low right this there's this incredible achieve achievement um with chrome that's permitting these uh amazing profits that they're seeing or Revenue that they're seeing also profits um so I went and looked at Microsoft's SEC filings as well and I found an interesting thing which is that when you look at their search and news advertising it's 12 billion so if they dedicated 100% of their revenue to being default search in on Apple products they can't afford it it's like okay we're going to turn off the servers we're gonna fire everybody we're just only the money is going to you and it's like ah are we going to give up3 billion to put Bing on all our phones it's like even if we wanted to would we do it for $3 billion less?

# Practical Consequences

What are the practical consequences in terms of languages for this um so we have all this crazy amount of money and going into um and they're doing stuff with it and so one of the things they buy is developer relations (DevRel) and so these are different kinds of jobs so you have developer evangelists you know they're spreading the good word and there's Advocates fighting for justice uh and Community managers building up our community stronger um and so I don't I didn't know what these were so I went and looked up and I found okay so evangelists do conferences and meetups okay Advocates support online channels writing tutorials guides templates collecting feedback for developers which is crucial because you get the feedback but you don't get the interpersonal reaction interaction of uh someone being like you suck someone nice says hey people think you suck and say okay I like I that's what I like to hear instead um and then Community managers make sure everything's running smoothly and this is just one person's definition of these things but you know maybe this person's um running Twitter or if there's like a heated conversation they help explain like why decisions were made and help it cool down.

Some of you may be thinking man this sure sounds a lot like marketing and support but it's not that it's not that it's evangelism it's advocacy it's community building and by the way programmers we're not susceptible to marketing we can't be persuaded of anything and we don't need help we'll just figure it out ourselves um so okay so all that's happening and we just we don't talk about the money part we're getting the benefits of all this DevRel and then for some random person you don't have all that money coming in and what you get is the open source way.

# The Open Source Way 2.0

so I found this um through opensource.com at link to this and it was very interesting because it it was telling me the way is something like this a person creates the first iteration and they have the special insight and they find the exact solution that no one else could find and then they give that away right and so other people start using it and from those users arise enthusiasts and they promote the software I was like oh that's crazy you get free devil that's crazy because when Google does it they pay for the devil though so why is it that when I do it it's going to be free um and then step four arising from the users come people contributing to the software and it's like oh that's incredible free compiler Engineers it's like that's quite a specialist education and you know now that I think of it when Google does it they they pay those people to do those things why is it that I'm going to get those things for free so maybe in step five they'll explain how that part Works no okay okay so okay so you take good care of your users right okay okay I get it I get it okay so I'll read on so okay step one you attract users right so you do the marketing you do um and then you guide the participants and help them understand the goals of the project you know it sounds a little bit like onboarding if you working with someone um and then you grow the contributors and um so you do the mentorship right and you do that for free and also you're doing the development you're doing that for free right and so step four right like because when because when Google does it they pay for all those things so but when I do it what's when where's the step where where that happens it's like okay no there's not that for it's like a dance party oh right it's like a dance party and we want to have a dance party around the world okay I okay I get it now and so what happens is that because we never talk about these huge flows of money and what they're getting us

we have the same expectations of what's going to happen in both these cases so as a language designer people are saying to you why isn't why isn't this happening in the blogs why isn't this happening over there it's like okay I well I I don't have $400 million. I mean I'm sorry.

# How did we get here?

## Switching Costs + Microsoft

How did we get to this place where there's this the expectations match but the situation is so different um and so I think about it as like we have switching costs when you want to switch from one programming environment to another that can be quite difficult and then you have the added issue of Microsoft and so historically what that meant is like people were making their online businesses on Internet Explorer and they're like this is cool we're making money on the internet and then well there are these other browsers and they wanted to make money over there but if they wanted to there was this switching cost they had to pay and what the people in Microsoft realized is that if we take advantage of this switching cost well we can make some money instead and so the relationship between these organizations was out of whack.

# Open Source

And so Open Source comes um to resolve this conflict so the term open source actually came from um the company Netscape they were having a lot of trouble with um bugs and stuff and so they said okay if we release all of our code the hackers around the world we're going to harness that that was the word they use in their press release we're going to harness them to improve our code and that's going to save us from Microsoft um and that was the birth of Mozilla the Mosaic killer.

The setup of this is that on the one side we have the platform developer who's making the browsers and the other side we have app developers who want to be in that Marketplace like they say okay I'm going to pay rent for the storefront and I'm want to be there um and they're making websites but maybe they're making mobile apps or desktop apps it'd be the same for them and so we have an agreement here and when the code is given away we follow these certain rules so it's like Google shouldn't be able to discriminate against field of endeavor it's like why should they be able to say what people can do when they're participating in this Marketplace or competing to be the landlord of the marketplace um and there's all these rules that make a lot of sense and what we get is this really incredible achievement where for um what what we do is those big companies do their traffic acquisition costs and they do their anti fragmentation agreements and they do their mobile application distribution agreements and you can go read about those um and we we don't talk about it we don't think about it it's not our problem we just have no switching cost if the control of the platform changes hands we can do our business over here we can do our business over there the flow of traffic it comes to us we pay rent to whoever's the landlord it doesn't matter to us.

I got to say it's like that's definitely a really cool achievement that sort of in a collective way we found this way to have these two things coexist. Should those things traffic acquisition cost and all that exist? I don't I don't that's a separate question um so from here the question is like is this great achievement generalizable right so can this solve the switching class plus Microsoft problem for all cases.

So in theory we have some author and it doesn't matter who and they give away the code and they do so following the open source way and when Google does it we say yeah it makes sense if Microsoft gets a code who cares like they can go fight each other it's no problem um but when an individual does it it doesn't work quite the same way because one you have the cost of developing the language and two you have the cost of developing a business. And for other people who get the code, they just have the cost of developing the business. So there's this natural disadvantage of producing it when it comes to making money.

The costs of developing the language are significant right so we have the design and implementation, the marketing, the onboarding, the mentoring and you have to do the mentoring because that's how you get the free DevRel and the free compiler engineers. And these are ongoing costs you know it's not like oh language is over good good work everyone.

And you know the person you're giving all this away to is Amazon and they say okay well he's trying to do this kind of business it's like let's just put five people on it and we'll have it instead and we'll have a bigger market and and you just lose. And the issue is it's not just Amazon but it's like any organization that's larger than you. So if I'm an individual and I can work on the programming language 50% of my time and trying to do the business side 50% of my time if someone wanted to do a better job than me they just need one person to work like 60% of the time and so like this is a huge um a huge disadvantage in this particular case.

For me the question that comes from this is there a way to address the switching costs problem um that provides a clear pathway for small authors it's not like oh we want to like add we want to be Microsoft it's just like we want to we want people to feel comfortable they're like if they don't like the thing they switch to something else but um how do you solve this uh asymmetry.

So finally we can return to all the different ways um and so so we'll start with corporate languages where traffic acquisition costs are a major factor

Style one is just a company specific platform so this would be like Swift or C you got all the money coming in because you're selling the phones you've got the app store you put Google in the search bar you changed the seven lines and you're like yeah 10 people on Swift okay sure.

And there's also the corporate Alliance style so this would be more like JavaScript where there's a technical committee tc39 where all these companies can come together and kind of negotiate how things should evolve to support the maximum uh user base and create the biggest Marketplace and have the most Commerce flowing and we just we're just collecting rents who gets the market shared that's our business um and so this would happen more in a contested platform kind of scenario and the two parts is like for reducing traffic acquisition costs like Google they're producing Chrome and Android which are um really cool virtual machine work is happening there and then increasing traffic acquisition costs so you have Firefox and Safari very cool virtual machine working happening there as well but also Rust because how I think about it is that um the way Google kind of rose to its colossal market share is that they had the good performance and the stability and a lot of the things that I heard about Rust was we're going to make uh Firefox faster we're going to improve the stability and maybe we can use that same technique to move up our market share and move up our traffic acquisition costs and you know people here about Firefox and there'll be some brand uh benefits.

And finally rewarding Talent this is like the weird one of this group um because only Google really does it so one example is Dart the person who made Dart Lars Bach um was the technical lead for the V8 engine on Chrome and so like the technical success of that that it was faster and the pages were loading faster and the applications were working better like Google essentially rode that to having a great reputation being widely used and just like all that free real estate that comes with that and then also no one talks about it it's just like wow they're so generous giving away this stuff for free because they love us.

And the other one is uh yeah so so the point there is like when when Lars says Hey can I have 30 guys it's like yeah yeah I me that all uh I'm sure it's it's more complicated than that but like you know you you've earned something in terms of your reputation with with the company when you do something like that.

Go is a interesting one because the Creator before they did go did this language called sawall which is about processing logs and you might say who cares about processing logs why do you get to make a programming language now um so when someone goes to Sho Street and they click on you know the best the the the top uh location well that that click gets written into the logs so Google knows okay they're going to be paying us a lot of money but they they don't actually know how much and so they have to go process the logs to make the bills for everyone so he essentially made the machine that counts the money and so it's like okay you want three people it's like whatever that's fine.

and so one thing to note here is that of all the languages and projects we talked about the only one that's like not obviously connected to traffic acquisition costs is C-Sharp. It's like it's FL into all these projects huge huge huge ounts of money.

And then with independent languages that's just not happening this is a world where like all that money doesn't exist but the expectations of what you should be producing and how quickly and what it should look like are all the same for some reason.

# Patronage/Recruiting

um so in this one there's a bunch one the most high-profile is uh patronage which is kind of the style of python you know python is probably the most successful of like independent languages um but okam is similar Elm had that kind of thing um and the great thing about this is that you're able to focus 100% on the language there's someone else is doing the business that's their business and you know the downside is that well it's their business. So if their things change for them well they change for you too and so how well you're doing what's going on with the language it's kind of independent of what happens to you.

# Consulting

The next one I think this is kind of the most productive uh one is Consulting so we've got closure Elixir Scola Julia and I'm sure there's others that do it as well um and in this case language usage probably correlates with number of clients so like as you have more work to handle you also will be able to have more resources to handle that work um you know I I haven't done this but my I imagine that you know having more clients means having more work and so it's not like oh great now that it's more successful I get to work on the language more it's like okay now I have all this other stuff to manage as well as doing the language as well and so so you have this contested resources situation.

# Research Grants

Next is research grants hasal camel schola um this one's awesome because it's if if your the grants are flowing you just do cool stuff um the downside is that the language has to be a good research vehicle like the point is to explore things um and if that's not what you want to do then well you have to do that um and there's not going to be a DevRel budget like DARPA doesn't care like the conference is the academic conferences don't care it's just not going to happen.

# Editor Licenses

This we're starting to get into the weirder ones here editor licenses cotlin is the only example I know of this um and again languages which probably correlates with number of licenses but the the trouble is that you have to make a fancy editor like and that's a really hard thing to do well and so if someone was starting out as an individual I'd say you know probably the editor needs to come first otherwise it's going to take too long um because it turns out taking a language making language takes a long time I didn't know that.

# Usage Licenses

These actually exist um so St and Wolfram language for Mathematica are just straight up licensed it's like oh you want to use it pay me and the reason for that is that they're in uh they're used by academic institutions so it's like if you're an economist and you want to continue being an economist your institution needs to give you access to data um so that you can participate in how the research works there and um so for this one let's imagine that it's not that model which seems wouldn't make sense in a like a commercial setting and you say okay what if there existed a language that um was free to use but for commercial users there was some license fee.

So in this one it's cool because you can focus 100% on the language when you do a good job on the language like that's what people are paying you for there's no extra part there's no managing all these clients and ah that client's kind of annoying but like pay good and um but the issue is there's no established solution to the switching Cost question it's just like it totally makes sense that if someone doesn't like the thing anymore it should be easy to switch off and there should be a pathway for that um but but what would it look like in this one I don't know.

# Hosting

Next is hosting uh I don't know a lot about datomic but that's kind of what I have in my mind as the example of this and again the good thing is that language usage probably correlates with number of clients for the hosting um but the downside is the Jeff problem.

So the issue is that um it's Jeff Bezos he's out there he's looking for you so we've got this open source definition where Google they give those stuff away to Microsoft that works and then we have this other thing where like you have to do the development cost you have to do the cost of bills and they do the cost of developing the business too but they're Amazon so they say oh you want to do hosting that's cool like we'll just do it more and do it to more people and start to cannibalize your business but you know I said to myself well there's one thing that Jeff can't do and that's make a simple easy to use interface and so no no matter what I have I have this competitive advantage that like I can do that and I can especially do it cuz I don't really have time to do a super Advanced one um but what I failed to see when I was first thinking about this was that it's not just Jeff like I can get Jeff by anybody um so a friend I know he could Jeff me a company down the street I could get jeed by them and it's no hard feelings it's like they want to do a hosting business I want it's like yeah it's it's no problem but you would Jeff me you would Jeff me.

# Donations

The final one is uh donations and I don't know of any examples of languages doing this it might exist but I don't know of it um and theoretically it would correlate with language usage but the downside is that your career is very strongly related to public perception so it may be the case that your language is used by like hundreds of thousands millions of people but if you're not present in the minds of those people like that's going to affect you right.

# Design Incentives

Now we have enough background to think about some of the design incentives here so one of the decision you have to make is should I add this future yes and in the case you say yes you're probably going to have less conflict it's going to be more pleasant interactions um and in the case of no you're going to have less complexity which is that's good too I mean they're both kind of nice um but in different environments you're going to get different incentives to go one way or the other.

In the corporate Alliance maybe some company wants once this wild JavaScript feature they say it's not I don't like accessing the field X I want that to have side effects um so but and you say okay but why mess with the alliance you know like the point of this is we're trying to take over the world we're trying to have the biggest Marketplace in the world and the most Commerce going through it so they need that for their business.

And yeah let's just add it and if people don't like it they cannot use it they can put it in their style guides they can put it in their linter that we don't care like what we want is the marketplace to be as big as possible.

So with the Research Vehicle video maybe some researcher investigate independent types it's very interesting and here you ask why mess with the research just like literally why like that's the whole point of everything we're doing the point is to do research and find out how different features interact with each other and it's just like I can't even in my mind imagine a scenario where you'd want to say no unless it like breaks everything but like I guess that's research too.

So here you have these yes incentives and then with independent authors say someone wants some new syntax or this or that okay but here it's like why I mess with it kind of depends on what the author is trying to achieve right and they all have their idea of like maybe some of them do want to have a high market share or explore certain ideas or maybe they want this very specific developer experience or maybe they want some combination of all those things and so you might ask yourself like why mess with Simplicity you know or why mess with the Lambda calculus I mean why even have numbers you know like uh there it just depends on the author um what where you're going to go there so here the incentives aren't so clear and it kind of depends on knowing what the language is trying to do um and so yeah I wanted to emphasize I've never heard anybody of any designer or person who works in the language that have said I had to make a choice I don't think this is something where like bosses are telling people you have to do this you have to do that but it's more that in a specific context you kind of like I'll say in my example like There features language features that I like that I know Elm it Elm wouldn't like them like it's Elm doesn't want that and in the same way like when you're in these other environments you can kind of tell okay what this language what it needs is this um and like what I want I mean that's separate like I'll work on my own programming language in my free time which I know a lot of VM people do and stuff

On Career risks uh I know the most about uh patronage because I I I was very fortunate to have some people support my work but here you have a job because it serves the purpose of a powerful person and what I mean is if someone can look at you and say you you don't have to worry about food or shelter you can work on this thing and they can just as easily say actually not you you you can work on this thing over here it's like that's power um and so what what are the purposes of that person and what happens when their purposes change right like if these people are running a business maybe the business environment Changs changes or maybe they have a VC looking over their shoulder and they're saying you know that column over there with that open source guy what are we really doing there you know it's like I I hear you're going for another round soon what are we what are we doing over there and so like it's not even like something anyone necessarily thinks about it's not like a VC person knows like what it takes to make a programming language they just see the column and they say the column over um no they're smart they're smart um um so yeah so the question becomes like is doing a good job on the language deeply related to their purposes?

When I was working at at Prezi as a concrete example um they had this situation where their application was written in flash and flash was going away so they're saying okay it looks like we have to rewrite to JavaScript uh Android iOS and desktop so it's not just that we're rewriting our whole product but we're rewriting it four times at the same time and so they said let's hire this kid and see if like this programming language can help reduce the cost of like essentially for Xing what we have to do to um to continue and you know I was young we didn't know we didn't know how long it took to make a programming language turns out it's it's more than like a year.

um but um but yeah at some point it was like okay it's clear that this other path is going to work and so that was over and it's not like oh I have hard feelings like I only have gratitude that they supported my work and believed in me that I could help with that um but it didn't work out um and it wasn't like I did a bad job but in my head I said okay the only thing I really can do here is just work hard like make the value of my output undeniable no one can look at it and say well he actually isn't even good at it you know they have to look at him and say some other thing you they have to look at the column they have to look at something else and what was difficult is that this doesn't really work like ultimately your efforts and achievements aren't directly connected to your ability to pay the bills it's just like something else is happening um and I I didn't know that going into um going into these relationships and had I known that probably 2015 2016 I would have tried to you know you know I'm not going to if you want to patronize this great but I'm also going to try to develop the Consulting path and I'm not personally like the guy for that but I should have I wish I had known like try to find a business partner who can do these kinds of things and you're bringing something valuable like you're bringing uh reputation and you're going to drive incoming leads but like maybe you don't answer emails that good or like uh on time or and people find it really annoying and it's like okay but okay but we we Partners right

# Donations vs Hosting

So the other one so this is kind of like we're just pretending that these exist um and just thinking about them um so with donations people donate because of their own personal reasons um and it's really hard to know those I mean even the person donating just have a feeling that I want to do that and if you ask them well why do you want to do that they' be like I am I don't know like and I mean also why why ask say good.

But on the hosting site people are using the service because it suits their needs and preferences like they have a test they want to do and this is helping them do it and that's valuable to them and in each case you're going to get different samples of the people using your language um and so in the donations case it's not a representative sample

so like with python I would imagine that most people who use Python don't know who Guido van rossom is um and let alone of the people who do would they know that there's a way to do donations and of them so you're getting this very particular sample size or sample um and with hosting you'd get more of a full range of people using language um and so in with in both these cases you're going to have some questions in the back of your mind when you're trying to make decisions and so like on this side you have like are the donators going to approve of this and the donators are going to have all kinds of opinions of like okay I I like where you're going but I think it should go faster and it should cost less and um or actually we should be going in a slightly different direction and that's you know that's just a natural thing because like even within a company it's hard to um get everyone to agree to a direction to go and and in this case there's the relationship's inverted.

On the other side it's like will it be easier to make websites and it's like kind of a measurable thing like you you do the thing that you believe will work and then the results are it works or it doesn't work and it's on your technical results not what people think the technical results will be if they are completed at a future date um and so I had this feeling that this would be a much healthier work environment and there'd be more time for the technical work you could make more long-term Investments um and again the thing I didn't realize is that it's not just Jeff who can Jeff you but anybody can Jeff you um and so okay

# Compile "Elm" to C/SQL

That ends the portion of the talk where I know about things and then sharing experiences but so I had this idea video it seems like hosting would be cool and well Jeff can't Jeff me and these other people I'm not thinking about them right now um and I was like I have this idea I'm just going to sit here and I'm going to think about it cuz I think I can compile Elm to C and SQL and have it run on post grass and I can support custom types in the table so in the columns I can have my May and results and anything you can think of and I can have a dense binary format for that and I can use it over the wire so there's no encoding and decoding and the same way that I check the types of when you do package publication I can do that on tables and detect oh we need to do a migration here um I was like I think it's there and the crazy thing is that it's there I I I have it on my computer it's like it it's like I it's not like done done but it's like I can do my little demo and everything.

And then I'm like wow that's crazy anyway I remember I needed to think about the Jeff problem more and then I was like oh I'm gonna get Jeff I'm gonna get Jeff by everybody and so it's just it's just on my computer like I don't know what to do um and that's The Economics of Programming Languages. I just don't know what to do [Applause]

So I have some closing things uh to to ask of people or to think about and so one to authors of these kinds of projects um I just want to say the open source way is for businesses um you can't come into it just like wanting to do a good job you have to figure out these other kinds of things you have to think about all these options and how they'll interact with what you want to do for your language

and then to people in this room and everyone else I just hope that we'll try to tell young people it's not what you read online it's not what people say in forums it's like there's all this other stuff going on and I don't think we should let that happen to young people.

To users: I think this system for me helps me look at languages in a better way so I'm able to ask are the goals with a specific language um maybe they're trying to have the biggest user base possible maybe they're trying to explore ideas maybe they have some particular thing they're interested in um and what's the situation of the author is it a big Corporation a little company a person is there a venture capitalist standing over their shoulder standing over their shoulder and you know because the way someone's going to design a language is going to be different if there's someone being like you know you could probably tighten the screws a little bit over there um where the money is um um and then try to evaluate the trade-offs if they suit your needs right like not all these languages are going to produce the same thing

and so if you want to have the DevRel out there like you're probably going to want to go with a corporate language it's no no problem it's just that's what you'd want to do and if you want some more Niche experience um you're going to want to go with an independent language but you're not going to get all the same things um and so yeah and also like there's your needs and then there's also your preferences which is like okay I have I know what I need and what I prefer is kind of like a separate thing um and so yeah so when I when I look at languages I can look at them or I like to look at them and say okay what was their specific goal okay I don't necessarily share that goal but that's what it was and then how did they solve that with language design and it's always something inspiring and you can always look at a language and find something inspiration and cool about it even if for me it's like well I don't need to do that I don't that's not how I want to do things but I can still find inspiration and be glad that I saw that and it's out there.

I wanted to leave with two final questions. What did you think of that Internet Landlord idea like what even would be the implications of that um if there's this thing collecting rent off of all of us is like is that is that is that bad I I don't know I don't know I just literally don't know um

and then is there a way to address the switching costs that has a clear pathway for small authors again I don't know um but you know if you do know uh I'm evancz github and you can just tell me on Twitter or Elm slacker profile or Gmail.

And if you're using Elm I can show you a little demo it's on my computer um but yeah I just I don't know what to do and that's economics of program languages thank [Applause] you