V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  hez2010  ›  全部回复第 6 页 / 共 25 页
回复总数  497
1 ... 2  3  4  5  6  7  8  9  10  11 ... 25  
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@oldshensheep 其他大多数语言都是源码分发库,你得先把源代码拉到本地来构建才能运行。而 C# 有自己的 ABI 所以不需要源码分发,只需要引用库编译后的二进制产物就能构建应用了,不含有源码信息。
至于 metadata 的问题,那个是因为 .net 的基础库有引用程序集的概念,引用程序集只提供了 API 的声明,不包含实现,而实际的实现在其他地方。正如上面所说的,因为有自己的 ABI ,所以不需要源码,只要能成功链接符号到你引用的程序集上就能成功编译,所以编译时编译器并不一定知道你引用的库的代码,而可能只知道有哪些 API ,到了调试时毕竟要执行实际代码了自然就能跳转进去。
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@oldshensheep 在 C# 插件设置里开启反编译,然后就能直接看了。C# 的 debugger 除了微软的还有三星的,后者是开源的: https://github.com/Samsung/netcoredbg
本质上都是调用 .net runtime 提供的 debug api ,都是开源的,调试器只不过是套个壳子罢了。
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
不过,虽然反驳了不少出现了实事错误的评论,但我对于 c# 蚕食 Python 生态这件事情本身也是存疑的。感觉更多的还是 Python 做完 prototype 建完模之后落地应用的时候换成 c# 来实现到最终 app 里,毕竟基本不会有人拿 Python 开发 GUI 。
188 天前
回复了 E0421 创建的主题 程序员 今日份笑话,用 IF 分支区分项目
你要是接触过大型 c++ 项目的话就不会对这个感到奇怪了。大量的 #ifdef 来控制特性开关,打开 .cpp 文件满眼都是 #ifdef #ifndef ,没有 ide 的高亮的话你甚至都不知道你目前的构建配置下到底哪部分代码是被启用的,哪部分没被启用。
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@lambdaq 说几个你可能不知道的事情。
1. c# 有 vim 插件可以直接在 vim 上提供完整的编辑器体验: https://github.com/OmniSharp/Omnisharp-vim
2. ipynb 也有 .net 支持,所以你可以直接开一个 jupyter 然后在上面跑 c# 代码: https://github.com/dotnet/interactive
3. 至于 python 那样的 repl ,c# 一样完全没问题,甚至相比 python 的 repl 还多了补全和高亮: https://github.com/waf/CSharpRepl
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@hez2010 简而言之
开源免费的: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp
额外加了 ai 补全之类的功能但是只对个人免费的补充部分: https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit
你可以选择只用上面那个
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@lambdaq vs community 确实是给个人/小团队/开源作者准备的,但你可以用 vscode 或者 rider 。即是是写 python 也不见得一定得用 pycharm 吧。
更何况 c# 的 vscode language server 也是开源免费的: https://github.com/dotnet/vscode-csharp (注意里面有个单独的 c# dev kit 是有额外 license 的,但 dev kit 也就是额外提供了类似 copilot 的 ai 补全罢了,你可以选择不装 dev kit 只装 c# 插件,这样就没有 license 问题了)
188 天前
回复了 QiShine 创建的主题 Python 感觉 C# 在蚕食 Python 的生态
@duke807 @june4 c# 都跨平台这么多年了,现在的 .net 的 sdk 都是以 Linux 为主,Windows 则是额外的扩展来设计的。
如果你真的了解过就会知道现在的 .net 和以前的 .net framework 的源头都不同,现在的你说是兼容以前大部分生态的新框架都不为过 (甚至不少 Windows only 的东西都不兼容了)。
刻板印象能在你认知里持续这么多你也是挺厉害的。
189 天前
回复了 wimming275 创建的主题 程序员 M1 有办法调用 x86 的 dll 和 whl 接口吗
其实就记住一条就行了:任何需要和第三方硬件打交道的开发场景,一律选择 Windows 。
突然看不到光标不清楚,没有遇到过这个问题。但是鼠标延迟有点大这个问题可能是你电脑附近电磁干扰太多了。
191 天前
回复了 NorthA 创建的主题 程序员 请问学习 C#需要学习哪些东西。
语言层面:初期跟着官方文档就行了,其他东西后面遇到了现场查文档。
游戏:Unity 、godot 引擎都在用 C#,教程一大堆。
后端:跟着 asp.net core 的官方文档就行了(注意是 asp.net core ,不是 asp.net ),还挺全的。学后端的话 asp.net core 文档中跟 razor 、blazor 有关的内容都跟你没有关系可以直接跳过。
桌面端:跨平台的话推荐看看 Avalonia ,而 Avalonia 是从 WPF 继承下来的,所以你先学 WPF 的话可以比较无痛地转到 Avalonia 上,因为 WPF 文档要比 Avalonia 全的多,顺带学了 WPF 的话后面上手 MAUI 之类的东西也是轻而易举。不跨平台的话那就 WinUI 3 之类的。

