Profile

Cover photo
Douglas Crockford
Works at PayPal
Lives in San Jose
19,206 followers|2,359,481 views
AboutPosts
People
Have him in circles
19,206 people
Erik Benson's profile photo
Andy Sowards's profile photo
Russell Holly's profile photo
Aaron Yang's profile photo
Jim Gorman's profile photo
Rich Hamburg's profile photo
Emmanuel Ezeali's profile photo
Gerhard Sprenger's profile photo
Imran Shaikh's profile photo
Communities
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
San Jose
Story
Tagline
_ __ ___ ____ _____ In the Twenty First Century!
Introduction
On the internet, nobody knows you're a Doug.
Bragging rights
I discovered the JSON Data Interchange Format. I also discovered that JavaScript has good parts. That was the first important discovery of the 21st Century.
Work
Occupation
The Boss of You
Employment
  • PayPal
    present
Basic Information
Gender
Male

Stream

Douglas Crockford

Shared publicly  - 
 
you

How much do you make? Have you ever contemplated suicide? Are you now or have you ever been... ? Are you aware of the fact... ? I have here before me.... Electrical information devices for universal, tyrannical womb-to-tomb surveillance are causing a very serious dilemma between our claim to privacy and the community's need to know. The older, traditional ideas of private, isolated thoughts and actions--the patterns of mechanistic technologies--are very seriously threatened by new methods of instantaneous electric information retrieval, by the electrically computerized dossier bank--that one big gossip column that is unforgiving, unforgetful and from which there is no redemption, no erasure of early "mistakes." We have already reached a point where remedial control, born out of knowledge of media and their total effects on all of us, must be exerted. How shall the new environment be programmed now that we have become so involved with each other, now that all of us have become the unwitting work force for social change? What's that buzzzzzzzzzzzzzzzzzzing?

[Marshall McLuhan, The Medium Is The Massage, 1967]
15
1

Douglas Crockford

Shared publicly  - 
 
I will be headlining at Midwest JS in Minneapolis.
August 10th, 11th & 12th, 2016 in Minneapolis, Minnesota! Midwest JS is a premier technology conference focused on the JavaScript ecosystem. The conference has been a tremendous success the past two years and we hope to make it even better in 2016! The conference will be held in downtown ...
7
1

Douglas Crockford

Shared publicly  - 
11
2

Douglas Crockford

Shared publicly  - 
 
I will be headlining at the Great Indian Developer Summit in Bangalore and Pune.
With over 35000 attendees benefiting from over eight game changing editions, GIDS is the gold standard for India's software developer ecosystem. The summit has seen participation from 200+ sponsors and 600+ speakers since 2008. Join the 2016 edition for cutting-edge content that will squarely ...
15
1
Gopal Venkatesan's profile photo
 
This is great.

+Douglas Crockford I have relocated back to Bangalore, so let me know when you'll be here I'll try to meet you :)

Douglas Crockford

Shared publicly  - 
 
Edward Snowden is an American Hero.

It is time that we bring him home.
84
5

Douglas Crockford

Shared publicly  - 
 
What do these letters have in common?

    c o s u v w x z
2
Stuart Langridge's profile photoDor Kleiman (configurator)'s profile photo
2 comments
 
These are the letters I always miss when typing on my phone keyboard.

Also, a b d e f g h i j k l m n p q r and t. 

Douglas Crockford

Shared publicly  - 
 
There are two ways to make secure software: The Juniper Way and the Chinese Way. Guess which works? And who do back doors really benefit?
26
4
Have him in circles
19,206 people
Erik Benson's profile photo
Andy Sowards's profile photo
Russell Holly's profile photo
Aaron Yang's profile photo
Jim Gorman's profile photo
Rich Hamburg's profile photo
Emmanuel Ezeali's profile photo
Gerhard Sprenger's profile photo
Imran Shaikh's profile photo

Communities

Douglas Crockford

Shared publicly  - 
 
Small group sharing from Google
12
1

Douglas Crockford

Shared publicly  - 
 
JavaScript's function scope rule says that an inner function can implicitly see the variables of outer functions and must explicitly declare its own variables.

|   function javascript() {
|       var a = 0;
|       function inner() {
|           var b = a;
|       }
|   }

So imagine another language that does it the other way. There is no 'var' statement because variable declaration is implicit. But to see an outer variable, you must first use a 'see' declaration.

|   function another() {
|       a = 0;
|       function inner() {
|           see a;
|           b = a;
|       }
|   }

Any program that could be written JavaScript could also be written in the another language. The difference is in programmer convenience (very low value) and error avoidance (very high value).

Which language would be better at avoiding declaration and scope errors?
243 votes  -  votes visible to Public
JavaScript
33%
Another
47%
Neither has a significant advantage
21%
29
8
Yoan Blanc (greut)'s profile photoDouglas Crockford's profile photoJoe Gibbs Politz's profile photo
8 comments
 
Yup, my point with the see/var example was that the "see" was unnecessary/not meaningful there, underscoring the benefits of having explicit declarations.

Agreed on "used-to" arguments.

My position is:

1. I don't think "see" adds much value for capture of immutable variables, because I don't believe that capturing immutable variables is the source of many errors. (What's an example of this happening?)

2. I do think it could add value for mutable variables, where I think capture is more fraught.

Douglas Crockford

Shared publicly  - 
 
We asked 25 world leading web development experts about when they started coding - and why?
33
6

Douglas Crockford
owner

Discussion  - 
 
ES6 fat arrow functions, aka farts, offer some syntactic convenience, but also come with syntactic complexity and confusion.

Should JSLint recommend that all => expressions be replaced with function expressions?
147 votes  -  votes visible to Public
Yes
35%
No, just the problematic cases
50%
No, never
15%
3
1
Ryan McQuen's profile photoDouglas Crockford's profile photoLars GBN (LayZeeDK)'s profile photo
19 comments
 
Thank you for replying, +Douglas Crockford.

Is the class syntax error-prone? Maybe because it hides the prototypical nature of JavaScript?

Are you still using class-free parasitic inheritance as your preferred way of JS development, +Douglas Crockford? Should JSLint enforce only one style of object relations?
Add a comment...