前言
最近学完了javaWeb的基础课程,想比价下:C/C++/java/Objective-C等之间练习.
C++ && JAVA
NONO 严格来说C++和Java没什么直接性的关系。
C++是C发展而来的,C是B发展而来的。而B是BCPL语言写的。C之前的就不说了,C++是1982年贝尔实验室的比扬尼斯卓丝著夫(英文名记不住了哈哈)在C语言上首次加上类的概念出现的,之后加了运行符重载,虚函数等特性,被改名叫C++。
java是1995年斯坦福大学网络公司开发的。至于用什么语言开发的我不清楚。但很肯定不是用C++写的。
如果非要把C++和JAVA联系在一起,只能说是C++生的早,JAVA生的晚,JAVA借鉴了并改造了C++中所有面向对象思维的内容。他们的共同点站在非计算机语言的角度来看,仅仅只是都是面向对象的编程语言。
你可以把两个语言做比较,这样学习起来很全面。但绝对不要把这两个语言联系在一起,绝对不要说是谁在谁的基础上编写出来的。
C++ && Objective-C
Simula67学派主张编程安全,即大部分程序可以在编译时查出,他的支持者声称既然程序设计出色何必再要灵活性,而Smalltalk称为了灵活可以容忍运行时多出错。因此Objective-C和C++的区别就是Objective-C更加灵活而降低了其编译的要求(这个降低并不是说编译就无要求,不会进行类型检查等),而C++提高编译的要求,在编译的过程发现更多的潜在错误,在运行前改正,同时会降低程序的灵活性。因此,在Smalltalk看来正确的程序在Simulr 67那里就无法通过。例如:
对于这行代码:NSString *test =(id) [[NSArray alloc] init];//在编译期间,C++认为是错误的,而OC则认为没有问题。
总之两者的差别主要是因为Objective-C是既支持Dynamic Typing,也支持Static Typing的语言。对于id类型的变量,变量只是一个容器,本身是没有类型的,或者是属于最基本的类型,所以也不需要强制转换。因为编译器不会检查变量的类型是否正确,只是运行时如果类型不正确才会产生异常。
而C++是Static Typing语言,编译时会检查类型,所以必须要加上强制类型转换,否则编译器会报错。
准备
- 新建一个dynamic项目
- 设置web.xml文件
- 设置application.xml文件
- 设置sqlconfig.xml文件
- 配置log4j
学习总结
- 做笔记很重要
- 做好最近的计划
- 将笔记归档
- 及时复习总结,对标计划
网友评论