HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
CharlieDigital
js-ts-csharp
C#2022–2025
CharlieDigital / js-ts-csharp

js-ts-csharp

A repository demonstrating functional techniques with C# 10 and the similarities between JavaScript, TypeScript, and C#.

2Distinct people
18Mentions
0Explicit recommenders
158GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A repository demonstrating functional techniques with C# 10 and the similarities between JavaScript, TypeScript, and C#.

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 10:01:16 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year18 dated mentions

Observed mentions: 2022-03-13 12:38:20 UTC to 2025-02-20 14:18:36 UTC.

02462022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC312
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC606
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC505
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404

What Hacker News says

4 sources
> The dx typescript brings to these types of applications is nice. Ironically, it only gets halfways there. What I've found is that teams that want TS probably should just move up to C#; they are close enough [0]. The main thing is that once you start to get serious with your backend API, then data integrity matters. TS types disappear at runtime and it's just JS. So you need a Zod or Valibot to validate the incoming data. Then your API starts getting bigger and you want to generate OpenAPI for your frontend. Now your fast and easy Node/Express app is looking a lot like Spring or .NET...without the headway and perf...the irony. [0] https://github.com/CharlieDigital/js-ts-csharp
In Show HN: Mastra – Open-source JS agent framework, by the developers of Gatsby
Kinda disagree on C# It's actually converging with JS and TS Small repo: https://github.com/CharlieDigital/js-ts-csharp Edit: but I don't want to dismiss either because C# does cover a large gamut of use cases (desktop, 3D/gaming, COM interop, etc.) and it is true that in some use cases, you may see a wider range of keyword soup compared to just building web APIs (where I think it really shines; this is a .NET web API in 4 lines: https://imgur.com/a/simple-net-api-with-route-param-validati...).
In One year after switching from Java to Go
> ...no one I know is excited about working with GoF-style OO code these days FYI, this is C#: var namedFunctions = new Dictionary<string, Func<int, int, int>>() { ["multiply"] = (int x, int y) => x * y, ["add"] = (int x, int y) => x + y, ["subtract"] = (int x, int y) => x - y, ["divide"] = (int x, int y) => x / y, }; log(namedFunctions["add"](x, y)); This is also C#: var multiplyN = (int[] numbers) => numbers.Aggregate(1, (a, b) => a * b); var addN = (int[] numbers) => numbers.Aggregate(0, (a, b) => a + b); var subtractN = (int[] numbers) => numbers.Aggregate(0, (a, b) => a - b); var divideN = (int[] numbers) => numbers.Aggregate(1, (a, b) => a / b); log(multiplyN(new[]{1, 2, 3, 4})); log(addN(new[]{1, 2, 3, 4})); log(subtractN(new[]{1, 2, 3, 4})); log(divide
Read the rest
N(new[]{1, 2, 3, 4})); As is this: // Return a tuple var runCalcsAsTuple = (int[] values) => { return ( multiplyN(values), addN(values), subtractN(values), divideN(values) ); }; // Destructure the tuple var ( multiplyResult, addResult, subtractResult, dividResult ) = runCalcsAsTuple(new [] {2, 3, 4, 5}); Named tuple types are also kinda interesting: using Profile = ( string Username, (string Hn, string Mastodon) Socials ); var profile = GetProfile(); var (hnHandle, mastodonHandle) = profile.Socials; Profile GetProfile() => ("chrlschn", ("CharlieDigital", "@chrlschn")); If you haven't looked at C# in a while, I'd recommend taking a look with a fresh set of eyes. Small repo with examples comparing C# to JS and TS: https://github.com/CharlieDigital/js-ts-csharp
In Why Tracebit is written in C#
> I do think C# is by far the best mainstream language C# is a hugely underrated language that I feel like often gets overlooked when teams look to move beyond JS/TS. The language has a pretty tight syntactic congruency to JS/TS[0], Entity Framework is pretty amazing in terms of DX/perf/maturity, and it seems like we should see more C#/.NET it in the wild than we actually do. My sense is that there are some legitimate reasons to pick something like Kotlin (JVM ecosystem), but a lot of folks that might have worked with C# in passing in the .NET Framework days simply haven't given the ecosystem another look. It's productive, stable, performant, and secure. VS Code support is really good and Rider has a community license available. [0] https://github.com/CharlieDigital/js-ts-csharp
In An update on Dart macros and data serialization

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.