Microfeatures I'd like to see in more languages

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • NumPy

    The fundamental package for scientific computing with Python.

  • > If you look at something like numpy functions, so many of them share the exact same parameter definitions. What if you could write def log(standard-exp-params) instead of having to write them out every single time?

    They're not actually written out every time, the issue is mostly documentary (and it would be nice if Python or Sphinx ever had a good solution). And numpy actually has a bunch of generators for that e.g. https://github.com/numpy/numpy/blob/45bc13e6d922690eea43b9d8... handles filling in the common bits of documentation for the ufuncs.

  • S-Lang

    The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applications.[3] The latter class of functions include routines for constructing and manipulating keymaps, an interactive line-editing facility, and both low- and high-level screen/terminal management functions. It is distributed under the terms of the GNU Gener

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • variables-with-units-language-proposal

    A proposed langage feature for variables with units

  • Declaration of units for primitive numeric variables.

    https://github.com/mchrisman/variables-with-units-language-p...

  • Declaration of units for primitive numeric variables.

    https://github.com/mchrisman/variables-with-units-language-p...

  • fslang-suggestions

    The place to make suggestions, discuss and vote on F# language and core library features

  • Re: the argument accessor shorthand, there seems to be a proposal for exactly that (using _ instead of &): https://github.com/fsharp/fslang-suggestions/issues/506#issu...

  • manifold

    Manifold is a Java compiler plugin, its features include Metaprogramming, Properties, Extension Methods, Operator Overloading, Templates, a Preprocessor, and more.

  • There's a Java compiler extension, Manifold[1], that adds this to Java.

    [1] https://github.com/manifold-systems/manifold/tree/master/man...

  • coherence

    Oracle Coherence Community Edition (by oracle)

  • This is one that I like a lot. Years ago (1997 timeframe) I had implemented it in a Java compiler, and a few years later in a Java library (https://github.com/oracle/coherence/blob/4e6e343e1ffd9bbfea3...) that would create an exception on the assertion failure and parse its stack trace to find the source code file name, and read it to find the text of the assertion that failed, etc. so it could build the error message ...

    In Ecstasy, we built the support directly into the compiler again:

    ```

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • physical

  • scalars

    Physical Scalars and Plotting Tools in Scala

  • rust

    Empowering everyone to build reliable and efficient software.

  • The backticks are more of an anti-feature than anything, and it's absolutely not a file or module/package level setting. (I think a lint-exclude at declaration site would also be okay.)

    > It's not the business of a language to judge what kind of code is "good".

    Well, yes, but no. Language design is just inseparably infused with judgement calls. Making things easy leads to them being used (as the backtick illustrates, making things hard reduces their usage, even if it sounds nice that it allows for special cases).

    But as you imply the language has to be flexible and thus powerful enough to provide the option of a seriously different design trade off. (Because backticks are just a bad compromise. It's not really switching to a different design choice after all.)

    > I hate such kind of "but we know better" behavior.

    I think that implies too much intent on the Scala core team, unfortunately the reality is - probably - that historically someone wanted something, it got done somehow, and that's it. (In the particular case of backticks maybe Martin really had a strong opinion. Dunno. Probably you have looked into this at least a few times if you considered a fork :) )

    ... related to this the recent discussion about Rust's GAT (generic associated trait) feature is a very interesting case study in the intersection of language design, "project governance/management" (the reality of pragmatic compromises). There a small team spent at least a year developing GAT support for the compiler, and then a bunch of people were asked to decide whether to merge it. And it's a very unenviable position, because of course the work was not perfect. So what to do? In the end, I think at least, the narrative that was comfortable for everyone involved was that "this is the best version we can have realistically, and yes it provides net positive value in this current state".

    https://github.com/rust-lang/rust/pull/96709#issuecomment-12...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • JSON dans les projets data science : Trucs & Astuces

    3 projects | dev.to | 7 Mar 2024
  • JSON in data science projects: tips & tricks

    3 projects | dev.to | 7 Mar 2024
  • Mojo🔥: Head -to-Head with Python and Numba

    2 projects | dev.to | 27 Sep 2023
  • A Guide to Undefined Behavior in C and C++

    9 projects | news.ycombinator.com | 17 Aug 2023
  • Any data folks coding C++ and Java? If so, why did you leave Python?

    1 project | /r/quant | 12 Jul 2023