5 ms·
Ask yourself this, has there been any useful Programming Language that has come out of PL research/ Academia in the last 20 years? The only example I can think
by sashank_1509 2y ago
Ask yourself this, has there been any useful Programming Language that has come out of PL research/ Academia in the last 20 years? The only example I can think of is Julia, and it only seems to be used by other academics.
If you’re looking to be impactful, you are much better off joining a job and working in your free time, than doing a PhD. A PhD is a program to compete for academic prestige. Grad students want to publish papers that get them noticed at conferences, invited to talks at prestigious universities etc, those are the incentives, always has been in academia. The brightest minds join academia because they care more about prestige than money (as they should, anyone can earn money, few can win a Nobel prize). In a healthy academic system, prestige is linked to real world societal impact. That is still somewhat true in fields like Machine Learning, in some fields it seems to be completely dis-aligned from any real world impact whatsoever (which seems to be PL research). Our academic system unfortunately is a rotten carcass.
You could still, advisor willing, do research that interests you and not care at all whether you get noticed by conferences/ journals, your peers etc. But that takes a certain level of anti-social behavior that very few humans possess and so I
say join a job. Plenty of companies are still building programming languages, like Google, Apple etc which are being used by engineers worldwide and if you finagle your way into a job at those teams, you will have a meaningful, impactful job, which is also well paying as a side bonus.
- bdangubic 2y agoAsk yourself this, has there been any useful Programming Language that has come out of PL research/ Academia in the last 20 years? Scala
- noelwelsh 2y ago> has there been any useful Programming Language that has come out of PL research/ Academia in the last 20 years? The goal of PL research is not, usually, to produce languages that see commercial adoption but to produce ideas that industry adopts. You cannot say a language like Rust is not influenced by PL research.
- sashank_1509 2y agoNo, I can very strongly claim that I doubt any of the modern languages like Rust, Go etc have been influenced by the trainwreck, that is programming language research. PL research today is actually the study of something called “type theory,” whose relation to the act of building programming languages is the same relation a math PhD has to a carpenter. You will be a great mathematician if you do PL research but I would prefer if you do it in the maths department and not con us into believing it has something to do with programming languages. This is apparently what undergrads are taught in a compilers course: https://x.com/deedydas/status/1846366712616403366 https://x.com/deedydas/status/1846366712616403366 I rest my case. (imagine the grad course syllabus) On the fringes, you might find research groups who are doing interesting useful stuff in programming languages, but that is an exception to the rule. Which is probably why, you never hear any of the new language developers ever cite programming language research.
- yodsanklai 2y agoThere is much more to PL research than "type theory". Look for instance at POPL 2024 program [1]. Also Rust has been influenced by type theory. Rust first compiler was written in OCaml and the influence of OCaml/Haskell (and many other languages [2]) is pretty clear. Goal of PL research isn't to design programming languages but academic research has a lot of influence on programming languages. [1] https://popl24.sigplan.org/program/program-POPL-2024/ https://popl24.sigplan.org/program/program-POPL-2024/ [2] https://news.ycombinator.com/item?id=34704772 https://news.ycombinator.com/item?id=34704772) Edit: regarding https://x.com/deedydas/status/1846366712616403366?mx=2 https://x.com/deedydas/status/1846366712616403366?mx=2 these are just the formal specs of a type checker. Nothing magic or very complicated there, it's just a notation. Anyone who can understand and implement a type checker should be able to understand this notation as well.
- sashank_1509 2y agoThe creator of Rust in his own words: “ Introducing: Rust Rust is a language that mostly cribs from past languages. Nothing new. Unapologetic interest in the static, structured, concurrent, large-systems language niche, Not for scripting, prototyping, or casual hacking, Not for research or exploring a new type system, Concentrates on known ways of achieving: More safety, More concurrency, Less mess, Nothing new? Hardly anything. Maybe a keyword or two, Many older languages better than newer ones: e.g., Mesa (1977), BETA (1975), CLU (1974) … We keep forgetting already-learned lessons., Rust picks from 80s/early 90s languages: Nil (1981), Hermes (1990), Erlang (1987), Sather (1990), Newsqueak (1988), Alef (1995), Limbo (1996), Napier (1985, 1988).” If modern PL research is trying to take credit for the latest hot programming language (which I doubt they are, it’s only internet commentators who have nothing to do with PL research who argue with me. Actual PL researchers don’t care about Rust), they should be embarrassed. Thank you for linking latest PL research, it has been a while since I’ve gone through it, glad to see nothing has changed. Ask yourself, how many of those talks in day 1, have accompanying code? is it even 25%? For giggles I decided to peruse through “Normal bisimulations by Value”. A 54 page dense paper with theorems, equations and lemmas. Lol, what are we even doing here? You can also notice that they don’t bother justifying their research in the intro or the abstract, claiming relevance to any actual programming language. They themselves realize it’s just math, and PL researchers has become a euphemism for math. Frankly, even one such paper being accepted to a PL conference tells me something is going awry in the field, but if a majority of papers are like this, then the field is a wasteland, that only serves to grind young talented minds into spending their lives chasing academic prestige with no value to society.
- peterkelly 2y ago> A PhD is a program to compete for academic prestige That's true for some people but others have different motivations, such as learning useful skills so they can gain the ability to work on interesting problems in a given field. Doing a PhD in PL can also help you get the kind of jobs you mentioned, and achieve more once you're there. For me, the most valuable I thing I got out of the process was extensive exposure to the literature, which has been useful in a range of contexts.
- InkCanon 2y agoThere are several assumptions here tangled together here 1) Use is sufficient, but not necessary for impact. Theory of relativity, a lot of QM, etc has had only uses in real world edge cases, but have enormous value. The value function for impact, so to speak, includes more than just use. 2) There is the structure of academia and it's incentives, the average behavior of people in it, and it's outcomes. I don't necessarily have to bow to it's incentives, nor behave like the average person in there. Academia is also sufficiently large and fractal that you can find people less interested in the incentives and more in some thing they obsesses about. PL has had some interesting, although sometimes unheard of, real world uses. CUDA for example. A significant chunk of PL now focuses on ML. Awhile back a company called Monoidics got acquired my Facebook for work on static bug finding with formal methods. Rust has been pretty influenced by PL concepts. New languages like WASM are formally verified from the ground up, and there are exciting opportunities for that. I have considered slinging my resume to more research oriented companies, but hearsay from people is that the golden age is over. Under FOMO and stock market pressure, these companies are eradicating the kind of freewheeling research they used to and dumping money into ML and ML hardware. Not to mention it's a bit of a dice roll and a circus to get a job at such companies nowadays as a fresh graduate.
- sashank_1509 2y agoThe only group under low pressure, free to do anything they want in Academia are tenured profs who have established themselves well or grad students who don’t care at all about remaining in Academia (and presumably have NSF fellowship or similar so that they don’t need to listen to their advisor either). Everyone else needs to grind, profs without tenure are arguably under the highest pressure, PhDs who want to stay in academia have high pressure etc. If your prof is tenured but not established and is struggling for grant money, even he is under high pressure to publish and win grants, something I learnt the hard way. The grant acceptance rate is what, like 20% these days. My 2 cents, you will be more likely to encounter creative coders who are passionate about a field in the right industry team than Academia. Unfortunately getting into the right industry team is also a grind, and you likely won’t get there right out of undergrad, but within 10 years, if you put effort and grind, you can get there. I think it’s better odds and more fun than going to academia, but your mileage may vary.
- deleted 2y ago[deleted]