l********1 发帖数: 72 | 1 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美
国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们
提到的java的东西说的一无是处。
可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳
也力不从心。
现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是
否有道理,或者看看如何来辩驳。非常感谢。
Hey folks,
Point by point, I guess,
The only thing the tiobe shootout shows is that there are more search result
s for Java than there are for other languages. This is mostly about prolifer
ation of usage as the language of choice in the late 90s and early 2000s tha
n anything else. Java is most definitely not a current-generation language.
Python is used in production for heavy servers in any number of places. The
biggest one that comes to mind is reddit.com, which served 2 billion page vi
ews in December. This is a fairly dynamic app, not just static pages, and it
's probably safe to say they receive much more traffic than you will. Python
is holding up admirably in a hostile production environment, it's not just
a toy scripting language. As far as teaching, both MIT's and Berkeley's intr
o to computer science courses are taught in python.
I will admit that Java's virtual machine is very fast, faster even than C++
on bare metal in some cases. That has no reflection on the language or the e
cosystem surrounding it. The Java language is fairly 'bad' by modern standar
ds with regards to good practices. One of the primary benefits of java is th
e huge mass of available libraries. This benefit is largely neutralized when
you realize that the vast majority of these libraries are no longer being a
ctively maintained. That said, if you want to take advantage of the jvm's sp
eed or the any of the java libraries, you can always write python and execut
e it in Jython and get the best of both worlds.
I'm not sure it's even worth addressing these next few, except to say that l
anguage choice is definitely context-dependent. Both are general purpose lan
guages capable of handling most tasks fairly well. Professionally, I would s
ay that python has a lot more going for it in the typical web application, a
nd you would be hard-pressed to find a silicon valley company who would cons
ider java as their first choice. Additionally, "enterprise" has become somet
hing of a bad word in the valley. It's seen as something of a crutch for med
iocre programmers who need best practices dictated to them.
Comments on the table provided:
IDEs are less of a necessity these days in writing good software, but you ca
n always get one if you need one. The modern breed of text editors are essen
tially light-weight IDEs: SublimeText is exceptional. For a more traditional
IDE, you can get Wing. And despite being the most popular, Eclipse is also
considered one of the worst by virtue of being large and slow.
Python has superior debugging tools. Not only do you get the traditional ste
pping of a la gdb, you also have powerful command line interactions and runt
ime introspection. The python logger is also excellent and integrates with u
nix's syslog.
Deployment of python applications is much easier than java. Virtualenv and p
ip have essentially eliminated the tedious process of normalizing a machine
for deployment. Java has maven, but it's difficult to manage and requires si
gnificant extra infrastructure to execute correctly. Hosting a tomcat enviro
nment and wiring it up to apache correctly is tedious at best.
Hibernate is garbage. Period, the end. Even the oldest version of SQLAlchemy
is a better ORM and database management library than Hibernate.
MVC is no longer the prevailing paradigm in webapp design. The distinction b
etween V and C in a webapp has never made much sense going by the traditiona
l definition. Modern frameworks adopt a more pragmatic M-V design which is l
ighter weight. That said, the statement about python is simply wrong. Python
frameworks implemented MVC long before Java frameworks caught on.
Not only does python have PyDoc, which is the equivalent of JavaDoc, it is b
etter executed, and python projects are among the best-documented overall. T
his includes both the python core and third-party projects: http://readthedo
cs.org/. Most python projects of note have documentation hosted here. | g*****g 发帖数: 34805 | 2 Well, java is not current generation language, but Python is even
older than java. Both java and python are capable language, and
current skillset in the team is the most important criteria to
choose a language.
After that, I'll look at the project requirement.
Python will be faster for prototype, but it's dynamic language advantage
quickly goes down once you need quality and complexity. On the other hand,
Python will never match the performance and scalability on java side, that's
why it remains the top pick for large scale enterprise apps. ebay has over
1 billion transactions a day. That's definitely more than any known python
site.
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| b***i 发帖数: 3043 | 3 实验室能做出什么高级网站出来,python当然够了。用java当然也不错,如果熟练。关
键是原来是python写的吗?
如果是创业公司,讨论一番倒是有意义。不过,这两样倒是都远好于.net
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| B*****g 发帖数: 34098 | 4 去.net贴你会被骂死的,嘿嘿
个美
我们
反驳
的是
【在 b***i 的大作中提到】 : 实验室能做出什么高级网站出来,python当然够了。用java当然也不错,如果熟练。关 : 键是原来是python写的吗? : 如果是创业公司,讨论一番倒是有意义。不过,这两样倒是都远好于.net : : result
| w**z 发帖数: 8232 | 5 It's you want fast development, try php | p*********t 发帖数: 2690 | 6 什么样的网站啊,多大的数据库啊?是鸡,就用菜刀。是牛,就用宰牛刀。
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| l********1 发帖数: 72 | 7 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美
国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们
提到的java的东西说的一无是处。
可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳
也力不从心。
现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是
否有道理,或者看看如何来辩驳。非常感谢。
Hey folks,
Point by point, I guess,
The only thing the tiobe shootout shows is that there are more search result
s for Java than there are for other languages. This is mostly about prolifer
ation of usage as the language of choice in the late 90s and early 2000s tha
n anything else. Java is most definitely not a current-generation language.
Python is used in production for heavy servers in any number of places. The
biggest one that comes to mind is reddit.com, which served 2 billion page vi
ews in December. This is a fairly dynamic app, not just static pages, and it
's probably safe to say they receive much more traffic than you will. Python
is holding up admirably in a hostile production environment, it's not just
a toy scripting language. As far as teaching, both MIT's and Berkeley's intr
o to computer science courses are taught in python.
I will admit that Java's virtual machine is very fast, faster even than C++
on bare metal in some cases. That has no reflection on the language or the e
cosystem surrounding it. The Java language is fairly 'bad' by modern standar
ds with regards to good practices. One of the primary benefits of java is th
e huge mass of available libraries. This benefit is largely neutralized when
you realize that the vast majority of these libraries are no longer being a
ctively maintained. That said, if you want to take advantage of the jvm's sp
eed or the any of the java libraries, you can always write python and execut
e it in Jython and get the best of both worlds.
I'm not sure it's even worth addressing these next few, except to say that l
anguage choice is definitely context-dependent. Both are general purpose lan
guages capable of handling most tasks fairly well. Professionally, I would s
ay that python has a lot more going for it in the typical web application, a
nd you would be hard-pressed to find a silicon valley company who would cons
ider java as their first choice. Additionally, "enterprise" has become somet
hing of a bad word in the valley. It's seen as something of a crutch for med
iocre programmers who need best practices dictated to them.
Comments on the table provided:
IDEs are less of a necessity these days in writing good software, but you ca
n always get one if you need one. The modern breed of text editors are essen
tially light-weight IDEs: SublimeText is exceptional. For a more traditional
IDE, you can get Wing. And despite being the most popular, Eclipse is also
considered one of the worst by virtue of being large and slow.
Python has superior debugging tools. Not only do you get the traditional ste
pping of a la gdb, you also have powerful command line interactions and runt
ime introspection. The python logger is also excellent and integrates with u
nix's syslog.
Deployment of python applications is much easier than java. Virtualenv and p
ip have essentially eliminated the tedious process of normalizing a machine
for deployment. Java has maven, but it's difficult to manage and requires si
gnificant extra infrastructure to execute correctly. Hosting a tomcat enviro
nment and wiring it up to apache correctly is tedious at best.
Hibernate is garbage. Period, the end. Even the oldest version of SQLAlchemy
is a better ORM and database management library than Hibernate.
MVC is no longer the prevailing paradigm in webapp design. The distinction b
etween V and C in a webapp has never made much sense going by the traditiona
l definition. Modern frameworks adopt a more pragmatic M-V design which is l
ighter weight. That said, the statement about python is simply wrong. Python
frameworks implemented MVC long before Java frameworks caught on.
Not only does python have PyDoc, which is the equivalent of JavaDoc, it is b
etter executed, and python projects are among the best-documented overall. T
his includes both the python core and third-party projects: http://readthedo
cs.org/. Most python projects of note have documentation hosted here. | g*****g 发帖数: 34805 | 8 Well, java is not current generation language, but Python is even
older than java. Both java and python are capable language, and
current skillset in the team is the most important criteria to
choose a language.
After that, I'll look at the project requirement.
Python will be faster for prototype, but it's dynamic language advantage
quickly goes down once you need quality and complexity. On the other hand,
Python will never match the performance and scalability on java side, that's
why it remains the top pick for large scale enterprise apps. ebay has over
1 billion transactions a day. That's definitely more than any known python
site.
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| b***i 发帖数: 3043 | 9 实验室能做出什么高级网站出来,python当然够了。用java当然也不错,如果熟练。关
键是原来是python写的吗?
如果是创业公司,讨论一番倒是有意义。不过,这两样倒是都远好于.net
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| B*****g 发帖数: 34098 | 10 去.net贴你会被骂死的,嘿嘿
个美
我们
反驳
的是
【在 b***i 的大作中提到】 : 实验室能做出什么高级网站出来,python当然够了。用java当然也不错,如果熟练。关 : 键是原来是python写的吗? : 如果是创业公司,讨论一番倒是有意义。不过,这两样倒是都远好于.net : : result
| | | w**z 发帖数: 8232 | 11 It's you want fast development, try php | p*********t 发帖数: 2690 | 12 什么样的网站啊,多大的数据库啊?是鸡,就用菜刀。是牛,就用宰牛刀。
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| J*******n 发帖数: 2901 | 13 原来ebay是用的java啊,这下有牛逼例子了 | b******y 发帖数: 9224 | 14
I think they used to be a microsoft shop, but migrated their codebase to
java later.
【在 J*******n 的大作中提到】 : 原来ebay是用的java啊,这下有牛逼例子了
| k***r 发帖数: 103 | 15 Using reddit.com as an example is pretty bad. It may have high traffic, but
the business logic is not much harder than 'Hello World!'.
result
【在 l********1 的大作中提到】 : 实验室最近有个Java和Python之争,几个中国人想使用Java重写一个网站,但是一个美 : 国人不愿意,他只懂Python,而且他搬了救兵,据说是硅谷的高手,发的邮件里把我们 : 提到的java的东西说的一无是处。 : 可能他说的也有道理,但是任何东西都可以说出优势和劣势。而我们的表达不行,反驳 : 也力不从心。 : 现把那个硅谷高手的邮件贴出来,纯属技术探讨。请大家出谋划策,或者看看他说的是 : 否有道理,或者看看如何来辩驳。非常感谢。 : Hey folks, : Point by point, I guess, : The only thing the tiobe shootout shows is that there are more search result
| g*****g 发帖数: 34805 | 16 No, they started with Perl, changed to C++ in no time, and settled on
Java after they got scalability issues.
http://highscalability.com/ebay-history-and-architecture
【在 b******y 的大作中提到】 : : I think they used to be a microsoft shop, but migrated their codebase to : java later.
| P********l 发帖数: 452 | 17 Use jython.
★ Sent from iPhone App: iReader Mitbbs Lite 7.51 |
|