cpp 有什么简洁的方案可以时间 http 请求吗?

2021-08-19 13:44:14 +08:00
 woshichuanqilz

网上找了不少例子在 VisualStudio2019 里面都不能用 系统是 windows

9372 次点击
所在节点    C++
115 条回复
aloxaf
2021-08-20 11:49:13 +08:00
就我的体验而言,不少程序员都容易陷入「知识的诅咒」。

前段时间有个好友安利了他的朋友来学 Python,然后那位朋友天天跑来请教他一些很简单的问题,于是他天天在群里吐槽这位朋友写的代码鬼画符一样,连一些基本的概念都理解不了。我当时就批评他这是陷入了「知识的诅咒」——你已经学编程这么多年了,当然不觉得这些基本概念有什么难以理解的地方,但他只是一位刚学编程的初学者,不理解再正常不过了,不必苛责。

具体到 LZ 这个问题上也是一样——「我」能轻松从零解决这个问题,只能说明这个问题对「我」来说没有难度,但认为其他人也应该和你一样认为这个问题没有难度,那就有点自傲了。

其实想想也不只是程序员,很多父母也是一样,总期望孩子的理解能力和自己一样,最后把自己气到脑溢血(

最后来个解决「 Python 发 http 请求」的步骤,看看什么才叫低门槛:

1. Google 搜索 "python http request"
2. 点进第一个结果,也就是 requests 库的主页,马上就看到了大大的示例
> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
3. 往下一翻,User Guide 直接在章节标题里告诉了你怎么安装
> python -m pip install requests
4. 没了(
Jwyt
2021-08-20 11:49:39 +08:00
@nannanziyu 挺简单的,只能说对于半路出家非科班自学转程序员的人来说,相对于其他语言会有点门槛。我也不认为已经是其他语言的开发了,用个 c++做 http 请求会有困难
nannanziyu
2021-08-20 11:49:57 +08:00
@OneMan
> 有人人真是钻进去了出不来,恼火
而且这有什么恼火的
必须是“我不会,不是我自己蠢,而是语言太难”弥补你脆弱的自尊心,才能顺心?
nannanziyu
2021-08-20 11:50:41 +08:00
@aloxaf
请看 #37 #38
nannanziyu
2021-08-20 11:53:14 +08:00
@Jwyt
> 挺简单的

是吧,对于你一个非 c++ 程序员,看了视频,也觉得挺简单的吧
事情就是这么个事情,我认为“c++发简单 http 请求不难”
不知道为什么那几位能把这么简单的事情杠出上百楼来
至于门槛,还是那句话,可以把 c++当 c 写,门槛 0 ;也可以写自己都看不懂的模板,门槛珠穆朗玛
但是“发简单 http 请求”真的不难
ztcaoll222
2021-08-20 11:56:33 +08:00
不知道有生之年能不能等到 c++ 拥有一个像 maven 、npm 这样通用的包管理工具,这样就不会有人来吐槽 c++ 门槛高了😂之前写 qt 的时候都是直接源码引入的
leopod1995
2021-08-20 11:58:30 +08:00
学到了新的理论 知识的诅咒 --还附带了活灵活现的例子

v2 还真是学习知识的好地方
nannanziyu
2021-08-20 12:00:34 +08:00
@ztcaoll222
其实 vcpkg 已经很好用了,可以尝试一下
lakechan96
2021-08-20 12:00:41 +08:00
大家都是农民工,相煎何太急.jpg
回答问题归回答,大可不必这么狂...

如何让代码跑起来这个事情 nannanziyu 已经回答的很详细了就不赘述了

对于楼主“找了一堆例子跑不起来”的疑问,我觉得 c++的生态比起后起之秀,确实没有那么容易理解,毕竟有大量的细节和“约定俗成”直接暴露在程序员的眼前。
这对于习惯了从编码到运行,有着隐藏了大量细节的工具链的语言,可以只关注业务逻辑的程序员来说确实一下子难以接受。
比如楼上提到的这个 conan 包管理器,我之前曾跟着官方文档的第一个 md5 例子,step-by-step 的做,都跑不起来...
而微软光是包管理器就出了 vcpkg 和 nuget

简而言之,在我的视点来看,C++的编译环境和工具链在不同机器上的可复现性是很差的,需要慢慢啃,楼主有这样的疑惑也很正常=。=
ifconfig
2021-08-20 13:01:48 +08:00
两小儿笑曰 孰为汝多知乎
Hconk
2021-08-20 13:02:34 +08:00
我觉得 lz 要解决的不是 cpp 怎么发 http 请求的问题,而是《如何解决学习中遇到的问题》这个问题,nannanziyu 不光给出了怎么解决问题,还给出了他解决这个问题的流程。1. Google 2. 看官方文档,这两条比怎么发 http 请求对 lz 更有帮助。
另外前面一些人说的 C++门槛与其他语言相比肯定是有的,lz 的问题就是 c++一直存在的包管理问题。经常写 C++就能知道 conan,vcpkg 这些也只能解决一部分问题。帮别人解决 C++问题,有些是 baidu 搜出来的垃圾文章误导,有些对英文文档有恐惧不看文档。这些和 C++语言本身的门槛并没多大关系。
Maboroshii
2021-08-20 13:32:44 +08:00
门槛是挺高的,不过还是前面说的对,是人配不上 C++
OneMan
2021-08-20 16:19:03 +08:00
@nannanziyu 我是说你技术钻进去出不来了,这么小的一个问题都值得你絮絮叨叨这么久
Aspector
2021-08-20 19:32:37 +08:00
@aloxaf > The curse of knowledge is a cognitive bias that occurs when an individual, who is communicating with other individuals, assumes they have the background knowledge to understand.

我很喜欢 C++,只能说爷新和遗老都要不得。Stroustrup 在 CppCon 上专门讲过怎么教 C++,怎么让 C++ 更 accessible,怎么照顾新手,我们需要 module,我们需要更好的 package/build system……总不能说 Stroustrup 是个懒鬼吧?
stirlingx
2021-08-23 18:06:20 +08:00
对新手来说 c++难点主要是工程管理,编译工具,还轮不到功能层面。比如 makefile 、cmake 、qmake 等,还有各种环境变量的配置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/796751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX