精华内容
下载资源
问答
  • 从Android开发谈谈编程语言看法

    千次阅读 2016-04-17 23:01:12
    引言学生时代学习编程总喜欢讨论哪种编程语言最好,各抒己见,有时候争得面红耳赤,常见的语言都有它忠实的粉丝,包括汇编,语言之争一旦开始就再未停止过。。。 尤记得自己当时力挺c++,认为它是极好的语言,在性能...

    引言

    学生时代学习编程总喜欢讨论哪种编程语言最好,各抒己见,有时候争得面红耳赤,常见的语言都有它忠实的粉丝,语言之争一旦开始就再未停止过。。。
    

    尤记得自己当时力挺c++,认为它是极好的语言,在性能与对象模型做了一个平衡。中国历来推崇中庸之道,所以c++的优点可以被提升到一个很高的层次。到现在我依然认为c++即使它有很复杂的语法,而且不支持动态特性,却是我用过最优雅的语言,没有之一。

    但是,在工作之后却对编程语言有了更多的认识,甚至觉得编程语言没有什么可比性,就如同医生、教师和司机之间,不能直接评价孰好孰差,实质他们都是挣钱生活,只是分工不同罢了。当然挣钱多少肯定是有差别的,但如果纯粹为了这个目的去选择职业,或许有些片面。

    对于用收入(python,object-c,c,c++)和使用量(java,C#,c,c++)去衡量编程语言,现实会给你一记耳光,如果再刻意的放弃已有,去选使用量最多的语言或收入最高的语言,说不定许久之后,你自己会给自己一记耳光。当然不能完全否定参考这些数据去选择某种语言开始自己的编程身涯,就像当初大学填报专业时,也参考了就业较好的,较热门的专业数据。

    这样感觉就有些复杂了,编程语言实际情况并非如此。简单的说不同的项目,选择最契合的语言。这里的最契合意义非凡,一般来说,会根据客观环境和自已对某语言的掌握程度,其次要符合主流开发。如驱动开发,最早汇编是第一选择,而现在c成为主流语言。即使你非常熟悉汇编,可能最终也会选择c。又例如,在web开发时,可能你认为php非常适合,而且你又很熟悉,但项目组大多数人却用asp。这时你有三个选择:
    - 1. 改用asp开发;
    - 2. 劝说其他人用php开发;
    - 3. 放弃该项目。
    最后怎么做不得而知,只能说1的概率稍大。

    对Android系统,对开发语言的选择最好是这样:驱动大部分用c,少量用汇编;内核用c;HAL层用c,native层大部分用c++,少量用c,少量内嵌shell脚本,少量python;framework、apk用java,编译主要用Android.mk语法,少部分用makefile语法;build脚本主要用shell,其次为python。

    从Android系统使用的编程语言来说,可谓是物尽其用,充分发挥每种语言的优势。只要能实现自己层功能就行,当然没bug就是更好不过了。有了这样的说明,就不会再去争论不同语言的优势与劣势,也不会纠结到底该学什么语言,因为所用到的语言,你都要会。

    当更多的关注从语言本身转移到业务逻辑,系统架构上时,或许就会进入另一深层,再进一步会认识到,工具只是为你的思想服务,这就偏离了本文的话题了。

    展开全文
  • 关于语言排行的一点看法

    千次阅读 2007-09-18 09:28:00
    昨天在CSDN上看到了一篇关于最新语言排行的新闻 ,《编程语言排行榜:Java第一,Ruby上升,C剧降(图)... 关于数据的权威性,我不会质疑,因为这的确是当前语言的发展形势以及流行程度,但是
            昨天在CSDN上看到了一篇关于最新语言排行的新闻 ,《编程语言排行榜:Java第一,Ruby上升,C剧降(图)http://news.csdn.net/n/20070914/108630.html》,其中给出了各种语言的排名,由于本人孤陋寡闻,有几种语言的名字几乎是第一次见到,实在汗颜。
            关于数据的权威性,我不会质疑,因为这的确是当前语言的发展形势以及流行程度,但是对于这个统计数据的具体导向意义具体何在,我颇有些疑问。只是为了表明一下排名?还是要标明某种语言的优越?还是要给即将踏入编程之门的做一个引导?
            在这篇新闻的结尾有一个“是否认同这个排行榜”的小辩论,刚开始我想认同,可是看了一些评论之后,我感觉不能认同。我之所以认同是因为这个数据的确有自己的权威性,但是不能认同是因为其引发的一些无谓的争论,因为从评论中看,多数是说某某语言好,某某语言不好之类的。其实一个语言的好坏,不是那一个人说了算,而是随着社会发展的趋势而变化的。每样事物的发展总是经历产生、发展、兴盛、衰退直至消亡几个阶段,就如人的生老病死。在C出现之前,汇编也是一门很重要的语言,可是现在还有多少人在用呢?难道汇编就不好吗?当然你可以把它说的一无是处,那是因为现在有了更高级、更易用的语言。
            优胜劣汰,这是自然规律,语言的发展同样是如此。但是,语言本身只是一种工具,就想战士手中的枪一样,它就是程序员手中的枪。每种枪都有自己的用途,而语言亦是如此。军队肯定不会使用手枪打飞机,就像程序员不会使用C开发大型的企业应用系统,因为手枪的射程不够,那不是它的强项。同样道理,战士也不会使用高射机枪打面前的一个敌人,就像程序员通常不会使用Java做嵌入式开发一样。当然同一类别的武器之间也有竞争,就如同一类性的语言有竞争。
            公司之间由于商业竞争的原因,会列出对手语言的种种缺点进行攻击,那是因为商业竞争的需要。但是作为普通的程序员,我认为不应该把这些当作自己沾沾自喜的理由,或者攻击别人的武器。记得,以前在CSDN的论坛上总是能看到Java和.Net两大阵营之间的硝烟,互相攻击,甚至谩骂。让我感觉很是奇怪和悲哀。自古就有,知己知彼,百战不殆的说法。我认为及时你要打败对手,也应该潜心下来花功夫研究一下它的缺点和优势,做出有效的判断和对自身的改进。
            我从来不愿意参加那些无谓的论战,因为那太浪费时间了,也根本是没有用的。我喜欢技术上的讨论,不赞成人身攻击,对语言也是。随着时代的发展,总有些东西要被淘汰,但是我们不能把它们遗忘弃,因为更先进的技术总是在它们的基础上发展起来的。
            作为一名普通的程序员,我想应该少一些浮躁,多一些耐心和谦虚,多花些时间学习和研究。关于这篇报道我只能一笑了之。
    展开全文
  • R语言的一些看法

    千次阅读 2015-04-06 18:29:52
    R语言在最开始就没有被设计成一个通用的语言(指一些跟系统底层有关的操作),而只专注于数据分析和绘图,因此在业界(其实我也说不好这个业界具体指什么,暂且意会吧= =)它一直没有得到广泛应用。但之前所说的小众...
    
    就整个编程语言的圈子来说R语言是比较小众的,其应用领域主要是统计学以及与统计相关的地方。R语言在最开始就没有被设计成一个通用的语言(指一些跟系统底层有关的操作),而只专注于数据分析和绘图,因此在业界(其实我也说不好这个业界具体指什么,暂且意会吧= =)它一直没有得到广泛应用。但之前所说的小众又是相对而言的,对于统计分析人员以及统计科研人员来说R语言的意义非常重大。

    R语言最强大的地方就是它的统计计算功能,这可以从数据结构和算法两方面来说。

    首先,它的许多数据结构都是为数据处理的需要而设计的。例如其中有一个叫做data.frame的数据类型,它本质上就是一张二维表,每一行是一条记录,每一列是一个字段(按统计学的术语来说,每一行是一个观测,每一列是一个变量)。data.frame是一种类矩阵结构,可以对行和列进行一系列的操作,但它又允许每一列的数据是不同的类型,这跟现实中的很多数据是相符的。当然,其它各种流行的语言要实现这些操作都不是难事,只不过R语言是把这些数据结构作为内置的一部分。
    此外,R语言的绝大多数操作都是向量化的,这和Matlab很像,因此省去了很多显式的循环。例如,如果x是一个向量,那么我要将它标准化(减去均值,再除以标准差)就只需要
    (x - mean(x)) / sd(x)
    形式上就像是在写数学公式。

    除去基础的数据结构之外,数据处理最重要的一点就是各种统计方法,在这一点上R语言可以不太谦虚地说是无言能及。R语言的统计方法更新很快,目前已经有3000多个附加软件包,其中大多数都是统计学专业的老师和学生,以及数据分析人员贡献的。当然这有好处也有坏处,好处是你永远可以找到最新的统计方法,因为那些大牛们发paper时基本上都会将程序编好然后挂到网站上;坏处是新的方法往往还不太成熟,而且包的质量参差不齐,有时候你可能不敢轻易使用。
    而这一点是很多开源项目共同的劣势。商业机构提供的软件会经过工程师的检验和调试,而R语言是开源项目,并不对使用它而产生的后果负责,因此从公司的角度来说往往不愿意承担这方面的风险。

    关于R的效率。R是一种脚本语言,肯定不如C++等编译型语言快,但R语言设计的初衷不是追求效率,而是符合统计编程的思维。R语言的优势在于能够快速实现各种比较复杂的算法,比如说你新提出了一种统计方法,就可以用R语言快速地做一些模拟实验,如果效果不好,也不会浪费太多的时间。而如果你用FORTRAN或者C来写,可能编程的时间比你思考的时间更长,万一效果不好,还得推倒重来。因此比较合理的一种做法是用R语言来构建模型,如果模型比较成熟了,再用C或者FORTRAN来实现高效的运算。

    事实上,R语言和其它语言也是可以互相调用的,目前我知道的有:
    Python通过RPy库调用R,.NET通过COM组件,JAVA通过JRI库,C和C++可以直接从R的dll调用R。而反向来说,R有内置的调用C/C++和FORTRAN的方法,还可以通过rJava包来调用JAVA。
    其中用得比较多的,一个是从R调用C和FORTRAN,目的是提升运算速度;另一个是从.NET调用R,目的是用.NET快速做出图形界面,然后把数据分析交给后台的R,再从R返回运算结果到前台。

    最后说一个R的有意思的应用。

    R语言有个很实用的功能,就是与LaTeX进行整合,来进行动态的文档生成,这个功能叫做Sweave。在编写LaTeX文档时,可以在其中加入特定的R程序区域块,然后编译这份文档时,R会首先计算其中的程序代码,得到输出结果,然后再将这些结果插入到LaTeX文档中。这也是Donald Knuth老爷子提出的Literate programming的一个实现。比如下面的这段LaTeX文档,


    ...
    \begin{document}
    现在,我们先生成10个正态随机数:
    <<echo=FALSE>>=
    x = rnorm(10);
    print(x);
    @
    然后计算出它的均值等于\Sexpr{round(mean(x), 3)}。
    \end{document}


    会首先被翻译成


    ...
    \begin{document}
    现在,我们先生成10个正态随机数:
    [1]  -0.35165957  -0.96620642    0.96028362  -0.10754500  -1.17599252    0.41813888
    [7]    1.27305011    0.56903124    0.08912148  -0.28017186
    然后计算出它的均值等于0.043。
    \end{document}


    然后再将翻译出的LaTeX文档编译成pdf。试想,如果你每个月都要整理出一份统计分析报告,而其中用到的方法其实是固定的,只是数据源不同,那么就可以编写出这样一份Sweave文档,然后每个月只要改动一下数据的来源,报告就可以自动生成了。


    最后的最后再说明一下,写这个帖子主要是分享一下自己使用R语言几年来的一些体会,顺便把它介绍给将来可能会用到的人。前面说了这么多,主要都是一些优点,但客观地来说,R语言存在的问题也是很多的。首先一点,就是它缺乏更加专业的技术支持。R语言的贡献者(包括核心开发人员R cores和软件包贡献者)大都是统计学出身,论编程的能力,我相信与计算机专业的人还是有一些差距,因此在一些底层的优化上,与其它比较成熟的脚本语言相比仍显不足。第二点是软件包的管理。目前R core们对于附加包的态度基本上是无为而治,放任自由,只要你的软件包能通过自身的语法检验,就都能挂到服务器上供其他人下载使用,这就使得包的质量参差不齐,需要一定的筛选。第三点是运行的效率。这也是R语言的使用者最头疼的一个问题,但根据伟大的人品守恒定律,一种编程语言如果太过灵活,那么它的效率肯定会打折扣。要解决这个问题,最好的办法当然就是……好好学习,努力工作,赚大把大把的钱,然后换台更牛的机器。
    展开全文
  • 今天上班时候,暂时没有接到新的任务。就想着思考下自己正在使用的语言和从事的工作,百度了下资料,顿时有种豁然开朗的感觉。以前是自己一叶障目了,太注重...不管使用什么语言,都非常有用。 ----chenn

    今天上班时候,暂时没有接到新的任务。就想着思考下自己正在使用的语言和从事的工作,百度了下资料,顿时有种豁然开朗的感觉。以前是自己一叶障目了,太注重于语言本身,而不是它所应用于的方向。觉得自己算法和数据结构没有学好特别没有信心,说自己是做Java开发的,但是偏向于Javaee,对Javase内容不精通(也有受算法和数据结构的影响)。大体来说就是觉得自己好差劲好没信心。

    今天查了资料,对程序员这个行业以及未来职业规划有了更全面的把握,信心有所回升。

    总的来说呢,从普通用户的角度看,主流所使用到的有三大方面的内容— —桌面端的应用软件以及网站和手机/平板移动端的应用。分开讲下:

    ①桌面软件(电脑游戏、聊天工具、音乐视频客户端等):c/c++以及c#;其中c/c++具有天然的效率高特点,c#则有个牛逼的爹微软。

    ②网站(电信行业、金融行业、大型企业公司等):JavaEE(有一定JavaSE基础就好,算法/数据结构了解不多也没关系,对各大框架的研究比较重要),这是Java主要应用方向之一。另外一种流行语言是php,了解不多。

    ③手机/平板移动端(android、ios和wp):android开发使用JavaME(需要有较好的JavaSE基础,同时了解android相关的api),这是Java主要应用的另一个方向。ios开发用objective-c,现在苹果官方推的新语言是swift。wp开发使用的是c#语言。现在开发还有就是都用c++进行开发,然后进行跨平台的移植。


    这样分析下来之后,现在自己所从事的javaEE的网站开发,还是相当有前景的,后期还可以转到android开发。JavaSE方面,还是平常有空多敲敲代码,锻炼自己的手写代码能力。虽然现在网上很多轮子,但是每次都复制粘帖,对于程序员来说有点懒了。多研究下javaEE各大优秀框架的使用,包括前台的框架,对javaEE工程师来说,很有必要。


    除了语言之外,对数据库的理解和掌握也是非常必须的。不管对使用什么语言,都非常有用。


    ----chenn

    展开全文
  • 基于规则的自然语言处理在自然语言处理刚开始发展的时候,
  • 关于程序设计语言的一些看法

    千次阅读 2006-05-01 19:50:00
    计算机是人类为了解决问题而制造的一种工具,而程序设计语言(Programming Language,PL)也是一种工具,是人和计算机交流的工具。人和人之间通过自然语言交流,如:英语,汉语,德语……。程序设计语言也有很多,如...
  • Java的一点看法

    千次阅读 2012-12-12 12:03:48
    这段时间没事的时候写写Java,当然,工作还是用C#,虽然在很多资深Java人士看来,还远远不够....下面是Java的一点看法,也希望大家指正(这篇文章主要是写给那些想多了解几门语言,同时没有语言控的同仁):1)Java 真正的
  • 程序学习的看法

    千次阅读 2017-08-28 11:21:31
     对语言看法:  最认为写程序很难,有很多的符号和单词需要去记忆,在深入学习以后发现其实不是这样的,编写程序就是把人类的想法翻译成机器能理解的话!所以说不用觉得编程语言的符号和语法结构这些难,其实...
  • 说一种语言包括语义和语法 语义是基础,定义了所有的抽象性,是核心,是内在的东西。 语法则是其实现,是表现形式,只是一个包装。 理解了抽象性的语义才算是精通一门语言,与语法无关。 对于一种语言的开发者来...
  • 人工智能的一点看法

    千次阅读 2018-12-20 08:24:43
    人工智能的一点看法: 从alphago开始,人工智能就火到不行,用计算机编程语言python写的数学模型算法用于拟合各种曲线,最终得到人们希望的结论。 然而,个人的看法是人工智能过热了,现有的硬件不足以支撑这些...
  • Systemc的一点个人看法

    千次阅读 2017-08-05 11:35:13
    Systemc对位操作的支持low到令人发指,当然...不允许信号和端口进行直接的范围和位的选择。 2).信号和端口的赋值不是立即发生的,而总是发生在一个Δ延迟之后。 对于第一点。我是相当不适应的!因为在verilog中
  • 浅谈对语言的认识

    千次阅读 2016-10-16 23:09:48
    自从学C语言以来也有一段时间了,下面我就来谈谈这段时间的学习心得吧。程序大家都知道就是数据结构加上算法,其中算法就是程序的灵魂,而算法就是我们解决问题的方法,...不管是学习C语言、C++还是Java语言翻开书本
  • JAVA语言的认识

    千次阅读 2018-06-25 23:00:43
    计算机语言 在了解Java语言概述之前,我们得知道什么是计算机语言语言是人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换。那什么是计算机语言呢? 人与计算机之间进行信息交流沟通的一种特殊...
  • 作为一个Linux/C/C++开发工程师,聊聊Python的看法

    千次阅读 多人点赞 2019-10-29 12:32:11
    ​首发:公众号【编程...有的是频繁报道Python制霸编程语言排行榜,有的是总能看到各种Python的培训课程,作为主要使用其他语言的你,恐怕心里很难不会有悸动。那么应该如何看待Python? 说说排行榜 TIOBE 编程...
  • 关于鸿蒙OS的一些看法

    万次阅读 多人点赞 2020-09-13 08:26:08
    缘起昨天晚上在CSDN做了一个关于鸿蒙OS的观点交流。可惜受限于宾馆的网络条件,有些想法没有表达清楚。再加上交流过程中,也从其他老师那了学到了一些观点。故写下此文。以下以QA方式我(结...
  • 浅谈Lua的看法

    千次阅读 2016-08-12 10:06:54
    事实上设计Lua脚本却并非易事,Lua语言设计的原则是小巧,所以甚至很多东西都没有语言层次上的实现,例如数组、类、迭代器这些在大多数语言中很常见的东西,在Lua中都需要通过表和函数的灵活变化组成。当然也提供了...
  • c语言的一些看法

    千次阅读 2016-05-01 17:12:09
    我知道有很多人想学编程,但是不知道从何学起,百度或者Google大家一般都是说c语言,但是,各执己见,又会有很多人 说C语言很难,不适合初学者,当初我就是这个样子,什么也不懂,...而C语言有很多语言没有的东西,
  • 关于编程语言的一点理解

    千次阅读 2017-05-05 15:16:17
    什么是语言标准:就是...所以说C++语言、Java语言都是一种高级语言标准,学会了一种语言标准,会按照这个标准写程序,再要去学另外一种语言,那就简单了,因为你只需要写,然后再对应的编译器下编译运行它就可以了。
  • (FansUnion) ...2.要有主见,要有自己独立的看法。 网上最常见的争论就是 编程语言孰好孰坏,其实我们可以不去争的。 自己喜欢什么语言,能开发软件解决自己想解决的问题,就可以了。 其它技术也
  • 谈谈我百度广告管家的一些看法

    千次阅读 2013-11-25 12:12:37
    百度作为中国最大的搜索引擎,广告相关的产品还是挺多的,不但如此还可免费使用。 本文是我百度广告管家这块产品的知识整理和个人看法
  •  谈谈我攻读计算机研究生的看法

    千次阅读 热门讨论 2005-12-04 15:41:00
    原文谈谈我攻读计算机研究生的看法 就我自己的理解,谈谈我读研和软件学院的看法,不妥之处一笑了之即可。 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么...
  • 谈谈攻读计算机研究生的看法

    千次阅读 2012-05-04 06:44:39
    原文地址:谈谈攻读计算机研究生的看法 作者:刘颖杰尼奥  如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能让你...
  • 大数据的看法

    万次阅读 2015-02-28 17:03:59
    大数据和与云计算的看法:   云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务...
  • 如何学习Java的一点点看法

    万次阅读 热门讨论 2011-06-27 11:10:00
    如何学习Java的一点点看法 很多次有同学问我Java应该怎么学,需要看哪些书,让我推荐一下。说实话,我一直不敢明确保证哪些书必须看,哪些书不用看,因为我怕将他们带入迷途。今天,我静下心来,写下了一点点我...
  • 本文会先讲述博主一个月的面试经历,梳理一下技术面试,浅述关于程序员职业生涯的一些看法。 从创业到再就业 大概4个月以前,终止创业已经成为逃不开的事实。 本来以为即使散伙,也会有比较充裕的时间找工作,...
  • 数学的一点看法

    千次阅读 2012-09-26 20:55:49
     以前读书时数学没啥特别的感觉,谈不上喜欢也谈不上讨厌.大部分时候是为了应付考试而学.没有从数学中找到啥乐趣.工作后感觉数学在蛮多应用中发挥了重要作用才慢慢有点兴趣,其实以前也知道数学在很多领域都有重要...
  • 转变大家C#的看法

    2016-05-26 13:49:45
    我现在发现很多人C#还存在很大的误解,例如C#是完全封闭的,C#不能跨平台,C#性能很差,C#不支持指针等等,持以上观点的人非常多,甚至最近看到的国内某机构开发语言的统计中还写着C#不跨平台,不开源,所以想在...
  • 就我自己的理解,谈谈我读研和软件学院的看法,不妥之处一笑了之即可。 如果你有实际开发工作经验,感觉自己的水平和实力进入了一个高原期,迫切需要从理论上提高,那么计算机学院是唯一选择。因为计算机学院才能...
  • 计算机专业的看法

    千次阅读 2006-12-21 19:53:00
    奖学金年年拿的有,考过2级c语言的有!你将来去找工作简历上写数学成绩好!拿过奖学金!c语言2级水平!英语6级!(重要的是口语和专 业英语阿,那么纷杂的语法和词汇有用吗?) 三好学生 。。。...
  • C++的前景看法 C++和C#的对比

    千次阅读 2018-09-01 16:18:57
    C++的前景看法 C++和C#的对比 2012年03月29日 10:34:53 阅读数:5963 标签: c++c#语言数据结构c微软 更多 个人分类: C# C++  从我进入CSDN VC/MFC的那一刻起,总能在这个版块看到这样那样的讨论VC、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,768
精华内容 33,907
关键字:

对语言的看法