另外就是英语得好,毕竟 C# 的主要社区不在国内,文档上也是英文的更准确。

至于前面有个劝退让你学 golang/c++/java 的,只能说你学会了 C# 的话 Java 上手就会,golang 更是看一眼就能开始写代码,只不过这个时候你会因为胃口变叼了写 Java/golang 的时候会觉得很不舒服,要么太繁杂要么太原始。
至于 C++ 的话,无论你学什么其他语言都推荐单独学一下 C++ 的。
191 天前
回复了 rwecho 创建的主题 程序员 暂停用 Maui 原生开发了, 改成 Blazor 了
MAUI 现在离成熟还太早了,跨平台 GUI 框架哪个不是发展了三、五年之后才开始逐渐变得可用的了,早期都是 bug 一大堆。flutter 、qt 、avalonia 放到 flutter 1.x 、qt 3.x 、avalonia 0.8 的那个时代照样也是非常灾难,到处都是修不完问题,现在 MAUI 大概就处于发展的这个阶段。
只能说如果微软真能持续做下去,不中间把 MAUI 砍了的话,随着时间肯定会越来越好用甚至成为跨平台 GUI 的首选框架之一也不是没有可能,但就是看能不能坚持下去了。
@murmur 你首先排除的 C# 第一时间接受了龙芯的 LA64 移植合并进入了主线,而你说的 spring cloud alibaba 所谓国产的光缺因为某些懂得都懂的原因至今都没能将 LA64 的移植成功合并入 openjdk 上游。
196 天前
回复了 hysys32 创建的主题 程序员 rider 真的比 visual studio 好用吗?
性能上的话还得是 VS 。
比如 Roslyn 项目的 sln 里面接近 300 多个项目,rider 打开直接 CPU 100% 内存爆炸然后各种卡死,VS 则可以正常打开使用。
我在一个没有墙而且是上下对等 1000mbps 的网络环境下,加载文档花了 14 秒。
不过页面倒是一下子出来了,只是文档内容等半天。
198 天前
回复了 vituralfuture 创建的主题 Windows 吐槽一下 windows 的终端的一个天坑
你可以在系统设置的开发者模式下把默认终端从 cmd 改成 Windows terminal ,这样就会用上新的 conhost 没有这种问题了。
顺带一提,阿里云的服务器里内置的安全软件(无论 Linux 还是 Windows Server )有时候也是出现莫名其妙问题的原因之一
你可以挂一个 dotnet-trace 在后台跑着,等出问题了用 PerfView 看 trace 文件,说不定能抓到一些线索。
有的,Windows Push Notification Services ,简称 WNS 。
之前做过这个开发,还是很简单的,Windows App Developer Portal 上面注册你的 app 拿到 SID ,然后你自己写一个 WinRT BackgroundTask Component 加到 app 的 manifest 里面就完事了。
1 ... 2  3  4  5  6  7  8  9  10  11 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1134 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 22:53 · PVG 06:53 · LAX 15:53 · JFK 18:53
Developed with CodeLauncher
♥ Do have faith in what you're doing.