学习后端选择Python怎么样
我后端基础为零,怎么学好Node.js呢?有很多朋友说,PHP已经是上个世界的了,真的假的哈?作为初入移动互联网界的小弟级中小弟级,求大神指导。就我所知道的后端,好似还有Python、Ruby、Scala等等。好纠结哈、好纠结,学哪个好呢?话说是不是应该把这个同时也贴到知乎上面去呢?我想我是一定会做这件事情的,同时。 求大牛+大神+码神,以前瞻性的眼光指点迷津一下下。
——我会同时自己不断回答我的问题,因为见证着自己的成长,成为牛掰程序员,改变世界,是梦想!更要是不多年数后的,那真真实实的生活状态。
——新浪微博:@夏力维
找一个 IDE 支持比较好的语言
按我的建议,学什么语言不重要,重要的是你学语言想干什么?比如做网站?开发安卓app,等等。明确一个自己感兴趣的目标之后,在选择语言,以兴趣引导语言,学习才有动力。比如做网站,那可能就是php,nodejs,做个简单的blog,在实践中慢慢了解语言,在学习中慢慢成长。
如果你学会了其中的一个,然后在去了解其它的,可以说,入门会很快,因为里边有很多相同的东西。
梦想无用论者表示,最重要的事情是,马上挑一门语言开始学,多实践,自然会找到接近best practise的路。不要期望一门语言能解决所有问题,尤其是“后端技术”这么宽泛的概念。你现在需要的只是一个能解决手头问题的语言,鉴于你现在是零基础,那么你提到的任何一个语言,必然都能解决你现在的问题。
对于,学过,java,php,python,nodejs 的人来简单说说怎么选择。
java 首先,你一定不要用myeclipse进行java web的学习,这样,会让你永远不明白什么java web里面的jsr 规范。作为一个有志向的程序猿,深入到规范的标准时必须的。其次,就是至少掌握一门包管理工具(maven,ivy,gradle),这样会让你学习开源项目的时候得心应手。
优点:可靠的大型解决方案多,速度快(告诉你一个事实,java作为后端语言的性能在各种评测里面都是名列前茅的,不过对于新手而言的感观的慢这点要改过了确实不容易)。 缺点:概念多,包管理工具不易上手。
php 简单,好用开源成熟的东西多,至于你朋友说php是上一个世纪的东西,我告诉你,现在流行的技术都是上一个世纪的(java,python,javascript)
优点:上手快,学习资料多。 缺点:php5和php6 不兼容,速度慢(这个问题,在你还没有精通php之前,请暂时不要考虑),一般只能用来开发web。
python 优雅,简洁,好看,前后端通杀。由于我只是两年前有个开源项目用到了python,然后,那个项目结束以后也没怎么接触python了,所以,这里的评价可能不太正确。
优点:能用的开源项目多,学习门槛不高。 缺点:py3和py2不支持。对win 不友好,缩进的编程,可能会由于文件编码导致项目崩溃。
nodejs 单线程,事件异步驱动模型,通杀网络层,传输层,还可以进行嵌入式的开发(对于跑v8 的js 而言,性能杠杠的,已经有不少人用nodejs + 树莓派开发出各种好玩的东西)
优点:活跃的国外社区,为人民服务的作者众多,强力的github支持(这里不是说nodejs本身,而是nodejs整个模块的生态,一般模块的作者都会回复你的issue,这点心有体会,没有什么东西比把问题交给别人解决最好的了。。。), 缺点:很多模块并不成熟,中文资料不多,过时。国内社区不活跃,喷子很多(主要喷node的性能比php还差我补充一下,大部分(注意是大部分,不是全部,喷的时候不要瞎喷)的评测都毫秒杀php(http://www.techempower.com/benchmarks/),还有就是js作为编程语言的不成熟,关于这点,你去好好翻一下 es5标准(v8的实现的就是es5标准)再来开喷。),所以,要学node,你的英语起码要有初中生的水平,用于方便阅读英语资料和与老外交流。还有就是,不是很人类的callback 编程风格。不过我很喜欢。。
不要为了学习而学习, 要为了满足需求而学。
先给自己找个小项目, 然后分析一下完成这个项目需要的技术, 找几本书看一下, 然后就动手做, 碰到问题就再回过头去看书。
这样做, 一方面保证有的放矢, 另一方面事实证明, learn by doing 才是最佳的学习方法。
具体到技术, 我推荐 Ruby on Rails. 后端零起步, 最重要的是快速地做出东西以及知道什么是好的代码和坏得代码。
立即上手,然后你就会了
我会在这里记录下我的学习进度,也便于后来者,同时更主要的是让前辈们看到,因为万一我走歪了,还要靠大家把我给扭转回来哩!
1)Node.js
这是我2013年里从朋友们那里听到最多的建议,虽然在GDG Shanghai的活动中,听@青山老妖_黄冠 讲过一堂(类似七周七语言那种的),但是我可是完全不懂哈,好尴尬!不过这个不重要,重要的是等到学会了,一切都会好的。
现在用书是:《Node.js开发指南》
相关介绍地址:http://book.douban.com/subject/10789820/
2)PHP
我能找到的相关书籍最多的一门语言,这里完全是因为有资料供给的优势在,虽然很多朋友说,“其实不要管那个了”,“不要强求那个”。。。至于为什么,我也不是很清楚。
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20198.html
相关文章 Recommend
- • 想转业学python,请问应该如何规划自己的学习计划
- • 模板渲染前端js和后端python哪个更好
- • 学过Java想再学一门新的语言,选择python怎么样?
- • 请大家荐些适合新手练习python开源项目学习学习
- • 在生产环境中thrift Python server如何选择
- • Python能做到前后端数据互通吗?后台读取前端数据
- • 去哪找python初学者学习的好项目,github可以吗
- • 新手学习python从哪个版本开始学习比较好
- • 请有经验的大牛分享下Python中使用Redis作为Sessi
- • python tornado mongo驱动应该如何选择
- • Python做App后端什么框架最适何
- • 与三方网站相关要如何选择合适的Python WSGI服务器
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • django app提供pv信息的方法是什么
- • Django项目版本升级如何操作?
- • django较多数据传递如何优雅的呈现
- • django1.7获取参数问题求助
- • Django1.7使用内置comment遇到问题
- • python mysql数据库做insert操作时报_mysql_ex
- • 关于python mysql的duplicate insert机制的疑问
- • pymongo使用insert函数批量插入被中断要怎么
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
图文精华 RECOMMEND
-
django1.7获取参数问题求助
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问