• 关于

    编程语言怎么用

    的搜索结果

回答

学习是一个由浅入深的过程,可以先看看别人怎么写代码的,看看网络上的视频,然后跟着视频边看边写,当对一门语言有一段时间的认知后,发现编写使不上力的时候,就到了瓶颈期,这时候就需要系统化的思维来学习了。1.如何做事?要想写清楚一个程序,则需要想清楚程序要解决一个问题?或者实现一个什么价值?然后才是如何解决问题或者实现价值?2.如何编程?知道了如何解决问题,按照对应编程语言的语法把理解的思想写下来即可。总结:要想做事则需要知道自己要做什么,用什么去做?则需要理解计算机如何工作? 然后才是如何去编程,编程语言怎么工作的?才能更好的使用编程语言

海贼王fans 2019-12-02 00:59:13 0 浏览量 回答数 0

问题

c语言编程关于十进制与浮点计数法的问题

a123456678 2019-12-01 19:51:04 1168 浏览量 回答数 3

回答

这几天,由于项目工作需要暂停,所以我就抽空开始学《算法导论》。认为这是一本很不错的书,不仅介绍了各种算法,而且给出了算法的由来(它的发明者是如何想到它的),以及效率的数学计算,当然还包含了算法的数学基础。我觉得这本书应该很耐看。它不向目前的一些国内的算法教材,只是罗列些经典算法,让你应用的时候可以想到去套这些算法。 昨天晚上和大师兄说了我正在学算法导论的事情。本以为大师兄会很支持,结果大师兄说,其实科研人员并不关心算法效率的问题,只有程序员或编程高手才会更关心效率的问题。 比如我曾经用C语言和MATLAB同时实现prim和kruskal算法,由于matlab语言对矩阵的特殊支持,matlab实现的算法显然比C语言高。 我们在本科多是工程上的训练。其目的就是:以后无论那门编程语言,只要学一个星期就能上手。。 可是当我在考研面试的时候,说道不同的编程语言对实现不同的算法有不同的效率时,在场的老师不屑一顾。当我能使用多种编程语言。又有人认为编程只是一种工具罢了,我充其量只不过是一个木匠。当人家问我数据库知识,我答出一小部分时,有人有任务我没有理论素养。。荒谬,真是荒谬。。。 我承认在本科,我们受到的训练都是工程上的训练,其目的是深刻的认识“编程语言只是工具,不是限制人思维的桎梏”。不学几种语言,怎么能深刻认识到这样一点,怎么能在研究生的学习中用一周就能基本入门一种特定的编程语言。当然,我们不是大专,也不是职业培养学校。我们虽然注重工程能力,但是并不要求一个学生在某一门程序语言上成为大牛(这是职业培训的目的。所以即便很多人是职业培训出来的,编程能力也可能比我们强)。我们的优势是在于在注重工程培养的同时,我们还有很多理论学习,报考计算机的各种理论,算法的各种理论。。。这些理论的学习是给在研究生期间做理论研究做初步准备的。 所以,我认为 一个软件领域的科研人员,在本科阶段应该是一个优秀的程序编写员。本科的偏工程背景,不应该认为和做理论研究是不相关的。

行者武松 2019-12-02 01:20:39 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

问题

关于 IOS的蓝牙编程用swift语言开发外围应用程序

爵霸 2019-12-01 20:08:37 1375 浏览量 回答数 1

回答

您是想学C,还是想学C++?因为这是两种不同的编程语言,C语言是面向过程的,C++是面向对象的。如果您两者都想学的话,建议您千万不要把C++看成是C的升级版。它们的核心思想 是不一样的。学一种语言,先要了解它是怎么产生的,它的设计者 再设计这种语言时 是怎么考虑的。您说的 数据结构 和 算法,这个学起来花不了您多长时间,尤其是算法,大概了解下就可以,毕竟在实际编程时 大多都是用的已经成熟的算法,自己有兴趣 可以去钻研。数据结构,看看书上的 介绍,也就那么几种而已,主要是 掌握一种,就要去实际 编写代码 运用。祝您 学习愉快。

管理贝贝 2019-12-02 01:23:25 0 浏览量 回答数 0

回答

