Re: [问卦] C++到底难学在哪里

楼主: scuendless (scu)   2023-03-05 16:28:54
程式语言主要就是拿来告诉电脑你要他做什么
C++是一个给你很多能力来控制电脑效能或是达到硬件极限的语言
我自己的经验 是在学校的时候只有碰过C++03
离开学校后有三年没有碰C++ 主要都在写Python
那时候只觉得Python真美好 很多东西写起来就像是Pseudo code一样
后来在工作上重新了遇上C++
那时候最深刻的就是第一次读Effective Modern C++
心中充满了脏话 不断的想说太扯了吧到底在说啥 有需要这样吗
读了几次外加工作上实际遇到一些情境之后 才逐渐了解并内化书中的内容
工作了三年之后遇到了第二次的C++使用上的震撼教育
就是开始接触到
- lock-free programming
- template meta programming
- compile time optimization
- generic programming
认真来说到现在这些东西用了几年 感觉还是只知道皮毛
我自己认为C++难的地方在于
1. 他的能力太强大了 但如果你没有真的需要用上C++的情境
你只会觉得这是啥鬼东西 语法怎么可以长这么丑
(我第一次看到C++ lambda 然后对比 Python, 我那时候真得有点排斥)
2. 他真的太博大精深了 因为还是有很多行业都是用C++
他现在还是有很活跃的社群/standard committee 在推进他的进展
新的东西永远学不完 然后新的东西如果没有搭配旧的脉络去了解
有时候你也不清楚 为什么要这样做
大体来上如果你没有情境上的需要 只写些简单的程式
C++的基本语法虽然没有其他语言直觉 但也不会难到哪里去
但当你真的需要写concurrent/low latency的程式的时候
你才会了解到这个语言有多少东西可以学 有多么强大 同时多么让人挫折
但如果你喜欢写程式 你会发现这些东西有多有趣

Links booklink

Contact Us: admin [ a t ] ucptt.com