编写程序打印杨辉三角,从键盘输入行数,输出指定行数的杨辉三角形

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 153, 距离下一级还需 47 积分
论坛徽章:0
接触python的时间虽然只有短短的三个月,但是对Python的兴趣是越来越浓,相信如果是你,肯定也会是同样的感觉。零基础学习Python到底难不难呢?作为同样是初学者的我,给大家分享一下我的学习心得和总结,零基础的人,应该如何学习Python。
1、& & & & 第一步,下载一个Python版本,建议初学者使用Python2.X的版本,兼容性更好,可供选择的库更多,更容易上手。
2、& & & & 可以选择一本教程书籍作为参考资料,我当初选用的是《Python核心编程》,个人觉得这本书对Python入门很有帮助。
3、& & & & 下载了Python版本之后,就可以开始学习语法了,首先要掌握python中的关键字语法,函数语法,数学表达式等。
4、& & & & 在大致掌握了Python的常用语法之后,就可以尝试学习常用模块的使用了,比如os,os.path,sys,string模块等,在交互模块使用中,进一步熟悉Python的函数语法。如果在函数的使用中遇到疑难问题,可以参考Python安装后的自带的帮助文件,当然,如果你是报名的Python培训班,也可以向老师求助。
5、& & & & 要想更好得掌握python,我们的学习不能只是停留在学习语法阶段。我们可以尝试用python解决我们项目中遇到的一些问题,如果项目不是用python开发的,那我们可以想想能不能用python制作一些项目组可以使用的一些工具(utility),通过这些工具简化 项目组成员的任务,提高我们的工作效率。
6、& & & & 每天的编码必不可少,既然选择学习编程,学习Python,坚持编码应该是必须做到的。在自己编码的同时,也可以去各大网站阅读别人的编码,这样也能提高自己的编码水平。把自己的编码发表在论坛上,让别人来评阅,也能提高编码水平。
总之,学习Python不是一朝一夕的事,虽然对于没有基础的人会稍微艰难一点,但只要我们坚持学习,还是会有很多收获的。以上就是我这三个月来学习Python的简单总结,未来还有很长的一段路要走,但我会继续坚持的!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
白手起家, 积分 4, 距离下一级还需 196 积分
论坛徽章:0
没人?我来赞一个,鼓励大家加油。
白手起家, 积分 153, 距离下一级还需 47 积分
论坛徽章:0
谢谢啊!回复
zoufeifei_88
腰缠万贯, 积分 8618, 距离下一级还需 1382 积分
论坛徽章:26
我想测试下LZ的Python编码水平。
通过这个简单的测试
总结下LZ对Python的兴趣以及培训的成果。
用来评估报名的Python培训班的价值。
& &不使用 range 函数的前提条件。& & & &
& &实现与 range 函数 相同 功能的一个函数 RANGE。def RANGE...复制代码LZ 愿意展示下& & & & 培训的成果?& & & &
丰衣足食, 积分 774, 距离下一级还需 226 积分
论坛徽章:8
楼主不要去问别人哈自己想
白手起家, 积分 153, 距离下一级还需 47 积分
论坛徽章:0
def RANGE(num1, num2=None, step=1):
& & & & if num2 is None:
& & & & & & & & start = 0
& & & & & & & & end = num1
& & & & elif num2 is not None:
& & & & & & & & start = num1
& & & & & & & & end = num2
& & & & result = []
& & & & num = start
& & & & while num&end:
& & & & & & & & result.append(num)
& & & & & & & & num += step
& & & & return result
大多数情况下实现跟range一样的效果
substr函数
腰缠万贯, 积分 8618, 距离下一级还需 1382 积分
论坛徽章:26
赞一个,有很多收获
我很惊讶:原来还能这么做!
这个题目,LZ的实现代码,大多数成功通过了测试。
一时还无法完成评估,总结。
面对Bug的态度。
解决问题的能力。
参加培训是否有帮助?
LZ愿意继续坚持完善直到FAIL=0?
满心期待LZ的实现代码啊。
谢谢。
TEST = (4,)
range [0, 1, 2, 3]
RANGE [0, 1, 2, 3]
TEST = (2, 5)
range [2, 3, 4]
RANGE [2, 3, 4]
TEST = (-5, 2)
range [-5, -4, -3, -2, -1, 0, 1]
RANGE [-5, -4, -3, -2, -1, 0, 1]
TEST = (5, 2)
range []
RANGE []
TEST = (2, 6, 2)
range [2, 4]
RANGE [2, 4]
TEST = (6, 2, 2)
range []
RANGE []
TEST = (6, 2, -2) & & & &&&# FAIL
range [6, 4]
RANGE []
TEST = (-2, -6, -2) & & & &&&# FAIL
range [-2, -4]
RANGE []
TEST = (2, 6, -2) & & & &&&# FAIL
range []
RANGE [死循环]
复制代码
白手起家, 积分 153, 距离下一级还需 47 积分
论坛徽章:0
怎么又要我做啊回复
substr函数
腰缠万贯, 积分 8618, 距离下一级还需 1382 积分
论坛徽章:26
LZ我本以为
通过测试学员解决问题的能力。可以评估培训班的价值。
期待LZ的实现代码啊。
腰缠万贯, 积分 8618, 距离下一级还需 1382 积分
论坛徽章:26
LZ 说了
对Python的兴趣是越来越浓。学习Python,坚持编码应该是必须做到的。
期待LZ的实现代码啊。对于想从事数据行业的人和数据工作者来说,是学习R还是python,哪个工具更实用一直被大家争论。Martijn Theuwissen,DataCamp的教育专家详细比较了这两个工具。
ython和R是统计学中两种最流行的的编程语言,R的功能性主要是统计学家在开发时考虑的(R具有强大的可视化功能),而Python因为易于理解的语法被大家所接受。
在这篇文章中,我们将重点介绍R和Python以及它们在数据科学和统计上地位之间的差异。
关于R的介绍
Ross Ihaka和Robert Gentleman于1995年在S语言中创造了 开源语言R,目的是专注于提供更好和更人性化的方式做数据分析、统计和图形模型的语言。
起初R主要是在学术和研究使用,但近来企业界发现R也很不错。这使得中的R成为企业中使用的全球发展最快的统计语言之一。
R的主要优势是它有一个庞大的社区,通过邮件列表,用户贡献的文档和一个非常活跃的堆栈溢出组提供支持。还有CRAN镜像,一个用户可以很简单地创造的一个包含R包的知识库。这些包有R里面的函数和数据,各地的镜像都是R网站的备份文件,完全一样,用户可以可以选择离你最近的镜像访问最新的技术和功能,而无需从头开发。
如果你是一个有经验的程序员,你可以不会觉得使用R可以提高效率,但是,你可能会发现学习R经常会遇到瓶颈。幸运的是现在的资源很多。
关于Python的介绍
Python是由Guido van Rossem创建于1991年,并强调效率和代码的可读性。希望深入的数据分析或应用统计技术的程序员是Python的主要用户。
当你越需要在工程环境中工作,你会越喜欢Python。它是一种灵活的语言,在处理一些新东西上表现很好,并且注重可读性和简单性,它的学习曲线是比较低的。
和R类似,Python也有包,pypi是一个Python包的仓库,里面有很多别人写好的Python库。
Python也是一个大社区,但它是一个有点比较分散,因为它是一个通用的语言。然而,Python自称他们在数据科学中更占优势地位:预期的增长,更新颖的科学数据应用的起源在这里。
R和Python:数字的比较
在网上可以经常看到比较R和Python人气的数字,虽然这些数字往往就这两种语言是如何在计算机科学的整体生态系统不断发展,但是很难并列进行比较。主要的原因是,R仅在数据科学的环境中使用,而Python作为一种通用语言,被广泛应用于许多领域,如网络的发展。这往往导致排名结果偏向于Python,而且从业者工资会较低。
R如何使用?
R主要用于当数据分析任务需要独立的计算或分析单个服务器。这是探索性的工作,因为R有很多包和随时可用的测试,可以提供提供必要的工具,快速启动和运行的数量庞大几乎任何类型的数据分析。R甚至可以是一个大数据解决方案的一部分。
当开始使用R的时候,最好首先安装RStudio IDE。之后建议你看看下面的流行包:
odplyr, plyr 和 data.table 可以轻松操作包
ostringr 操作字符串
ozoo做定期和不定期的时间序列工作
oggvis, lattice, and ggplot2 进行数据可视化
ocaret 机器学习
Python如何使用?
如果你的数据分析任务需要使用Web应用程序,或代码的统计数据需要被纳入生产数据库进行集成时你可以使用python,作为一个完全成熟的编程语言,它是实现算法一个伟大的工具。
虽然在过去python包对于数据分析还处于早期阶段,但是这些年已经有了显著改善。使用时需要安装NumPy/ SciPy的(科学计算)和pandas(数据处理),以使Python可用于数据分析。也看看matplotlib,使图形和scikit-learn机器学习。
不同于R,Python有没有明确的非常好的IDE。我们建议你看看Spyder以及IPython网站,看看哪一个最适合你。
R和Python:数据科学行业的表现
如果你看一下最近的民意调查,在数据分析的编程语言方面,R是明显的赢家。
有越来越多的人从研发转向Python。此外,有越来越多的公司使用这两种语言来进行组合。
如果你打算从事数据行业,你用好学会这两种语言。招聘趋势显示这两个技能的需求日益增加,而工资远高于平均水平。
R:优点和缺点
可视化能力强
可视化通常让我们更有效地理解数字本身。R和可视化是绝配。一些必看的可视化软件包是ggplot2,ggvis,googleVis和rCharts。
完善的生态系统
R具有活跃的社区和一个丰富的生态系统。R包在CRAN,Bioconductor的和Github上。您可以通过Rdocumentation搜索所有的R包。
用于数据科学
R由统计学家开发,他们可以通过R代码和包交流想法和概念,你不一定需要有计算机背景。此外企业界也越来越接受R。
R使统计人员的更轻松,但你电脑的运行速度可能很慢。虽然R的体验是缓慢的,但是有多个包来提高的r性能:pqR,renjin,FastR, Riposte 等等。
R不容易深入学习
R学习起来并不容易,特别是如果你要从GUI来进行统计分析。如果你不熟悉它,即使发现包可能会非常耗时。
Python:优点和缺点
IPython Notebook
IPython Notebook使我们更容易使用Python进行数据工作,你可以轻松地与同事共享Notebook,而无需他们安装任何东西。这大大减少了组织代码,输出和注释文件的开销。可以花更多的时间做实际的工作。
Python是一种通用的语言,容易和直观。在学习上会比较容易,它可以加快你写一个程序的速度。此外,Python测试框架是一个内置的,这样可以保证你的代码是可重复使用和可靠的。
一个多用途的语言
Python把不同背景的人集合在一起。作为一种常见的、容易理解,大部分程序员都懂的,可以很容易地和统计学家沟通,你可以使用一个简单的工具就把你每一个工作伙伴都整合起来。
可视化是选择数据分析软件的一个重要的标准。虽然Python有一些不错的可视化库,如Seaborn,Bokeh和Pygal。但相比于R,呈现的结果并不总是那么顺眼。
Python是挑战者
Python对于R来说是一个挑战者,它不提供必不可少的R包。虽然它在追赶,但是还不够。
最终你该学习什么呢:
由你决定!作为一个数据工作者,你需要在工作中选择最适合需要的语言。在学习之前问清楚这些问题可以帮助你:
你想解决什么问题?
什么是学习语言的净成本?
是什么在你的领域中常用的工具?
什么是其他可用工具以及如何做这些涉及到的常用工具?
本文由数据客(微信公众号:idacker)翻译团队翻译,并授权36大数据转载,其他转载须申请原译者授权。
转载请注明来自36大数据(): &
除非特别注明,本站所有文章均不代表本站观点。报道中出现的商标属于其合法持有人。请遵守理性,宽容,换位思考的原则。2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
2011年3月 其他开发语言大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。2016年,有哪些适合你学习的编程语言? - 推酷
2016年,有哪些适合你学习的编程语言?
译者:张天军
本文为极客学院Wiki组织翻译,转载请注明出处。
众所周知,理工类的人才一直是很紧缺并且有不错收入的。而且,从2007年到2012年,美国的在线招聘对软件方面的工作的需求涨了31%,这几乎是平均水平的3倍。美国劳工部的数据预计,软件开发的工作从2012年到2022年要继续涨22%,软件开发者的年收入中位数在2014年5月达到95,510美元。
如果你正考虑学习编程,各种编程语言的介绍可能让你难以招架 — 到底应该学哪门编程语言呢?希望这篇文章能从各种编程语言的收入,流行度,未来的前景方面给你一些启发。
以下是一个有趣的问答,也许能帮助你选择哪种语言是2016年适合你学习的语言。
编程语言一览
在我们对比各种语言之前,首先让我们来看一下包含了哪些语言。
动态语言通常被人们认为更加适合初学者学习,因为它们更加多样化也更加有趣。你可以很快地用相对少的代码构建一个应用程序,在你希望用代码实现某个你想要的功能时,没有太多的强制规则限制。
由于动态语言通常是很高级的语言,你只需要话很少的时间去掌握编程语言的细节,从而让更多的精力集中于学习编程概念上,由于初学者对于能让学习成果立竿见影感到很有动力,这也是动态语言在初学者中很流行的另一个原因。
JavaScript
别和Java搞混淆了,JavaScript是一门主要在客户端运行的脚本语言,用来做前端开发的。Javascript兼容所有的浏览器,一般通过使用比如jQuery的库和一些比如AngularJS,Ember.js,React等的前端框架来创建web应用。
由于Node.js平台的出现,Javascript 现在也可以作为一门服务器端语言了,虽然Node.js相对来说比较新,但该社区正在获得更多的关注。你也可以通过JavaScript的框架(比如:phonegap)来构建混合的移动应用,Facebook的React Native旨在让开发者通过JavaScript开发本地语言的移动应用。
然而,由于JavaScript的 untyped ,导致debug很困难,所以也被认为是一门很难的语言。它也有一些有类型的语言版本,比如:微软的TypeScript,或是React使用的JSX。
为了让开发更加开心和高效地开发而设计的语言,Ruby因Ruby on Rails框架而流行,Ruby on Rails 是一个一站式的 Web 开发框架,为了开发者开发的便利而优化。Ruby代码阅读起来更像是在读英语,Rails的工具使得日常的开发任务更简单(这些工具方便使用,无需繁琐配置)。
Ruby 主要被用来做后端的开发,一些很流行的网站比如 Airbnb,Shopify,Bloomberg,Hulu,Slideshare,和更多的网站开始用Ruby on Rails构建后台。
Python 是另一门被强烈推荐给初学者的编程语言,是美国大学里入门编程语言最流行的。开发者可以用它来编写桌面端和服务器端的应用,它也有用来数据挖掘的很好的工具。另外,Python在科学计算,数据分析,生物信息等学术领域也非常流行。
Google,Dropbox,Pinterest,Instagram,Reddit,BitTorrent,Civilization IV 和更多的公司已经开始用Python构建软件了。
PHP是一门服务器端的脚本语言,由于易于其代码掌握而通常被认为是对初学者友好的语言,PHP入门并不难。大部分网站曾经用过PHP构建,因为很大程度上这就是一门专门为Web开发设计的语言。
Facebook, Wikipedia, Yahoo!, Tumblr, WordPress等更多的网站曾用过PHP构建。
用静态的类型的语言构建的软件通常以更易扩展,更稳定也更加好维护而著称。静态语言通常在通过类型检查而捕获错误方面更严格,需要更多的代码来构建一个原型。游戏引擎,移动应用和企业级的后台一般都是用静态的类型语言构建的。
作为一门通用功能的语言,Java被用来构建Android应用,桌面应用和游戏。Java也通常被用作服务器端的开发语言用来开发企业级的后台-90%的世界500强企业使用Java。
而且,Hadoop 也是一个基于Java的很流行的存储和处理大数据的框架,它也被Yahoo,Facebook,and Amazon这样的企业用于Web服务。
C 通常被用于系统软件的开发,也是操作系统的通用语言。
C语言几乎影响了所有我们介绍的编程语言,尤其是Objective-C和C++。所以如果你很了解C语言,你在学习其他语言时就不会有什么困难。由于使用C完成一个简单任务需要更复杂的代码,初学者也许会发现如果他们如果把C作为入门语言,会很难保持学习的动力。然而C语言的有关知识会使一个程序员受益匪浅。
Objective-C / Swift (for iOS development)
Objective-C 是在C语言上进行了一层封装,使得它变成静态,但同时也能用于动态类型。苹果的Swift是一门设计成与Objective-C兼容的的静态语言,但它的静态类型使得他更不容易出错。
受Python的启发,Swift是想成为编程新手易于掌握的语言,也是按照能修复一些Objective-C的问题的方向设计的。
C++是一门基于C的强大语言。它是设计用来编写系统软件的,但也用来编写游戏或者是游戏引擎,桌面应用,移动应用和web应用。C++非常强大和快速,所以以至于Facebook用它开发了一些高性能的,可靠的组件。
许多软件的部分是用C++来构建的,包括Adobe系统,Amazon,Paypal,Chrome等等。想C一样,C++通常被认为是初学自学比较难的,所以如果你决定把C++作为你学习的第一门百年城语言,最好是通过在一些分享会上找个好的导师,或是找一个C++的编程老师教导一下。
C# 是被设计成在.NET框架在开发的一门语言,主要在微软的Windows上运行。
C# 被用来进行web开发,游戏开发和一些微软通用的开发。尽管微软在过去并不提倡跨平台兼容,Xamarin一直致力于一个名为Mono开源项目,这个项目目的是把C#移植到其他平台上和给Linux开发者提供更好的开发工具。你现在也可以通过Xamarin使用C#为iOS和Android构建本地移动应用。
SQL,也叫结构化查询语言,是一种和数据库交流的查询语言。尽管SQL不能被用来构建应用,但它被用来管理应用中的关系型数据管理系统的数据。
现在你对编程语言有了一点了解,也许还稍微有些难懂。但不是所有的编程语言都有同样的需求和薪水。如果你学习编程的目标是寻找工作机会,你是不会轻易因这中语言难学而被别人劝阻的,以下几点也许能帮你搞清你应该学习那种语言。
来自的招聘广告基于薪水的数据,我们大概能把编程语言分为9个梯度:
基于这些结果,显示出Swift能给你最多的收入,然而Java,Ruby,Python,C++也是不错的选择。另外,如果你考虑的是收入,那似乎JavaScript,C#,SQL和PHP不是理想的选择...不是吗?
平均工资会受到很多因素,比如的需求(工作的招聘有多少),比如供给(有多少开发者了解这门语言)和经验(一个初级开发者比高级开发者挣的少)的影响。所以在我们得出结论之前多考虑这些因素不失为一个好主意。
你有多大可能用你知道的这门语言找到工作?一下是一些提供的工作趋势图。
我们能从此图看到Java,JavaScript和SQL开发者的需求量很高。JavaScript尤其在过去的几年里有着明显的增长,由于它在2010年的增长,如今已经和Java并驾齐驱了。
关于C#开发者的招聘海报相对于其他语言还是很多的,对其他语言的开发者的需求似乎很接近。C++开发者会发现其相关需求有所下降。
但是,如果你的目标是在一家创业公司工作,那么也许来自的有关工作趋势的数据并不能给你一个好的建议。AngelList是一个获得关于工作信息更好的去处,那么让我们来看一下AngelList发布的关于不同编程语言的软件开发者的市场需求吧。
JavaScript再一次地成为需求最大的编程语言,但是相比于Java,C,C++,C#而言,创业公司似乎更加青睐Python和Ruby(on Rails)。
软件开发者的市场供应情况
让我们看一下Codementor提供的开发者所掌握的语言种类的数据吧:
当然,这绝不是对实际市场的准确描述,但这也能给你一个关于市场上具体情况的大概了解。我们可以发现,虽然移动应用开发已经爆炸式增长了一段时间,但精通Objective-C的专家却寥寥无几。由于市场上缺乏好的Objective-C的开发者,他们的薪水也就自然水涨船高了。
另一方面,市场上的PHP开发者似乎有着一个健康的供应数量,这就意味着雇主可以有更多的选择,并且能在薪水方面有讨价还价的余地,但我们也发现它并没有如同Java,SQL或是JavaScript一样的市场需求。因此PHP开发者挣的相对少一些。
JavaScript是一个特例。尽管供给最大,但它并不在收入最低的梯队里,文章后面我们会对JavaScript进一步观察。
现在你已经对每种语言的市场供需有了大概了解,让我们基于招聘广告薪水的有关信息,再来看看你的薪资潜力有多大。这个数据来自于 gooroo.io ,从中我们了解到一种语言的薪水高低是从该语言的单个招聘广告的薪水演化而来。
从这我们能发现那些会Ruby,C++或者Java的开发者似乎有着更高的起薪。Python和Ruby的薪水潜力似乎是最大的,这也就意味着优秀的Ruby/Python开发者更加稀缺,需求量也更大。JavaScript在薪水潜力方面似乎经历了一个大下滑,在2015年4月的时候它高达188,168美元的年薪,但是现在只有大约124,000美元的年薪。然而JavaScript保持了一个特例,我们稍后会加以阐述。
特例:JavaScript框架
仅仅比较把JavaScript开发人员挣的收入同其他编程语言做比较的这种行为其实好比管中窥豹。
如同我们在编程语言一览众提到过的,JavaScript是一个大类。许多框架被开发出来用于网站的前端开发,所以你如果仅仅了解JavaScript和jQuery,你可能就比那些会开发JavaScript框架的开发者挣的少。
让我们看看在美国不同的JavaScript框架的开发者的平均薪水情况吧(React和Backbone是库,而非框架,Nodejs更像是一个开发环境);
平均工资现在看起来并不糟糕。特别是React,有着一个非常漂亮的数据。当然这只是为你提供一个想法,提供的数据可能略微不同,平均至少105,000美元。但你必须会JavaScript才能学习这些技术,这也使得JavaScript成为一种收入不错的技能。
让我们看看有关这些框架的相应的开发者的需求吧:
Node.js是做后端开发的,所以如果仅仅是对前端框架而言,你会发现AngularJS是需求最旺盛的赢家。因此,如果你想做前端开发,你应该学学AngularJS。
另一方面,React是一门相对新的技术,发展势头很猛,早期和AngularJS分庭抗礼。它可能仍在以迅猛的势头发展,有可能以后会需求更广,这是由于React的性能总体比AngularJS要好。
如果你对开发者的世界有一些了解,那么你很可能知道其他开发者对你的帮助是至关重要的,尤其是如果你打算自学编程。
如果你成为开发者社区的一员,这绝对会使你开发的过程更加顺畅。
StackOverflow
StackOverflow 是全世界开发者所使用的最大的能互相取得帮助的开发者社区,所以我们自然会对于一门编程语言的流行度和体量做一个检测,也会关注这门语言的社区能给开发者有多大的帮助。
语言的受欢迎程度
基于StackOverflow上的关注者,我们能断定一门语言的大体受欢迎程度:
我们已经可以从职位需求趋势中了解Java和JavaScript开发者的需求量最高,所以它们的关注者最多也不足为奇。JavaScript是StackOverflow上关注量最多的,已经超过Java。
SQL,Ruby和Swift的关注着最少,很可能是因为Ruby主要是只能用于web开发,而Swift是一门相对新的开发语言。
StackOverflow的问题回答率
StackOverflow有一个不成文的规定,那就是你必须措辞“正确”地提问,否则人们就不会回答你的问题。牢记这条原则,让我们看看每种语言的提问的回答率:
基于以上信息,尽管只有相对少的StackOverflow的用户关注C,SQL和C++,但超过60%的相关问题也得到了答案。那些知情者可能会争论说C和C++是很先进的语言,从而问问题的用户很可能是更有编程经验的,也知道怎样措辞提问。另一方面来说,SQL并不是用来构建应用的一门语言。
值得一提的是那些Python和Ruby的开发者在StackOverflow上得到了很多的支持。初学者一般都不太会正确地提问,如果之前提到的那样,Python和Ruby的是初学者的最佳入门语言。然而,除了这两门语言是相对流行的语言之外,他们大概都有接近30天内60%的问题回答率。(Python的头号问题回答者是Martijn Pieters,他也是一个很好的编程导师。)
另一方面,PHP作为一门被广泛关注的语言,却有着最低的问题回答率。这意味着很多人问有关PHP的问题,但能得到答案的人却不多。
一旦你进入开发者的行当,你将不可避免地发现到:最好是尽可能地在你的项目中使用已经存在的解决方案。你一般从一些开源的项目中或者这些解决方法,GitHub是获取这些开源项目的一种途径。用户可以给他们所喜欢的项目打分,越多的分数意味着这个项目可能越有用。
因此,可以从GitHub存在的数据中我们也可以决定使用不同种类的语言来使得开发相对容易一些。我们也能对一门语言在一些新技术的改革方面的速度有个了解。不用大费周章,这里既有一个相对简单的图表来展示GitHub上的流行项目;
很明显,JavaScript有着最新最亮的工具,即使你不考虑各种文档,学习手册和入门教程。JavaScript还是以极度的快速变化著称的语言,它的框架变化率很高,一些新的技术会使开发者觉得很难跟上JavaScript不断革新的步伐。另外,它也不是直接和像Ruby,Python,Java和PHP一样的后端开发语言直接较量。正是如此,JavaScript会和其他语言有如此大的鸿沟也就不足为奇了。
Ruby和Objective-C在另一方面来说也有很多工具和资源来进行开发。有趣的是,我们在StackOverflow的比较中发现这两种语言都不如Java那么广泛的受欢迎,但是开发者通常发现一些关于他们的开源项目很有用。如果你查看用各种语言写的开源项目的话,这对于Objective-C来说尤为如此。
除此之外,大部分的用C/C++写的开源项目不是仅仅为了C/C++项目本身用的,而是为开发提供了一种通用的工具(例如:适用范围最广的Python解释器是CPython,这就是用C写的)。之前的语言简介里提到的C/C++大部分都用于系统应用的开发,所以那些GitHub上的开源项目是系统工具也就说得通了。另外,你还可以从开源项目中学到很多东西。
最后,PHP尽管是一门应用广泛的语言,但因在学习资源方面的缺乏而给它拖后腿了。至于说C#,微软已经在为它的开源服务而加大力度了,所以在不久的将来,我们很可能会在GitHub上看到C#更多的出现。
每种语言的未来前景
到底一门编程语言在未来将会导致多大的关系呢?首先,一门语言的未来很大程度上取决于它的社区的成长情况,因为新鲜血液的注入率和吸收率是保持这门语言流行并且持续获得资源的关键。因此,让我们来看看人们对那些语言的学习最为关注:
似乎Python, JavaScript, C#和 Swift的受关注度增长最为迅速。基于现阶段我们了解的趋势,我们可以得出以下结论:
JavaScript
毋庸置疑,JavaScript的关注度即将增长,尤其是现在它也可以用来开发后台,甚至能用来构建本地语言的移动应用(通过使用React Native)。JavaScript将持续地获得更多的开发工具,并且以相当快的速度升级着,所以你可以料想到它将在仍然会极度的重要。
创业公司喜爱Ruby on Rails。许多著名的网站比如:Airbnb, Twitch, Hulu等,都用Rails构建网站,这也意味着他们需要Ruby的开发者。另外,既然觉得使用Rails开发很有趣并且它也很容易学会,Rails将会继续在编程新人中很流行。
那就意味着Node.js的崛起必然会对Ruby on Rails的流行度有一个冲击-Node.js已经在GitHub上超越Rails了。当然这也不是Node.js超越Rails绝对的迹象,我们应该注意到前些年Rails也超越了Python的最大的后端开发的web框架:Django,GitHub上Rails比Django的评分更高。
甚而有之,一种新的“同态”应用软件的趋势很可能会影响到Rails的普及,这种趋势提倡改善web应用的性能。同态应用需要在Node.js的平台上运行-这就是要使用同样在前端使用的JavaScript语言。这样只需要通晓一门语言(JavaScript)的要求可能会使一些想学Ruby的新人转而学JavaScript。Google的Go语言也是另一门后端的开发语言,它也正在得到越来越多的关注。
然而,既然Rails能持续获得更新,它仍将保持关注度,尤其是因为他有一个忠实的社区提供海量且有用的开发工具来使得开发变得更容易。因此,抛开受欢迎成都不谈,Ruby也将在未来一段时间内榜上有名。
Python在学院派学者和数据科学家中很流行,如同之前提到的,许多学校向初学者推荐Python。这意味着Python将持续稳定增长并且保持相关度。然而Python的进化速度并不快,也没有JavaScript那样的爆炸性的需求增长,所以它讲持续的稳健自己的地位,尤其是在数据科学家们的高要求之下。
这些年后端开发的趋势已经从PHP转到别的语言上了,但是如今80%的线上网站仍然是用PHP构建的-它毕竟是一门专为web开发设计的语言。
然而,如果你用Google搜索初学者应该学哪门语言,你也许会发现那些开发者一般不推荐你学习PHP。事实上,许多开发者显然很讨厌PHP。
PHP社区正试图用新的关于“怎样正确地使用新的开发工具编写PHP程序的教程”来摆脱它的坏名声,但是总体来说PHP的未来似乎相对停滞不前,至少在2015年的美国是这样。希望PHP7能使它的社区重新焕发活力,即使众所周知这个社区相对分散。
Android 使得Java在流行语言中有了大爆发,大多是企业因Java的稳定和扩展性而对它钟爱有加。
随着Spark(用Scala语言)和Cassandra(支持其他语言)处理大数据的框架的崛起,将很难说Hadoop作为最流行的大数据系统还能统治多久了,但是根据企业出来的数据大小,Hadoop并不会消亡。同样的情况也适合Java,由于Java有一些极佳的后台开发工具并且Java更多的为企业开发着想。
因此,Java在未来几年将继续作为最流行的编程语言而坚挺下去。
Objective-C/Swift
由于苹果发布的Swift和Objective-C仅仅只服务于苹果的产品,我们不能期望Objective-C在未来能坚持多久。然而只要你继续使用苹果的产品,Swift就必然将在来未来流行。
然而,这也不意味着你在2016年就不应该学习Objective-C,由于大部分的iOS的开源项目都仍是用Objective-C编写的。所以总体上来看,使用一些你不了解的东西并不是一个明智的选择,如果你会了Swift,那么学习Objective-C并不是难事,反之亦然。
C相对与其他编程语言来说是一门相对低级的编程语言,但既然它是操作系统的构建语言,它就依然会存在下去,因为许多开发工具仍然是用C写的,Linux也是用C写的。
SQL 几乎是所有的数据库管理员都了解的语言。一段时间里,SQL似乎在例如MongoDB和Redis这种NoSQL服务兴起的时候被遗忘了,随着大数据计算平台如Hadoop,Spark和Cassandra的non-SQL的使用,许多人叫嚣着说SQL语言将要灭亡了。
很明显并不是这样。其实,即使NoSQL仍然需要重新定位自己为“不仅仅是SQL”。
随着大数据的兴起,管理大数据的难度也陡然上升,SQL比以往更加炙手可热了(你已经了解了工作机会的趋势)。Google最近也升级了它的BigQuery服务,使得它每秒每张表能处理高达100,000行的记录,BigQuery用的就是SQL。Spark自从1.3版本后也有了Spark的SQL模块。
总而言之,SQL又活跃起来了,这是因为需要用它来管理而非存储大数据。因此,虽然不是说SQL在哪都会用到,但是说SQL在相当长的一段时间内会榜上有名也不足为过。
C++仍然被认为是在性能和能力范围方面最出色的编程语言(即使是相对与Rust来说),C++很可能在一些对性能要求很高的领域(比如:游戏引擎)仍然流行。一个先今主要的标准(C++14)被认为将在2017年发布,所以它仍是一门在进化的语言。
在未来,Rust也许将会在系统编程的某些领域取代C++,由于Rust旨在相对于C++能够编写出更少缺陷的软件。如果你是一个高级的开发者,现在也许是一个学习Rust的好时机。
由于微软平台的限制和不开源,这没有给C#帮助,但是Mono几乎解决了这些问题(尽管Mono有一些性能问题,最近的更新已经解决了这些问题)。
C#的开发者似乎很喜欢C#这门语言,所以它有着很强的社区支持。更别说C#是Unity 3D的主要开发语言了,Unity 3D是一个相当火爆的游戏引擎,它可以兼容iOShe Linux等系统。Unity3D作为一个独立游戏引擎的崛起使得C#的未来更加光明,Unity3D也能用来开发虚拟现实的应用。由于虚拟现实是很有前景的,所以C#一定会有一个相当好的未来。
值得一提的是,C#在一些比如美国,英国的国家,做企业级开发也很流行。很明显微软将会是C#保持活力并且使它在.NET平台上存活,微软已经大胆地开源了这个项目,使得开发者能更容易地了解和利用这个平台。
到底编程初学者应该学哪门语言呢?很显然,如果你希望做web开发,你就不可避免地要学习JavaScript,无论你是否喜欢它。如果你希望做web的后台开发,你还必须学习一些SQL语言。
进一步说,如果你想从一些网站上爬虫数据或者你对数据科学比较感兴趣,Python可能是一个不错的选择。如果你想为企业开发工作,那么Java是一个好的去处。如果你对构建产品不是那么感兴趣,而对工作机会更加青睐,也许SQL是你不错的开始(尤其是如果你很喜欢数学的话);
总而言之,2016年应该学哪门语言将最终取决于你具体想干什么。
如果你想学习怎样编程,并且能确定你已经掌握了有关学习资料的话。可以关注Udemy的#1编程课程,该课程有一对一的专门老师教导。点击了解更多
来发现更多信息吧!
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 输出以下的杨辉三角形 的文章

 

随机推荐