Live data from Hacker News

Shipping Culture Is Hurting Us

bitbashing.io

161–169 of 169 posts

Re: Shipping Culture Is Hurting Us

#161

Earlier quoted context omitted.

Direct quote from Common Lisp HyperSpec, under Function EQ: "An implementation is permitted to make ``copies'' of characters and numbers at any time. The effect is that Common Lisp makes no guarantee that eq is true even when both its arguments are ``the same thing'' if that thing is a character or number. "

Ah, you're correct, a copy can be made at the call to eq. I stand by the rest of what I said. It's no more strange for (eq 1 1) to be false than (eql '(1) '(1))

You are correct. However:

    (let ((x '(1)))
      (eql x x))
yields T!

It is strange for (eq x x) to be false, when x holds 1, or anything else; yet that appears to be allowed when it holds a number or character.

(eq 1 1) being nil caters to implementations that have heap allocated numbers. That is fine, but under (eq x x), both arguments should be the same heap-allocated 1.

(eq x x) being nil is nothing but pandering to some weird, historic implementations, whose quirk should never have been made ANSI conforming. I don't think it's relevant today.

Re: Shipping Culture Is Hurting Us

#162
post #63

> Systems stopped using cooperative multitasking at least 20 years ago because it sucked compared to the alternative of automatic, preemptive multitasking. And yet Node.js harks back to those dark days with its callback-based concurrency, all running in a single thread. Uh, no. For instance, Unix kernels have been traditionally cooperative---at least when executing kernel code. That is to say, user space can be preem…

>Unix might not have been successful had Ken Thompson decided to make the kernel preemptive, and then spent 1973-1987 debugging it. :) Sadly that didn't happen, UNIX was adopted by 80's hipsters into their startups, became adopted by the industry at large, thus spreading C into the industry. Now we have patch .

I'll bite. When I learnt C I found it charmingly simple and it took me years to realize how deeply broken some aspects are, especially the separate compilation circus — programmers working hard to help the compiler and not getting any modularity benefits in return.

So suppose C didn't happen. Do you expect the industry at large would have adopted a great language instead? Or some random product of history, half way between PL/I++ to JavaScript?

Re: Shipping Culture Is Hurting Us

#163
post #76

Every time I see someone quote that JavaScript was designed in ten days I cringe. JavaScript was designed in 1995. It was standardized as ECMAScript in 1997. Ever since then, it's been under active development by a thriving community of engineers pushing for better standards. It's been a bit longer than ten days.

> Every time I see someone quote that JavaScript was designed in ten days I cringe. I cringe because it's not true; even the original Javascript wasn't really designed in ten days. If you look at the history, Eich was playing around with designing a language for months before the order to shove Javascript into Netscape Navigator. Netscape had large software libraries for dealing with virtual machine-type problems for…

Quit your fibbing! I joined Netscape on April 4, 1995, to "do Scheme in the browser". Immediately I was out of luck on several fronts:

* Put on the server team with the McCool twins (NCSA httpd and then Netscape's reboot of same) and Ari Luotonen (proxy guy), working on "HTTP1.1-lol".

* Told Java was in play with Sun -- the deal was not done but it was likely to go forward in Netscape 2 -- so maybe never mind about Scheme, but:

* If there was to be a "scripting language", it had to look like Java.

Kipp Hickman (Netscape first floor, and my kernel hacking colleague from SGI) and I wrote the "Netscape Portable Runtime", NSPR 1.0, the "large software libraries" you allude to, in April and May.

Kipp used NSPR for his Java VM prototype, which Sun helped convince him to abandon (single-source implementation required or else bug-for-bug compatibility would be a nightmare).

So, much of that "dealing with virtual machine-type problems" code was from me, not from some anonymous and non-existent team at Netscape who had "months" ahead of May to develop at leisure.

When I switched to the client team in early May, @pmarca and I had been conspiring (with Bill Joy of Sun on-side; he signed the trademark license for "JavaScript" in early December, 1995). Marc made the case for "a language you put directly in the HTML" -- not something you compile into an applet. This idea got enough support for me to spend ten days, a week bracketed by weekends without much sleep, hacking the first "Mocha" runtime.

I spent the rest of the spring and summer embedding that Mocha, then LiveScript, interpreter into Netscape 2's rendering engine and network library; I had help from the front end hackers (@jwz and Spence Murray on the XFE; @knobchouck and Garrett Blythe on WinFE; Aleks Totic on MacFE), who did all the native control integration; we collaborated on the front-to-back-end API.

During these months, the only file I didn't write in the original JS implementation was mo_date.c, the Date object. Ken Smith, who joined from Borland with three others as a team, helped do that by closely porting Gosling's JDK1.0-prerelease java.util.Date code from Java to C.

Why you are making up facts now, I have no idea. If you have some overriding animus against JS or me (or both), take up a better argument than making up false history. That inevitably blows back.

If you can't believe I wrote as much code as I did, you should see what TJ Hollowaychuk has done in the last few years. But yeah, I was writing lots of C code then.

If you want to see others testify to my account-in-brief given above, check Quora (http://www.quora.com/In-which-10-days-of-May-did-Brendan-Eic..., http://www.quora.com/Did-JavaScript-evolve-from-another-prod... [other witnesses testify there], http://www.quora.com/How-did-ScriptEase-influence-the-design... [refutes an obsolete fraud to-do with NOMBAS]), listen to the JS Jabber show from last fall, and ask anyone who was around then. I've given some twitter handles above.

Re: Shipping Culture Is Hurting Us

#164
post #23

Every time I see someone quote that JavaScript was designed in ten days I cringe. JavaScript was designed in 1995. It was standardized as ECMAScript in 1997. Ever since then, it's been under active development by a thriving community of engineers pushing for better standards. It's been a bit longer than ten days.

Ever since then, it's been under active development What have been some significant changes to JS since it was thrown together by Netscape? It seems to be largely the same trainwreck today that it was 15 years ago.

what would be helpful is a link to your language for comparison.

Re: Shipping Culture Is Hurting Us

#165
post #76

Earlier quoted context omitted.

> Every time I see someone quote that JavaScript was designed in ten days I cringe. I cringe because it's not true; even the original Javascript wasn't really designed in ten days. If you look at the history, Eich was playing around with designing a language for months before the order to shove Javascript into Netscape Navigator. Netscape had large software libraries for dealing with virtual machine-type problems for…

Quit your fibbing! I joined Netscape on April 4, 1995, to "do Scheme in the browser". Immediately I was out of luck on several fronts: * Put on the server team with the McCool twins (NCSA httpd and then Netscape's reboot of same) and Ari Luotonen (proxy guy), working on "HTTP1.1-lol". * Told Java was in play with Sun -- the deal was not done but it was likely to go forward in Netscape 2 -- so maybe never mind about S…

Since your opinions on some language features are controversial in a sense (like `==`) - it could be nice if you could elaborate a bit on why you made them in that time span?

Re: Shipping Culture Is Hurting Us

#166
post #165

Earlier quoted context omitted.

Quit your fibbing! I joined Netscape on April 4, 1995, to "do Scheme in the browser". Immediately I was out of luck on several fronts: * Put on the server team with the McCool twins (NCSA httpd and then Netscape's reboot of same) and Ari Luotonen (proxy guy), working on "HTTP1.1-lol". * Told Java was in play with Sun -- the deal was not done but it was likely to go forward in Netscape 2 -- so maybe never mind about S…

Since your opinions on some language features are controversial in a sense (like `==`) - it could be nice if you could elaborate a bit on why you made them in that time span?

Mr. Eich explained it here: http://www.quora.com/Did-JavaScript-evolve-from-another-prod...

"Lloyd [Tabb] and Bill [Turpin] made suggestions such as too-loose implicit conversions for the == operator, and the String.prototype.link/bold/blink/etc. HTML formatting methods. My fault for taking these, they were mistakes."

Re: Shipping Culture Is Hurting Us

#167
post #165

Earlier quoted context omitted.

Since your opinions on some language features are controversial in a sense (like `==`) - it could be nice if you could elaborate a bit on why you made them in that time span?

Mr. Eich explained it here: http://www.quora.com/Did-JavaScript-evolve-from-another-prod... "Lloyd [Tabb] and Bill [Turpin] made suggestions such as too-loose implicit conversions for the == operator, and the String.prototype.link/bold/blink/etc. HTML formatting methods. My fault for taking these, they were mistakes."

Again, my mistake. Not passing buck here. Borland had a language called Lucy (Loose-C) that was wild with implicit conversions, but counter-example -- my bad for making the changes to ur-JS.

Re: Shipping Culture Is Hurting Us

#168
post #79

The problem is that the Author is assuming that 90% of software we write to make a living is set into stone and suppose to run forever. Almost everything we do is disposable and replaced within the same decade. So he does not like Javascript and Nosql. Is it hard to find a JavaEE job? I think not.

I think the real problem is the disposability attitude you just described. It's prevalent in our real world consumerist economy and it's killing us there too. Building software that's to be thrown away is a waste of mental resources and physical resources. Society and civilization advances on top of our lasting creations, not the ephemeral ones. Reinventing the wheel doesn't advance the state of the art. You want to…

wat? How can you even compare the "problems" of building commercial software to the problems of consumerism in capitalism?

The standards applied here are whack in the scope of what js and mongo are used for.

Also: You only get better by reiterating.

Re: Shipping Culture Is Hurting Us

#169
post #162
post #63

Earlier quoted context omitted.

>Unix might not have been successful had Ken Thompson decided to make the kernel preemptive, and then spent 1973-1987 debugging it. :) Sadly that didn't happen, UNIX was adopted by 80's hipsters into their startups, became adopted by the industry at large, thus spreading C into the industry. Now we have patch .

I'll bite. When I learnt C I found it charmingly simple and it took me years to realize how deeply broken some aspects are, especially the separate compilation circus — programmers working hard to help the compiler and not getting any modularity benefits in return. So suppose C didn't happen. Do you expect the industry at large would have adopted a great language instead? Or some random product of history, half way b…

Enforced modularity in languages has downsides, like basically killing the flexibility in system construction. Not every image produced is an application program running over an operating system.
Post reply on HN