Kotlin的简介 Kotlin是由JetBrains公司(IDEA开发者)所开发的编程语言,其名称来自于开发团队附近的科特林岛。 多平台开发 JVM :Android; Server-Side Javascript:前端 Native(beta) :开发原生应用 windows、macos、linux Swift与Kotlin非常像 http://nilhcem.com/swift-is-like-kotlin/ kotlin发展历程 image.png java发展历程 image.png JVM语言的原理 image.png JVM规范与java规范是相互独立的 只要生成的编译文件匹配JVM字节码规范,任何语言都可以由JVM编译运行. Kotlin也是一种JVM语言,完全兼容java,可以与java相互调用;Kotlin语言的设计受到Java、C#、JavaScript、Scala、Groovy等语言的启发 kotlin的特性 下面不会罗列kotlin中具体的语法,会介绍我认为比较重要的特性,以及特性背后的东西。 类型推断 空类型设计 函数式编程 类型推断 image.png 类型推断是指编程语言中在编译期自动推导出值的数据类型。推断类型的能力让很多编程任务变得容易,让程序员可以忽略类型标注的同时仍然允许类型检查。 在开发环境中,我们往往写出表达式,然后可以用快捷键来生成变量声明,往往都是很准的,这说明了编译器其实是可以很准确的推断出来类型的。编程语言所具备的类型推断能力可以把类型声明的任务由开发者转到了编译器. java中声明变量的方式是类型写在最前面,后面跟着变量名,这就迫使开发者在声明变量时就要先思考变量的类型要定义成什么,而在一些情况下比如使用集合、泛型类型的变量,定义类型就会变得比较繁琐。 Kotlin中声明变量,类型可以省略,或者放到变量名后面,这可以降低类型的权重,从必选变为可选,降低开发者思维负担。java10中也引入了类型推断。 Javascript中声明变量也是用关键字var,但是还是有本质区别的,Kotlin中的类型推断并不是变成动态类型、弱类型,类型仍然是在编译期就已经决定了的,Kotlin仍然是静态类型、强类型的编程语言。javascript由于是弱类型语言,同一个变量可以不经过强制类型转换就被赋不同数据类型的值, 编程语言的一个趋势就是抽象程度越来越高,编译器做更多的事情。 空类型设计 空类型的由来 image.png 托尼·霍尔(Tony Hoare),图灵奖得主 托尼·霍尔是ALGOL语言的设计者,该语言在编程语言发展历史上非常重要,对其他编程语言产生重大影响,大多数近代编程语言(包括C语言)皆使用类似ALGOL的语法。他在一次大会上讨论了null应用的设计: “我把 null 引用称为自己的十亿美元错误。它的发明是在1965 年,那时我用一个面向对象语言( ALGOL W )设计了第一个全面的引用类型系统。我加入了null引用设计,仅仅是因为实现起来非常容易。它导致了数不清的错误、漏洞和系统崩溃,可能在之后 40 年中造成了十亿美元的损失。” null引用存在的问题 以java为例,看null引用的设计到底存在哪些问题 空指针问题NPE 编译时不能对空指针做出检查,运行时访问null对象就会出现错误,这个就是工程中常见的空指针异常。 null本身没有语义,会存在歧义 值未被初始化 值不存在 也许表示一种状态 逻辑上有漏洞 Java中,null可以赋值给任何引用,比如赋值给String类型变量,String a = null,但是null并不是String类型: a instanceof String 返回的是false,这个其实是有些矛盾的。所以当持有一个String类型的变量,就存在两种情况,null或者真正的String. 解决NPE的方式 防御式代码 在访问对象前判空,但会有冗余代码;会规避问题,而隐藏真正的问题 抛出异常给调用方处理 方法中传参传入的空值、无效值,抛出受检查异常给上层调用方 增加注解 Android中可以增加@NonNull注解,编译时做额外检查 空状态对象设计模式 空状态对象是一个实现接口但是不做任何业务逻辑的对象,可以取代判空检查;这样的空状态对象也可以在数据不可用的时候提供默认的行为 java8 Optional类 java8中引入了Optional类,来解决广泛存在的null引用问题.官方javadoc文档介绍 A container object which may or may not contain a non-null value. If a value is present, isPresent() will return true and get() will return the value. Additional methods that depend on the presence or absence of a contained value are provided, such as orElse() (return a default value if value not present) and ifPresent() (execute a block of code if the value is present). 来看一下是如何实现的。 举一个访问对象读取熟悉的例子 java 8 之前 : image.png java 8: image.png 总结: 1.用Optional还是会比较繁琐,这个也说明了设计一个替代null的方案还是比较难的。 optional的耗时大约是普通判空的数十倍,主要是涉及泛型、使用时多创键了一个对象的创建;数据比较大时,会造成性能损失。 java8 引入Optional的意义在于提示调用者,用特殊类型包装的变量可能为空,在使用取出时需要判断 Kotlin的空类型设计 Kotlin中引入了可空类型和不可空类型的区分,可以区分一个引用可以容纳null,还是不能容纳null。 String vs String? String 类型表示变量不能为空,String?则表示变量可以为空 String?含义是String or null.这两种是不同的类型. 比如: var a:String = “abc” //ok var a:String = null //不允许 var b :String? = null //ok a=b // 不允许 String?类型的值不能给String类型的值赋值 这样就将类型分成了可空类型和不可能类型,每一个类型都有这样的处理;Kotlin中访问非空类型变量永远不会出现空指针异常。 同样上面的例子,采用Kotlin去写,就会简洁很多 image.png 编程范式-函数式编程 编程范式是什么? 编程范式是程序员看待程序和写程序的观点 主要的类型 非结构化编程 结构化编程 面向对象编程 命令式编程 函数式编程 这些类型并不是彼此互斥的,而是按照不同的维度做的划分,一种编程语言可能都支持多个编程范式 非结构化编程 第一代的高级语言往往是非结构化编程 比如 BASIC语言 每一行的代码前面都有一个数字作为行号,通常使用GOTO的跳跃指令来实现判断和循环. 看一下下面这段代码是做什么的: image.png 实际上做的是:程序在屏幕上显示数字 1 到 10 及其对应的平方 采用这种方式写程序,大量的使用goto实现逻辑的跳转,代码一长,可读性和维护性就比较差了,形成“面条式代码” 结构化编程 采用顺序、分支、循环结构来表达,禁用或者少用GOTO; 并用子程序来组织代码,采用自顶向下的方式来写程序 代表语言是C语言 实现同样的逻辑: image.png 可见采用结构化编程,代码的逻辑会更清晰。 面向对象编程 思想: 将计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。 特性: 封装性、继承性、多态性。 命令式编程 把计算机程序视为一系列的命令集合 主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。 “先做这,再做那”,强调“怎么做” 实现: 用变量来储存数据,用语句来执行指令,改变变量状态。 基本所有的常见的编程语言都具有此范式 函数式编程 声明式语法,描述要什么,而不是怎么做 类似于SQL语句 语言: kotlin swift python javascript scala 函数是第一等公民 可以赋值给变量,可作为参数传入另一个函数,也可作为函数的返回值 纯函数 y=f(x) 只要输入相同,返回值不变 没有副作用:不修改函数的外部状态 举个栗子 公司部门要进行outing,去哪里是个问题,要考虑多个因素,比如花费、距离、天数等等,有多个备选地点进行选择。 定义一个数据类: image.png 要进行筛选了,分别用sql,kotlin,java来实现 找出花费低于2000元的outing地点信息 SQL image.png Kotlin image.png java 7 image.png 可见kotin的写法还是比较接近于sql的思想的,声明式的写法,而不管具体如何实现;其中的:place->place.money<2000 就是函数,可以作为参数传递给fliter这个高阶函数;而且这个函数没有副作用,不改变外部状态。 再来一个复杂一点的: 找出花费低于5000元,时间不多于4天,按照距离排序的outing地点名称 SQL image.png Kotlin: image.png java 7 image.png 由此可见用kotlin的函数式写法,会更简洁,逻辑也更清晰,这段代码的目标一目了然,这种清晰在于实现了业务逻辑与控制逻辑的分离,业务逻辑就是由函数实现的,比如place->place.money<500,而控制逻辑是由filter,sorterBy等高阶函数实现的。 而java的传统写法是基于对数据的操作,避免不了遍历的操作,业务逻辑与控制逻辑交织在了一起,这段代码的目的就不是那么容易清晰看到的了。 总结 kotlin是实用的现代编程语言,吸收了众多编程语言的优点,支持类型推断、空类型安全、函数式编程、DSL等特性,非常值得学习和使用。

