1
Septembers 2015-05-10 08:36:06 +08:00 1
如果领域倾向是自动化运维的话Bash + Python是必须的
但是C++还是需要了解 因为Linux大部分程序是C++写的 极端情况下可能要能分析崩溃栈反馈给上游开发者 |
2
MrLiao OP @Septembers 谢谢回答,了解是需要多了解?只要懂语法规则还是会使用c++开发一些小东西?
|
3
msg7086 2015-05-10 09:13:45 +08:00 1
自动化运维不是Ruby么……Puppet Chef
不过Python也有Ansible…… C++是Unix的基石,而Linux是他亲戚,自然对C++依赖很大。 如果你基本不会C++,那在Linux下简直寸步难行。 |
6
whatisnew 2015-05-10 09:24:19 +08:00
LINUX 社区很不待见 c++ 楼主珍重
|
7
stiekel 2015-05-10 09:25:23 +08:00
大一在教C++,那应该是计算机专业的吧?
奉劝一句,不管你毕业以后准备做什么,编程这基本功不好好学,你会发现你这四年基本也干不了什么。 离毕业还有那么久,何必这么早就把自己限定在一个较窄的领域之内呢? |
8
KexyBiscuit 2015-05-10 09:30:51 +08:00 via Android
学好 C 吧('・ω・')都入 Linux 坑了,会点编程没什么不好的
|
9
learnshare 2015-05-10 09:34:31 +08:00
运维先上 Shell/Python,C/C++ 第二吧
|
10
miaomiaomiaoa 2015-05-10 09:46:16 +08:00
"
C++,金坷垃,如果后来用Java,一袋可顶3袋撒。。。。。 小日本,真狡猾,不要让他学C++.... " ---Dr. BiliBili From 上帝压狗 |
11
mozartgho 2015-05-10 09:54:08 +08:00
c/python/shell 就很好
|
15
nicai000 2015-05-10 10:05:51 +08:00
不用
|
16
msg7086 2015-05-10 10:08:58 +08:00
@MrLiao 我觉得你可以把C++的一些标准库学一下,例如那些模板库容器之类的。
毕竟写C代码的时候,有容器帮忙会轻松很多。 |
17
oxyflour 2015-05-10 10:59:27 +08:00 1
因为可能用不上就不学?作为年轻人,这种想法是很不可取的呢(个人看法
|
18
palxex 2015-05-10 11:19:45 +08:00 1
@oxyflour 同意你这个看法,虽然对大学拿C++入门这个简直……
对LZ这么说吧,这就是你的编程入门课,如果你确定自己已经入门,这门课你怎么过去都行——但是你最好确定自己此时的决定不会成为以后抱怨的借口。如果不能确定以上所有两部分,这门课还是好好学吧。 关于喜欢与否。如果不喜欢C++的原因是听了某些神仙言论(比如linus的,或者其他工业界大神的),我可以替你们老师担保你们课程里用到的代码只是用C++表述的一般程序逻辑,几乎不会涉及C++的任何奇技淫巧,也不大可能就此把你的思路绑定在C++战车上。 |
19
niboy 2015-05-10 11:50:16 +08:00
这是基本功,建议好好学!!
|
20
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点的路上努力中 |
21
canautumn 2015-05-10 12:05:12 +08:00
搞Linux不用学C。现代C++已经和C语言脱离的很远了,不过虽然国内还是那套从C教起的错误的方法。
|
23
bugeye 2015-05-10 12:08:59 +08:00
我觉得楼主语文得好好学学。“正在教”的主语是“大一狗”弄得我以为楼主在教别人C++。
大一学的C++也就是C++的语法而已(估计是带类的C),就算学会了,也不等于会了C++。linux运维会脚本语言比会编译语言要重要得多吧。 |
24
clino 2015-05-10 12:16:11 +08:00
"Linux大部分程序是C++写的" ?
Linus 是这么说的: " *YOU* are full of bullshit. C++ is a horrible language. " |
25
jyootai 2015-05-10 12:27:51 +08:00
Linux 作者Linus 说:
*YOU* are full of bullshit. C++ is a horrible language http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918 |
26
Neveroldmilk 2015-05-10 12:35:50 +08:00
Linux高手喜欢C,C++是两头不讨好。
|
27
Andiry 2015-05-10 12:50:23 +08:00
Linux只是kernel层用C写而已,应用层大把程序还是用C++写的。你确定你要做底层?
|
29
MrLiao OP @wind3110991 刚开学的时候,也是想要学习的,也找过经典的书来读,后面觉得没趣,就放弃了,现在看来,还是学一点好
|
32
VirgilMing 2015-05-10 13:29:21 +08:00 via iPhone
Learn the hard way.
不要纠结于学什么,C++ 和 C 都该学。 大一正是疯狂学习的好时候。只要不耽误谈恋爱就好。 |
33
jy01264313 2015-05-10 13:57:53 +08:00
我觉得学习 C 是必要的,但是 C 艹 还是算了
|
34
xuwenmang 2015-05-10 14:06:00 +08:00
既然正在教,为什么索性不花点功夫?
|
35
FrankFang128 2015-05-10 14:52:01 +08:00
即使难道不是汇编或者机器码么。呵呵
|
36
FrankFang128 2015-05-10 14:52:15 +08:00
基石难道不是……
|
37
wind3110991 2015-05-10 14:58:05 +08:00 via iPhone
@MrLiao 不要受那些对某些语言有傲慢偏见的程序员的影响,能学好并契合某一门语言,更多是在于个人的性格与风格,能够多接触一些语言是极其好的,你可以对比自己更喜欢哪种编程风格。总比那些整天争论php和c++如何如何,自己连程序都没写过几行的人好。
|
38
eightqueen 2015-05-10 14:59:15 +08:00
已经有很多人给出了优秀的答案,我想发散一下.
你现在才大一,以后肯定会遇到更多你不喜欢\暂时也没啥用的课程. 我的建议是在本科阶段,老老实实做个书呆子挺好的.因为你懂的实在太少了.像C++这种被全世界的大学认可的课程,别跟它过不去. 如果你有其他兴趣,那就课下研究.犯不着放弃C++,有趣的课程和必修课不冲突. |
39
MrLiao OP @wind3110991 谢谢,明白了,课会认真上,好好学习了
|
40
MrLiao OP @eightqueen 说的很有道理,受教了,谢谢你这么中肯的回答
|
41
Cbdy 2015-05-10 16:29:18 +08:00
C++很难,我用了几年很多问题还搞不清楚。。。。
|
44
Andiry 2015-05-10 17:58:31 +08:00 via Android
@est chrome, Firefox, Thunderbird, OpenOffice, MySQL, MongoDB, VLC
|
45
lidashuang 2015-05-10 18:08:35 +08:00
感觉学c++和学linux没啥关系,用win也可以职
|
46
lingxi27 2015-05-10 18:09:26 +08:00
c++是个大坑,入坑需慎重,你才大一,试一试也没关系
|
47
wizardoz 2015-05-10 18:28:34 +08:00
Linux讨厌C++。
Linux下一半以上应用程序是纯C写的,Linux内核也是纯C写的。 不会C++也不会在Linux寸步难行的。 |
48
wizardoz 2015-05-10 18:31:15 +08:00
桌面比较大的有两坨,一坨是用C++写的,一坨是用纯C写的。
|
51
hooluupog 2015-05-10 18:56:39 +08:00
不是必须的。学好shell倒是用处很大,需要的时候会帮大忙。
|
52
p1n3 2015-05-10 19:53:57 +08:00 via iPhone
学吧,学了又不会怀孕!!
|
53
est 2015-05-10 20:15:58 +08:00
@Andiry 我就说嘛。。桌面用C++的多一点。db系的确C++用得也多,但是除了db引擎,游戏引擎,桌面程序,很多方面还是C为主。
|
54
fluyy 2015-05-10 20:37:48 +08:00
有时间就学学吧。万一哪天你用到了呢。再说用不到,C++里面的一些东西在其他地方也可以借鉴嘛
|
57
pagict 2015-05-10 20:58:55 +08:00
小跑个题
我倒是觉得不是要不要学cpp的问题 楼主才大一,大可不必把自己的未来就限定在运维方面 我认为趁着年轻,什么都要学都要去接触。虽说不一定要去深入 但是应该做到能知道这门知识 的大概轮廓。这样才能确保自己有足够的见识和机会去找到自己真正喜欢和合适的方面。 |
59
F32 2015-05-10 21:54:16 +08:00
C++(这里特指面向对象的 C++ 编程模式)要能正确使用相当难,新手在一年内能正确使用几乎是不可能的(但是要写个用到了 C++ 类的程序不难)。关于这个方向有本不错的书:Bob 大叔的《敏捷软件开发:原则、模式和实践》,在基本语法概念学习完成之后可以去看看。
|
60
jedihy 2015-05-10 23:11:38 +08:00
C/C++当然要学啊,不会C能说自己是搞it的吗?C通了,其他语言就是玩具而已。
|
61
jedihy 2015-05-10 23:14:33 +08:00
C++一定要好好学,C++代表的不是一个语言,实际上还是一种面向对象的思想。
|
62
Narcissu5 2015-05-10 23:20:14 +08:00
没错linux是c写的,windows也是c写的,但你得想清楚:你将来是要写OS么?linus用得爽的东西到你手上可能就完全是另外一回事了。c的开发效率有多低写过的人都知道,这是个讲快速迭代的时代,嵌入式之外留给纯c的空间还剩多少?
|
63
omi4399 2015-05-10 23:49:57 +08:00
语言只是工具,悟出的是思想
只要楼主注意别被个别坑货老师带沟里就行(例如用着C++讲MVC的那种)。 |
64
qiuyi116 2015-05-11 00:14:19 +08:00
Linux/UNIX 不是C 的天下吗。。。当然也用到了不少C++
|
65
RelativeLayout 2015-05-11 00:18:25 +08:00
大一应该见啥学啥,因为你肯定学不深,即便学不深,请先学广,最后挑个自己喜欢的往深里研究,研究的时候你会发现,阿,原来以前那些狗屁玩意儿都有用,你也会感慨,阿,以前翘的那门课原来好有用...
|
66
noli 2015-05-11 00:30:57 +08:00
GCC 现在准备用C++ 改写了,自己想吧。
|
67
charlie21 2015-05-11 01:51:22 +08:00
难道只有我看出 lz 的需求是学 OOP 或 设计模式 ?
|
68
j16ZgMV9cs6ZB23n 2015-05-11 01:54:22 +08:00
如果是为了了解偏底层的知识,精通C就够了。想想Linux内核吧,这个几乎没有可能用C++重写。
还有其他的C代码如Glibc、Python源代码、Redis 源码、Nginx 源码,都是纯C写的,这些阅读是不用精通C++,所以不必提这么高的门槛。 |
69
j16ZgMV9cs6ZB23n 2015-05-11 01:55:35 +08:00
哦,如果是Ruby,Ruby (官方那套)解释器也是C写的。
|
71
MrLiao OP @jedihy
@RelativeLayout @noli @omi4399 @qiuyi116 会认真学习了,不翘课,即使在没兴趣,也会听,培养兴趣,大一疯狂学习的时候,没必要一条路走死,会去涉猎更多知识的!谢谢大家 |
73
yuankui 2015-05-11 09:24:23 +08:00
高技术的如果你努力排斥某方面的技术,你是做不好了..
|
75
likuku 2015-05-11 11:52:54 +08:00
@yuankui 「高技术的如果你努力排斥某方面的技术,你是做不好了..」人的精力是很有限的资源,一定要有选择,优先选择自己最喜欢最有热情的方向。假若「不排斥」代表啥都要搞,那么就有浪费生命和时间的嫌疑了。
|
76
pezy 2015-05-11 12:04:05 +08:00
个人建议,如果现阶段对 C++ 无感,那就仅仅把它当成一门必修课学习(搞清楚基本概念,能读懂代码,知道些名词背后的含义),就可以了。没兴趣千万不要硬逼,最后把自己搞崩溃,反而影响精力。
现在对什么感兴趣,就赶紧折腾什么。多数人的激情是比较短暂的,趁着有激情,学想弄的东西(如你说的 Linux ,运维相关)。但注意,其他的基础课不能全扔,还是上面的话,基础要搞扎实,概念要搞清楚,这是底线。以后觉得兴趣来了,或是非得用到了,回头不至于是一张白纸。 |
78
bellchu 2015-05-11 14:10:43 +08:00
我小时候念书的时候C++是必修课,数据结构也是讲C++版的,难道现在是选修课了吗?
|
79
yuankui 2015-05-11 15:17:41 +08:00
|
80
MrLiao OP @bellchu 不是选修,还是必修,大一上学的c,下就学c++,同样都是专业必修课,只是我个人对这个不感兴趣
|
81
skywinger 2015-05-11 17:49:16 +08:00
学linux,肯定要会c,然后学习linux的系统调用、进程间通信,网络编程,linux驱动编写,然后就没然后了。根本不用学c++,况且linux下c++执行效率也不大高。
|
82
earnrepuNey 2015-05-11 18:36:42 +08:00
会 C/C++ 和 Python + 其他计算机基础知识(计算机系统、算法、编译等),将来从事什么方向都无往不利。
|
83
MrLiao OP @skywinger c我学的还不错。大家都说c++多少学点,我也觉得,多了解一些知识也是不错的
|
84
MrLiao OP @earnrepuNey 真的吗?感觉好绝对。。。。
|
85
Sunbread 2015-05-11 19:13:52 +08:00
在应用项目中我帮不了你。但是如果你想用C++去写linux内核?林纳斯会喷死你(以他的性格)。
|
87
earnrepuNey 2015-05-12 08:54:58 +08:00
@MrLiao 将来不管做什么,我说的都能为你打好基础
|
88
MrLiao OP @earnrepuNey 嗯!谢谢拉!
|
89
bingx86 2015-05-15 12:15:39 +08:00
运维的话,感觉 C++并不是必须得,到是 Shell + Python 会师利器。当然,工具一定要用好,puppet, salt, ansible 等自动化及配置管理,zabbix,nagios 等监控工具
|
91
vjnjc 2015-05-18 21:45:48 +08:00
1. linux很多工具是c写的,但仅仅是使用它的话不必改源码,也就不必学。
2. 对于大一学c++,话说你不学的话以后的课还怎么上啊,数据结构,编译原理,算法。。。我感觉计算机的课都是默认为你会c++的 |
92
yksoft1 2015-05-27 08:54:05 +08:00
@miaomiaomiaoa 然后小日本发明了Ruby
|