.net, java, c/c++ 和钱

记得刚开始写代码的时候自己也有过纠结的时候,纠结的是如何选择,.net, java, c/c++我该学哪个,那个时候正式java强势的时候,好像大家都认为java是万能的。人都不愿意自己的学习投资浪费掉,都想学一个入流的语言,当时的网络上面也和现在一样充斥着语言之争,新手好迷茫,因为每个人都说的小有些道理。

如果在今天还有人写语言之争,我看到最想说的一句话就是:太年轻。
为什么非要有语言之争呢?你是单细胞么?主流语言之间根本就不是单选题,只有都看透了,站在一个相对高的位置才能更好的解决问题,对,没错,我说的是主流的语言都值得学习,.net, java, c/c++,python, shell..,因为对于不同的问题,不同的语言可能有其独特的优势,写代码的本质是解决问题,至于语言,那都是必修课。站在一个高的角度看编程语言只有大同小异,当然在这里我不是否认不同语言之间的差异,它们之间可能有很大的差异,以至于我们要通过学习去了解他们,但是也不至于说我们要去单选,要有你没我。

下面小谈一下差别:

.net\c# -- 由于是建立在微软COM之上,确实适合快速开发,写应用程序,原因是微软为你做的太多了,举个例子:

比如最开始C#判断系统是不是64位最开始的代码要这样写:

复制代码
 1         static bool DoesWin32MethodExist(string moduleName, string methodName)
 2         {
 3             IntPtr moduleHandle = GetModuleHandle(moduleName);
 4             if (moduleHandle == IntPtr.Zero)
 5             {
 6                 return false;
 7             }
 8             return (GetProcAddress(moduleHandle, methodName) != IntPtr.Zero);
 9         }
10         
11         public static bool Is64BitOS()
12         {
13             if (IntPtr.Size == 8)  
14             {
15                 return true;
16             }
17             else  
18             {
19 
20                 bool flag;
21                 return ((DoesWin32MethodExist("kernel32.dll", "IsWow64Process") &&
22                     IsWow64Process(GetCurrentProcess(), out flag)) && flag);
23             }
24         }
复制代码

但是在经过.net framework 的封装之后下面一条语句就搞定了:

Environment.Is64BitOperatingSystem

微软让生活美好多了,但是其内部的实现估计还是大同小异,这样因为微软封装了复杂性,所以可以让有些工程师可以在不太了解原理的情况向去完成工作,降低了开发难度,提高了开发效率。但是相比于java,.net的跨平台性一直是个鸡肋,相信大家在做不同的事情的时候该知道如何选择了吧。

java -- 语法上和C#大同小异,坊间流传他们之间有互相借鉴之嫌,但是java的开发门槛相对C#确实少显复杂,同样,原因还是因为微软,微软的visual studio做了好多脏活,累活,而这些在java开发是可能都要手动去配置,去选择各种应用服务器,各种框架,因为经常需要去折腾,所以java工程师可能会知道的设计模式,服务器配置方面的东西更多些,但是这些东西也都是语言无关的,看透了都一样。

c\c++语言 -- 在我看来c\c++是相对底层的语言,底层也就意味之自己需要做的事情更多,没有.net那么多的封装,也就是说要求工程师知道的相对更多,我所知道的在windows 上面用c\c++写系统软件,驱动的工程师大都也能写C#,反过来的情况不多。虽然业界鼓吹的java的跨平台性,但是我始终认为一切都是有代价的,为了跨平台,可能好多特性只能取交集,c\c++写的代码只要做相对小的移植,跨平台性也不难做到,当然我的前提是你知道自己在做什么。另外,还有一点不得不提的是用C#和java写的代码在安全性方面确实比写c\c++更容易,现在我看好多人写的c++代码,我特想去问一句, 你×××知道自己在干什么吗,别人随便写几行代码就得到你软件的控制权了,太可怕了,小伙伴们。

下面说说编程语言和钱的关系

我从来都不认为这是个绝对的关系,好多时候你能拿多少钱不是你的代码能力决定的,其他好多的软实力往往起着决定性的作用。比如语言,英语好的朋友即使技术一般也很容易找到高工资的工作,再比如,数据库,AD,OS,算法,设计模式,UML,这些软实力在特定的位置上拿高工资是很常见的事情,所以说你赚多少钱完全体现的是一个综合实力,某个单项只能加分,全面发展才是王道。


结论

高处不胜寒,学就是了,何必去管纷争..

学习Java的同学注意了!!! 
学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:286945438 我们一起学Java!

转载于:https://my.oschina.net/abcijkxyz/blog/851470

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在VSCode中配置C/C++环境并在Mac上进行开发,可以按照以下步骤进行操作: 1. 首先,在Mac自带的终端中输入`xcode-select --install`命令来安装Xcode工具。这将安装所需的编译器和开发工具。 2. 安装VSCode以及必要的插件。打开VSCode并搜索安装C/C++插件,例如"C/C++"或"Code Runner"插件。这些插件可以提供代码编辑、编译和调试的功能。 3. 确保您已经安装了Java并具备运行Java程序的环境。Java是一种编程语言,适用于互联网的分布式环境。使用Java编写的应用程序可以在不同的平台上运行。 4. 确保您已经在VSCode中安装了Java插件,该插件可以提供Java开发所需的功能,例如代码编辑、编译和调试。您可以在VSCode的插件市场中搜索并安装Java插件。 5. 配置VSCode的launch.json文件,该文件用于设置调试器的配置。您可以使用以下代码替换launch.json文件中的内容: ``` { "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", "name": "Debug", "program": "${workspaceFolder}/${fileBasenameNoExtension}", "args": [], "cwd": "${workspaceFolder}", "preLaunchTask": "Build with Clang" } ] } ``` 这个配置将使用lldb调试器来调试您的C/C++程序,并且使用Clang编译器进行构建。 6. 现在,您可以在VSCode中创建或打开一个C/C++项目,并开始编写、调试和运行您的代码了。 请注意,这些步骤仅为VSCode配置C/C++环境的基本步骤。根据您的具体需求和环境,可能还需要其他配置或插件。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mac系统vscode配置c/c++环境](https://blog.csdn.net/richard847/article/details/129131227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [超详细Java入门到精通自学视频课程-08、继承:概述、案例.rar](https://download.csdn.net/download/weixin_54787054/88280693)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值