学 Linux 要学 C++吗

2015-05-10 08:31:31 +08:00
 MrLiao
大一狗,正在教C++,对它很不感兴趣,完全不想学,我自己想学习linux,学运维,问问需不需要学C++?
9241 次点击
所在节点    Linux
92 条回复
Septembers
2015-05-10 08:36:06 +08:00
如果领域倾向是自动化运维的话Bash + Python是必须的

但是C++还是需要了解 因为Linux大部分程序是C++写的
极端情况下可能要能分析崩溃栈反馈给上游开发者
MrLiao
2015-05-10 08:49:44 +08:00
@Septembers 谢谢回答,了解是需要多了解?只要懂语法规则还是会使用c++开发一些小东西?
msg7086
2015-05-10 09:13:45 +08:00
自动化运维不是Ruby么……Puppet Chef
不过Python也有Ansible……

C++是Unix的基石,而Linux是他亲戚,自然对C++依赖很大。
如果你基本不会C++,那在Linux下简直寸步难行。
zwzmzd
2015-05-10 09:17:10 +08:00
@msg7086 基石是C啊
msg7086
2015-05-10 09:19:40 +08:00
@zwzmzd 抱歉我脑残了。应该是C……
whatisnew
2015-05-10 09:24:19 +08:00
LINUX 社区很不待见 c++ 楼主珍重
stiekel
2015-05-10 09:25:23 +08:00
大一在教C++,那应该是计算机专业的吧?
奉劝一句,不管你毕业以后准备做什么,编程这基本功不好好学,你会发现你这四年基本也干不了什么。

离毕业还有那么久,何必这么早就把自己限定在一个较窄的领域之内呢?
KexyBiscuit
2015-05-10 09:30:51 +08:00
学好 C 吧('・ω・')都入 Linux 坑了,会点编程没什么不好的
learnshare
2015-05-10 09:34:31 +08:00
运维先上 Shell/Python,C/C++ 第二吧
miaomiaomiaoa
2015-05-10 09:46:16 +08:00
"
C++,金坷垃,如果后来用Java,一袋可顶3袋撒。。。。。
小日本,真狡猾,不要让他学C++....
"
---Dr. BiliBili From 上帝压狗
mozartgho
2015-05-10 09:54:08 +08:00
c/python/shell 就很好
MrLiao
2015-05-10 10:01:14 +08:00
@msg7086 c我会,学的还不错,c++让我很头痛
MrLiao
2015-05-10 10:02:34 +08:00
@stiekel 软件工程专业,编程蛮喜欢的,不然也不会报这专业,但是对c++毫无兴趣。。。
MrLiao
2015-05-10 10:03:12 +08:00
@mozartgho 这么说c++可以不用学吗
nicai000
2015-05-10 10:05:51 +08:00
不用
msg7086
2015-05-10 10:08:58 +08:00
@MrLiao 我觉得你可以把C++的一些标准库学一下,例如那些模板库容器之类的。
毕竟写C代码的时候,有容器帮忙会轻松很多。
oxyflour
2015-05-10 10:59:27 +08:00
因为可能用不上就不学?作为年轻人,这种想法是很不可取的呢(个人看法
palxex
2015-05-10 11:19:45 +08:00
@oxyflour 同意你这个看法,虽然对大学拿C++入门这个简直……
对LZ这么说吧,这就是你的编程入门课,如果你确定自己已经入门,这门课你怎么过去都行——但是你最好确定自己此时的决定不会成为以后抱怨的借口。如果不能确定以上所有两部分,这门课还是好好学吧。
关于喜欢与否。如果不喜欢C++的原因是听了某些神仙言论(比如linus的,或者其他工业界大神的),我可以替你们老师担保你们课程里用到的代码只是用C++表述的一般程序逻辑,几乎不会涉及C++的任何奇技淫巧,也不大可能就此把你的思路绑定在C++战车上。
niboy
2015-05-10 11:50:16 +08:00
这是基本功,建议好好学!!
wind3110991
2015-05-10 11:51:48 +08:00
c++ ,引用《effective c++》书里Meyers大神的一句话来看,
c++大致可以分为四个子模块:
1.Template c++
2. STL
3. c
4. 面向对象的c++

而一般大学教材都是从第4点入门学习的,其他几点不论哪一方面我觉得要精通或是熟练都是需要十分漫长的练习和深入。
unix和Linux基于c语言,Linux基于Unix,部分与底层硬件交互的地方用汇编直接编写,没有用到c++,Linux之父Linus说过“c++是糟糕程序员的语言”,其实我觉得大多数人曲解了他的含义。
他大概是想说:时至今日,c++已经深深造福软件行业,但是它的发展方向逐渐细化,使得学习它的程序员容易太浅层次理解c++,写出了许多“糟糕的代码”,显然这是一门入门容易,但是写好很难的语言。

PS:做Linux底层开发的话,学好c要好一些(不知道是不是大多数做linux环境开发的都受Linus影响不太待见c++)。
做基于Linux的开发(例如服务器),学好c++和网络编程。
做运维,学脚本shell编程,python之类
建议楼主买一本读读,刚开始读时我简直不敢相信我居然学过c++.......我目前正在第1,3点的路上努力中

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

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

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

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

© 2021 V2EX