Skip to content

State of JS Survey #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
codehag opened this issue Sep 26, 2024 · 5 comments
Open

State of JS Survey #33

codehag opened this issue Sep 26, 2024 · 5 comments
Labels
help wanted Extra attention is needed

Comments

@codehag
Copy link
Collaborator

codehag commented Sep 26, 2024

TC39 is often requested to participate in the State of JS survey. Should we see if we can coordinate the necessary work to solicit feedback from TC39 here? Most recent work: Devographics/surveys#239

cc @SachaG

@codehag codehag added the help wanted Extra attention is needed label Sep 26, 2024
@SachaG
Copy link

SachaG commented Sep 27, 2024

I would definitely welcome any input or feedback! FYI I'm hoping to start working on the survey outline in mid-October, and run the actual survey mid-November.

@js-choi
Copy link

js-choi commented Apr 8, 2025

It would be useful to use the survey to gauge community interest specifically in ongoing TC39 proposals. I’m particularly interested in any continued interest in the pipe operator.

  • For example, the 2020 survey asked, “What do you feel is currently missing from JavaScript?”
    • This was seemingly skipped in 2021, then it returned in 2022.
      • The pipe-operator proposal has used its appearance in 2020’s and 2022’s results as evidence of general community demand.
    • 2023 and 2024 seemingly switched to a “Language Pain Points” question.
      • There are a lot of “other answers” in those two years’ graphs—93% and 94% of question respondents respectively. I’m not sure what those mean.
      • It’s interesting that several top language requests in 2020 and 2022, such as pipe, disappeared when the format changed in 2023.
  • It might be nice to show participants a list of active proposals and allowing them to pick ones that they want.
    • That way answers are more likely to map to particular proposals.
    • Free-text answers would definitely still be useful.

@SachaG
Copy link

SachaG commented Apr 8, 2025

@js-choi did you see the "New Proposals" question in the 2024 edition?

https://2024.stateofjs.com/en-US/usage/#js_new_features

@js-choi
Copy link

js-choi commented Apr 8, 2025

@SachaG: Ah, I missed that, sorry; I was looking under Features, not Usage, for future proposals…

  • This is good, valuable data. Thank you for running it.
  • I’m wondering: what is your methodology for which proposals you choose to add to the “Missing Features” question? I presume that not all of them are present as choices in the survey.
  • I see the pipe operator is still pretty high up in the results.
    • However, its description still uses the outdated “F# pipe” version that uses tacit unary function calls. The proposal hasn’t used that syntax for four years.
    • The example probably should be changed for next year to something like:
      input
      |> f(#, 0)
      |> await g(#, { opt: true })
      |> Array.from(#)
      |> console.log(`Result is ${#}.`);
    • A problem with making an example is that pipe’s precise syntax is still in flux, and it might change again later this year.
    • I would be happy to collaborate on an updated example for the pipe function when you prepare the 2025 survey. Ping me at least a month or so before.
  • Note also that Record & Tuple will probably get replaced with Composites. That change was a long time coming (see 2025 February TC39 presentation update proposal-record-tuple#393).
  • Is there a reason why “Static Typing” doesn’t link to the Type Annotations proposal?
    • In addition, “Static Typing” is described as “Native runtime typing; or TypeScript-style type-as-comments”.
    • There’s simply no way that the JavaScript engines will implement native runtime type enforcement. To my knowledge, just about every engine’s implementors feel strongly negative towards it. It’s a “never will happen in the next decade” thing.
    • Are you including native runtime type enforcement in Static Typing’s description to capture developers’ desires for it? It might be a good idea to separate it from Type Annotations into two choices.
  • If the 2025 is also due in October, it would be great if you pinged the group here for feedback on your proposal choices and their descriptions, for both New Proposals and Missing Features.
  • I’m sure the Committee will continue to find your results useful next year. Thank you again for running the survey.

@SachaG
Copy link

SachaG commented Apr 8, 2025

I’m wondering: what is your methodology for which proposals you choose to add to the “Missing Features” question? I presume that not all of them are present as choices in the survey.

We discussed it in the TC39 group chat I think, see also this issue. The main concern was to avoid featuring any features that are not likely to be implemented any time soon (or at all) to avoid setting the wrong expectations.

  • Pipe operator syntax: good point, feel free to also make a note of it in the dedicated thread

  • Static typing: I have to confess I haven't always had a correct understanding of the state of the various typing proposals, so I'm sure the wording could be improved.

Oh, and the survey is slated to run from Oct 15 to Nov 15, 2025 (see calendar).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants