csharplang
devdocs
csharplang | devdocs | |
---|---|---|
263 | 239 | |
10,966 | 34,014 | |
1.7% | 1.1% | |
9.6 | 9.6 | |
3 days ago | 6 days ago | |
C# | Ruby | |
- | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
csharplang
-
The search for easier safe systems programming
Not exactly related to conversation but given that you mentioned (discriminated) unions, here are notes on recent design work:
https://github.com/dotnet/csharplang/blob/main/meetings/2024...
https://github.com/dotnet/csharplang/blob/main/meetings/2024...
- Discriminated Unions: Essa feature faz falta no CSharp
-
DevDocs
Certain parts of Microsoft Learn are permissive, for example the .NET BCL documentation is Creative Commons Attribution: https://github.com/dotnet/dotnet-api-docs as is ASP.NET Core: https://github.com/dotnet/AspNetCore.Docs (a good hint if documentation is permissively licensed and on GitHub is if there's an edit button at the top.)
The C# language specification is unfortunately a bit fuzzier: https://github.com/dotnet/csharplang/discussions/4855
The updated unified C# language specification is CC, but it's still catching up to modern C#: https://github.com/dotnet/csharpstandard
-
The golden age of Kotlin and its uncertain future
No OP, but for example you still see the C# folks still struggling to add discriminated unions to the language because of complex interactions due to its too many features[1]. Virtual threads are easier to use than async/await is another example.
[1] https://github.com/dotnet/csharplang/issues/113
-
When static types make your code shorter
For example, C# had a research fork called Spec# that had compile-time support for contracts, with keywords such as requires (for arguments) and ensures (for return values), all the way back in 2004. While still being discussed, it doesn't seem to be shipping any time soon.
-
.NET 8 – .NET Blog
Hi there. I'm the language designer who created the 'Collection Expression' design/specification: https://github.com/dotnet/csharplang/issues/5354
You can see the entire history of the proposal there. To answer you specific question, we went with `..` because that's what the language already uses for the complimentary 'pattern matching deconstruction' form for collection patterns.
In other words, you can already say this today:
if (x is [var start, .. var middle, .. var end]) { ... }
-
What's new in C# 12: overview
You must specify concrete type.
There was a plan to have "natural type" so "var list = [1,2,3]" would be of type "List" but it was postponed to C# 13 (https://github.com/dotnet/csharplang/issues/5354#issuecommen...)
-
Robust Design through Value Objects in C#
While C# currently lacks direct support for this kind of functionality, there's a glimmer of hope with an active proposal under discussion that aims to bring this feature to the language. This potential addition promises a future where C# can natively offer similar robust type narrowing.
-
The combined power of F# and C#
Given few people anticipated ValueTuple and C# adding a more direct tuple syntax, I feel like it is only a matter of time before C# adds discriminated unions.
(There are multiple proposals tracking the idea. This seems the most comprehensive and "central": https://github.com/dotnet/csharplang/issues/7016)
-
Should i quit Django and move to asp.net
I always liked list abbreviations in python, but I absolutely love Linq. I believe there is a feature proposal for C# 12, which makes collection initialization better imo.
devdocs
-
Show HN: I made a better Perplexity for developers
Hi HN,
I am Jiayuan, and I'm here to introduce a tool we've been building over the past few months: Devv (https://devv.ai). In simple terms, it is an AI-powered search engine specifically designed for developers.
Now, you might ask, with so many AI search engines already available—Perplexity, You.com, Phind, and several open-source projects—why do we need another one?
We all know that Generative Search Engines are built on RAG (Retrieval-Augmented Generation)[1] combined with Large Language Models (LLMs). Most of the products mentioned above use indexes from general search engines (like Google/Bing APIs), but we've taken a different approach.
We've created a vertical search index focused on the development domain, which includes:
- Documents: These are essentially the single source of truth for programming languages or libraries; I believe many of you are users of Dash (https://kapeli.com/dash) or devdocs (https://devdocs.io/).
- Code: While not natural language, code contains rich contextual information. If you have a question related to the Django framework, nothing is more convincing than code snippets from Django's repository.
- Web Search: We still use data from search engines because these results contain additional contextual information.
Our reasons for doing this include:
- The quality of the index is crucial to the RAG system; its effectiveness determines the output quality of the entire system.
- We focus more on the Index (RAG) rather than LLMs because LLMs evolve rapidly; even models performing well today may be superseded by better ones in a few months, and fine-tuning an LLM now has relatively low costs.
- All players are currently exploring what kind of LLM product works best; we hope to contribute some different insights ourselves (and plan to open source parts of our underlying infrastructure in return for contributions back into open source communities).
Some brief product features:
- Three modes: - Fast mode: Offers quick answers within seconds. - Agent mode: For complex queries where Devv Agent infers your question before selecting appropriate solutions. - GitHub mode(currently in beta): Links directly with your own GitHub repositories allowing inquiries about specific codebases.
- Clean & intuitive UI/UX design.
- Currently only available as web version but Chrome extension & VSCode plugin planned soon!
Technical details regarding how we build our Index:
- Documents section involves crawling most documentation sources using scripts inspired by devdocs project’s crawler logic then slicing them up according function/symbol dimensions before embedding into vector databases;
- Codes require special treatment beyond just embeddings alone hence why custom parsers were developed per language type extracting logical structures within repos such as architectural layouts calling relationships between functions definitions etc., semantically processed via LMM;
- Web searches combine both selfmade indices targeting developer niches alongside traditional API based methods. We crawled relevant sites including blogs forums tech news outlets etc..
For the Agent Mode, we have actually developed a multi-agent framework. It first categorizes the user's query and then selects different agents based on these categories to address the issues. These various agents employ different models and solution steps.
Future Plans:
- Build a more comprehensive index that includes internal context (The Devv for Teams version will support indexing team repositories, documents, issue trackers for Q&A)
- Fully localized: All of the above technologies can be executed locally, ensuring privacy and security through complete localization.
Devv is still in its very early stages and can be used without logging in. We welcome everyone to experience it and provide feedback on any issues; we will continue to iterate on it.
[1]: https://arxiv.org/abs/2005.11401
-
Every Dunder Method in Python
> I've started to preface all python searches with 'site:python.org'
You might find DevDocs to be useful: https://devdocs.io/
-
The Ultimate Roadmap to a Full-Stack Developer
DevDocs - Aggregates documentation from various sources into a single, easy-to-navigate interface, covering frontend and backend technologies. DevDocs
-
Must-have for slacking off! 2024 Efficient Dev Tools for Increasing Productivity
DevDocs, an offline API documentation browser, supports multilingual, offering developers a quick and efficient way to access tech docs. From front-end to back-end and mobile development, it integrates official documentation, providing a sleek, user-friendly interface.
-
Concrete.css
Environmental lighting conditions rule the day! I have astigmatism and I prefer bright backgrounds; #000 text on #fff backgrounds works great for me, but that's because I work in a room lit by a 250W 30,000 lumen corn-cob LED bulb[0] that makes my small office as bright on the inside as the shaded ground from a tree on an overcast day (which is quite bright compared to usual indoor lighting). In a room that bright, high contrast text works great and is highly readable, with "dark mode" often looking washed out and muddy. Even small reductions in contrast (such as what https://devdocs.io does with text of #333 in light mode) can make me notice and wish for greater contrast.
[0] - https://www.benkuhn.net/lux/
- SQL for Data Scientists in 100 Queries
-
DevDocs
Here's how to add a new scraper: https://github.com/freeCodeCamp/devdocs/blob/main/.github/CO...
Or open an issue and wait for somebody else to implement the scraper.
-
19 Handy Websites for Web Developers
Imagine a single, intuitive platform where you can access comprehensive documentation for a vast array of programming languages, frameworks, libraries, and tools. That's the magic of DevDocs. This exceptional resource eliminates the frustration of juggling multiple tabs and websites in your quest for information. DevDocs brings everything together into one easy-to-use interface.
- Q je u potrazi za 30 novih ljudi /s
-
How would you work effectively with an extremely slow 56Kbps connection?
Mosh for a stable connection, Offline documentation such as msdn, wikipedia (via kiwi etc), zeal for local access to https://devdocs.io/; Self host tabby for ai autocompletion. For many shell programs check what mulinux was using back then, and what are the modern replacements such as elinks instead of links. Mutt for mail, for irc doesn't matter much, use a desktop one but setup a bouncher on a vps, I used to have one on a raspberry pi 1, you can use rss reader for reddit (not sure if still works) and blogs
What are some alternatives?
language-ext - C# functional language extensions - a base class library for functional programming
zeal - Offline documentation browser inspired by Dash
jOOQ - jOOQ is the best way to write SQL in Java
godot-docs - Godot Engine official documentation
SharpLab - .NET language playground
github-cheat-sheet - A list of cool features of Git and GitHub.
SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL
alfred-search-in-devdocs - Documentation search in devdocs
runtimelab - This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.
vim-godot - Use vim and godot engine to make games
.NET Runtime - .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
nvim-rs - A rust library for neovim clients