问问小秘 2020-04-30 16:33:40 0 浏览量 回答数 0

回答

0段—非程序员: 初学编程者,遇到问题,完全是懵懵懂懂,不知道该怎么编程解决问题。也就是说,还是门外汉,还不能称之为“程序员”。计算机在他面前还是一个神秘的黑匣子。 1段—基础程序员: 学习过一段时间编程后,接到任务,可以编写程序完成任务。 编写出来的代码,正常情况下是能够工作的,但在实际运行中,碰到一些特殊条件就会出现各类BUG。也就是说,具备了开发Demo软件的能力,但开发的软件真正交付给客户使用,恐怕会被客户骂死。 程序员程序是写好了,但到底为什么它有时能正常工作,有时又不行,程序员自己也不知道。 运行中遇到了bug,或者需求改变,需要修改代码或者添加代码,很快程序就变得结构混乱,代码膨胀,bug丛生。很快,就连最初的开发者自己也不愿意接手维护这个程序了。 2段—数据结构: 经过一段时间的编程实践后,程序员会认识到“数据结构+算法=程序”这一古训的含义。他们会使用算法来解决问题。进而,他们会认识到,算法本质上是依附于数据结构的,好的数据结构一旦设计出来,那么好的算法也会应运而生。 设计错误的数据结构,不可能生长出好的算法。 记得某一位外国先贤曾经说过:“给我看你的数据结构!” 3段—面向对象: 再之后,程序员就会领略面向对象程序设计的强大威力。大多数现代编程语言都是支持面向对象的。但并不是说,你使用面向对象编程语言编程,你用上了类,甚至继承了类,你就是在写面向对象的代码了。 我曾经见过很多用Java,Python,Ruby写的面向过程的代码。 只有你掌握了接口,掌握了多态,掌握了类和类,对象和对象之间的关系,你才真正掌握了面向对象编程技术。 就算你用的是传统的不支持面向对象的编程语言,只要你心中有“对象”,你依然可以开发出面向对象的程序。 如,我用C语言编程的时候,会有意识的使用面向对象的技巧来编写和设计程序。用struct来模拟类,把同一类概念的函数放在一起模拟类。如果你怀疑用C语言是否能编写出面向对象的代码,你可以看一下Linux内核,它是用C语言编写的,但你也可以看到它的源代码字里行间散发出的浓浓的“对象”的味道。 答案来源于网络

养狐狸的猫 2019-12-02 02:20:35 0 浏览量 回答数 0

回答

一句话告诉你如何区分函数与方法:函数是大家的函数,方法是类的方法。如何区分一个ITer是设计师还是码工。看看他是在调别人的库,还是自己写出JAR包跟别人分享。感觉差的不是一个级别而已啊。一个东西,用对象调用的叫方法,直接调函数名的叫函数。c语言等语言里叫函数,面向对象编程,函数写到类里边就叫做方法,函数可以直接调用,对象中的方法一般都有指针this指向它,但是有时一些方法实在不需要写到类里边,所以面向对象的语言有了静态方法,不过这个概念没必要纠结,用的多了自然就明白啦函数Function, 过程Procedure, 方法Method,你可以简单把他们当成同一个概念:都是由若干语句组成的一个可执行代码体。函数:Function(面向过程语言教程的英文原版,是否有一个把Function翻译为Method的?)方法:Method(只有不地道的面向对象语言教程才会把Method叫做Function)意思一样的,可能就是方法偏重于类,也就是面向对象设计的,注重每个函数的功能所以叫方法;而函数偏重于面向过程,有可能是功能描述也有能不是,两者都有是看编程者自己怎么看的

