Python与Java

2011-08-26 19:49:38 +08:00
 Mr_Vangogh
我的专业并不是软件开发或者其他跟编程有关的。但是我对编程非常感兴趣。最近我想在Python和Java中选择一门语言好好学习学习,不知道各位前辈有没有什么建议?我在网上检索了一些,但是感觉挺晕的。

PS:特别喜欢V2EX这个网站!从界面到内容都喜欢!
14565 次点击
所在节点    问与答
48 条回复
Mr_Vangogh
2011-08-27 02:26:02 +08:00
@kongruxi 我是不是可以理解为,java做web比较乏力?
Hyperion
2011-08-27 03:05:31 +08:00
@kongruxi #14楼的注释看来还是太短了,或者说还不够直白,容易产生歧义。

我不喜欢java的风格,臃肿,对我来说还可以再加上恶心这个定语。以为目前所知道的来说,java除了变态的解释方法和代码容易组织管理(这点完全是靠概念上的难度做到的吧?)这两个特点,还有神马优势可以"炫耀"吗?

你说的那两个框架都是用来构建web应用的,难道还有别的用途吗?

我不会在回复这个帖子了,希望可以把不安定的苗子掐死在摇篮里。我在这种话题上的表达nc了,过激了。
27493586
2011-08-27 07:55:01 +08:00
光学语言有什么用,首先明确自己的目的,再找合适的工具。不同工具应用的场合不同。

如果真就只想“学编程语言”,推荐Python。

1. 语法更优美,好学。https://github.com/livid/v2ex/blob/master/main.py
2. 文档清晰易懂。Java的我没看过,比Ruby/Rails的文档写得好很多。http://docs.python.org/
3. 不编译,直接运行。python main.py
Mr_Vangogh
2011-08-27 09:53:58 +08:00
@Hyperion 谢谢你的回复。我想我基本已经决定啦。我想我还是要先学好java,因为我觉得java对于我来说比较容易上手,并且资料更多一些。我连什么是框架都不是特别了解呢,需要补充很多基础知识。等我学好了再回头来看这个帖子:)

PS:这氛围真好,比其他论坛好太多啦!
Mr_Vangogh
2011-08-27 09:54:58 +08:00
@27493586 还要学什么才有用啊?要有什么用啊?我就是纯兴趣玩玩,当然我也想玩出点名堂来:)

不过你说的那三点感觉都不是问题啊。
kongruxi
2011-08-27 10:01:58 +08:00
@Hyperion 我自己本身也是学了Java和Ruby的,不过我也会建议别人去学Ruby,而不是Java

"你说的那两个框架都是用来构建web应用的,难道还有别的用途吗?"

我觉得应该这么说,那两个框架是希望用web的形式去构建企业产品,因为我觉得它们的思维是从企业开发的角度出发的,但偏偏互联网的一大特点是simple,像rails那样才适合用来互联网开发
realfex
2011-08-27 10:08:59 +08:00
14楼连同PHP也一起喷了。。亚历山大。。
wellhome
2011-08-27 10:44:50 +08:00
大家都在喷java, 我想问一下,
是否有python的电子商务网站成功案例吗?
或者哪个银行的internet 应用是用java做的?
纯web应用方面java肯定太重量了。让人无爱。。
python还没深入,正准备看看。
mywaiting
2011-08-27 10:53:01 +08:00
敢情这基本算是V2ex上关于语言之争又一无聊贴了。

讨论语言的好坏基本是无法讨论下去的,因为每种语言都有自己的优缺点,很难说清那种语言更优秀。多数时候,我比较这样愿意认为,无谓将时间浪费在讨论Python或者Java好用与否的问题上,如果你愿意用,你就去用;愿意去做就去做,无谓争论这种所谓“程序员”的语言偏好。。。

记得有段话,王建硕的微博:对同一个东西,有人说,太重了,有人说,太轻了。他们其实不是在描述这件东西的重量,而是在描述他们自己的力气。同样道理,我们不必过于在意微博上对自己观点的评论。大家看似赞扬或者批评别人,其实仅仅是在描述他们自己。Via 王建硕

我想这段话还是比较中肯地点中了程序员们的神经的。用Python的时候,用多了Tornado框架会觉得Django很重量,但我的老大却能把Django玩到出神入化,所以多数时候,自己的问题多于语言的问题。

