一、关于跨平台问题。
这点我未深入研空,只谈谈我的感觉,我感觉Java/C#的跨平台实际上是个比较巧妙的骗局。因为它们的跨平台性还是要某个厂家或厂家联盟的支持,这种平台不过是通过在不同的“硬平台”基础之上设置一个接口统一的“软平台”,这梓表面上是跨越了“硬平台”,实际“软平台”的限制仍是无法跨越的;或若厂家未生产某一“硬平台”的“软平台”那这个“硬平台”你还上跨不上去的。真正的跨平台技术是互联上的“htm/xml”,这是目前任何厂家无法据为己有而又不得不遵守的标准。
二、关于指针问题。
C#/Java 借鉴了C++,但去掉了C++的双刃剑——指针(当然不是完全去掉,在某种形式下还是可以用的,或者在使用时受到了比较大的限制)。于是关于C#/Java、C++的优劣问题往往围绕着指针展开,“用C#/Java,还是用C++”对于许多C/C++程序员来说,就象哈姆雷特的“是生存,还是死亡”让人踌躇徘徊。其实指针的使用与否,其本质就是内存的分配、访问与释放权由谁掌握的问题。
使用指针,由程序员根据需要分配、访问内存,程序运行时动作明确直接没有额外的处理步骤,程序的执行效率就高,但若程序员忘了释放内存或释放内存的策略不够周全,就会产生不可预知的问题,而且这种问题往往是比较严重。
不使用指针,并不意味着内存的分配、访问与释放不须处理,只不过是这些工作由编译器生成的通用“内存管理器”完成了,因此程序执行时,必须增加额外的内存管理动作,所以执行效率相对上种方式而言有所下降。由于“内存管理器”的运作是基于业内专业人士制定的比较完善内存管理机制,因而安全程度较高。但实际上,由于内存的分配、访问、使用、释放的情况比较复杂,这种安全性并不是100%的。也就是说安全的保证是由“另外的人”负责的,这种情况下,一旦出现问题,你无法查清问题所在,或即使你查清问题所在,也无法纠正。
好了,关于指针,一边是100%的效率、60%的安全性、100%的自由,一边是60%的效率、99%的安全性、100%枷锁,你选择吧。我想对于“高手”而言,自信也罢、固执也罢,选择指针是他们骨子里自由与冒险精神的决定。
“是生,是死——这是一个值得考虑的问题。”——但不要丧失了行动的能力。
文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/3_program/c++/cppsl/2008520/117228.html
分享到:
相关推荐
C++/java/C#语言的AES加密解密。纯C++代码开发,没调用API库,可以对它进行打包到各种终端下。
c/c++/java/c#程序员必备手册 api
C++ java C# SQL 面试题 答案 asp .net Oracle MySqL。绝对够全面。想要更多 邮箱hoho_w@yeah.net
java 调用DLL的方法,使用教程http://blog.csdn.net/pplcheer/article/details/52234697
Java to C# Converter 转换的效果很好,我实在是没有分了.收1分吧. Demo版的只能转换 试用演示版的Java文件夹转换到C#转换器2000行的代码片段转换到200行一次。 官方网站 ...有需要其他转换器的可以给我留言,我可以...
c++ 转换 java (试用版) c++ 转换 c# (正式版)
找了很久; 使用方法: 将.dll(一般是unicode版本)放入(Notepad++安装位置)/plugins下面,重启就行;...后缀名要改为C/C++/C#/Java这几种语言格式的后缀才能实现自动格式化效果,如果是.txt就会有提示; Enjoy it!
熟话说,不动笔墨不读书,尤其是学习编程,写过的东西一定要...语法高亮:支持目前主流编程语言,如java、python、c#、php、vb、c、c++等等编程语言语法高亮,同时支持深色主题和浅色主题 分类管理:支持代码分类管理
免费软件,可自动分析C/C++/Java/Python/C#/Objective-C等项目的源代码并生成流程图和函数调用关系图。生成的流程图可以和源代码互相定位,有助于分析源代码,是阅读其他人写的代码或者自己很久前写的代码的利器。
基于最新版的AStyle(最好的源代码格式化)制作的源代码格式化工具,支持C、C++、C#、Java。使用方便,操作简单,界面还可以选择皮肤,单文件也能执行,支持源代码批量格式化和多级目录格式化,也可以忽略扩展名,...
今天小编就为大家分享一篇关于C++/JAVA/C#子类调用父类函数情况总结,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
Tangible Software Solutions 是功能齐全的源代码转换软件,可在 VB.NET、C#、Java、C++和Python之间,使用简单,功能丰富,灵活的进行选择和操作,界面友好。 C# to C++ 转换 C# to Java 转换 C# to VB 转换 C++ ...
公司有用C#写的AES代码 又有用JAVA AES CBC PKCS5Padding 加密的 但对于由JAVA AES CBC PKCS5Padding 加密的数据C++解密的资料极为稀缺 故本人找到了一些资源 同时改写了一些填充方式 使得与JAVA C#兼容 VS2010 测试...
C++和Java是当前最为流行的编程语言,而C#是微软新近推出的编程语言。对 这三种语言进行比较和鉴别,不仅有助于编程人员对它们的特点和应用有所把握,而且可以根据它们各自的优劣在编程时有所选择,更好地实现自身的...
代码行统计,针对各种主流开发语言均可使用,C/C++,C#,Delphi,Java等
C++,C#,Java,Python实现简单的图形用户界面的区别和方法
讲解C++如何调用C#,JAVA的方法,这种方法在网上很少看到的哦,如果你正为此发愁,相信这个能帮助你。
是C、C++、VB、Java还是C#?许多初学者对C、C++、VB、Java,c#,还不够了 解,也见到网上许多关于这些语言的争执,也有人问我它们之间有什么区别,那个最好,那个最……等等 ,我今天在网上查了一些,粘到了word中...
最全面试笔试整合(+C++C+++Java+C#+等),微软,谷歌等大型公司笔试题
我们该使用何种编程语言?是C、C++、VB、Java还是C#?许多初学者对C、C++、VB、Java,c#,还不够了解,也见到网上许多关于这些语言的争执,也有人问我它们之间有什么区