zoukankan      html  css  js  c++  java
  • C++/C#/java开发支持求解

    本人大一学C语言,大二学VB,大三学VC,毕业后工作前两年用C++,接着两年用C#,最近几个月Android开发用Java。

    以下本人总结以下,有些疑惑希望大师帮忙解答。

    1. C语言,精简,灵活,适合底层,编码相对大多数高级语言,比较原始,所以构建大项目,如果没有大量代码库储备,工作量非常大,性能高,开发效率低。

    2. C++,引进了面向对象,又长期存在,所以基础库比较多,比如STL等等,语言的表现力非常强。即面向底层、系统层,又能高级UI开发,个人感觉,最好的语言。缺点是发效率相对稍微差一点点,一点而已,同时C++庞杂,学习稍微困难点。

    C/C++最大的优势是直接操作内存,对效率性能非常非常有帮助,而且数据类型内存级强制转换、段域等,对数据类型转换,内存处理相对方便。而C++在此基础上支持面向对象,又有大量开发库支持,太好了,我喜欢。

    3. C#,用了一两年,只用了C/S、WinForm方面,开发效率高,UI开发、事件委托机制、属性机制等,比较系统,比较高级,命名、类库结构等等是学习的典范。

    4. Java,用了3个月,只是在Android使用,所以没接触java几大框架。

    C#/Java主要特点是屏蔽了内存操作、引进了一些近几年的新概念,增强了语言的表现力。表现力强了,计算机描述问题就简单了些。剥离了内存操作是一大遗憾。

    C#作为强大支持的微软,其整个C#领域,从设计、实现、小到命名规则、大到强大基础库支持,都是学习的典范。

    Java优势就是开源和跨平台,开发平台搭建麻烦点,各个实现都要涉及多方面拼接,完全没有C#的完整性。Java本身类库支持的远远不够,比如Data类,字节转换类,比如一些(线程安全)队列等等。似乎Java提倡一切从头构建?难道我理解错了?为什么很多想使用的机制或者类库,在java没找到。

  • 相关阅读:
    【leetcode】1215.Stepping Numbers
    【leetcode】1214.Two Sum BSTs
    【leetcode】1213.Intersection of Three Sorted Arrays
    【leetcode】1210. Minimum Moves to Reach Target with Rotations
    【leetcode】1209. Remove All Adjacent Duplicates in String II
    【leetcode】1208. Get Equal Substrings Within Budget
    【leetcode】1207. Unique Number of Occurrences
    【leetcode】689. Maximum Sum of 3 Non-Overlapping Subarrays
    【leetcode】LCP 3. Programmable Robot
    【leetcode】LCP 1. Guess Numbers
  • 原文地址:https://www.cnblogs.com/fyhui/p/3302633.html
Copyright © 2011-2022 走看看