
背景:小弟最近刚参加实习,在一次和组长的交谈时,组长告诉我一个好的运维应该懂开发。因为某些原因不是运维可以解决的,需要从开发阶段就开始着手设计。。。。。。扒拉扒拉一大堆。
疑惑:小弟当时问组长 java 和 python 怎么选择?(关于为什么是这 2 个语言,我不想多解释什么,也不需要大家给我建议其他的语言建议。)组长告诉我选择 java ,因为 java 相对于 python 门槛能高一点。也对于一个人培养一个良好的编程习惯有好处。。。。。。扒拉扒拉又是一大堆。
目前感想: java 短时间我看不到对我有多少帮助? python 不仅可以写脚本还可以做开发。 期望大家给点建议。
我目前最理想的想法是:先学 java ,等到一个契机入手 pyhton 。
也不知道大半夜有多少人看,我会认真对待每一个答案。
1 Kilerd Jul 29, 2016 一个运维用 java 写维护脚本????? 只想对那个组长说 mdzz |
2 knightdf Jul 29, 2016 运维你还用选?肯定 python ruby 之流啊(shell 是必会的),选个毛的 java 。。。。 MDZZ |
3 clino Jul 29, 2016 via Android 要是实在很闲又不急可以选 java |
4 izoabr Jul 29, 2016 可你问的态度并不是特别好呀,这账号像是马甲啊。 至于 Java 和 Python ,运维用 Python 是很常见的,但你最好要多熟悉一些语言,特别是项目开发用的,你公司用 Java 开发项目,你不懂 Java 怕是运维起来很困难;有时候项目部署遇到问题,你有足够的储备解决问题或者能清楚地向开发描述问题都是很必要的。 还有 Shell 千万别小看,用好了事半功倍,通常不是什么问题都要写程序写 Python Script 的, Shell 下有很多外围帮助解决问题。 或者说把问题调过来,首先是要把服务器系统玩弄好了,那 Shell 和 Python 肯定跑不掉,有些还是 Ruby 的,然后才是服务。接触到服务之后你可能遇到 Nginx 外挂的 LUA 这种东西,然后才是应用对象语言,比如 Java 跑 SSH 。 如果矫情的话, SQL 也算一门语言吧 |
5 shyling Jul 29, 2016 via iPad 运维用 java 太折腾了。 |
6 DarryO Jul 29, 2016 via iPhone 运维一般用脚本语言吧。组长说的编程习惯,是说锻炼 OOP 方面的习惯?不然觉得 Python 也可以啊。话说,组长让选 Java 是不是因为有开发 Hadoop 、 Apache 这类基于 Java 的开源软件的需求啊? |
7 xylsmmmmmmmm3 OP @Kilerd 肯定不会让我用 java 写脚本,只是希望我能培养一个良好的编程习惯,对以后解决运维问题有一个更好的角度去看待。 |
8 xylsmmmmmmmm3 OP @knightdf 对,如果用来写脚本肯定是 Python 首选,但是我是为了培养一种编程习惯。 |
9 xylsmmmmmmmm3 OP @clino 非常值得借鉴,我上面提到了最好的就是先学 java 。 |
10 xylsmmmmmmmm3 OP @izoabr 非常感谢, 你让我有个信息,继续学习 java ,有时候有些东西是短时间看不到效益的。但是确实能让我有更好的提高。 |
11 xylsmmmmmmmm3 OP @shyling 运维用 java 确实折腾,但是我是为了有一个良好的编程习惯,从来帮助开发解决一些问题。也是对我工作的帮助。 |
12 xylsmmmmmmmm3 OP @izoabr 还有,这帐号不是马甲,我玩 v2 一般很少发帖。也很少回复。 |
13 snnn Jul 29, 2016 via Android 想维护 Hadoop 就学 Java 否则好好学 Python 你组长的话没错 BTW ,很多大公司都已经把运维砍掉了。这个职业前景堪忧,干不了 5 年 10 年的。能上岸早点上岸吧 |
14 likai Jul 29, 2016 用 java 是为了有一个好的编程习惯。 这理由怎么看着那么别扭! 好的编程习惯是语言能决定的么 |
15 zhuangzhuang1988 Jul 29, 2016 @likai "用 java 是为了有一个好的编程习惯" ==> 说得没错.. |
16 jhaohai Jul 29, 2016 via iPhone 运维必须脚本工具啊,随时写随时跑,没见过拿 java 运维的 |
17 javenxww Jul 29, 2016 为什么语气如此拽。。。 |
18 Clarencep Jul 29, 2016 人生苦短,还是用 python 吧 |
19 newghost Jul 29, 2016 运维整 java ? 光环境变量就搞死了…… 我觉得 node.js 也不错,秒秒钟整个服务器。 |
20 VeryEase Jul 29, 2016 毫无疑问, python 。 |
21 clino Jul 29, 2016 @xylsmmmmmmmm3 我是说你很有时间想折腾自己的话是可以这样的 反正要是我我肯定不用 java |
22 defunct9 Jul 29, 2016 rails 做运维监控界面, shell 、 python 做后台工作 |
23 mN71eOOprFyMsnPx Jul 29, 2016 两个一起学也没什么难度。用有实际需求的项目或工具来锻炼编码能力。 |
24 lixm Jul 29, 2016 运维为什么不能用 java? 运维并不是仅仅写点脚本 |
25 zhuangzhuang1988 Jul 29, 2016 Groovy. |
26 strwei Jul 29, 2016 via iPhone py |
27 pkking Jul 29, 2016 组长应该是从职业发展上给的建议 毕竟运维需要用 python 更好是人尽皆知的 |
28 fy Jul 29, 2016 神 TM 编程习惯,任意语言都能写出屎一样的程序,包括 Python 也包括 Java 要是编程习惯,你需要的是对应语言的 lint 工具,这能保证你代码风格看得过眼;还需要大量的练习和总结 |
29 sfree2005 Jul 29, 2016 如果你现在能马上把 Python 用于实习的工作,就先学 Python 。 获得的实践经验后,你会慢慢发现要让自己的编程能力(无论对哪一种编程语言)更上一层楼, 要学习各种设计模式,算法,数据结构之类的, 那这个时候就 JAVA 甚至 C 就可以出场了。 这就像在玩拼图, 先拿实际工作中用得到的部分, 然后慢慢的补完整个图片。目标都是一致的,只是感觉你有实践的机会,那么学的速度会更快些。 |
30 ToughGuy Jul 29, 2016 用 php 都不用 java |
31 Infernalzero Jul 29, 2016 运维用 java 没什么问题,只要自己用起来觉得合适就行 我就是那个用 java 搞运维的,毕竟开发也是 java ,懒得再因为运维换个语言了 其实是因为 java 这语言有毒,一旦写习惯了你看其他语言各种不舒服斯基 |
32 zhujin Jul 29, 2016 Python.运维. |
33 hosealee Jul 29, 2016 java 也可以,但是总感觉效率没有 python 高,我就是从 java 入手的,然后再学 python ,目前做 python 开发。 我个人感觉,先学 java 能给你打下一个好的基础,俺们这里的小伙伴直接 python 上手,感觉写出来的代码惨不忍睹,只是先学 java 的话,时间比较长,成本高。 另外,运维的话 shell 必会之,有一些 shell 能解决的就不要用其他的语言了,我们还经常碰到 python 调用 shell 脚本的情况, 仅供参考 |
34 lfzyx Jul 29, 2016 如果要养成良好的编程习惯,那我建议你选择 C ,搭配 python 。这两个都是 linux 自带的,不用像 java 一样需要装环境。 |
35 araraloren Jul 29, 2016 ~~ 不是很明白,良好的编程习惯 和 学 java 之间的关系。。 如果只是运维,就我的理解看 python 足够了,编程习惯是靠自己学习、积累的,很多坑只有踩了才知道。。 |
36 changshu Jul 29, 2016 运维学 go 也比学 java 靠谱啊, 不然每台机器装个 JRE 还是先拿 GCJ 编译一下. |
37 deljuven Jul 29, 2016 python 吧,如果坚定地做运维的话 |
38 shyling Jul 29, 2016 via Android @xylsmmmmmmmm3 我不觉得所谓编程习惯和用 java 有什么关系 |
39 nashge Jul 29, 2016 python |
40 walkman660 Jul 29, 2016 先说说什么具体问题 SHELL 解决不了? |
41 lovedebug Jul 29, 2016 java 写脚本。。还不如 shell 和 js ,推荐 python 和 shell ,有精力 nodejs 也能搞 |
42 repus911 Jul 29, 2016 编程习惯 风格 OO 的思想 设计模式 python 又不是不可以 是不是你们那边开发是 java 的 对于运维学 java 我只能同意一楼 MDZZ |
43 chenkun0128 Jul 29, 2016 运维的话最好还是 shell ,如果非要选的话就 python , 很难想象你在 vi 上调试着 java 代码是一种什么感觉。 |
44 Amayadream Jul 29, 2016 不能想象命令行写 Java 是什么样的体验. |
45 wujunze Jul 29, 2016 用 java 写自动化运维脚本 会很酸爽的 233333 |
46 wmhx Jul 29, 2016 java 这种强类型的强迫症语言,对习惯的约束还是很强的 ; 但运维还是不建议用 . |
47 hooluupog Jul 29, 2016 python 或者 Go 。 Go 做运维,性能,部署,静态链接都有优势。 python 的优势是库多,开发效率快, Go 开发效率也不低。 不推荐 java 。 java 搞运维?? |
48 imcxy Jul 29, 2016 组长告诉我选择 java ,因为 java 相对于 python 门槛能高一点。也对于一个人培养一个良好的编程习惯有好处。。。。。。 ________________ 程序员的英文水平高了,中文理解能力反而会出现下降?一共 47 楼,有 30 楼都在纠结 java 写脚本。 |
49 xylsmmmmmmmm3 OP @snnn 什么叫做上岸? |
50 xylsmmmmmmmm3 OP @likai 音乐 Java 比 python 门槛高。 |
51 xylsmmmmmmmm3 OP @javenxww 不是拽,只是“傻逼”太多。 |
52 xylsmmmmmmmm3 OP @hosealee 非常感谢,看了这么多。从你这醒悟的最多。谢谢。 |
53 odirus Jul 29, 2016 为了工作可以先把 python 学好 但是,很多大型的运维组件系统常常能看见 Java 的身影,如果看得懂别人的某些原理,那你就高大上了。 |
54 hosealee Jul 29, 2016 @xylsmmmmmmmm3 客气了,一点自己的见解,希望能帮到你 |
55 Presageee Jul 29, 2016 via iPhone 都可以学啊 现在就是准备 java/scala l+ shell 做运维(不是专业运维 |
56 fire5 Jul 29, 2016 麻利的去 python ,牛 B 点直接学 golang 吧。编译好一个可执行,直接扔上去跑。 java 还是去做企业级开发吧。 |
57 wizardoz Jul 29, 2016 为什么大家都觉得 Python 简单?难道是我智商余额不足?只有我是觉得 Python 学的深很不容易吗? |
58 loading Jul 29, 2016 via Android shell 最好。 和你部署环境一致的 python 次之。 需要加库的 python 更次。 需要升级服务器自带的 python 更更次。 java …什么鬼。 其实可以考虑 golang 。 |
59 baozijun Jul 29, 2016 @wizardoz 任何一门语言学得深都难啊。 Python 入门确实简单啊,语法直观自然,有其他语言经验入门会超级快,自己写的 PHP 小站的数据采集程序就是花了一天时间 python 入门后照着程序改的,要吐槽的是 python 的多线程略坑,不过用起来确实爽。 |
60 beyond_st Jul 29, 2016 为什么有人会认为 XXX 比其他语言更能养成良好的编程习惯? |
61 chcx Jul 29, 2016 运维,搞毛线 java 啊。。 |
62 rrfeng Jul 29, 2016 所以这不是个运维的问题。 是学开发是选择 java 还是 python 的问题。 |
63 tairan2006 Jul 29, 2016 肯定是 py 啊。。 java 良好的编程习惯是啥?设计模式?读读 clean code 不就完了… |
64 Felldeadbird Jul 29, 2016 哪个语言的运维库丰富就用那个语言的。 或者说,目前公司运维平台技术是基于何种语言开发的,那么就用那个语言。反之看第一点。 而说什么从长远来看,你学什么语言,没想觉悟的话,写出来的代码都是一坨屎。 |
65 SlipStupig Jul 29, 2016 @wizardoz 同意+1 , python 语法本身很简单除了各种特性以外,想再深入 python 学深入就是虚拟机原理,各种实现了..... @xylsmmmmmmmm3 有多大的运维问题是 shell 解决不了的,难道是让运维人员去做软件开发? |
66 SlipStupig Jul 29, 2016 @walkman660 +1 |
67 MushishiXian Jul 29, 2016 自己敲不出好代码还打算怪语言咯?运维用得比较多的是 python 吧 |
68 bobuick Jul 29, 2016 运维你用 java 写脚本? 等你写好, 问题早过去一年了。 |
69 shimanooo Jul 29, 2016 千万 *要* 小看 shell ,稍复杂的东西都要避免用 bash 写。 |
70 notolddriver Jul 29, 2016 听说阿里运维用的 java |
71 cjyang1128 Jul 29, 2016 @notolddriver 这是高级黑吗 |
72 qhxin Jul 29, 2016 用 PHP 写 |
73 williamx Jul 29, 2016 你的组长是希望你能成长为一个懂开发的运维,我想他的“懂开发”不仅仅是会写脚本,而是能融入到整个项目的开发中。你组长对你的期望很高啊!基于这个目的,少年,选 java 没错! |
74 snopy Jul 29, 2016 shell+Perl ,会了再哔哔其他的,否则就是在浪费时间扯淡 |
75 shanks Jul 29, 2016 java 做运维平台开发,并不是做脚本开发。 |
76 hard2reg Jul 29, 2016 Life is short , you need python . |
77 Clarencep Jul 29, 2016 顺便学习下 HTML+CSS 吧,搞个可视化运维系统 |
78 kkzxak47 Jul 29, 2016 via Android Python 吧,自动化运维用得上,现在也比较热,本身作为胶水语言也很有用 |
79 iyaozhen Jul 29, 2016 via Android 我不知道为什么要用 Java 。即使要开发监控平台用 Python 、 PHP 也更合适呀。 做运维的话 shell 、 Python 必须会呀,而且现在 go 更加流行,某些场景下更好用。 还有编程习惯那个理由不敢苟同。 不过若你们是搞大规模日志处理(logstash 、 kafka 、 storm)那些东西,还是 Java 更合适。 |
80 BUPTGuo Jul 29, 2016 果断 Python ,或者上 Go 。 Java 除了对接大数据的那套系统方便一些,其他的绝对没有前两个快捷方便。 语言都是其次,其实永久了就是编程的思路了。前两天去面试,面试官写 CPP 的,考我指针我实在是反映了半天。。。 |
81 billlee Jul 29, 2016 @hosealee 讲到点子上了,别说是没学过编程语言,很多会 C 的人,写出来的 python 代码都惨不忍睹。这些人根本不懂如何写出可维护的代码,只是 C 的限制较多,乱写也还是能看懂,到了自由使用动态类型的 python 上,就写成一坨翔。 |
84 luefei Jul 30, 2016 哎。懂开发的运维 还是有相当优势的,但是为何要选择 java 呢。。 C ++ 也比 java 好啊 |
85 snnn Jul 30, 2016 @xylsmmmmmmmm3 苦海无边,回头是岸。不要做运维,太辛苦 |
86 xylsmmmmmmmm3 OP @wizardoz 不是 python 简单,相对于 java 和 php c 等语言 更容易上手而已。 |
87 xylsmmmmmmmm3 OP @snnn 我现在想弃坑,但是马上大四了,我害怕时间不够啊。 |
88 xylsmmmmmmmm3 OP .@luefei 你说的非常对, c++从效率上谈 c++>java>python ,但是易上手程度的话 python >java>c++ ,因此我决定学 java ,因为 c++相对而言比较难上手。 |
89 xylsmmmmmmmm3 OP @shimanooo 。。。我感觉 shell 和强大。 |
90 xylsmmmmmmmm3 OP @MushishiXian 没有怪语言,只是自己刚开始,希望能从开始培养一个良好的习惯而已。 |
91 shimanooo Jul 30, 2016 @xylsmmmmmmmm3 。。。我感觉我国很强大。 |
92 franklinyu Jul 31, 2016 @billlee 「很多会 C 的人,写出来的 python 代码都惨不忍睹」???些人不能算「 C 的人」,最多算「知道 C 法的人」。就好像懂象棋的人不一定下象棋。(肯定不是 C 被黑得最的一次) |
93 SmiteChow Jul 31, 2016 python |
94 wweir Jul 31, 2016 via iPhone 用 JAVA 多好啊,上去装一个 JVM ,没事还能多装几个版本。再也不愁没理由跟公司多申请几块硬盘、几根内存了 |
95 northisland Jul 31, 2016 人生苦短 |
96 serial Aug 1, 2016 首先,你运维写代码是干什么的? 拼接 Shell 命令, 80% 都是字符串、正则表达式处理。你用 Java 来处理字符串? 运维写的程序速度快有个毛用,一旦程序运行起来,运维的程序就退出了。 |
97 tinytub Aug 1, 2016 其实我想知道楼主为何没毕业就要入运维的坑。。。 |
98 jason19659 Aug 1, 2016 python 吧 java 要学很久很久很久很久的 |
99 xylsmmmmmmmm3 OP @tinytub 其实现在后悔入运维了。但是现在搞开发,时间来不急了。 |
100 tooweakchen Aug 1, 2016 不知道为什么会推荐 java 。果断 python |