跳到主要内容

2 篇博文 含有标签「C/C++」

查看所有标签

C++ GUI 选型记

· 阅读需 5 分钟
悠哉法师

若干年前,我入门了 C++,写了一个控制台贪吃蛇,觉得自己逐渐理解一切……

“我想创建 GUI!” 于是漫长的选型过程开始了。

概念​

还是有必要阐释一下这几个概念:

  • GUI:图形用户界面,其实是很宽泛的概念,图形化的程序界面都算。
  • UI:用户界面,我觉得更强调 “和用户交互”,比如一个按钮、一个输入框等。
  • 绘图库:只提供绘制(或者图形渲染服务),你可以用它画一个三角形、矩形,可以显示图片,但是做 UI 有点难。
  • UI 库:提供 UI 功能,一方面是不需要自己画按钮,另一方面是提供事件处理等服务。

EasyX​

我第一个用的是 EasyX,当时用它写了蛮多程序的。

写 C# 有感

· 阅读需 1 分钟
悠哉法师

最近用 C# 写了10 几 KB 的代码,越来越觉得C#远远大于 C++。

语言特性​

首先语言特性上就领先 C++ 很多。比如众所周知 C++ 的异常处理基本上是废的,但C#的异常机制可以很好地运作。还有反射机制、各种语法糖(C#应该是出了名的很多语法糖)。另外C#有更严格的静态流检查,可以帮助排除很多玄学问题。体验非常舒适。

编辑器​

还有不得不提 VS 的 IntelliCode ,向 C# 严重倾斜。C++里 IntelliCode 的作用几乎为零,但是 C# 里 IntelliCode 约等于半个自动驾驶了。只需要按Tab接受自动补全就好了。虽然没有 Copilot 那么智能,但我觉得恰到好处。还有很赞的自动起名功能。 IntelliCode 真的大幅节省了编码时间,提高了生产力。

配套设施​

还有配套的丰富的 .NET SDK ,比 C++ 的标准库强太多了。很多轮子即拆即用,非常方便。尤其在文件操作、网络操作、序列化这些,非常方便。而且.NET各组件涵盖前后端,所以用 C# 做全栈开发简直是丝滑无比。相比之下C++的标准库,还有什么WindowsAPI,就显得很笨拙。