脚本语言,面向对象语言,面向并发语言-杂谈

我 15:40 我看python写的是初学者的语言 这个有几层含义呢 是这个语言不够强大么? 永神 15:41 嗯 我 15:41 还是说这个语言简单易学? 永神 15:41 比较简单 应该是脚本类的语言 肯定不如JAVA C++强大 一般程序员,拿来作为一个辅助的技能 而不是专门作为一个职业 我 15:42 那java这些算什么语言啊 高级程序开发语言? 永神 15:42 JAVA啊,面向对象语言,是一个体系 高级程序语言指的是对计算机来说高级 我 15:43 那linux的shell呢?和python一样也是脚本语言? 永神 15:43 就是像汇编语言,就是低级的 计算机易理解的 但是对人类来说反而是高级的难懂的 我 15:44 高级和低级最本质的区别是计算机理解的难以成都? 永神 15:44 嗯 maybe,大学老师跟我们这么讲的 我 15:45 脚本语言对于计算机来说也是易理解的么? 永神 15:45 不易理解 我 15:45 那为什么脚本语言对于人类来说比较低级呢 永神 15:45 脚本语言一般是指编写快速,简介,但是执行效率一般不高的语言 我 15:45 +o(这样啊 永神 15:46 脚本语言的特点是无法做成继承性的大的系统 我 15:46 是不是脚本语言一般都不会用来写程序? 永神 15:46 只能是一个功能模块,一个功能模块 我 15:46 哦哦 永神 15:46 比如写一个shell一般就是干一个很小的事 我 15:46 比之前明白多了 永神 15:46 把他们连起来,就比较费劲,维护成本也高 我 15:46 哦哦 永神 15:46 JAVA的话,就是很多文件组成一个系统 C++也是 我 15:47 那c#呢 是不是也和java一样啊 永神 15:47 对C#也是 C#微软抄的JAVA 跟JAVA非常相似 我 15:48 oo,那这种高级编程语言是不是只有java,c#,c++和c啊? 永神 15:49 不是 我觉得除了汇编语言 二进制的机器语言 其他应该都是高级语言吧 我 15:49 那成体系的面向对象语言呢? 永神 15:49 人编写的,都是高级程序语言 对 差不多 我 15:50 oo~ 比之前明白多了,嘻嘻 永神 15:50 这个界限不好划分 现在还有很多其他的新兴语言 也是可以单独拿来做一个系统的 我 15:51 例如呢 永神 15:51 我觉得划分界限,就是纯靠一种语言是不是能够实现一个系统所有的功能 而不是依赖于其他的 大牛曾经吹嘘的golang啊 我 15:52 golang这个语言,我听说过 但是没学习过 永神 15:52 还有erlang 我 15:52 还真是没见过golang实现的东西 永神 15:52 这俩都是号称面向并发的语言 我 15:52 +o(好复杂 面向并发是什么啊 永神 15:53 并发性能高 一个服务器可以连接上百个客户端 上百万 我 15:54 性能高,这个是靠语言来实现的么?不是靠系统调优来逐步优化的么 永神 15:54 不是 一般底层都是C 但是C台底层了,构建一个项目,程序员开发太慢 所以这些语言都向上在封装 形成新的语言 我 15:55 然后这些语言都封装好了 这样的话,性能就是靠这些语言自行封装的情况来提升的了? 永神 15:56 对 我 15:56 谢谢永神 永神 15:56 不同语言都有自己侧重的方向 有的就是要求简单,编写快 有的就是要求性能高 有的要求扩展性好 我 15:57 脚本语言就是简单,编写快的 永神 15:57 对 我 15:58 面向对象就是扩张性好?面向并发就是性能好? 永神 15:58 C++性能好 erlang并发高 并发高的可能就是专门对网络连接层的封装做到极致 但是C++ JAVA这种会兼顾更多的方向 我 15:59 这些都是语言产生时就已经设定好的?还是在后来应用的过程中被发现的啊? 永神 16:00 JAVA相比C++主要就是内存管理,不用程序员搞了 所有JVM调优啥的,也基本是调内存管理相关的 设计的时候就是朝着那个方向去的 我 16:01 是不是java的调优基本就是内存管理的调优啊? 永神 16:01 其实我就搞过一门语言JAVA 其他的也不是太了解,很可能误导你 我 16:02 但是你知道的多 没事,总比我不知道的好:P 永神 16:04 JAVA运行慢,耗内存 都是JAVA本身语言设计就是这样的 因为JVM自己回收内存 用完了的对象,不敢轻易回收 就堆在那 我 16:05 那就是脚本语言更适合做工具,java这些语言适合做系统? 永神 16:05 来回的监控好几轮 从这区到那区,最后确定了程序真的不用这块内存才回收 因为回收是分区域的,担心回收过程中有新的垃圾产生,就必须stw一下 就是stop the world 程序暂停个几十毫秒 回收完了继续跑 我 16:06 这样子啊 永神 16:07 主要是为了解放程序员 JAVA为什么这么流行 JAVA起源于C++ 但是C++写起来实在是太慢 我 16:07 那方面啊?编写速度? 永神 16:07 各种内存管理让程序员焦头烂额,稍不留神还内存泄露 对 我 16:07 哦哦 永神 16:07 编写速度 我 16:08 java就不会存在内存泄漏么? 永神 16:08 当然JAVA还有一个优势是跨平台 JAVA会 泄露了就是sun公司自己的程序有bug了 就是JVM有问题,JVM也是C++写的 以前的版本,有很多bug都是JVM内存泄露的 不过随着JVM版本不断修复更新,基本上现在发布的正式版,很少有这些问题 我 16:09 那除了修改java自己的bug之外,还有办法能修复java语言编写程序的内存泄漏问题咩? 永神 16:10 JAVA程序的bug是程序员的问题,JAVA语言大的问题,只能等sun来修改 不过也没啥问题 我 16:10 哦哦 永神 16:11 因为每个版本放之前都要测试100遍100遍的 而且,最新的的版本放出,总是要经过1两年的验证,才敢在生产环境用

时间: 2024-12-19 17:40:42

脚本语言,面向对象语言,面向并发语言-杂谈的相关文章

结构化和面向对象语言的区别

Java语言是一门面向对象语言,C语言是一门结构化语言.而它们的区别在于结构化编程 是一整个时间为主,在将其分为一个个的小函数写出来:而面向对象语言试讲一个程序中的对 象拿来做文章,用代码来描述这些对象,从而完成整个程序.这个也是Java语言相对于C语言 更受程序员喜欢的原因.它减轻程序员的代码量. 了解到这些后我们就该了解如何实例化一个对象.它的形式是这样的: public class Employee{} 总共有3个东西:访问修饰符.数据类型和对象名称.

两周自制脚本语言-第9天 设计面向对象语言

第9天 设计面向对象语言 目标:为Stone语言添加类和对象的支持.仅支持单一继承 9.1 设计用于操作类与对象的语法 添加的类与对象的处理功能后,下面的Stone语言就能被正确执行了 class Position { x = y = 0 def move(nx,ny) { x = nx; y = ny } } p = Position.new p.move(3, 4) p.x = 10 print p.x + p.y 首先定义一个Position类,方法由def语句定义.类中字段通过变量表示,

C语言是一门面向过程的编译型语言

C语言是一门面向过程的编译型语言,它的运行速度极快,仅次于汇编语言.C语言是计算机产业的核心语言,操作系统.硬件驱动.关键组件.数据库等都离不开C语言:不学习C语言,就不能了解计算机底层. 这套「C语言入门教程」由站长亲自执笔,将多年的编程经验灌输其中,典型的实践派.这部教程已经发布了 5 年,经历了 5 次大改版,既适合初学者入门(学习语法),也适合程序员进阶(学习底层). 学习C语言,除了要学习语法,还要学习内存.字符编码.调试技巧以及编程思维,这些知识点本教程都做了详细讲解. 原文地址:h

用C表达面向对象语言的机制——C#版

http://www.cnblogs.com/bitzhuwei/p/Write_CSharp_In_C.html#_lab2_2_0         大才!         支持(0)反对(0) 回复引用 #2楼 2013-10-08 11:57 E8software         谢谢分享.顺便,楼主,我把你关注了.         支持(0)反对(0) 回复引用 #3楼[楼主] 2013-10-08 14:04 BIT祝威         @E8software谢谢关注!        

面向对象语言成员变量方法可见性在继承中的变化

最近做得的有点杂,接触到几种面向对象的语言,C#,C++,JAVA .在一个情景下,软件的框架已经写好了,我们要对其功能实现增加和修改,这种情况是经常发生的,那么在面向对象的程序设计中我们要怎么做呢.我们都知道面向对象语言有几个特点,多态,封装,继承,既然框架已经写好了,我们修改功能可以考虑用继承的方法去实现新的功能,那么这样做对原有的功能会有影响么?这就涉及到成员变量成员方法可见性在继承中的变化了. 首先,我们看C++ 派生类通过继承,将基类的成员作为自己的一部分,但不同的继承方式导致基类的成

面向对象语言的多态性问题

一直以来在我们所见到的概念中,面向对象语言有三大特性:封装性.继承和多态. 封装性: 在面向对象的语言中存在有类的概念,因此实现了数据和行为(方法)的封装,在外部表现为统一的类或对象.在类的外部要访问类的公有成员(私有成员通过类或对象也是不能访问的),必须通过类名或对象来访问. 继承: 类的继承是在现有类的基础之上创建新的类,实现了代码的重用,并且扩展了现有类的功能的机制.关于继承方面,有的语言支持单继承和多继承(如C++),但有的语言只支持单继承(Java语言). 多态: 多态是程序设计语言的

面向对象语言的特点

---恢复内容开始--- 1.面向对象思想:万物皆对象,面相对象是更加符合人类思维模式的软件编程思想,比较简单,而且扩展性好. 2.拥有相同(或者类似)属性和行为的对象都可以抽像出一个类,类就像图纸,对象就是根据图纸制造出来的东西,实实在在存在的. 3. 类的设计,只关心3样东西: 事物名称(类名):人(Person) 属性:身高(height).年龄(age) 行为(功能):跑(run).打架(fight) 4.使用对象调用方法就是OC中的消息机制 5.面向对象语言的3大特点 封装性:封装性就

面向对象语言的缺点

刚开始接触java时,首先了解到的就是面向对象语言的四个基本特征 抽象 继承 封装 多态 以及一大堆面向对象语言的优点包括代码重用,权限控制,易扩展,开发效率高之类的,其实面向对象语言从诞生之日起就一直伴随着许多的缺陷,包括并不限于以下几点: 一.大大增加了代码量,包括非常多的冗余代码 对于面向过程语言来说,编程时需要哪些变量和方法就只编写这些变量和方法,而对于面向对象语言来说,每次无论你要使用什么都要先写一个类,并且每一个类都要有独立的变量和方法,这样就会造成可能很简单的问题也要很多的类代码,

面向对象语言的特征:封装、继承、多态

1. 面向对象语言的特征主要包括:封装:隐藏内部实现继承:复用现有代码多态:改写对象行为 1.1  封装封装是一种信息隐蔽技术,它体现于类的说明,是对象的重要特性.封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能见到对象的外特性(对象能接受哪些消息,具有那些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的.封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象.