6 ms·
> We built Repl.it to make it easy to explore and learn languages and programming paradigms. We were, however, surprised by how slow-moving the programming lang
by ahmedfromtunis 6y ago
> We built Repl.it to make it easy to explore and learn languages and programming paradigms. We were, however, surprised by how slow-moving the programming language space seems to be. Given how fast software is growing, shouldn’t we see more innovation in programming languages?
Isn't this like saying: "the construction industry is growing fast, how come there are no new hammers being invented every other week?"
I, too, love to learn new languages that introduce me to new ways of thinking and don't want that influx to dry up, but I don't think it is necessary from the perspective of programming as an industry.
- azhenley 6y agoI would have never imagined someone saying the PL space is moving slow. I can’t keep up with all the advances, in practice or research.
- jlokier 6y agoSame here. I've seen it described as a "Cambrian explosion" of programming languages in the last few years and I think that's right. The pace of PL changes and new entrants seems to have quickened immensely in the last 5-10 years. I don't have a view on the right pace of change, but the idea that it's "slow" feels weird. I have a lot of PLI ideas myself. I have for a long time, but increasingly it feels like there's little or no need for it (sadly!), because the space is crowded with a steady flux of new entrants and new ideas as it is, many of them well marketed too. Adding more may be fun to do as an individual. PLD and PLI are fun! But it doesn't seem like we lack for contributors in this area.
- fulafel 6y agoWhat would you say are some recent advances on the research side?
- peterpeppers 6y agoNah. I think you may not understand their intent which is to bring innovation to programming language design. Language design is one of those "hard" problems that most feel is meant for "rockstar developers" like Rich Hickey or José Valim. To me, it appears that Repl.it is doing two things with this hackathon: 1. supporting existing language designers creativity 2. encouraging "regular" devs to try their hand at proglang design
- azhenley 6y agoBased on my extremely biased view from HN, Reddit, and Twitter, it seems like nearly every dev has their own toy language project. The number of language announcements and compiler tutorials on HN is astronomical, several of which are from myself.
- compscistd 6y agoBut it’s not __approachable__, at least not to me. Seems like survivorship bias to point to nearly every dev with a toy language project. I might feel similarly if I finish nand2tetris
- azhenley 6y agoI agree that it needs to be more approachable! That’s why I recently released a tutorial series, Let’s make a Teeny Tiny compiler: http://web.eecs.utk.edu/~azh/blog/teenytinycompiler1.html http://web.eecs.utk.edu/~azh/blog/teenytinycompiler1.html Ironically enough, a lot of the criticism of my tutorial was that we have plenty of compiler tutorials already and don’t need any new languages...
- hhas01 6y ago“Ironically enough, a lot of the criticism of my tutorial was that we have plenty of compiler tutorials already and don’t need any new languages...” Change is Threat to the status quo.
- searchableguy 6y agoI think that's internet in general. HN has 30 slots which change upto 4-6 times a day. That's 120 slots and assuming only 5% of them are show HN: new programming language. It's vastly smaller than the number of software engineers that are produced every year. That's in millions.
- simias 6y agoI've been coding for almost 20 years now, I definitely saw many changes in that time. Languages like Java and C# became huge, scripting languages like Python or JavaScript became not-just-scripting-languages. C went from "The English of programing languages" to "The Latin of programing languages". Then you have a newer generation starting to take over some niches with the likes of Go, Rust and a few others. If anything what bothers me is not the lack of innovation in programming languages per se but the relative lack of innovation in program representation. We have high res monitors with incredible graphical capabilities but we still mostly just represent code as flat text files. There've been a few experiments to change the status quo, I remember the Lighttable editor making a bit of a buzz a few years ago, but nothing really changed overall. I wish that a big company like Google, Apple or Microsoft attempted something bold in that space.
- ibdknox 6y ago> I wish that a big company like Google, Apple or Microsoft attempted something bold in that space. Me too. I tried stirring things up a bit when we were nearing the end of Eve, but nobody bit. This is work that _can_ be done, someone just has to fund it and let it grow without too much interference. The big players certainly have the ability to take care of the first part, not so sure about the second though. > I remember the Lighttable editor making a bit of a buzz a few years ago It's hard to believe.. but that was 8(!) years ago now. Time sure does fly.
- tlarkworthy 6y agoNeural networks/teach by example is that program representation paradigm change.
- onion2k 6y agoComputers got fast enough that applications can now be usable and useful despite doing things in massively inefficient ways. That inefficiency is wasteful in terms of CPU cycles but it can also be helpful in terms of development cost as it means developers can spend less time on problems like designing efficient data structures. For example, an inefficient JS application that uses reference passing is much easier to write than an efficient application that requires the developer to manage pointers and memory addressing. That's a good thing for the 99% of software that runs on CPUs that are idle 98% of the time, and a terrible thing if you have a CPU-bound programme. That inefficiency has a beneficial side effect too - it eliminates whole classes of bugs that come from devs doing hard stuff.
- matt_kantor 6y agoTools for hammering things have existed for hundreds of thousands of years. They've been optimized so much over that time that it's difficult to improve upon the current designs. Compared to that, tools for programming are a brand new concept. I don't think the currently-popular languages are anywhere near optimal.
- cuddlybacon 6y agoFrom the intro page: > One answer could be that programmers are not that interested in thinking about languages. Or that our languages today are sufficient and everyone is happy. But spend a few minutes on any programming forum, and it’ll become clear that a lack of enthusiasm and opinions on languages could not be the reason why we don’t see more programming languages. Are construction workers constantly complaining about their hammers and not seeing change? If not, then the analogy doesn't really work.
- chemeng 6y agoYes, they absolutely were, and now they/we have nailguns. Screwdrivers became cordless drills, wrenches became impact drivers, etc. Tools and process on construction sites today look very different than they did even 30 years ago. (And that’s after millennia of “hammers”.)
- tuatoru 6y agoOK, there has been incremental progress in individual tools. But that's like cutting down visual noise in text files, e.g. with python or haskell, and editors with autocomplete, and faster find tools and version control. Building is in the early stages of automation, with large chunks pre-assembled in factories (with joinery, wiring, plumbing, etc. all installed), and then fixed together on site. The factories are becoming more automated as well.
- scoopertrooper 6y ago> the construction industry is growing fast, how come there are no new hammers being invented every other week? Maybe not hammers, but there is still a lot of innovation in the basic tools of the construction industry. Look into some of the interesting recent cement innovations, a tool that's been in use since the Romans! Humans always keep innovating even if the benefits are marginal they add up over time. I'd say there are still lots of opportunities for language innovation. The increasing reliance on concurrency to achieve performance gains has spurred much of this. People are also looking at languages to simplify formally defined software systems. AI may make it possible for much more terse methods of programming. I'd personally love to see more work done on declarative ETL specific languages.