大家好,今天小编关注到一个比较有意思的话题,就是关于java设计语言的问题,于是小编就整理了5个相关介绍Java设计语言的解答,让我们一起看看吧。
- java是从什么语言改进重新设计的?
- java属于什么专业?
- 如何学好java语言啊?
- 朋友们,软件开发分好多种呢?比如C语言,C++,PHP,UI设计,WEB前端开发,JAVA,and?
- 有人说设计模式是为了弥补Java语言的缺陷,你觉得是这样吗?
JAVA是从什么语言改进重新设计的?
Sun公司的James Gosling领导的绿色计划(Green Project)开始着力发展一种分布式系统结构,使其能够在各种消费性电子产品上运行,他们使用了C/c++/Oak语言。由于多种原因,绿色***逐渐陷于停滞状态。从而j***a诞生。我觉得j***a语言应该更像C++我说的是语言特性,不是指后来web开发
后来J2EE与C++那就远了,如果从语法基础上讲应该更像C++。我也不知道对不对!
j***a属于什么专业?
j***a属于计算机专业。
因为j***a是作为软件开发的后台应用语言,是面向对象程序设计语言,在计算机开发语言中排第一位,不仅吸收了c++的语言特点,还摈弃了很多难以理解的多继承,多指针等概念,他具有功能强大和简单易用两个特征,极好的实现了面向对象理论。
如何学好j***a语言啊?
首先,的自己需要有一份系统的课程,能帮你建立知识体系的那种,网上那种零散的就略过吧!
其次,自己要有恒心,能够坚持学下来。
第三,最好有人给你答疑解惑,这样会大大提高你的学习效率。
不过我还是想给你推荐个学习资料,百战程序员的J***A300集,我们上学那会儿老师推荐的,入门学完全OK,因为课程设置不错,讲的都是企业用的技术,学完就能直接敲代码,我现在已经把他们系统的课程学完工作了,15k[害羞]对于一个刚毕业的学生来说很满意了呢。不过学习过程中,我自己也不记得敲了多少行代码了[捂脸],总之有一套完整的课程,加上老师答疑,最需要自己付出努力,就能得到满意答案!你也加油(ง •̀_•́)ง
朋友们,软件开发分好多种呢?比如C语言,C++,PHP,UI设计,WEB前端开发,J***A,and?
C++属于软件开发的,学这些一般是到软件开发公司做软件程序员!
PHP和
.net
大部分是WEB后端的开发,一般是到网络开发公司做程序员,或者做系统维护、运营!UI设计,WEB前端开发,这个一般就是设计师,到网络公司做网页设计师,淘宝美工、网站编辑!
J***A,android,ISO主要是开发或手机端项目开发,一般是APP开发公司或网络公司,主要职位是编程人员或系统设计人员!
有人说设计模式是为了弥补J***a语言的缺陷,你觉得是这样吗?
这么说的人是没啥编程思想的。一个语言自然有其特点的,高级编程语言除了易用,上手快,基础库强大等特点,还有就是使用的人群要多,社群活跃。J***a开源易上手,健壮跨平台等特点吸引了大量的开发者。而语言毕竟是个工具,以后可能还会出现比J***a语言更强大的工具,就好比J***a是在C、C++基础上发展来的一样。
但一些思想性的东西是会一直照亮人的思想的,设计模式就是此类,它是前人总结的编程思想的精华,是给你我指出设计代码结构的解决特定问题的模式。我个人认为这种思想性质的内容一百年都不会改变多少,J***a能用这类模式写代码,Python一样也能用,语言只是工具,编程思想才是精髓。
作为一名专注于[_a***_]领域的程序员,我来回答一下你的这个问题。
我引用Steve Yegge在《程序员的呐喊》中关于设计模式的一段评论:
设计模式提供了23个漂亮的盒子,帮你整理你的衣柜,外加一系列扩展机制,好让你自己定义新盒子。对我们这些衣柜像狗窝一样,几乎没有盒子、袋子、隔板或者抽屉的人来说,设计模式真是大救星。我们只要改建一下屋子,把衣柜扩大4倍,眨眼之间它们就能变得和百货商店的货架一样干净了。
。。。
然而,设计模式本身不是特性。工厂不是特性,委托、代理、桥接也都不是,它们只是提供了漂亮的盒子,以松散的方式来转载特性。但是别忘了,盒子、袋子和隔板自己也是要占用空间的。设计模式也不例外。
变大是J***a中无法回避的东西。J***a就像是俄罗斯方块,不过积木和积木之间的空隙都填不满,结果只能越堆越高。
虽然《设计模式》的写作是对广大程序员的一记响亮的耳光——***设这个世界上只有C++和J***a程序员。
J***a语言虽然使用率高,但是其本身是有一定的缺陷的,就是啰啰嗦嗦。
有时候真的觉得J***a是一个啰啰嗦嗦的女朋友。一个简单的功能,就比如hello world,她也要整出一大坨代码才能在控制台中输出这十个广大程序员熟悉的字符。
看你从哪个层面来看待设计模式!
如果你从语言层面来看设计模式,那么这个说法可以说是对的。有部分设计模式是弥补了J***a语言上的不足,最明显的就是单例模式。
在J***a中本身没有提供单例对象的创建,需要通过单例模式来实现,什么饿汉式,懒汉式,多线程下还要关注DCL,volatile关键字等等,衍生了很多的面试题。
而在现代语言中,很多都提供了创建单例对象的语法,比如Scala,Kotlin的object关键字。
如果从代码设计层面来看,设计模式提供了一套可复用的代码结构,来解决特定问题。比如,当需要动态化某些可选部分时,可以使用策略模式。当需要一组操作来顺序操作某个对象时,可以使用职责链模式。
***设我们要实现一个文件服务器,有一个UploadService来进行上传操作,可以调用ConvertService对文件进行转换。UploadService属于核心模块「上传模块」,而ConvertService属于非核心模块「转换模块」。
如果UploadService直接去调用ConvertService来执行转换,那么核心模块就依赖了非核心模块。如下图:
非核心模块是相对不稳定的,核心模块是相对稳定的。核心模块依赖了非核心模块会导致核心模块也不稳定。所以可以使用策略模式来解耦:
到此,以上就是小编对于j***a设计语言的问题就介绍到这了,希望介绍关于j***a设计语言的5点解答对大家有用。