16 ms·
Kicking Off the Repl.it Programming Language Jam
- qorrect 6y agoBrainf*ck but no Ocaml ?
- amasad 6y agoWe started work on it but ran into some issues. It's there but hidden. If someone is an OCaml expert consider contributing to our interpreter interface Prybar. - https://repl.it/l/ocaml https://repl.it/l/ocaml - https://github.com/replit/prybar https://github.com/replit/prybar We're also hiring someone to work on languages at Repl.it: https://repl.it/@util/jerbs#open-positions/language_hacker.txt https://repl.it/@util/jerbs#open-positions/language_hacker.t...
- brabel 6y agoA Job ad as a markdown file in repl.it :D that's cool. You should add a CLI for applying for the job!
- 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.
- 6y ago
- 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.
- tosh 6y agoAlready super excited about what will come of this. somewhat related: the Pioneer challenge calling for a "Terminal 2.0" happened this weekend and you can check out the submissions here: https://frontier.pioneer.app/challenge https://frontier.pioneer.app/challenge I love ambitious challenges like these. Is there a hackathon for reinventing the browser? Refreshing to re-think fundamentals once in a while. Thanks for organizing the jam!
- gver10 6y agoNothing per se against repl.it, but I'm surprised to see this on #1 of the front page as it's basically a call to free labour. Will there ever be a future when companies innovate themselves again? IMHO all these "hackathons" or "jams" are really just about finding use cases for their product and getting it tested for a very affordable reward ...
- sixhobbits 6y agoIf you hang around the Repl.it community a bit I think you'd be convinced that this is not their motivation :)
- amasad 6y agoWe make all of our money from the education market through our classroom products and believe me teachers don't need more languages to teach nor in a hundred years will they teach a hobbyist language. So I invite you to provide a compelling case for how this is a call for free labour.
- azhenley 6y agoUnless the hobbyist language is created by the teacher :)
- wizzwizz4 6y agoRepl.it is an amazing idea, but it's infuriating to use. No syntax highlighting in the REPL, laaaaaag everywhere, hardly any version control… It's useful for performing a 30 second Python interaction on machines without Python installed, but that 30 seconds becomes 3 minutes because Repl.it is so clunky. I tried to log in to check whether things had improved, but apparently I need Google's permission to do so now? And, in fact, nothing will run without allowing Google's JavaScript, even once I've logged in. Anyway, version control is there now, and you can edit existing Git repos! Except it's actually GitHub, not Git, so I can't use it for any of my existing projects, including my programming language… That being said, I think the world is better with Repl.it in it. It's not like these other things I criticise where I think we're better off without them; Repl.it's flaws are infuriating because they're stopping me from appreciating something potentially great.
- eatonphil 6y agoThere's a surprisingly big list of languages not supported, just off the top of my head: Standard ML, OCaml, Rebol, Elm, PureScript, Racket, Lisp-flavored Erlang, Common Lisp, Zig, Perl 5. Most of these even have JavaScript targets already. Edit: OCaml is supported through Reason Node.js on BuckleScript.
- amasad 6y agoI agree they should be there. We've been more focused more on vertical feature work than horizontal. But we're hiring a language hacker if anyone wants to help us get more language and tooling support https://repl.it/@util/jerbs#open-positions/language_hacker.txt https://repl.it/@util/jerbs#open-positions/language_hacker.t...
- mamcx 6y agoThis make restart the work on my own lang (https://github.com/Tablam/TablaM https://github.com/Tablam/TablaM) and convince a friend to also use this for learn rust. Tooling around development (langs, editor, shells, debuggers, etc) is at 2 apart sides: Supported by deep-pocket companies or by the crazy/love of a very few individuals. So, the idea to at least get a little push to justify the time is a big plus, IMHO. This few years this group is becoming a little bigger (check for example https://www.reddit.com/r/ProgrammingLanguages/ https://www.reddit.com/r/ProgrammingLanguages/). When i start with the idea of tablam I feel is like walk in a deserted planet, now is more like a little oasis in the middle!
- josefrichter 6y agoElixir, Clojure, Rust, Go, Haskell, Elm, TypeScript, Nim, Crystal, Swift, Kotlin, Dart, Gleam,… – there’s so much new(ish) stuff it’s hard to keep up actually, isn’t there? Not complaining, quite the opposite.
- pera 6y ago(Haskell is 30 years old :)
- jlokier 6y agoHey, I did Haskell nearly 30 years ago! Even worked on a Haskell compiler, from the first version of the spec. It has changed a lot, but not unrecognisably :-) Haskell 1 is older than Python 1, Linux 1, Java, PHP, Internet Explorer 1.0, and the web generally.
- josefrichter 6y agoYes. Some others are also 10+ years old. What I meant is some surge in usage and interest recently.
- emsy 6y agoI'd argue that those languages (except maybe Haskell), are small increments of existing languages, they're playing it safe. There's nothing wrong with that I personally like Kotlin and Clojure for example. But as I understood the jam calls for participants to be more experimental.
- chillfox 6y agoof those I would only consider Gleam new, the rest are well, either established, up and comers or in the case of Haskell "old". Elixir (2011), Clojure (2007), Rust (2010), Go (2009), Haskell (1990), Elm (2012), TypeScript (2012), Nim (2008), Crystal (2014), Swift (2014), Kotlin (2011), Dart (2011), Gleam (2019), There is also the following that came out in the last 3 years: Zig (2017), Mint (2018),
- pseudonymoushn 6y agoWhy does this competition require teams of two or more people? Seems arbitrary.
- atiaxi 6y agoYeah, same here - if it were open to solo devs, I'd definitely be more likely to try out making a toy language. As-is, I'm not going to try to get my friends to join in on something that only I'm going to get anything out of.
- amasad 6y agoWe're doing team matching on our discord repl.it/discord
- weedpeg 6y agoWe already have enough happening in programming language. Hear me out, IRL we do occasionally try to learn new languages but we spend a lot of time learning new ideas, mental models and frameworks to accumulate and distribute the ideas. This is akin to various frameworks/libraries/packages in programming world. A new programming language shall only come when something fundamental changes eg. languages to support multiple cores, going back to async as single cores become good enough, quantum computing is going to spin off new languages.
- arunaugustine 6y agoI feel it's more akin to music genres. Sometimes two genres merge to create a new one. So that kind of mix-and-match of ideas can create more programming languages, without waiting for a paradigm change I think.
- xixixao 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. But also: You have to build a REPL. If I'm constrained to a 60s (50s?) interaction model with my language, how am I gonna build an innovate language? See https://www.youtube.com/watch?v=HnZipJOan54&t=394s https://www.youtube.com/watch?v=HnZipJOan54&t=394s for my take on PL innovation - can't happen in repl. That said, this is great, I'm all for encouraging experimentation.
- amasad 6y agoNo you don't have to. Build a web experience or GUI. Repl.it supports both environments.
- masukomi 6y agoI'm unable to find anything about teaching Repl.it how to understand / handle a new language. So, I only see Repl.it as useful to this process _if_ you're bootstrapping from one of the languages they already support... However, if you're bootstrapping from some other language you probably have better support for it and its libraries on your home computer. What am I missing? How is Repl.it notably useful to the process of creating a new language? It _seems_ like this is more of a "you can do it in the cloud, but not quite as well" kind of thing.