精华内容
下载资源
问答
  • 对语言的看法
    千次阅读
    2022-03-20 23:02:35

        进入算法训练营之后我们又开始学习一门新的语言c++,这让我既开心有困惑,开心的是我又可以多接触一门新的语言了,困惑的是,大一上学期学了java,下学期有学习了python,现在在小组有学习了c++,每种语言都只是学习了一下皮毛,如果真正要用一种语言写一个项目或者网页的话,对于我来说是极其困难的。现在也是处于大一阶段,还不太知道具体那个语言找起工作来比较容易一些,这个问题到现在还疑惑这我,不仅仅我一个人有这样感觉,我发现我身边还有许多人有这样的困惑。希望有人可以帮忙提一下建议,解答一些疑惑

    更多相关内容
  • 计算机程序设计语言发展史和程序设计语言未来的看法.pdf
  • 计算机程序设计语言发展史和程序设计语言未来的看法可用.pdf
  • 计算机程序设计语言发展史和程序设计语言未来的看法借鉴.pdf
  • 计算机程序设计语言发展史和程序设计语言未来的看法.docx
  • 计算机程序设计语言发展史和程序设计语言未来的看法
  • 计算机程序设计语言发展史和程序设计语言未来的看法[参考].pdf
  • 高校_高级语言程序设计_课程的看法与建议
  • 该文档是Anders在比利时的TechDays 2010及荷兰DevDays 2010分别进行了一场演讲,阐述了他眼中对于编程语言的发展趋势及未来方向,本文便他的观点进行了总结。需要的可以下载使用~不方便,请下方留言!
  • 太空侵略者我太空侵略者的看法,使用一种称为“球拍”的功能编程语言。 没有类,数组甚至循环! 从渲染到碰撞检测的所有工作都是使用原始结构,链接列表和递归单独完成的。单元测试这种编程风格的主要优点是它非常...
  • 人类人工智能的看法有哪些 每个人新事物的出现会有不同的看法 对于人工智能的看法也是各有千秋下面是 为你整理人工智能的看法供大家阅览 ! 内容提要人工智能是计算机科学的一个领域 它企图了解智能 的实质并...
  • 从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就是更好不过了。有了这样的说明,就不会再去争论不同语言的优势与劣势,也不会纠结到底该学什么语言,因为所用到的语言,你都要会。

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

    展开全文
  • 关于编程语言的一点理解

    千次阅读 2017-05-05 15:16:17
    什么是语言标准:就是...所以说C++语言、Java语言都是一种高级语言标准,学会了一种语言标准,会按照这个标准写程序,再要去学另外一种语言,那就简单了,因为你只需要写,然后再对应的编译器下编译运行它就可以了。

    一、前言

        写过代码的同学一定以下两个困惑:(1)我们用英文字符编辑的一行一行的代码机器是如何运行的?是的,它们是由预处理器、编译器、汇编器、链接器这几个“器”完成的;(2)C++语言、C语言、Java语言等等,这些语言之间到底有什么不同。


    二、源程序翻译流程

        那么上面所说的预处理器、编译器、汇编器、链接器应该怎么理解呢?其实对于预处理、编译、汇编、链接我们都还可以根据字面意思进行理解,但是加上一个“器”,难道它真的是一个真实的硬件吗(哈哈,我刚开始是这么理解的)?其实并不是,这些“器”都是一个程序,或者你说它是一个软件也行,也就是说某个东西用这些程序来处理你的程序,把你写的源代码翻译成机器运行指令,那么“某个东西”是什么东西呢?我理解的是IDE(集成开发环境),如我们使用的VS2010等,它包含了这些所有的“器”,来使你的代码运行,器具体流程为:

    这个流程表述的非常清楚了,从源码到机器指令的过程。如果要解释每一个“器”的功能,那可能要引伸出很多其他知识点,所以这里只是简单介绍:

    (1)预处理器:对源程序进行简单处理、替换,如#include包含的头文件、宏定义等;(文本文件,我们能读懂)

    (2)编译器:对预处理后的文件进行翻译,翻译成汇编代码;(文本文件,我们能读懂)

    (3)汇编器:对汇编代码进行翻译,翻译成机器语言指令(可重定位目标文件);(二进制文件,我们读不懂)

    (4)链接器:链接多个可重定位目标文件,生成可执行目标文件,存储在磁盘上;(二进制文件,我们都不懂)


    三、编程语言标准

        好,在看到上面的流程之后,相信你似乎对源程序翻译成机器语言已经有了一个大致的了解,理解了第一个问题。但是对于第二个问题呢?C++语言、C语言、Java语言等等,这些语言之间到底有什么不同?我的答案是他们仅仅是不同的高级编程语言标准,说他们高级,是因为它们是有我们写出来的,那我们自己肯定比机器高级啊,那不然为什么现在人工智能这么火热(当然,机器终究会比我们高级),说它们是编程语言标准,意思是指它是大家写翻译源代码的编译器时都同意(或必须)遵循的守则(标准)而已(这句话一定要认真体会、理解)它们除了语法上的不同,以及谁比谁更好用,功能更多等这些条件外,没有其他的不同。难道不是吗?只要一个人会用C写HelloWord,那他在了解了Java的语法之后,他同样会用Java写HelloWord。

        就算这些语言之间是遵循不同的语法标准,但是它们被翻译的过程还是要经过上面的四个“器”,那到底语法的不同会这样影响上述流程呢?答案是:它只会影响编译器(编译程序)的不同,为什么呢?刚刚不是说了吗?不同的语言标准,也就是大家写翻译源代码的编译器时都同意(或必须)遵循的守则(标准)而已。那为什么汇编器、链接器等不会被影响呢?那是因为编译器输出是汇编代码,而汇编语言是一种通用的语言标准,它作为高级语言与机器语言之间的桥梁,不管高级语言遵循什么样的标准,即不管你是用C++编写的还是用Java编写的或者是其他各种高级语言编写的HelloWorld,只要用它们各自的编译器代码运行,输出的文件都是相同的汇编代码(当然,有可能编译器的处理不一样,优化程度不同,会有差别,但大体是一样的),汇编代码中每条语句都以一种标准的文本格式确切的描述了一条低级机器语言(这句话也要认真理解),也就是说汇编代码也是一个可读的文本,我们能读的懂,只是说如果你不是专门写汇编代码的人的话,你很难读懂,一句话,汇编代码没有C、C++这些高级语言好读。


        熟悉或者使用过Windows API和MFC框架编程的同学,你们是否有百度过这二者的区别?(我反正百度过),结果上面关于编程语言标准的解释之后,这二者有一个区别就是他们所使用的语言标准不一样,Windows API使用的是C语言标准,而MFC使用的是C++语言标准,虽然在使用Windows下的IDE(如VS2010)进行程序开发时好像都能运行,但其实二者是采用不同的编译器标准的,我想可能是在那些IDE中(如VS2010)同时集成了两种语言标准的编译器或者用同一个编译器就能编译C和C++(因为C++本来就兼容了C)。

    四、总结

        什么是语言标准:就是大家写翻译源代码的编译器时都同意(或必须)遵循的守则(标准)而已。所以说C++语言、Java语言都是一种高级语言标准,学会了一种语言标准,会按照这个标准写程序,再要去学另外一种语言,那就简单了,因为你只需要写,然后再对应的编译器下编译运行它就可以了。

        用高级语言编写的源程序代码依次经过预处理器、编译器、汇编器、链接器先从人能读的懂的高级语言(源程序代码)被翻译成次高级语言(汇编代码),然后再被翻译成人不能读懂的机器语言指令,这是一个逐渐向低级语言解释翻译的过程。针对编译器和汇编器,想一想,是不是有一点这个意思:编译器和汇编器是做同样的一件事,即把一种高级语言翻译成比原来低级的语言。



    展开全文
  • 因此,本研究旨在调查民办职业大学生英语作为第二语言(ESL)的MALL用法的看法。 数据是从适应技术接受模型(TAM)的调查问卷中收集的。 结果显示,受访者MALL的使用持积极态度。 多数受访者MALL的构架感知...
  • 人工智能之自然语言处理初探

    千次阅读 2020-07-15 12:48:51
    本文将从自然语言处理的简介、句法分析、发展现状、话语分割、知识体系、指代消解六个方面展开分析,希望你有帮助。 最近在梳理人工智能的一个细分领域自然语言处理相关知识点。随着查阅的资料越来越多,在...

    编辑导读:自然语言处理是人工智能的一个细分领域,是一个庞大的系统的工程。本文将从自然语言处理的简介、句法分析、发展现状、话语分割、知识体系、指代消解六个方面展开分析,希望对你有帮助。

    最近在梳理人工智能的一个细分领域自然语言处理相关知识点。随着查阅的资料越来越多,在梳理的过程中,也越来越发现自己的无知。

    虽然自然语言处理是人工智能的一个细分领域,但是自然语言处理这个细分领域内,又有很多的细分领域。

    自然语言处理,也是涵盖了多个学科的一个系统化的大型工程。自然语言处理,除了包含常见的分词、分句、分段,词目计算、词类标注,有限状态自动机、隐马尔可夫模型等基础的计算机理论知识外,还包含了语音学、语言学、心理学、统计学、脑科学等多个领域的学科知识。

    一个人不可能把自然语言处理所有的知识都全部掌握精通,也只能是找到其中的一个或几个难点进行研究。

    今天文章题目定为《人工智能之自然语言处理初探》,似乎题目也是有点过大了。所以又取了一个子题目,叫“语义识别”。即便是这样,在今天有限的文章描述以及PPT演示,也难以涵盖语义识别这个领域的全部内容。

    今天的文章以PPT为主线,受制于时间限制以及这个领域内容的确非常多非常深,即便是潜心钻严三年,是否能真正就说掌握了自然语言处理的语义分析,谁也不敢保证。进无止境,这恐怕也是科学的魅力。

    本文今天主要分为六个章节,第一章节先对自然语言处理进行简要介绍。

    主要对自然语言处理(Natural Language Processing,下文会以NLP替代)的苦命分类进行概要介绍,同时介绍一下NLP在文本和语音两个方面的商业应用。

    第二章节从发现历程、参与的公司以及行业规模,介绍当前NLP发展现状。

    第三章,对整个NLP体系进行梳理。

    第四、五、六章节主要对NLP中语义识别中的句法分析、话语分割、指代消解的基础原理进行讲述。

    自然语言的理解层次,一般分为:语音分析、词法分析、句法分析、语义分析、语用分析。

    简单来讲,语音分析主要是根据音位规则,从语音流中提取出独立的音素,再根据音位形态规则找出音节及其所对应的单词;词法分析主要是找出词汇中的词素,从而获得其语音学的信息;句法分析,则是对句子和句子中的短语结构进行分析,发现其内存的关联关系;语义分析是要找出单词、结构,通过结合上下文,获得准确的含义;语用分析,则是研究语言所处在的实际语言环境中对语言使用者所产生的实际作用。

    1950年:图灵测试、经验语义方法、基于规则的方法。

    1970年:基于统计的方法、理性语义方法。

    2008年:深度学习。

    2013年:Word Embeddings(Word2Vec),即将高维词向量嵌入到一个低维空间,Neural Networks for NLP(RNN LSTM CNN)。

    2014年:Seq2Seq Models,Seq2Seq模型是输出的长度不确定时采用的模型;MachineTranslation, Structure Prediction。

    2015年:Attention,把一个输入序列表示为连续序列,解码生成一个输出序列,模型每一步都是自回归的,即假设之前生成的结果都是作为生成下一个符号的额外输入;Transformer,直接把一句话当做一个矩阵进行处理。

    2018年:Memory-based Neural Network, NeuralTuringMachine。2018m, Pretrained Language Modes, ELMo,BERT。

    2019年:Natural Language Generation,Reasoning, Bigger Models。

    自然语言处理(NLP)正处于历史上最好的发展时期,技术在不断进步并与各个行业不断融合、落地。

    数据显示,我国NLP(自然语言处理)技术市场规模持续增长,2018年我国NLP(自然语言处理)技术市场规模达到了20.6亿元,同比增长52.6%。未来随着NLP技术不断进步,将具有大规模的市场需求和可扩展的巨大市场空间。预计2021年市场规模将达到近70亿元。

    NLP整个知识体系非常多。研究模式主要是对自然语言场景问题,算法如何应用到解决这些问题。即便是涉及如此多的基础知识,目前NLP仍然面临着许多的问题,例如:场景的困难,语言的多样性、多变性、歧义性,使得NLP准确性受到制约。学习的困难,如何设计高效的学习模型?语料的困难,NLP应该使用什么样的语料?如何获得这些语料?

    对于语义识别,需要对句法进行剖析,因此剖析在问答系统、信息抽取、语法检查中都起着非常重要的作用。

    1954年1月7日,美国乔治敦大学和IBM公司首先成功地将60多句俄语自动翻译成英语。当时的系统还非常简单,仅包含6个语法规则和250个词。而实验者声称:在三到五年之内就能够完全解决从一种语言到另一种语言的自动翻译问题。但直到今天,自然语言处理别说是自动翻译,简单的句法分析仍然有很多要完善的空间。

    “咬死了猎人的狗。”究竟是“[咬死了猎人][的狗]”还是“[咬死了][猎人的狗]”呢?如果不借助于上下文和语境,即便是人都很难理解,更不用说使用的句法分析了。

    我们通过计算,可以增加句法分析的准确性。但是否能真实反应语义,仍然有很大的发展空间。

    我们可以计算布朗预料库中每个句子的平均词数。在其他情况下,文本可能只是一个字符流。在将文本分词之前,需要将它分割成句子。有时可以借助于标点体符号以及一些典型的计算机符号,例如换行符来进行对句子分隔,但对于没有任何标点符号的文字段落来讲,人类可以借助经验理解里面的内容,NLP是否也能准备分割,也是比较难的一个研究领域,还有很大的发展空间。

    指代消解是NLP里非常重要的一个细分的研究领域,应用场景非常多。例如智能对话预定酒店机票,“从天津到北京的机票多少钱?”计算机NLP后,给出一个结果,这个时候,再问“那到上海呢?”,这个就需要NLP有更深层的理解了。而现实中的对话场景,远比这个要复杂的多,NLP是否能准确识别,就依赖于指代消解的准确度了,这直接关系到NLP的产品质量。

    总结:

    今天主要是对NLP中的语义识别的一个领域进行初步探索。人工智能是一个非常大的范畴,即便人工智能的子领域NLP,涉及的基础研究也非常多,而且这些基础研究短时间内也很难见效,很多公司都有业绩压力,往往出于收益,即便不是一个很完善的NLP产品,也先要推向市场。

    不论是NLP应用在哪个领域,构建什么样的产品,解决什么样的现实问题,根本还是要依赖于基础科技的研究,一个个丰富多彩的NLP产品,都是由一个个基础功能整合而成。正所谓,不积跬步无以至千里,不积小流无以成江海。

    展开全文
  • 对于一些复杂的决策问题, 使用比较语言比单一语言更能准确地表达专家的看法. 据此, 提出一种同时使用单一语言和比较语言的新算法. 根据上下文无关文法将比较语言表达转换为犹豫模糊语言术语集(HFLTS), 并应用有序...
  • 很多人都认为汇编语言晦涩难懂,但New Medio技术总监Jonathan Bartlett的这本书将改变人们的看法。本书首先介绍计算机的体系结构,然后从编写简单程序开始,一步一步扩充函数、文件、读写处理等知识,并平滑过渡到...
  • 到底什么叫脚本语言?脚本语言指的是......
  • 高级语言的运行方式有两大类,一类是直接把我们的高级语言的代码翻译为机器码,由机器直接运行,采用这种方式运行的语言我们称之为编译运行的语言;另一种就是再为我们的高级语言专门写一个程序,这个程序的作用就是...
  • 目前的编程语言都采用结构化语言,结构化语言来自于学者戴克斯特拉提倡的结构化程序设计,这是一种编程风格。 而结构化语言中是不建议使用goto语句的。 《计算机是怎样跑起来的》中这样写道:所谓结构化程序设计就是...
  • 作为网络安全初学者,会遇到采用Go语言开发的恶意样本。因此从今天开始从零讲解Golang编程语言,一方面是督促自己不断前行且学习新知识;另一方面是分享与读者,希望大家一起进步。这系列文章入门部分将参考“尚硅谷...
  • 因此,本文旨在提高人们词汇知识这一重要维度的重要性的认识,并这一词汇现象提出全面的看法。 为此,本文该主题进行了简要介绍,并相关定义和分类进行了概述。 接下来是教学/学习搭配重要性的总结,以及...
  • 很多时候,我们想去学习一门的新的语言,但是都在犹豫和徘徊,不知道学哪一门好,等决定了,去网上一查,看见...有一位大牛我觉得说的很,可以去看看。 大牛博客 王垠(不少文章喷到蛮有道理):http://w
  • 浅谈对语言的认识

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

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 93,208
精华内容 37,283
关键字:

对语言的看法