Skip to content
  • Home Home Home, current page.
  • Moments Moments Moments, current page.

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
wcrichton's profile
Will Crichton
Will Crichton
Will Crichton
@wcrichton

Tweets

Will Crichton

@wcrichton

Articulating the ineffable. Programming language theory 🤝 cognitive psychology. PhD @Stanford

he/him
willcrichton.net
Joined September 2011

Tweets

  • © 2021 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. Will Crichton‏ @wcrichton Jun 20

      Shout-out to @samth!pic.twitter.com/qUeSzuWozf

      1 reply 2 retweets 16 likes
      Show this thread
    2. Will Crichton‏ @wcrichton Jun 20

      Javascript has probably the most interesting, winding language path of any today. Such a product of intertwined social, economic, and technical factors.

      1 reply 4 retweets 25 likes
      Show this thread
    3. Will Crichton‏ @wcrichton Jun 20

      - Conceived as Scheme - Implemented in 10 days as a Scheme/Java clone baby - But couldn't be too like Java (no classes) - But still needed Java syntax - Initial specification written by MS engineers that reverse-engineered it from Netscape's initial release

      2 replies 2 retweets 23 likes
      Show this thread
    4. Will Crichton‏ @wcrichton Jun 20

      - Turned into a committee language, but no one could agree on it - Rejected version turned into ActionScript - Refined version of ActionScript implemented in SML turned into ES4, also rejected - Progress stopped when MS won 96% browser share w/ IE, until Firefox reignited the war

      1 reply 2 retweets 16 likes
      Show this thread
    5. Will Crichton‏ @wcrichton Jun 20

      - Frustrated users wrote languages to transpile to Javascript, influencing iterations down the line - Insane users transpiled C++ into Javascript, birthing the need for WebAssembly - And Javascript eventually got classes!

      3 replies 1 retweet 14 likes
      Show this thread
    6. Will Crichton‏ @wcrichton Jun 20

      This reminds me of my favorite arc in PL history. C++: we want to be like Simula, but without garbage collection because that's too slow. Java: we want to be like C++, but with garbage collection because that's too scary.pic.twitter.com/lOdBcFueF0

      1 reply 8 retweets 32 likes
      Show this thread
    7. Will Crichton‏ @wcrichton Jun 21

      Cynthia Solomon presents the history of LOGO (of turtle graphics and Mindstorms fame). I love this holistic definition of the "LOGO environment": not just the technology, but also the activities, the language, and the culture.pic.twitter.com/ZL7w2GGNeu

      1 reply 1 retweet 14 likes
      Show this thread
    8. Will Crichton‏ @wcrichton Jun 21

      "In a language for learners, we still believe [dynamic scoping] is the correct choice. If a variable exists, it's visible."

      2 replies 0 retweets 8 likes
      Show this thread
    9. Will Crichton‏ @wcrichton Jun 21

      A version of Logo was developed for Atari, which apparently was once in the PC industry. They even had Alan Kay as chief scientist! Alan Kay said about his departure from Atari: "I guess the tree of research must from time to time be refreshed with the blood of bean counters.''

      3 replies 3 retweets 12 likes
      Show this thread
    10. Will Crichton‏ @wcrichton Jun 21

      Bjarne Stroustrup now presenting the modern history of C++. It's his third paper at HOPL, the only language to appear three times! Testament to the enduring legacy of a time-tested language. (Caveat: I have sworn to never use C++ again. 🦀)

      1 reply 0 retweets 8 likes
      Show this thread
      Will Crichton‏ @wcrichton Jun 21

      "Imagine the difficulty of getting agreement on anything of importance in a group that large."pic.twitter.com/Ufm35NFUhr

      10:51 AM - 21 Jun 2021
      • 4 Likes
      • Josef Polodna Facundo Javier Aitor García Rey Amit Patel
      1 reply 0 retweets 4 likes
        1. New conversation
        2. Will Crichton‏ @wcrichton Jun 21

          "Typical request: * Simplify C++ * Add these two new features * Don't break my code"

          1 reply 0 retweets 7 likes
          Show this thread
        3. Will Crichton‏ @wcrichton Jun 21

          Q: Thoughts on dialects, e.g. C++ w/o exceptions? A: I really dislike dialects, because you can't communicate or share. Dialects usually ban features, and that's wrong, the complexity just goes elsewhere. Some of the fastest code I've seen carefully uses exceptions.

          1 reply 0 retweets 1 like
          Show this thread
        4. Will Crichton‏ @wcrichton Jun 21

          Q: Thoughts on Rust and Zig, any influence on C++? A: From what I've seen of Rust, it doesn't fit into my view of C++. I experimented with borrowing ten years ago and found the code got too complicated. We can get type and resource safety without it.

          4 replies 0 retweets 7 likes
          Show this thread
        5. Will Crichton‏ @wcrichton Jun 21

          Rich Hickey now discussing the history of Clojure. I've never used Clojure, but I expect to emerge with strong opinions involving words like "complect".

          1 reply 3 retweets 16 likes
          Show this thread
        6. Will Crichton‏ @wcrichton Jun 21

          Prediction was incorrect, the right opinion-word was "concretion".

          1 reply 0 retweets 7 likes
          Show this thread
        7. Will Crichton‏ @wcrichton Jun 21

          Hickey on the motivations for Clojure: what makes programming complex?pic.twitter.com/8IgOuevdee

          1 reply 2 retweets 5 likes
          Show this thread
        8. Will Crichton‏ @wcrichton Jun 21

          "Having talks, aimed at specific audiences, about topics that matter, hosted on YouTube, matters."pic.twitter.com/qUpjYMWuRd

          1 reply 0 retweets 7 likes
          Show this thread
        9. Will Crichton‏ @wcrichton Jun 21

          Q: Thoughts on Typed Clojure and using dynamism to manage complexity? A: I don't think C++/Java/etc types are rich enough. If your program is imperative, your problems will be dominated by state. Types cause code to be far more specific and far less reusable than it ought to be.

          1 reply 0 retweets 6 likes
          Show this thread
        10. Will Crichton‏ @wcrichton Jun 21

          Q: How did you decide on terms like "concretion" and "complect"? A: I love the dictionary 😁 Eg for complect, I was trying to give more specificity to an old notion, coupling, that system designers understand intuitively.

          1 reply 0 retweets 1 like
          Show this thread
        11. Will Crichton‏ @wcrichton Jun 21

          Btw, I'm not covering every talk in this thread (time constraints, and POPL deadline in 2 weeks lmao). But the papers are all freely available here: https://dl.acm.org/toc/pacmpl/2020/4/HOPL … And the video talks + Q&A will be posted eventually! So be sure to check them out.

          1 reply 0 retweets 8 likes
          Show this thread
        12. Will Crichton‏ @wcrichton Jun 22

          Morten Kromberg presents the post-1978 history of APL. The APL ecosystem initially split around the question: when nesting items in arrays, do those items need to be explicitly "boxed" or not?pic.twitter.com/Ijrm6SZhwV

          1 reply 0 retweets 3 likes
          Show this thread
        13. Will Crichton‏ @wcrichton Jun 22

          Dozens of flavors of APL sprung up in this period. APL was definitively an idea up for grabs, and not a language steered by a single person or org. Probably most like SQL in that regard.pic.twitter.com/8UZwDVm0Vl

          1 reply 0 retweets 2 likes
          Show this thread
        14. Will Crichton‏ @wcrichton Jun 22

          "APL is a notation as much a programming language, and it's important for subject matter experts to be able to use APL on the whiteboard and argue about it. I've seen open source APLs lead to fragmentation, which reduces the value of a notation."

          1 reply 0 retweets 2 likes
          Show this thread
        15. Will Crichton‏ @wcrichton Jun 22

          Stefan Monnier and Michael Sperber presented the history of Emacs Lisp. One focus: modern Elisp has two distinct dialects, dynamically scoped (originally) and statically scoped (added later).

          1 reply 0 retweets 4 likes
          Show this thread
        16. Will Crichton‏ @wcrichton Jun 22

          Will Crichton Retweeted Will Crichton

          "Back then, dynamic scoping was considered efficient. Lexical scoping seemed kind of expensive to implement. Lexical scoping requires the creation of closures." Same underlying reason as Logo, but different conclusion (performance vs. learnability)https://twitter.com/wcrichton/status/1406999997527191552 …

          Will Crichton added,

          Will Crichton @wcrichton
          "In a language for learners, we still believe [dynamic scoping] is the correct choice. If a variable exists, it's visible."
          Show this thread
          1 reply 0 retweets 2 likes
          Show this thread
        17. Will Crichton‏ @wcrichton Jun 22

          Q: Advice for systems adding dynamic scoping, eg React contexts? A: Picolisp creator said: "Modularity is the ability to reach into a system's guts and make it do what you want." Unconventional, but not wrong. Dynamic scoping enables users to make Emacs do what you want done.

          1 reply 1 retweet 3 likes
          Show this thread
        18. Will Crichton‏ @wcrichton Jun 22

          ...The trend at confs like ICFP has been unbreakable abstractions. But systems that result from that, esp editors, are not as flexible at runtime like Emacs. But the balance is hard to find and keep the system comprehensible.

          1 reply 2 retweets 5 likes
          Show this thread
        19. Will Crichton‏ @wcrichton Jun 22

          Don Syme presents the history of F#. Frames it through the lens of the OOP wave of late 90s, and how FP advocates within MSR continued to push for language innovation beyond objects. Found initial F# made for 10x smaller code than C#. 56k LOC for braces! 3k null checks!pic.twitter.com/zur4byC6To

          1 reply 4 retweets 13 likes
          Show this thread
        20. Will Crichton‏ @wcrichton Jun 22

          "When I got to Microsoft, I was told in no uncertain terms that the word 'compositional' was not in the MS vocabulary. And we have blown that apart at MS."

          1 reply 0 retweets 4 likes
          Show this thread
        21. Will Crichton‏ @wcrichton Jun 22

          Q: Aspects of C#/.NET that are hindering F#? A: The big way we suffered is that F# did not have a strong Linux story during the rise of Linux and subsequently the cloud. That's crucial.

          1 reply 1 retweet 4 likes
          Show this thread
        22. Will Crichton‏ @wcrichton Jun 22

          Earlier, several HDL designers discussed Verilog and its ilk. "When we discuss Moore's law, we focus on semiconductor technology... but just as important are the tools used to design the chips. Chips in 1978 were designed with pencil and paper."pic.twitter.com/HdGQ5vL1La

          1 reply 1 retweet 7 likes
          Show this thread
        23. Will Crichton‏ @wcrichton Jun 22

          Sneak peek into the intensive process of naming a language (tag yourself, I'm "logol")pic.twitter.com/92tIyks0oY

          0 replies 1 retweet 9 likes
          Show this thread
        24. 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

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