java引言_Java C++(引言一)
废话连篇
Java和C++都是世界范围内通用的两种语言,关于两种语言之间的差异和优劣的问题从来没有中断过。就差异问题而言,随着两种语言的不断成熟,差异性也越来越明显,各个大神都有各自的见解和说法,在这里我就不再赘述。就语言的优劣性而言,我认为语言之间没有优劣性而言,相信很多程序员的认知也是一样的,要不也不会有‘PHP是世界上最好的语言’这种无伤大雅的玩笑了,当然不可否认PHP确实是一门非常好的语言。其实我感觉任何语言之间都是有相通性的,无论一门语言被设计出来做什么,无论其编码风格,结构设计,都脱离不了‘以人为本’这个目的。
好了,废话不多讲,接下来直入正题。
设计思想
就C++和Java而言,C++的设计能够让人更好的理解计算机,也能让计算机更好的理解人。当然,C++作为C的一个超集,为了向后兼容C,使语言本身的复杂度大大的增加,程序员在使用C++的时候不得不去花很多的时间去理清楚这层关系。但是这并不妨碍C++的效率性,反而为C++获得更高的效率提供了很大的帮助,一个好的程序员能够借助这些特点设计出很优美的程序,大大提高程序的执行效率和使用范围,当然这对程序员本身的要求是非常高的。这点在我看来,C++相对于Java来说,确实是要优美的多。
C++和Java都是一种杂合语言。之所以不说二者都是面向对象语言,是因为二者都不是纯粹的面向对象语言。(C++要向后兼容C的设计使得C++不是一个完全面向对象的语言。Java的八种基本数据类型和Java兼容C的设计,也使得Java不是一个纯粹的面向对象的语言,当然Java对八种数据类型提供了封装类,这点不说了。)但是面对Java时并不妨碍我们以一种绝对的面向对象的思想去考虑一个问题。Java的设计特点就是程序向自然万物的延伸,万物皆可被当作对象来看,缺什么程序员就创造什么。所以也有一种说法‘Java是一系列对象的集合’,这种说法确实没错。这种思想上完全面向对象的设计确实给Java带来了很大的便利,程序员不需要像在C++中一样考虑那么多关于程序底层的问题,上手非常快,所以选择Java作为第一语言的人非常的多。
物质守恒
在我看来,物质是守恒的,程序也一样需要考虑资源枯竭的问题。Java的程序员就像是一个造物主,程序本身是造物主的领地,领地内缺什么造物主就补充什么,不需要考虑资源枯竭的问题,因为程序底层的设计就是资源守恒的,没有用的时候就自动回收再利用。而C++的程序员则更像是一个领主,C++的程序本身是领主们的上帝,程序员想要改造自己的领地时需要向上帝申请资源,程序员用过这些资源后,必须还给上帝,保证上帝的资源守恒。
这一段说得比较绕,其实简单点就是垃圾回收和内存分配的问题。C++创建一个对象需要合理分配内存,分配存在时间。而Java完全不需要去考虑这两者,一切都可以自动完成,当然这样牺牲了很多效率,这也是Java执行效率低的一个主要原因。
有人说Java像是一个高配自动挡的汽车,开着舒服。C++像是全能手动挡的汽车,让人体会到操控的乐趣,就上面这两点来看确实是这样。
……未完待续……
java引言_Java C++(引言一)相关推荐
- 从0开始学java视频_Java全套学习视频放送,从零开始一步步掌握Java技能!
在近几年,Java技术岗的工作需求随着时代的发展而越来越大,这个岗位不仅让众多人眼红,也是很多企业正常运行的一个关键所在,大部分人都想跳槽转型做Java程序员,那么想要做一名合格的Java程序员,少不 ...
- java 并_java并发编程(一)
java并发编程(一) 引言 多线程的知识点是一个庞大的体现,对此也是一知半解.一直想系统的深入的学习多线程的知识,奈何一直没有找到机会,好吧,其实就是懒.最近在项目中接触到一个多并发的项目,在项目中 ...
- 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇
马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...
- 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)
黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...
- Java 贪吃蛇游戏引言
欢迎关注公众号: 贪吃蛇小游戏是一款十分经典的小游戏,适合用于新手的练习,花了近两个月的时间,终于可以运行出比较完善的贪吃蛇了,相比于CSDN中的大神,花个几天的时间就可以做出Java版本的贪吃蛇小游 ...
- java 和%_java% c
javac不是内部或外部命令,但是java.java-version指令正常 javac不是内部或外部命令,但是java.java-version指令正常 今天遇到这个问题,云笔记博客同时Mark一下 ...
- 普罗米修斯监控java项目_java学到什么程度可以出去实习?
把基础的知识学完,然后再学个框架,比如常见的SSH,SSM之类的,自己能用这个框架做个简单的项目,就可以了 简单的来说就是把下方的视频教程学完就可以找工作了(需要完整的资料可以找up) Java零基础 ...
- Ajax接收Java异常_java – 处理来自Servlet的Jquery AJAX响应中的异常
我的servlet代码是 try{ //something response.setStatus(201); out.print("Data successfully saved" ...
- java 原子量_Java原子量 - Rickxue的个人空间 - OSCHINA - 中文开源技术交流社区
所谓的原子量即操作变量的操作是"原子的",该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前,可以通过vola ...
最新文章
- c语言文件fputs和fgets,文件的读写问题,fputs和fgets问题!!!!
- .NET 4.6的RyuJIT编译器中又发现两个严重的Bug
- CTFshow 命令执行 web54
- 5-1 Django的路由层(urlconf)
- BZOJ 4819 Luogu P3705 [SDOI2017]新生舞会 (最大费用最大流、二分、分数规划)
- 数据结构与算法——哈希表与字符串
- sizeof,strlen用法详解
- 学用软件:laTex软件初体验
- mosquitto源码分析(五)
- RDP协议详细解析(三)
- AttributeError: 'Request' object has no attribute 'is_xhr' 报错的解决办法
- 从1亿个ip中找出访问次数最多的IP
- 第二篇: Silverlight -- 下载与安装
- php 获取301跳转后真实的url
- 九度OJ 1050:完数
- VS Code彻底卸载已安装插件
- 什么是网桥?何为网桥?防火墙的端口防护是指什么?
- Excel if及ifs函数用法
- 钢材缺陷检测系统-ui界面
- 【算法leetcode每日一练】266. 访问所有点的最小时间
热门文章
- Struts2 s:iterator 用法
- 两个整数集合的交集 ———— 腾讯2014软件开发笔试题目
- CGI、FastCGI和php-fpm的概念和区别
- 杂项-Server:Serv-U
- Gradient Boosting Decision Tree学习
- 跨站脚本攻击之反射型XSS漏洞【转载】
- SQLServer中Case when的一个意外问题
- 大数据_Flink_数据处理_流式数据源测试---Flink工作笔记0010
- 大数据之-Hadoop本地模式_执行Grep官方案例---大数据之hadoop工作笔记0021
- Netty工作笔记0010---Channel应用案例1