Live data from Hacker News

The Web Is Becoming Smalltalk

zacharyvoase.com

41–50 of 112 posts

Re: The Web Is Becoming Smalltalk

#41

> Now that conventions are moving towards ‘single-page’ web apps, the concept of a ‘page’ is losing its special meaning. The web is so broken. The whole "web app" concept is just a giant hack. The job of us web developers today consists in employing a never ending pile of hacks (e.g. AJAX, long-pooling, semi-broken languages and implementations, non-standard vendor APIs) to fight a browser into submission so it can b…

I disagree with your idea of running native code on the client as a replacement for the web in the context of laptops and desktops. The app store works because apple curates it. In the Android marketplace, many applications are viruses (http://www.androidguys.com/2012/12/14/lookout-18-million-inf...). If more than 9-10% of laptops and desktops had access to the app store, I would imagine that malware would be a more significant problem. Therefore, while I agree with the rest of your complaints, I disagree with the idea of making the web run using native code. I think that an interpreted environment will become good enough to do everything a user wants as computers get faster. In fact, if we can assume the standard user watches Youtube videos and sends and receives images and text through Facebook/Instagram/..., then interpreted code is fast enough today. On the web, where the user must constantly accept and run code from unknown and untrusted developers, code must run in a sandbox to minimize risk of unwanted access to the user's computer.

Side Note: I also just really, really hate app stores. I find them to be much more restrictive than just throwing a website up and allowing anyone to access it. The idea of having to pay someone to allow users to be able to use my stuff is way too restrictive to me.

Re: The Web Is Becoming Smalltalk

#42

>I’m not 100% sure on it, but I can easily envision a world where you fix bugs in your website by opening it up in a browser, reading a stack trace, fixing the JS in that same browser and persisting your changes back to the server. Where does version control fit in this vision?

Assuming you have access to the repo, it can be pushed either to master or another branch of your choice.

If you don't, a fork is automatically created.

Re: The Web Is Becoming Smalltalk

#43

Earlier quoted context omitted.

Its not the same. Light Table and Bret's demos go way beyond what Smalltalk ever did. Its not just about hot swapping, but liveness, and the Smalltalk community never got that [1]. But it doesn't stop them from saying they've already done it because they don't understand what they are seeing, and thinking is hard. [1] John Maloney got it with Morphic, and even coins the term Liveness at about the same time Tanimoto d…

I don't quite understand this distinction between liveness and hotswapping, as all the examples of liveness that I've seen involve hotswapping code that causes graphic or audio side effects, and clearly that sort of thing has very real practical limitations.

There is one demo in Bret Victors' IoP talk where he is live programming a sorting algorithm and something non-graphical is visualized (in this case, control flow and local variable states). The hotswapping really isn't the focus at all; its the live feedback that is important.

Re: The Web Is Becoming Smalltalk

#45
post #11

This kind of hot-swapping can be achieved on quite a few languages; certainly Perl and Ruby in addition to JS, and I'm sure there's a dozen more languages that allow you to redefine at runtime. The difference is that Smalltalk made hot-editing the default. SmallTalk is an uncommon language these days, with the exception of its half-descendant, Objective-C. Ruby borrows Smalltalk's OO semantics pretty much completely.…

"...I'm sure there's a dozen more languages that allow you to redefine at runtime" Indeed. There are all the Lisp dialects to start with. And it's no surprise that hence SmallTalk had this feature too: Alan Kay (+), one of the key creator of SmallTalk, acknowledged the heavy influence of Lisp on SmallTalk: http://www.franz.com/services/conferences_seminars/lisp_50th... (+) Famous quote attributed to Alan Kay: "I coin…

This exactly. Tim Berners Lee and Roy Fielding both conceived of the web as a giant Lisp machine oriented around the URL / Hypermedia concept. HTML and the subsequent XML is a crippled form of an s-expression. If you change the tags into parens, map the functions into visual structure, you have a Lisp. TBL's first web browser in 1991 was a two-way client: you could edit the page and submit it back to the server and it would publish it. ReST is how distributed computing was meant to work in a homoiconic language. And JSON? C'mon, change the colon, bang, it's a Lisp. Lisp is fundamental; the AST is the avatar of all languages.

Re: The Web Is Becoming Smalltalk

#46
post #37

Earlier quoted context omitted.

I'm with you on that. It's the surprising the number of web developers who are just now finding out about this which leads me to another questions, what tools do they use if not Chrome Developer tools?

I imagine a text editor, terminal, browser, and a lot of Alt/Cmd+Tab, F5/Cmd+R, Ctrl+C+up+enter. But I can't say for sure.

Those are general tools. I want to know what tools people use for debugging Javascript that are similar to Chrome Developer tools or Firefox's Firebug.

Re: The Web Is Becoming Smalltalk

#47

> Now that conventions are moving towards ‘single-page’ web apps, the concept of a ‘page’ is losing its special meaning. The web is so broken. The whole "web app" concept is just a giant hack. The job of us web developers today consists in employing a never ending pile of hacks (e.g. AJAX, long-pooling, semi-broken languages and implementations, non-standard vendor APIs) to fight a browser into submission so it can b…

I disagree with your idea of running native code on the client as a replacement for the web in the context of laptops and desktops. The app store works because apple curates it. In the Android marketplace, many applications are viruses ( http://www.androidguys.com/2012/12/14/lookout-18-million-inf... ). If more than 9-10% of laptops and desktops had access to the app store, I would imagine that malware would be a mor…

Strictly speaking, native clients have nothing to do with app stores or speed. I just mentioned mobile apps and some software available in the Mac App Store as success cases because native clients backed by HTTP APIs seem to be a much saner development environment than shoehorning an app to run inside a browser, which is limited to one language, crappy APIs, broken interaction models and lack of standards.

> On the web, where the user must constantly accept and run code from unknown and untrusted developers, code must run in a sandbox to minimize risk of unwanted access to the user's computer.

First, sandboxed environments are not limited to browsers (e.g., OS X 10.8). Second, browsers are often the attack vector, because they were never meant to run applications, and have broken security models (e.g., no application signing). So you end up in a sandboxed environment with terribly limited APIs in the name of security, and on the other hand have hard to trace security holes, like XSS.

Re: The Web Is Becoming Smalltalk

#48
I'm surprised nobody has mentioned Meteor yet. As far as I understand, developing for Meteor means having a single codebase that erases the distinction between server and client.

Your web pages become live views of the underlying controllers. Modifying state in one client automatically modifies it in another. And I'm pretty sure it supports hot-swapping.

http://meteor.com/

Re: The Web Is Becoming Smalltalk

#49
It's not the web. The web is presentation-independent semantic information rooted at stable URLs. Single-page javascript is a poorly-planned delivery platform for applications with essentially siloed state that is steadily displacing the web, and no amount of grafted-on functionality can enable the kinds of repurposing and unanticipated reuse we started building before writing off the web as insufficiently shiny.

Re: The Web Is Becoming Smalltalk

#50
post #46

Earlier quoted context omitted.

I imagine a text editor, terminal, browser, and a lot of Alt/Cmd+Tab, F5/Cmd+R, Ctrl+C+up+enter. But I can't say for sure.

Those are general tools. I want to know what tools people use for debugging Javascript that are similar to Chrome Developer tools or Firefox's Firebug.

I believe the implication there was that the debugging process is "try, try again".
Post reply on HN