蛮大人123 2019-12-02 02:19:47 0 浏览量 回答数 0

问题

C语言算法 【精品问答合集】

马铭芳 2019-12-01 20:09:24 24756 浏览量 回答数 5

问题

C语言函数 【问答合集】

马铭芳 2019-12-01 20:09:44 1050 浏览量 回答数 1

回答

《C语言程序设计》作  者:郭有强编出版社:清华大学出版社评价:书很利索,该有的都有,如果你还没有一本满意的C语言课本,买它没错。(也可以阅读外国的经典C语言书籍)《C和指针》POINTERSONCKennethA.Reek、徐波人民邮电出版社评价:不算厚的书,纠正对指针的错误理解,这是必读经典,相信会带给你很多思考。(单单一本还不够,继续往后看)《C陷阱与缺陷》AndrewKoenig、高巍人民邮电出版社评价:172页,应当1-2天看完,读完豁然开朗,对C语言常见的陷阱进行剖析,必须经典。《C专家编程》ExpertCProgrammingDeepCSecretsPeterVanDerLinden人民邮电出版社(2008-02出版)评价:200多页,应当2天左右看完,本书读起来很舒坦,不可多得的好书,带你领略语法之外的奥秘,必读经典。②数据结构与算法:《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》吴伟民、严蔚敏清华大学出版社评价:数据结构都是类C的伪代码描述,初次接触编程的同学可能理解不了,我也一样。我是看严蔚敏视频学会的数据结构,希望这个法对你们也同样有效。《计算机算法设计与分析(第3版)》王晓东电子工业出版社评价:这是我们的课本,不过的确是学习它才把数据结构和算法入门了,为后面进阶做了铺垫。《算法艺术与信息学竞赛•算法竞赛入门经典》刘汝佳清华大学出版社评价:了解数据结构怎么用,常用算法与思想,书不厚,但很给力。初学可能有障碍,但这的确是入门经典书籍,请不要放弃。《算法导论(原书第2版)》科曼(CormenT.H.)、等、潘金贵机械工业出版社(2006-09出版)评价:经典中的经典,无需多说,不要问我看哪些内容,负责任的说:有能力就多看点,其实都能看懂,书中的内容与思想将会终身受用。《编程之美:微软技术面试心得》《编程之美》小组电子工业出版社评价:微软出品,像是一本小故事集,将数学和编程之美展露无疑,学起来很轻松,反复回顾收获颇丰。《编程珠玑(第2版)》JonBentley、黄倩、钱丽艳人民邮电出版社评价:主要是数据结构和算法,都是常用的内容,不过作者思维新奇,跟随作者一起思考会碰撞出不少火花,评价非常高的一本书,本人没有顺序阅读,感兴趣的内容翻了翻。《算法艺术与信息学竞赛》刘汝佳清华大学出版社评价:放在最后,因为此书的确很专业,我这点智商也驾驭不了,信息学竞赛必备。《程序员面试宝典(第3版)》欧立奇、刘洋、段韬电子工业出版社评价:这本书很神奇,大二下学期的时候我就买了并看完了,等到大三找工作的时候发现里边的提到的陷阱题目还是有点意思的,C语言掌握的怎么样拿这本书验一验就知道了。《数学之美》(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)

马铭芳 2019-12-02 01:22:13 0 浏览量 回答数 0

回答

《C语言程序设计》作  者:郭有强编出版社:清华大学出版社评价:书很利索,该有的都有,如果你还没有一本满意的C语言课本,买它没错。(也可以阅读外国的经典C语言书籍)《C和指针》POINTERSONCKennethA.Reek、徐波人民邮电出版社评价:不算厚的书,纠正对指针的错误理解,这是必读经典,相信会带给你很多思考。(单单一本还不够,继续往后看)《C陷阱与缺陷》AndrewKoenig、高巍人民邮电出版社评价:172页,应当1-2天看完,读完豁然开朗,对C语言常见的陷阱进行剖析,必须经典。《C专家编程》ExpertCProgrammingDeepCSecretsPeterVanDerLinden人民邮电出版社(2008-02出版)评价:200多页,应当2天左右看完,本书读起来很舒坦,不可多得的好书,带你领略语法之外的奥秘,必读经典。②数据结构与算法:《清华大学计算机系列教材•数据结构(C语言版)(附光盘1张)》吴伟民、严蔚敏清华大学出版社评价:数据结构都是类C的伪代码描述,初次接触编程的同学可能理解不了,我也一样。我是看严蔚敏视频学会的数据结构,希望这个法对你们也同样有效。《计算机算法设计与分析(第3版)》王晓东电子工业出版社评价:这是我们的课本,不过的确是学习它才把数据结构和算法入门了,为后面进阶做了铺垫。《算法艺术与信息学竞赛•算法竞赛入门经典》刘汝佳清华大学出版社评价:了解数据结构怎么用,常用算法与思想,书不厚,但很给力。初学可能有障碍,但这的确是入门经典书籍,请不要放弃。《算法导论(原书第2版)》科曼(CormenT.H.)、等、潘金贵机械工业出版社(2006-09出版)评价:经典中的经典,无需多说,不要问我看哪些内容,负责任的说:有能力就多看点,其实都能看懂,书中的内容与思想将会终身受用。《编程之美:微软技术面试心得》《编程之美》小组电子工业出版社评价:微软出品,像是一本小故事集,将数学和编程之美展露无疑,学起来很轻松,反复回顾收获颇丰。《编程珠玑(第2版)》JonBentley、黄倩、钱丽艳人民邮电出版社评价:主要是数据结构和算法,都是常用的内容,不过作者思维新奇,跟随作者一起思考会碰撞出不少火花,评价非常高的一本书,本人没有顺序阅读,感兴趣的内容翻了翻。《算法艺术与信息学竞赛》刘汝佳清华大学出版社评价:放在最后,因为此书的确很专业,我这点智商也驾驭不了,信息学竞赛必备。《程序员面试宝典(第3版)》欧立奇、刘洋、段韬电子工业出版社评价:这本书很神奇,大二下学期的时候我就买了并看完了,等到大三找工作的时候发现里边的提到的陷阱题目还是有点意思的,C语言掌握的怎么样拿这本书验一验就知道了。《数学之美》(《浪潮之巅》作者吴军最新力作,李开复作序推荐,Google黑板报百万点击)