鉴于大家一致在“喷”Java,虽然我主要工作在Python中,但我觉得自己还算知道写几句Java的Hello world,为Java说几句好话很有必要。在大型Web程序开发中,Java肯定有其优势,这种优势不是那种几百行代码的网站能够体会的。

曾经有段时间偶十分鄙视C++的东西,但当我在工作中自觉要用到V8的代码的时候,仔细收拾了一下C++,敢情自己过去对C++的认识基本是错误的。

还想起自己曾经对OOP的设计模式颇为了解,后来在Haskell中发现面向函数编程的时候根本就没有这种OOP的设计模式(但有FP自己的一套方法)。

翻看回复,还发现有人在喷PHP,PHP这么简单的语言,我觉得喷不喷其实就是你喜好的问题吧。爱用不用吧。

多数时候是程序员自己的认识问题,我坚持这样认为。各种程序员除了喜欢对语言有各种攻击外,还有一个性能比较的偏好,正所谓“性能就是程序员的G点”,看到各种Web性能的比较报告,看来大家都麻木了吧,来个秒杀的 http://www.yi-programmer.com/blog/2011-05-05_warp-a-haskell-web-server.html 来刺激大家的G点。希望大家慢慢喷吧。

所以,无谓把讨论浪费在对各种语言的“喷”上,有时间就参加点开源项目,贡献一点点力量,我们即使无名,却在尽自己的力量改变着这个世界。

呵呵。
bhuztez
2011-08-27 11:21:23 +08:00
@mywaiting 是不是可以这么说,脱离具体应用场景,讨论语言好坏无意义
kongruxi
2011-08-27 11:31:47 +08:00
@mywaiting 说得真好
Weakdancer
2011-08-27 12:01:06 +08:00
> 但是我对编程非常感兴趣

@bhuztez
> 是不是可以这么说,脱离具体应用场景,讨论语言好坏无意义

我认为这个就是典型的“应用场景”

> 我有一定的C++基础,java比C++简单多了啊

这个也是

@Mr_Vangogh 推荐楼主看下《python简明教程》

http://woodpecker.org.cn/abyteofpython_cn/chinese/

一百多页的样子,一天就可以看完,那时候再和java或者其他的语言做比较。

而且我感觉这两种语言本身就不冲突,用java工作的人,业余时间很多都会用python完成一些自己喜欢的事情的。
chloerei
2011-08-27 12:18:48 +08:00
银行应用都是一坨屎

毫无兼容性可言,安全性全依赖硬件,拿来做企业应用代表那是减分的
fly2never
2011-08-27 12:20:04 +08:00
java语言本来是一门很丑陋的语言,但是因为类库/历史原因.许多企业级的东西你不得不用java去做,用ruby/python要么根本不能做,要么需要花费大量时间在系统间耦合对接上.
我个人觉得因为兴趣学java的人应该不多,更多的人不是选择了java,而是java的工作选择了他
fly2never
2011-08-27 12:20:41 +08:00
@chloerei 还是那句话,工作让你选择java,而不是兴趣.
chloerei
2011-08-27 12:25:25 +08:00
兴趣让我选择Ruby,然后找了Ruby的工作,每天活在乐趣中
CMGS
2011-08-27 12:40:13 +08:00
老生常谈。。语言只是工具…
到了汇编那一层,其实大家都差不多,你理解原理,一通百通。
java做企业级有优势是因为太多现有的东西可以直接拿来用了,
当然你说python不行?不见得…问题是得有人去做轮子,pylons算不算?

要说赚钱养活自己,工具不会决定你能不能赚到钱,而是你自己本身的能力和雇主的需求匹配不匹配。
我就是写python养活自己,同样的雇主说,有个项目我们要用java做,我也做过…
学编程不是说学着哪门语言就天下无敌,那只是你武器罢了,真正行走江湖还是得靠内力…
simy
2011-08-27 13:04:15 +08:00
@mywaiting 非常赞同,喜欢什么就用什么,不喜欢就赶紧换,总有一个语言适合自己
simy
2011-08-27 13:05:29 +08:00
@CMGS 内力是传说中的数据结构,算法么?
AntiGameZ
2011-08-27 13:09:19 +08:00
楼主,你自己挖的坑,看来是填不上了,推荐你去看看我给的这篇文章,看完以后,或许能有所帮助。

地址:http://blog.stackoverflow.com/2011/08/gorilla-vs-shark/

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

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

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

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

© 2021 V2EX