Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Originally this was supposed Scheme, but then Netscape signed a deal with Sun and agreed to make it more "Java-like".

Yes I know it's cliche at this point to mention it. And yes it could've had some unknown negative butterfly effect type of thing, but man I really would have loved to have seen where things would be now if Sun hadn't influenced this.



> if Sun hadn't influenced this

I was thinking about this recently in a completely different context. Java itself is actually not a bad language for what it tries to be: an easier to use ("safer") C++. It makes for a better "object oriented C" than C++ or Objective-C did.

Everywhere it really went wrong was when Sun got involved. J2EE, and especially EJB, was a complete waste and continues to create problems to this day - the awful but inescapable Spring "framework" was actually a replacement for the equally awful EJB architecture and creates the same bloat but without the licensing costs.


> Everywhere it really went wrong was when Sun got involved.

Java is a Sun product in the first place; i'm misunderstanding what you mean.


I'm separating James Gosling's creation of the language from everything the rest of the company did with it afterwards (although I guess he was working there at the time so technically he was "Sun", too).


My preferred language is Java. I had to teach myself starting around 1998. But for whatever reason I still haven't learned Spring. I haven't needed it for any of my work.


Sort of the same here. I've read about Spring and built some toy apps to learn more, but I always found myself asking why I would want something like that in my stack if it could possibly be avoided.


It would have likely been killed by the more amenable VBScript, which MS put up as a competitor for a while.


If it was HTML and a lisp yeah it might have faltered as you suggest. But I think if it was all lisp … maybe just maybe things would be different :)


I agree, Id almost love to see a "For All Mankind"-esque show about it - an alternative history where browsers ran on lisp. I could imagine that there would have been so many things that would be wildly different - not the least of which node and typescript being around at all, much less some of the most popular languages available. I think the web and browsers for it was going to bring whatever language it chose to the forefront, no matter what it was. Back then I would have written anything - we certainly were not _choosing_ javascript!


Three decades ago I was similarly overjoyed to discover that Scheme was finally going to have a useful application beyond illustrating SICP and writing koans to amuse myself, because DSSSL was on the cusp of evolving into the last document styling language anyone would ever need.

Unfortunately following an incident with a broken Lisp machine, a liquid lunch, and an unlicensed particle accelerator, I became trapped in a parallel universe where the HTML ERB anointed CSS by mistake during a drunken night out in Oslo.

