Skip to content
By using Twitter’s services you agree to our Cookies Use. We and our partners operate globally and use cookies, including for analytics, personalisation, and ads.
  • Home Home Home, current page.
  • About

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @
  • Language: English
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English UK
    • Español
    • Filipino
    • Français
    • Hrvatski
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Ελληνικά
    • Български език
    • Русский
    • Српски
    • Українська мова
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Have an account? Log in
    Have an account?
    · Forgot password?

    New to Twitter?
    Sign up
wycats's profile
Yehuda Katz 🥨
Yehuda Katz 🥨
Yehuda Katz  🥨
Verified account
@wycats

Tweets

Yehuda Katz  🥨Verified account

@wycats

Tilde Co-Founder, OSS enthusiast and world traveler.

Portland, OR
yehudakatz.com
Joined August 2007

Tweets

  • © 2018 Twitter
  • About
  • Help Center
  • Terms
  • Privacy policy
  • Cookies
  • Ads info
Dismiss
Previous
Next

Go to a person's profile

Saved searches

  • Remove
  • In this conversation
    Verified accountProtected Tweets @
Suggested users
  • Verified accountProtected Tweets @
  • Verified accountProtected Tweets @

Promote this Tweet

Block

  • Tweet with a location

    You can add location information to your Tweets, such as your city or precise location, from the web and via third-party applications. You always have the option to delete your Tweet location history. Learn more

    Your lists

    Create a new list


    Under 100 characters, optional

    Privacy

    Copy link to Tweet

    Embed this Tweet

    Embed this Video

    Add this Tweet to your website by copying the code below. Learn more

    Add this video to your website by copying the code below. Learn more

    Hmm, there was a problem reaching the server.

    By embedding Twitter content in your website or app, you are agreeing to the Twitter Developer Agreement and Developer Policy.

    Preview

    Why you're seeing this ad

    Log in to Twitter

    · Forgot password?
    Don't have an account? Sign up »

    Sign up for Twitter

    Not on Twitter? Sign up, tune into the things you care about, and get updates as they happen.

    Sign up
    Have an account? Log in »

    Two-way (sending and receiving) short codes:

    Country Code For customers of
    United States 40404 (any)
    Canada 21212 (any)
    United Kingdom 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Ireland 51210 Vodafone, O2
    India 53000 Bharti Airtel, Videocon, Reliance
    Indonesia 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italy 4880804 Wind
    3424486444 Vodafone
    » See SMS short codes for other countries

    Confirmation

     

    Welcome home!

    This timeline is where you’ll spend most of your time, getting instant updates about what matters to you.

    Tweets not working for you?

    Hover over the profile pic and click the Following button to unfollow any account.

    Say a lot with a little

    When you see a Tweet you love, tap the heart — it lets the person who wrote it know you shared the love.

    Spread the word

    The fastest way to share someone else’s Tweet with your followers is with a Retweet. Tap the icon to send it instantly.

    Join the conversation

    Add your thoughts about any Tweet with a Reply. Find a topic you’re passionate about, and jump right in.

    Learn the latest

    Get instant insight into what people are talking about now.

    Get more of what you love

    Follow more accounts to get instant updates about topics you care about.

    Find what's happening

    See the latest conversations about any topic instantly.

    Never miss a Moment

    Catch up instantly on the best stories happening as they unfold.

    1. Yehuda Katz  🥨‏Verified account @wycats Mar 20

      I wrote up some thoughts on the proposal to replace the current Stage 3 class proposals with a clean slate design: https://gist.github.com/wycats/b1c96c67074396a239abd60f55087adc … Should be a major topic of this week's TC39 meeting. Very interested in feedback. Lots of links if you need context 😄

      22 replies 38 retweets 122 likes
    2. register and vote!‏ @jacobrothstein Mar 20
      Replying to @wycats

      Clean slate looks significantly better on initial read. Did I miss mention of why `var ids = []` inside of class body wouldn't work in clean slate as initializers? Have there been any discussions of variable access of private state? (Like [] notation but for private state only)

      1 reply 0 retweets 2 likes
    3. Yehuda Katz  🥨‏Verified account @wycats Mar 20
      Replying to @jacobrothstein

      Clean slate rejects initializers (and therefore fields). I think I left links to the rationale; if not, follow to the repo and search the issue tracker.

      1 reply 0 retweets 1 like
      Yehuda Katz  🥨‏Verified account @wycats Mar 20
      Replying to @wycats @jacobrothstein

      What do you think about `var` as the way to declare private instance variables?

      1:33 AM - 20 Mar 2018
      5 replies 0 retweets 0 likes
        1. New conversation
        2. register and vote!‏ @jacobrothstein Mar 20
          Replying to @wycats

          It's less offensive than # on the surface, but I wonder if it might be confusing since it doesn't behave like folks have learned `var` does (access and assignment without `this->`). If `hidden concatIds(){}`, why not also `hidden ids;` for consistency?

          2 replies 0 retweets 2 likes
        3. Yehuda Katz  🥨‏Verified account @wycats Mar 20
          Replying to @jacobrothstein

          In principle they could both be "private", which I think would improve the proposal. Out of curiosity, why is @foo ok in Ruby but #foo not ok in JS? Is the # that much worse of a sigil?

          1 reply 0 retweets 2 likes
        4. register and vote!‏ @jacobrothstein Mar 20
          Replying to @wycats @foo

          I would object to `this.@foo` also. I think enough languages use # for comments that it doesn't read naturally. I imagine a language that used // as an operator would have the same trouble. But `this.#something` is the worst part for me

          1 reply 0 retweets 1 like
        5. Yehuda Katz  🥨‏Verified account @wycats Mar 20
          Replying to @jacobrothstein @foo

          Can you imagine getting used to it as analogous to leading `_`?

          1 reply 0 retweets 1 like
        6. Yehuda Katz  🥨‏Verified account @wycats Mar 20
          Replying to @wycats @jacobrothstein @foo

          Incidentally, when I originally worked on this proposal, I had a shorthand syntax like Ruby (`#foo`), and `x.#foo` is only needed for situations where you'd use instance_variable_get in Ruby (but only allowed in the class body that declared it)

          1 reply 0 retweets 0 likes
        7. register and vote!‏ @jacobrothstein Mar 20
          Replying to @wycats @foo

          With the shorthand as the default usage, I think it’d be way more palatable. Without dynamic/variable access or access from the exterior, I’m having trouble imagining when the ivar_get equivalent would be needed

          1 reply 0 retweets 1 like
        8. Yehuda Katz  🥨‏Verified account @wycats Mar 20
          Replying to @jacobrothstein @foo

          class Point { #x; #y; equals(other) { return #x === other.#x && #y === other.#y; } }

          1 reply 0 retweets 2 likes
        9. register and vote!‏ @jacobrothstein Mar 20
          Replying to @wycats @foo

          Ohh interesting. I hadn’t understood that privacy functioned like that. Was imagining “instance private” not “same constructor/class private” Can instances assign to each other’s privates? Is it a parser nightmare/impossibility to do other#x without the dot?

          1 reply 0 retweets 0 likes
        10. 3 more replies
        1. New conversation
        2. Standa Opichal‏ @opichals Mar 20
          Replying to @wycats @jacobrothstein

          I would rather expect `let` as it is the JS block-scope variable keyword.

          1 reply 0 retweets 0 likes
        3. Yehuda Katz  🥨‏Verified account @wycats Mar 20
          Replying to @opichals @jacobrothstein

          But this is not like a var or let. The proposal uses var to remind you of "instance VARiable"

          1 reply 0 retweets 0 likes
        4. Standa Opichal‏ @opichals Mar 20
          Replying to @wycats @jacobrothstein

          Got that but still would perceive the let block-scope-ness as being a better hint on the variable to be private instance var.

          0 replies 0 retweets 1 like
        5. End of conversation
        1. Ray Booysen‏ @raybooysen Mar 22
          Replying to @wycats @jacobrothstein

          Prefer also not to have the -> syntax. Don't need the setters to know if something is private or not. There is such great prior art from c# here which really fits nicely

          0 replies 0 retweets 0 likes
          Thanks. Twitter will use this to make your timeline better. Undo
          Undo
        1. Ray Booysen‏ @raybooysen Mar 22
          Replying to @wycats @jacobrothstein

          Honestly not great. Var already has dirty smells around it which gave us let. Now we are reusing it for something else

          0 replies 0 retweets 0 likes
          Thanks. Twitter will use this to make your timeline better. Undo
          Undo
        1. New conversation
        2. Ben Wiley‏ @benwiley4000 Mar 21
          Replying to @wycats @jacobrothstein

          I sort of warmed up to `var` quickly, but I can see it being objected to since it's not actually accessible via lexical scope as one might expect. What if there were just a new token (private? self? local?) to replace var, but everything else remains the same?

          1 reply 0 retweets 0 likes
        3. Ben Wiley‏ @benwiley4000 Mar 21
          Replying to @benwiley4000 @wycats @jacobrothstein

          Hm, specifically, I think a very good reason *not* to add to confusion by making it "var" is that many developers already get "scope" and "context" (this) confused. I often see this in interviews. "var" implies scope when in fact you're adding to the instance's context.

          1 reply 0 retweets 0 likes
        4. Ben Wiley‏ @benwiley4000 Mar 21
          Replying to @benwiley4000 @wycats @jacobrothstein

          I guess you're not technically adding in to the context in the same capacity you would with `obj.x = y`, since it's only accessible by methods defined within the class curly braces, but it's still not quite the same thing as scope.

          1 reply 0 retweets 0 likes
        5. Ben Wiley‏ @benwiley4000 Mar 21
          Replying to @benwiley4000 @wycats @jacobrothstein

          A particularly confusing comparison would be class definitions which declare private variables using `var` contained inside a closure. It would be hard to explain to a new developer why they can access that `var` via scope in that case, but not in the Clean Slate case.

          0 replies 0 retweets 0 likes
        6. End of conversation

      Loading seems to be taking a while.

      Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.

        Promoted Tweet

        false

        • © 2018 Twitter
        • About
        • Help Center
        • Terms
        • Privacy policy
        • Cookies
        • Ads info