路遥见人心,日久知马力

博客园 首页 新随笔 联系 订阅 管理
  55 随笔 :: 3 文章 :: 0 评论 :: 10880 阅读

 一、C++、C、Go 中的如下语句:

  struct xxx  s1;

  vector<int> v; (甚至会调构造函数!)

  var ABC someType

   其实会创建一个 能用的 对象!!、之后用他们进行操作基本上没什么大问题

  但是在 Java 里、如果写:

    ArrayList arr;

  但是不去 new 一块内存并且分配的话、一用 arr 就会报空指针错误、这样写是不能用的!!

  所以写多了 Java 代码、写 C系列代码总觉得用栈变量很不舒服、总觉得很危险、不完整、但其实用栈而非堆,可以防止忘了释放指针(Java中随便new、有GC)

  但C++、C中还有个风险就是返回局部变量的指针给外面使用、但这个风险在Go里是没有的、Go又有指针、又有垃圾回收、在确实没人引用某个变量的情况下才会释放、挺逆天的。

  

二、C++、C 导 “包” 比较困难、h、lib、dll基本上是三座大山

  Java可以用maven

  go就离谱了、一个 import 完事了

 三、C++、C 里的“框架”看起来很low、而且根本不像是框架、比如Opengl和SDL、而且数据的类型都千奇百怪(有些人喜欢char数组、有些人喜欢string、每个框架还都喜欢定义自己的宏、枚举、甚至命名方法各式各样:匈牙利、m_xxx g_xxx SDL_xxx 

namespace::    

  总之、C++的代码里奇怪的符号和命名和 API 层出不穷、Go 和 Java 相对好点、但Java里一个类名能长的离谱、也挺恶心的

  而 Go 或者 Java、如果是Web开发、那就关注每个接口怎么写、传入什么、返回什么就行了、根本不需要想太多全局性的问题、程序的难点在于分布式、在于数据库设计、"架构"、在于数据库驱动开发、数据结构是什么不需要你管、数据的存储基本只需要和数据库打交道(你在内存搞个复杂数据结构、其实很少见)

  但 C++ 或者 C 离了数据结构和算法什么东西差不多都没法写。

 

  

posted on   只讲大白话  阅读(204)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示