The fundamental concept of CSS (best revealed by H.W.Lie's thesis IMO¹) was to create a rich and versatile and non-Turing-complete set of structural selectors in lieu of DSSSL's recursive logic, and to allow styles to overlay one another; two design choices that only by the application of gallons of irony can explain why most web pages are composed of a bunch of nested DIV elements with hashed IDs, overburdened class attributes, and assets compiled into static files.

[1] https://www.wiumlie.no/2006/phd/css.pdf


CSS is a classic case of road to hell paved by good intentions.

"We'll have one style for the browser and one for printing!" - but turns out that nobody really gives a crap about printing, and when they do they want stuff printed exactly like it looks on screen.

"Forget tables, we'll have stuff floating around the screen!" - but turns out that there are more requirements for positioning rules that can be contained in anyone's philosophy.

Etc etc...


> Unfortunately following an incident with a broken Lisp machine, a liquid lunch, and an unlicensed particle accelerator, I became trapped in a parallel universe where the HTML ERB anointed CSS by mistake during a drunken night out in Oslo.

Mostly though you're upset because respectable computer scientists didn't get invited to those sorts of parties.


You might enjoy this talk by Dylan Beattie, it explores that kind of alternate history.

“The Web That Never Was”: https://youtu.be/8JOD1AQGqEg


only about 10 minutes in, but it looks like exactly the kind of thing I will enjoy. Thank you!


> I agree, Id almost love to see a "For All Mankind"-esque show about it - an alternative history where browsers ran on lisp

I've thought about something similar, but for hardware--what if some early hardware design choices had went in a different way?

For example consider cathode ray tube (CRT) displays. A different choice by the CRT pioneers and we might have ended up with CRTs that scan outward in a spiral from the center, instead of scanning in a series of stacked left to right rows.

That would make bit mapped displays a lot more complicated. God help the programmer who has to write BITBLT for a spiral scan display.


Of course it’s nice to think what if JS would be LISPy, but I think most probably it wouldn’t be adopted so widely as it is now.


People use JS over other languages because they have no choice (transpile to JS languages are relatively rare, and TypeScript only succeeded because it's a superset of JS), I'd imagine Scheme would be treated the same way.


Disagree. I think JS is ubiquitous in part because the language maintainers are willing to adopt new syntax and borrow concepts from other languages, and therefore keep the language modern and accessible.

For example, CoffeeScript was everywhere about 10 years ago. If someone had told me then that in 5 years it would be dead, and in 10 years new devs would not have even heard of it, I wouldn’t have believed it. CoffeesScript died largely because JS adopted most of the innovations Coffee brought to the table in ES2015/ES6, thus Coffee became unnecessary.


LISPS have been pioneering and cross pollinating with new language features since LISP was invented.


I didn’t say otherwise. I’m actually much more proficient in Clojure than I am in JS in part for that reason.

Still, JS has come a long way in the past 10 years, which is impressive. When I need to write JS, I’m glad the days when I needed to use Underscore just to get map, reduce, etc. are long gone.


That's why to this day they can't implement a simple integer type


BigInt


Languages with Java-like syntaxt are much more popular than LISPs in general even not taking JS into account. I think it’s just more intuitive to parse it in human brain, at least to me.


What is most intuitive to you is what you're used to. There's a lot of people that find Lisps syntax intuitive, and becoming familiar with it is mostly just part of the process of using it. All programming languages look foreign to the untrained eye.


Languages with Java-like syntax are taught in schools, and Lisp typically isn't.

I've written some Lisp and I don't find the syntax hard to read, so much as my unfamiliarity with the language itself (what does cons do? What kind of args does it take?).

Plus the occasional cluster migraine when I decide to write a macro, knowing that I'm lucky when regular code runs right the first time. Not really a fault of Lisp, I'm sure me trying to write C++ templates would end about the same.


> Languages with Java-like syntax are taught in schools, and Lisp typically isn't.

Er, my experience is that Lisp or Scheme is taught in literally every CS course out there. Not high-school maybe, but then again in high-school you typically don't get Java either - maybe Scratch, maybe Python.

I know on HN it's fashionable to be pro-LISP, but "it's not taught" is not one of the reasons LISP is not popular.


It wasn't on my curriculum, and I've only worked with one person who was remotely familiar with Lisp.

I've worked with more people that know Haskell than Lisp (though that seems like an outlier, I would guess Lisp/Scheme is still more popular than Haskell).

It's totally possible that I'm an outlier or that it's regional, but I haven't seen any indication that Lisp is commonly known.


I never learned Lisp in my college and I don't know anyone who has, besides MIT friends.


It's debatable the extent to which JavaScript contributed to the ubiquity of the web for interactive applications, versus the extent to which interactive web applications contributed to the ubiquity of JavaScript.

But regardless of the historical reasons, JavaScript is now an extremely popular programming language for non-web applications.


"People haven't [adopted LISPy languages] because real [LISPy languages] have never been tried"


Scheme is around today, and there are some pretty good implementations. But few people use it. Sometimes I suspect there are more Scheme implementations than Scheme users.

Lisp-style programming with s-expressions is just not very popular. Pure (or "pure-ish") functional programming in general just isn't.

I know some people really like functional programming and/or scheme, but the reality of the matter is that this never has been (and I suspect never will be) a mainstream opinion.

Functional programming is the Black Metal of programming. It's great and all, but will always be for a relatively small and niche audience.

And that's okay. Not everything needs to be large.


I think it would be adopted exactly as widely as JavaScript is. People choose JavaScript because it is supported by the browser, not because they think it has a beautiful syntax. If some other language has been supported instead (whether VBScript or Scheme or whatever), people would use that.

Semantic markup languages were niche until the web happened. Objective-C was a weird niche language until the iPhone app boom. People learn the languages they need to learn.


This is the history of the browser. On the history of the httpd, or web crawler, look at Apache Foundation. The projects are mostly in Java.

https://archive.apache.org/dist/

While I have never been a Java fan, it is so ubiquitous that time spent learning it will never be wasted time.


We’d have at least as many SchemeScript frameworks as we have JavaScript frameworks now.

Or maybe Flash with ActionScript would have won. ;)


I know, right? Imagine if all three HTML, JS, and CSS are all LISP-y under 1 language 1 dialect.


This may be the closest we have: https://news.ycombinator.com/item?id=37660025


https://github.com/cgrand/enlive

Was a good stab at things too but went nowhere sadly.


Scheme would probably be the most hated language in the world.


well you'd have a react-dev ML in 1998 where people would discuss OO vs closures and reactive observer macros on top of CPS web sessions https://link.springer.com/content/pdf/10.1007/s10990-004-486...


If they stuck with a scheme syntax, it would have been easier to make it a compiler target.

We might have had web assembly earlier




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: