HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pyjarrett

no profile record

Submissions

2026 Annual C++ Developer Survey "Lite"

isocpp.org
1 points·by pyjarrett·há 3 meses·0 comments

comments

pyjarrett
·há 2 meses·discuss
> I tend to run older hardware,

> the tool is so fricken slow.

How old is "old hardware"? I've had no issues running CLion on a 2020 M1 Macbook Air and a i5-10400 (Linux). These projects are only in the hundreds of thousands of lines of code though.

> The install is gigantic on disk, leading me to avoid it on my older machines where space is limited.

I found that by default toolbox likes to keep old versions of the IDEs available for rollback. I disabled that and reclaimed tens of GB across all the products I use.
pyjarrett
·há 3 meses·discuss
Ariane 5 became one of the most reliable rockets ever made and was used to launch the JWST.
pyjarrett
·há 3 meses·discuss
I used to, but the knowledge of .NET seems mostly transferrable to C#. It's super useful to do `dotnet fsi` and then work out the appropriate .NET calls in the F# repl.
pyjarrett
·há 3 meses·discuss
These are the big ones I use, specifically because of the standard libraries:

Python (decent standard library) - It's pretty much everywhere. There's so many hidden gems in that standard library (difflib, argparse, shlex, subprocess, cmd)

C#/F# (.NET)

C# feels so productive because of how much is available in .NET Core, and F# gets to tag along and get it all for free too. With C# you can compile executables down to bundle the runtime and strip it down so your executables are in the 15 MiB range. If you have dotnet installed, you can run F# as scripts.
pyjarrett
·há 4 meses·discuss
It doesn't take much power or time to run your own local git server. My first one which lasted years was parts I mangled together from old computers from garage sales.

There's instructions on running a Git server in the git book: https://git-scm.com/book/en/v2/Git-on-the-Server-The-Protoco...
pyjarrett
·há 6 meses·discuss
https://pyjarrett.github.io/
pyjarrett
·há 3 anos·discuss
> 2024 Carolina Code Conference (polyglot)

Thanks for mentioning this! I work remote in SC and its nice to hear about a nearby convention.
pyjarrett
·há 5 anos·discuss
Ada provides integers and floats with range checks, and you can specify the underlying size, but intermediate values don't get checked. It also has a separate form of unsigned integers called "modular types" which expressly indicate wrapping, if that's your intent.

    -- Range checked equivalent of uint64_t;
    type Nibble is range 0 .. 15 with Size => 64;

    -- Every assignment is as if Value := (Value % 16);
    type Wrapped_Nibble is mod 16;
    type Small_Float is digits 4 range 0.0 .. 20.0 with Size => 32;
I agree that the subexpression issue is problematic, IIRC I thought this was checked in SPARK code, but I could be wrong. The big benefit is describing your intent and you know that the stored value is in range, though whether it went outside of that range in calculation might not be known. Another thing is that these types define 'First, 'Last, 'Pred, 'Succ, and 'Range attributes which you can use.

    for N of Nibble'Range loop
        -- do something
    end loop;
pyjarrett
·há 5 anos·discuss
It also allows creating type checked "new" numerical types for semantics purposes to help improve interfaces. This helps prevent things like accidentally passing an integer in the wrong units for example. Two of the worst offenders I've seen of this is: "Is this uint64_t (or float) "dt" parameter in ticks, seconds, milliseconds, microseconds or nanoseconds?" and "Is this angle parameter in radians or degrees?"