知与谁同 2019-12-02 01:22:33 0 浏览量 回答数 0

问题

【精品问答】python五十问第一期

问问小秘 2019-12-01 21:51:26 977 浏览量 回答数 1

回答

程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。所以,从一定意义上说,人们平时所说的递归就是递归算法。递归程序是将递归算法用程序设计语言来实现的,它是程序,当然也有人说程序是算法描述的一种方法,不管怎么说,递归程序不等同于递归算法。

青衫无名 2019-12-02 01:24:10 0 浏览量 回答数 0

回答

楼上的动不动就拷贝别人写的东西,说不定自己都没学过。 学任何一门语言多练习才是王道。多找找题目,然后自己试着写程序,当然,你还得学会怎么编译、调试程序。你得学会看懂编译器的警告、错误信息。这些都是最最基础的。当你写完程序发现有问题的时候,可以对照知识点看书,或者上百度知道提问,但记得把代码贴上来。 初学者应该看的书:《c primer》。当然,如果你是在linux下,还应该看《UNIX环境高级编程》 给你推荐点书,建议你在linux下学C语言,因为开源代码很多,可以很好的学习: 第一阶段:《c primer》、《c primer plus》、《linux c》、《unix环境高级编程》 第二阶段:《深入理解计算机系统》、《代码大全》 第三阶段:《重构》 除了多看书,还要多看开源代码。因为很多开源代码写的都很经典。我是过来人,所以就有这些经验了。 很多人推荐谭浩强的书,我不推荐,原因是:谭浩强的书有的东西不标准也不完善。最简单的例子就是main函数。通篇用的是main()(这也是用windows学c语言的通病)。标准的main函数是int main(void)和int main(int argc, char *argv[])。因为弄懂了标准的main函数,你就明白了程序是如何和系统交互的。

美人迟暮 2019-12-02 01:19:54 0 浏览量 回答数 0

问题

LINUX下C语言编程怎么打印日志

云栖技术 2019-12-01 19:41:28 1508 浏览量 回答数 2

回答

