
Kicking Off the Repl.it Programming Language Jam - amasad
https://repl.it/talk/announcements/Programming-Language-Jam-Let-the-hacking-begin/49105
======
ahmedfromtunis
> 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.

~~~
simias
I'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.

~~~
the_af
> _We have high res monitors with incredible graphical capabilities but we
> still mostly just represent code as flat text files_

I think the key issue here is that flat text files remain an universal
standard, easily handled with commodity tools and editors, often bundled with
the OS itself.

Once in a while someone wants to revolutionize code representation (like Light
Table, which you mentioned). "What if we represented code as a... flowchart, a
graph of nodes, a city, a pie chart, a mind map, $YOUR_NOVEL_IDEA_HERE?
Wouldn't that be great and take advantage of current hardware to the fullest?"

It turns out it's really hard to beat good old flat text at convenience and
interoperability with standard tools.

~~~
rainbow-road
Well one alternative representation _really_ took off, that one where code is
is a dataflow graph, whose nodes are all one-liners on a massive grid. I
wonder what led to its success, where so many other interesting ideas have
failed?

~~~
Avshalom
Like LabVIEW the spreadsheet paradigm took off in limited domain and became
progressively more maligned as it got used for everything else.

------
mamcx
This 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!

------
gver10
Nothing 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 ...

~~~
wizzwizz4
Repl.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.

~~~
amasad
> Repl.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.

We've improved performance a lot and we'll keep working on it. I just timed it
and it took me 5 seconds to start a new Python repl and execute code :)

> 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.

What do you mean by this? You can log-in via Google but that's about it.

> 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.

Thanks we're always happy to hear feedback, negative more important than
positive. I'd invite you or anyone who loves Repl.it but find it to be lacking
to apply to work with us [https://repl.it/jobs](https://repl.it/jobs)

~~~
rhc2104
My interpretation of the Google comment is that if you block all JavaScript
from Google, Repl.it does not work. Haven’t tried it myself though.

~~~
wizzwizz4
Correct. It's a known issue that all of two people (including me) have ever
run across! [https://repl.it/feedback/p/make-replit-work-without-
google](https://repl.it/feedback/p/make-replit-work-without-google) (In
reality, the people who submit feedback are a very skewed representation of
the population-at-large, so there might actually be three people who've
encountered this issue.)

------
josefrichter
Elixir, 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
(Haskell is 30 years old :)

~~~
jlokier
Hey, 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.

------
xixixao
> 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
No you don't have to. Build a web experience or GUI. Repl.it supports both
environments.

------
pseudonymoushn
Why does this competition require teams of two or more people? Seems
arbitrary.

~~~
atiaxi
Yeah, 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
We're doing team matching on our discord repl.it/discord

------
masukomi
I'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.

------
eatonphil
There'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
I 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.t...](https://repl.it/@util/jerbs#open-
positions/language_hacker.txt)

~~~
dom96
> currently only open to +/-4 hours from Pacific time zone

Any ETA on easing this requirement? :)

~~~
amasad
Probably in the next few months. Remote is working well and we'll probably do
more timezones before the end of the year.

------
tosh
Already 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!

------
qorrect
Brainf*ck but no Ocaml ?

~~~
amasad
We 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.t...](https://repl.it/@util/jerbs#open-
positions/language_hacker.txt)

~~~
brabel
A Job ad as a markdown file in repl.it :D that's cool. You should add a CLI
for applying for the job!

------
weedpeg
We 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
I 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.

