python内容推荐理由_应该向 Web 开发初学者推荐 PHP、Python 还是 Ruby ?理由是什么?...

看到这个热烈的讨论, 想谈一谈其他的观点, 希望think out of box

我在06年左右开始放弃自己十多年的C++转python, 当时我和周围的C++程序员聊, 大家都是"呵呵", 没有真的用的. 如今我有机会见到当年的老同事, 他们都或多或少是python的用户, 这让我很欣慰.

我想要讲的, 就是这个世界的另外一面. 我们必须承认, C C++ 和 Java的用户远远多于 php python 和 ruby的用户, 这些用户其实完全不在乎社区聚会, 有的完全不了解web开发, 甚至有的连open source都没有听说过, 更别谈hacker精神了.

同理, 我相信, 用这三种语言开发web的用户, 肯定是php最多, 如果是ruby或者python, 我还是觉得ruby用户多一点. 可以不靠谱的说, 用ruby的用户就是rails用户, 但是在python世界中, 情况完全不一样.

我曾经和一个朋友聊天, 我说我是python开发者, 他说他也是. 我问他你用什么框架开发? 他说他从来都不玩web, 他只知道用python开发自动测试脚本...

不可否认java, php, ruby和python是因为web开发水涨船高, 同样的情况发生在objc和iOS的关系上. C和硬件开发, Java和企业级, 造就了那些编程语言的统计排名的区别. 但是真正在广大的现实生活中找一个C++程序员, 你有机会遇到一些学技术只是混口饭吃的人, 当然他们的C++水平大大的高于你的水平, 只是他们完全不存在互联网世界.

在谈谈最后这几种语言, 实际上需要谈的也只有ruby和python这两种

ruby以web流行, 现在开始跳出这个框子, 进入到其他领域, 比如homebrew, watir. 同时我们不得不承认rails已经开始臃肿, 很多人开始转向ruby的其他微框架.

我的观点是, ruby语法很优美, 干活很快. 但是它有没有帮助工程师解决很多本质的问题? 很多人通过rails学会使用jquery. 没错, 通过gem, 但是在这样的快捷方式安装下, 他甚至不知道jquery的js文件放在哪里. 我没有时间去仔细研究rails给出更多的例子, 但是无论从rails的教程, 还是视频, 几分钟做一个博客... 都可以看出他们用"简单"作为营销方式, 让新用户跳进这个坑, 后来才发现坑有点深. 这与微软的开发技术很像, 用visual studio这样豪华的编辑器, 告诉你鼠标点点就能编程, 可惜结果完全不是这样.

这个很值得同行学习, 我在向朋友推荐技术的时候, 也发现了这样的问题, 告诉他们这个简单, 是大多数人学习的动力. 当年Java不也是那么吹的, 结果当mac的架构从powerpc编程intel的时候, 用eclipse的同事就开始骂人了: 不是说一次编译到处执行吗? 骗人的, 都是骗人的!

我不想说太多关于其他语言的坏话, 或许我已经说了, 好吧原谅我讲点您可能不喜欢的事实. python也有很多坑, 安装个mysql-python就有可能遇到很多问题. python社区从前几年的热火朝天, 到现在似乎帖子不多, 是因为已经没有很多问题需要热烈讨论了. 从python2.3 2.4的时候, 大家发现了这么一个简单的(近似)全功能语言, 已经尝试着去了解它, 了解它的标准库, 以及第三方库. 那些知识都在邮件列表里面, 只要搜索就可以获得. 当然我还是看到某些qq群里面有人在问类似的问题, 他们甚至希望可以把自己的工作完全交给群里的其他用户解决, 其他的我就不说了.

我认为python的好处有两点, 第一是对于那些不具有geek精神的人, 它是一个简单的解决方案. 这些人从来不混社区, 从来不钻研, 只需要解决问题的时候找到一段代码块, 读也不读, 贴上去测试, 完事... 这个世界上有很多这样的人, 菲律宾这样的程序员特别多.

第二, 就是对于非常geek的人, 比如想instergam, Dropbox这样的团队, 不仅仅是geek, 而且要求做事情有美感, 追求pythonic的人, python这种能忽悠菜鸟的玩意, 居然也可以被一流团队在工业级别的生产环境使用, 这太没天理了.

观点表达完毕

python的社区还是有很多事情要做的, 比如他们把很多web框架都抄了一遍, 各种思想的都有, 比如最早的zope, z-object系统的思想还是很有看头的, django可以说对应rails, 还有TG和Pylons, 还有tornado这样神奇的东西ruby社区还没有吧, 只能对应nodejs了. 但是你们发现了没有, python的这些framework基本上没有screen cast, 我晕你们到底在不在营销你们的framework? tornado的文档居然那么简单, 居然给你link让你直接去读代码?!

还有一些其他领域的东西, 比如和R语言对抗的pandas, 做统计的. 还有cocos2d, 最早是用python实现的原型, 后来port到iOS火了半边天, 不过他们的文档也是比较烂, 有没有screen cast也不好说, 应该很容易被包装过的产品打败吧.

但是, 我认为python最重要的, 还是在与背后的pythonic思想, zen of python. 我相信如果一个成熟的工程师, 能搞定大部分事情是第一步, 理解事物背后的规律并且能用优美的方式解决才是常态, 之后就会按照pythonic的方法, 优雅的搞定所有的工作. pythonic是hacker精神的延续.

同时有经验的工程师也不会陷入某种狂热或者崇拜之中, 你说一个东西好, 那么我也要看一看才能相信你所说的. 那些在java, php里面投入很多的工程师, 也或多或少的达到了pythonic的境界.

最后我也很能理解tornado文档的那种感觉, MVC都不懂的初学者你就别来了, 去学个django或者rails入门吧, 我没多少文档给你, 不懂去读代码吧.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值