python程序员的特征 Python语法优雅,功能强大,开发效率高。和其他语言相比,python最大的好处是接近自然语言,基本上不用考虑语法细节。所以,知乎上有网友是这么比喻学Python的:当土著拿到猎枪之后,他们射箭的技能退化严重,但因为食物更多了,厨艺有了长足的进展。当你不再为一些细枝末节的事担心之后,你就可以把注意力集中在另外一些问题上了。 python程序员明显特征就是:“懒” 他们一般都信奉极简主义,讨厌复杂的东西。以往追求高速运行,如今追求一字千金。(就是不喜欢打字)他们喜欢使用苹果产品。遇事想得多做的少,看起来比较冷静,碰到困难,先google,再行动。 被提bug的反应:你怎么还在用360安全浏览器 Java程序员的特征 和极简主义的Python恰恰相反,Java麾下的程序猿们喜欢码字,百行代码信手拈来,性子会走向两个极端,要么脾气变得暴躁,分分钟被各种报错逼疯;要么被磨得比较耐心,时间再长一点以后,思考问题会比较全面,而且会变得比较呆萌可爱,说话也因为考虑的多,变得啰嗦了。还有就是他们对内存价格那是了如指掌啊。 被提bug的反应:肯定是数据问题!你清下缓存试试、重启下电脑试试 C++程序员的特征 写C++的程序猿都比较沉稳持重,C++的难度极大,普通人不易掌握容易翻车,【珍爱生命,远离C++】但在大神手里简直是如虎添翼,可以被嵌入任何现代处理器中,几乎所有操作系统都支持 C++,跨平台性非常好,要什么有什么。也正因为它的难度系数高,能让c++猿们能够在开发人员里脱颖而出。 他们很少说自己精通XXX,喜欢接受挑战,每件事情都想研究个透彻,有的时候还会有些钻牛角尖,有很强的时间观念,闹钟一设设十几个。还有他们是Bug狂躁症深度患者。 **被提bug的反应: “这真的很奇怪!” “以前从来没有出现过这种情况!” “昨天还运行好好的啊!” “这怎么可能?” “一定是硬件出问题了!” ** C语言程序员的特征 如果把使用各大编程语言比作做菜,C++可能是豪华大宴,炖烤煎炸样样都来,C语言嘛就是干脆利落,一把菜刀走天下,有什么菜不是直接切一切,煮一煮不能解决的呢?C语言的特点很大程度上是简单,容易编译,灵活且贴近底层。 C语言程序员有许多共有的特征,他们做事干脆利落,说话简洁有层次,有点霸道总裁的样子,喜欢用“我觉得吧~”开始话题。 被提bug的反应: 你装的什么版本的类库(jdk) 这谁写的代码 Ruby语言程序员特征 Ruby 是一种简单快捷的面向对象(面向对象程序设计)脚本语言。从程序员的角度看,用 Ruby 写程序是一种非常愉悦的体验。这种愉悦体现在方方面面,包括 Ruby 代码简洁直观、更贴近自然语言、富于表达性、社区友好。 如果把编程语言们看作人的话,那么Ruby就是其中的一个小萝莉。在萌妹砸Ruby的影响下,程序猿们很有可能会变成热情,友善的程序媛… 被提bug的反应: 你为什么要那样操作?” 用户不会像你这么操作的。 PHP程序员特征 这个圈子里,永远有一个”PHP是世界上最好的语言“的冷笑话,能让相亲对象直接拉黑,这语言能不好么(逃),类似的段子已经成了php们的生活调味品。 所以: 玩笑过后言归正传,PHP当然是有它的优势和优点的,社区庞大,积极向上不说,既能面向过程又能面向对象,方便至极,最重要的是极其适合新手小白学习编程,无数程序员入门学习和开发使用。 他们的显著特征是:自信满满,心理承受能力好(不好不行啊)开朗…学了之后明显笑容变多了能淡定从容地自黑。 被提bug的反应: “这应该只是巧合吧!” “我没时间测试所有功能!” “这不可能是我代码的问题! 结论 以上观点无科学实验证明,仅为生活观察所得。一个人的性格很容易被周围环境所影响,而编程环境就是一个影响人性格的环境。所以某种语言用久了,都会和编程语言的特点挂钩。 有人总结,越是学习趋于人类思维方式的编程语言的程序员,性格能开朗点,因为他们是以近似人的思维思考问题,相反像c++这种语言,用久了就会生怕忘记点什么。 加入阿里云钉钉群享福利:每周技术直播,定期群内有奖活动、大咖问答 阿里云开发者社区

茶什i 2020-01-06 17:57:28 0 浏览量 回答数 0

问题

请教各位在php的正则中如何实现忽略转义匹配?

落地花开啦 2019-12-01 19:52:51 910 浏览量 回答数 1

问题

基础语言问答集锦——c#篇

yq传送门 2019-12-01 20:16:47 1685 浏览量 回答数 1

回答

简单逻辑if else,复杂的画状态图,代码里用跳转表不用if else###### 这个基本的代码都会有涉及的吧 比如1个用户的状态不就是一个状态机吗?socket连接上来,等待发送请求状态,读数据库状态,接受请求状态,等等,这种每天都会遇到,= =! ###### 引用来自“kazex”的答案 这个基本的代码都会有涉及的吧 比如1个用户的状态不就是一个状态机吗?socket连接上来,等待发送请求状态,读数据库状态,接受请求状态,等等,这种每天都会遇到,= =! 哈,这里天天吵工具,php,java,c++,c。真正的编程技术不讨论。你说的没错,你那玩意也存在状态。现在很多小朋友,给傻瓜式开发培养的越来越傻瓜了,甚至还有很自大的。太依赖工具反倒把编程真正该关注,该提升的东西给忘了。状态机,卡诺图等等,都是基本功,而且是内功,培训学校是不会好好教和练的。 ###### 我只说两个凡是: 凡是宏哥说的都是对的, 凡是宏哥提倡的都要坚持 ######回复 @西门飞 : Excel, 是不是有点吃惊.######什么工具 求教######今天中午午休的时候我突然想到这个问题,是解决问题的思路更重要,还是编程能力更重要(对于编程语言而言)?我老觉得这是个矛盾有统一的哲学性问题。###### @崔钢 此言不假,不过也有这样的人,编程能力着实不错,可有时候你跟他提个需求他根本不能理解,怎么解决问题?如果换个比喻的话:思路是内功,能力是招数。######没有编程能力哪里来的思路?思路都是和工具或者材料相关的。你对你使用的编程语言不够熟悉,那你解决问题的思路估计也好不到哪里去。###### 引用来自“nicozhang”的答案 今天中午午休的时候我突然想到这个问题,是解决问题的思路更重要,还是编程能力更重要(对于编程语言而言)?我老觉得这是个矛盾有统一的哲学性问题。 这2者有什么矛盾的地方么  ###### 引用来自“nicozhang”的答案 今天中午午休的时候我突然想到这个问题,是解决问题的思路更重要,还是编程能力更重要(对于编程语言而言)?我老觉得这是个矛盾有统一的哲学性问题。 编程工具客观决定了编程可实现的方式和资源。这对实际设计时,是有约束的。而解决问题的思路还要考虑工程现场环境,面对数据的各方面的因素。这是工程和理论的不同。理论的东西,是不考虑现场和实际处理对象的具体性的。它们的价值是抽象出共性中的关联和规律。理论需要联系实际。包括你说的针对编程语言的编程能力,也是实际。而你说的解决问题的思路,绝对不能单纯的太抽象成理论,不过核心的原型一定是从理论中得带的。 所以我可以接受一个有工程经验的人鄙视,说我代码写的不行,但被一个没有工程经验的人说和我代码写的一样,就会非常受伤。哈哈。 ###### 引用来自“kazex”的答案 引用来自“nicozhang”的答案 今天中午午休的时候我突然想到这个问题,是解决问题的思路更重要,还是编程能力更重要(对于编程语言而言)?我老觉得这是个矛盾有统一的哲学性问题。 这2者有什么矛盾的地方么  哈,我挺喜欢你这种性格的人,不纠结,不思考。特别是这样的小妹妹,如果长的再圆乎乎的,q版一点,没有心计,整天无忧无虑,绝对可以做办公室的吉祥物。哈。 ######逻辑复杂的时候状态分析确实能帮不少忙...不过现在做的东西不会有太复杂的逻辑,但学 C 的时候各种碰到...###### 引用来自“彭博”的答案 逻辑复杂的时候状态分析确实能帮不少忙...不过现在做的东西不会有太复杂的逻辑,但学 C 的时候各种碰到... 很多客户的业务需求中间,业务流程是复杂的。无非项目经理素质也就那样了。没有关注里面隐藏的东西。客户要什么就设计什么。把需求分析和系统设计混在一起。最终就一个结果,天天改方案。哈。 ######很有道理,我们现在就是这样。经常改

