Readit News logoReadit News
ahmedfromtunis · 5 years 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.

simias · 5 years ago
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 · 5 years ago
> 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.

ibdknox · 5 years 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.

saagarjha · 5 years ago
> C went from "The English of programing languages" to "The Latin of programing languages".

There's still a huge amount of development being done in C.

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

One of the benefits of using text is you get a huge number of tools that work with it, without the things that are par for the course these days like vendor lock-in. It'd be interesting to see new efforts in this area, but there's a huge barrier to this.

jonfw · 5 years ago
I'm not sure that it needs to be changed. Math has been represented in a similar fashion for a very very long time.
onion2k · 5 years ago
Computers 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.

amasad · 5 years ago
We have some experiments not so much in changing textual representation but more in visual tools to make use of said high res monitors. Nothing concrete to share publicly yet.

I also wrote recently about how GPT-3 being so good with little training at code generation might make for interesting advancement in programming environments: https://blog.repl.it/codingai

milansuk · 5 years ago
>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.

Exactly, We don't need a new programming language every month. We need a new IDE every month. I believe there is a lot of space for improvements.

disqard · 5 years ago
I hear what you are saying. Check out BlockStudio:

www.blockstudio.app

It uses extended graphical rewrite rules, so you define the “logic” for your program by manipulating the objects that define your program. I could write more words here, but visit the link and check out the tutorial.

ngcc_hk · 5 years ago
The reason why I bet internet will win because adoption Of its many protocol is much easy as it is using text not any ftam.

Text win - XML win too verbose and we have Json.

Whilst explore is ok (microbit I use the graphic as it is new but switch to text once i know the command). The horrible windows use click and we still use server as it can scripted, seen, edit. Easily.

We look with 3D graphic but please do not opt for a VR based prog language. Some part of the design may be graphic. But mostly text.

tlarkworthy · 5 years ago
Neural networks/teach by example is that program representation paradigm change.
peterpeppers · 5 years ago
Nah.

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 · 5 years ago
Based 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.
scoopertrooper · 5 years 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.

azhenley · 5 years ago
I 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 · 5 years ago
Same 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 · 5 years ago
What would you say are some recent advances on the research side?
cuddlybacon · 5 years ago
From 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 · 5 years ago
Yes, 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”.)
matt_kantor · 5 years ago
Tools 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.

mamcx · 5 years ago
This make restart the work on my own lang (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/).

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 · 5 years ago
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 · 5 years ago
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 · 5 years ago
> 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

amasad · 5 years ago
We 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 · 5 years ago
Unless the hobbyist language is created by the teacher :)
dnautics · 5 years ago
I wouldn't say this is a call to free labor. It would be if you were asked to port an existing unsupported language to repl.it (which is how I read it at first). However, this is a contest to reward building your own totally new language (which presumably you were going to do anyways) at least, for some segment of time, on repl.it. I suppose it could be seen as debugging repl.it for free, because this endeavor is likely to break repl.it in so many unforseeable ways.
sixhobbits · 5 years ago
If you hang around the Repl.it community a bit I think you'd be convinced that this is not their motivation :)
josefrichter · 5 years ago
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 · 5 years ago
(Haskell is 30 years old :)
jlokier · 5 years ago
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.

josefrichter · 5 years ago
Yes. Some others are also 10+ years old. What I meant is some surge in usage and interest recently.
emsy · 5 years ago
I'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 · 5 years ago
of 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),

xixixao · 5 years 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 for my take on PL innovation - can't happen in repl.

That said, this is great, I'm all for encouraging experimentation.

amasad · 5 years ago
No you don't have to. Build a web experience or GUI. Repl.it supports both environments.
pseudonymoushn · 5 years ago
Why does this competition require teams of two or more people? Seems arbitrary.
atiaxi · 5 years ago
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 · 5 years ago
We're doing team matching on our discord repl.it/discord
masukomi · 5 years ago
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 · 5 years ago
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 · 5 years ago
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...
dom96 · 5 years ago
> currently only open to +/-4 hours from Pacific time zone

Any ETA on easing this requirement? :)