kun坤 2020-06-08 19:28:37 0 浏览量 回答数 0

回答

不用花太多时间去学数据结构那东西吧因为JAVA本身就有这类库,直接用就是了,不用太关心里面,不过对数据结构肯定是要有一定程度的了解才过得去的,不然你知道有类库也不知道怎么用,和何时该用. 当你入好门之后就向JAVA高级一点的应用进发吧,例如:线程开发,WEB编程,数据库开发,GUI的开发等等等 你看<<JAVA语言程序设计进阶篇>>现在是第6版最新了,Y.Daniel Liang著的,内容全面,也合初学者~

小旋风柴进 2019-12-02 01:23:23 0 浏览量 回答数 0

回答

不用花太多时间去学数据结构那东西吧...因为JAVA本身就有这类库,直接用就是了,不用太关心里面,不过对数据结构肯定是要有一定程度的了解才过得去的,不然你知道有类库也不知道怎么用,和何时该用. 当你入好门之后就向JAVA高级一点的应用进发吧,例如:线程开发,WEB编程,数据库开发,GUI的开发等等等 推荐你看<<JAVA语言程序设计进阶篇>>现在是第6版最新了,Y.Daniel Liang著的,内容全面,也合初学者~

沉默术士 2019-12-02 01:22:41 0 浏览量 回答数 0

回答

不用花太多时间去学数据结构那东西吧...因为JAVA本身就有这类库,直接用就是了,不用太关心里面,不过对数据结构肯定是要有一定程度的了解才过得去的,不然你知道有类库也不知道怎么用,和何时该用. 当你入好门之后就向JAVA高级一点的应用进发吧,例如:线程开发,WEB编程,数据库开发,GUI的开发等等等 推荐你看<<JAVA语言程序设计进阶篇>>现在是第6版最新了,Y.Daniel Liang著的,内容全面,也合初学者~

知与谁同 2019-12-02 01:23:00 0 浏览量 回答数 0

回答

回顾2009年到如今,区块链技术的火热程度是逐年增加。各大行业巨头也在疯狂布局,势必要上演一场"群雄逐鹿"的商业大战。那这场好戏什么时候上演?有人说就在最近这两三年,还有人甚至说就在今年,2018年区块链将会出现井喷。当然,我们现在还无法做出准确的判断,但是我们可以先做好充足的准备。那么,问题又来了,区块链技术到底要怎么去弄?要用到哪些开发语言?在现在看来,这也许是很多从事区块链程序员的心声。下面整理了四种区块链技术比较主要的开发言语,希望对大家有所帮助。 JAVA开发语言(未来币) 定义:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 .Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。 C++开发语言(比特币、公正通、瑞波ripple) 定义:C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。 GO开发语言(以太坊、IBM) 定义:Go是一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点: 它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。Go是静态类型的语言,它的类型系统没有层级。因此用户不需要在定义类型之间的关系上花费时间,这样感觉起来比典型的面向对象语言更轻量级。Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。 Go是一种编译型语言,它结合了解释型语言的游刃有余,动态类型语言的开发效率,以及静态类型的安全性。它也打算成为现代的,支持网络与多核计算的语言。要满足这些目标,需要解决一些语言上的问题:一个富有表达能力但轻量级的类型系统,并发与垃圾回收机制,严格的依赖规范等等。这些无法通过库或工具解决好,因此Go也就应运而生了。 Solidity开发语言(以太坊) 定义:Solidity是一种智能合约高级语言,运行在Ethereum虚拟机(EVM)之上。它的语法接近于Javascript,是一种面向对象的语言。但作为一种真正意义上运行在网络上的去中心合约,它又有很多的不同。 特别说明:以太坊具有四种专用语言:Serpent(Python启发),Solidity(javaScript启发),Mutan(GO启发)和LLL(Lisp启发),都是为面向合约编程而从底层开始设计的语言。Solidity是以太坊的首选语言,正处于紧张开发中,它内置了Serpent的所有特性,但是语法类似于JavaScript,JavaScript是web开发的常用语言。

问问小秘 2019-12-02 03:07:11 0 浏览量 回答数 0

回答

Go 语言写前端 Web 应用借助的是 WebAssembly 。 那什么是 WebAssembly 呢?它也叫 wasm ,是由 Google、Microsoft、Mozilla、Apple 等几家大公司合作发起的 WebAssembly 是一种新的字节码格式,主流浏览器都已经支持 WebAssembly。和 JS 需要解释执行不同,WebAssembly 字节码和底层机器码很相似可快速装载运行,因此性能相对于 JS 解释执行大大提升。也就是说 WebAssembly 并不是一门编程语言,而是一份字节码标准,需要用高级编程语言编译出字节码放到 WebAssembly 虚拟机中才能运行 。所以,理论上讲只要能编译成 WebAssembly 字节码的高级语言都可以写 Web 应用程序。 而 Go 的前端框架叫:Vugo 。它是一个 Go 语言开发库,可以很容易地使用 Go 语言编写 Web 用户界面。 Vugu: 是一个用于 Go+WebAssembly 的现代 UI 库,受 Vue 和 React 等工具的启发,Vugu 是一个完全用 Go 编写的小型库,可以在现代浏览器中使用 WebAssembly 运行。 官网示例,go 写前端大概是这样的: 创建一个在浏览器中运行的基本工作 Vugu 应用程序,只需要三个小文件即可启动。一个是创建 go.mod 文件,用来指定 Go 模块名称,再创建一个 Vugu 组件文件 ,类似于 Vue 的 .vue 文件一样。最后,创建一个开发服务器代码文件,是一个为你的程序提供服务的服务器。 然后运行一下服务器文件,就可以了,Web 应用程序就跑起来了。 对于这次 Go 语言的强势入侵,作为程序员的你怎么看?但是历史的经验告诉我们,往往什么都想干的,往往都做不好。不知道这次 Go 能否在前端占据一席之地呢?欢迎大家留言,讨论,交流。 我本来打算学 Go 做后台呢,但是还没起步,Go 又打开了前端的大门。当程序员真的是累啊!

有只黑白猫 2020-01-07 17:26:58 0 浏览量 回答数 0

回答

我也是刚刚解决这个问题,不知道现在回答你还晚不晚,但是不管怎么样,我觉得还是回一下比较好。一方面,可能你还没解决这个问题(不过可能性有点小),另一方面,这是主要原因,让后来的的人可以看到这个帖子的答案。在linux系统下可以使用clear命令来实现清屏操作,也就是说,你在用C语言编程时,可以使用system("clear");来实现。

a123456678 2019-12-02 02:15:00 0 浏览量 回答数 0

回答

我也是刚刚解决这个问题,不知道现在回答你还晚不晚,但是不管怎么样,我觉得还是回一下比较好。一方面,可能你还没解决这个问题(不过可能性有点小),另一方面,这是主要原因,让后来的的人可以看到这个帖子的答案。在linux系统下可以使用clear命令来实现清屏操作,也就是说,你在用C语言编程时,可以使用system("clear");来实现。详细信息可以参考这个博客

杨冬芳 2019-12-02 03:06:35 0 浏览量 回答数 0

问题

2018python技术问答集锦,希望能给喜欢python的同学一些帮助

技术小能手 2019-12-01 19:31:10 2040 浏览量 回答数 2

回答

不知道你用的是新浪哪种编程语言的SDK。######回复 @Weststreet : 冒昧了,虽然此贴已久远了,最近要接入一个第三方,它没有提供sdk,请问怎么用java实现Oauth1.0认证?######啊 问题终于解决啦 是我没接受完请求返回的结果 导致我一直以为我的方法不对 今个终于发现啦 谢谢你######回复 @Weststreet : 自己写调用很麻烦的,你的get或post请求要带上请求头head信息参数,具体你可以去http://open.weibo.com/wiki/SDK 下载一个java的sdk看看它的请求怎么写的。######没用新浪提供的Sdk自己用java实现的Oauth认证###### Weibo weibo = WeiboUtil.getWeiboInstance(); Status status = weibo.updateStatus(comment_content);

爱吃鱼的程序员 2020-06-01 11:06:44 0 浏览量 回答数 0

回答

我觉得大多数Java程序员应该都很熟悉linux/unix的环境,毕竟那才是我们的主战场。 Linux上也有很多类似Java Python Mono的程序,这都应该算是Linux编程,与其问怎么做,不如先明确自己想做什么。 我接触GNOME的项目较多,也提交了不少patch,我觉得大家没必要迷信linux,很多GNOME的子项目,开发人员只有1-2个人,无论代码管理还是代码质量都并不高。jhbuild也比maven难用的多。 而且GNOME现在在推广仿照C#语法的Vala语言,你可以选择的路径其实很多

a123456678 2019-12-02 02:49:17 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站