200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 学生要学编程先学什么语言 学编程先学什么基础知识

学生要学编程先学什么语言 学编程先学什么基础知识

时间:2018-08-31 16:14:43

相关推荐

学生要学编程先学什么语言 学编程先学什么基础知识

为什么很多人先使用了C#和Java就很难再有耐心去学C和C++了?反而很多先使用C和C++的人,再去学C#和Java却一点压力都没有?通过我这段时间以来学习C++的经历,C++给我这个一直使用C#编程的人来说,带来的痛苦不止一点两点!

很多人觉得C++的语法跟C#差不多,所以C#学习C++应该也不会吃力才对!的确,C++在语法上的确有很多跟C#相同的地方,比如类的声明、结构体的声明、方法的声明几乎一模一样。但是,C#和C++还是有很多不一样的地方!

比如我想获得一个数组的长度,我查了相关资料,C++是没有原生方法来获取数组长度的,如果想获得数组长度,那么就必须通过计算Size的方式来获取,公式大概就是这样:

sizeof(array)/sizeof(*array)

这个公式的意思,大致就是使用整个数组所占内存大小除以数组内单个内容所占内存大小就可以得出数组内容的长度了。原理我不知道对不对,大致就是相同类型的数组,数组的内容所占的字节数都是相同的。所以,假设一个数组总大小为20个字节,每个内容占用2个字节,那么拿数组的字节总大小20除以第一个元素的2个字节,最后得出这个数组的长度为10。

类似的东西让人理解起来很吃力,使用C++编程,很多东西都需要自己去理解意思。不管我上面针对数组长度计算的理解对不对,但是至少我现在能够根据我这个理解来写我那蹩脚的C++代码了!

其实,类似的事情我遇到过很多,但是基本上适应以后就习惯了,甚至于我把C++的写法照搬到C#里面去使用大部分情况下也不会出现问题!但是会感觉多此一举!

另外一个让我这个C#程序员无法适应的就是“*”和“&”的使用!到现在我对于“*”和“&”都是一知半解!可能学C++的人对于这两个符号已经很熟悉了,甚至知道怎么去用,在什么场景下去用。

但是,我作为一个C#程序员,虽然只要耐心点,还是可以理解它们,可我在这两个符号里显然已经失去了耐心!所以,这两个符号到现在我还是似懂非懂,但是目前不影响我使用!

而C#和C++最大的不同就是在命名上!这里可能是我从开始就没有找对方向导致的!我学习C++的方式是拿了一个现成的项目来看,这个项目里很多变量、方法以及其他东西的命名方式都和C#有很多不同,显得有些乱!

比如一些方法会使用下划线“_”将方法的每一个单词分割出来,比如“get_socket”。还有一些方法会使用驼峰命名法的方式,比如“getSocket”。还有一些方法会使用帕斯卡命名法的方式,比如“GetSocket”。

我很少在一种编程语言里面看到三种命名方式,一般来讲,下划线命名的方式一般前端编程用得比较多,比如JavaScript!而驼峰命名法,据我所知,Java是这种命名方式。C#程序员经常使用的命名法是帕斯卡命名法。

好在,我写过前端、写过Java、C#又是我的主要编程语言,所以这三种命名法我都可以接受,只不过看起来有点乱,有点费脑子。

但是,让我接受不了的是,使用上述三种命名法的同时,C++代码里还出现了全部使用大写字母的写法!类似于“GET_SOCKET”、“GETSOCKET”!

我不知道这是否是C++的命名规范,这种写法,我之前知道在C++的结构体类型和枚举类型中比较常用,但是用全部大写的方式定义方法、类乃至变量是我这个C#程序员完全接受不了的!会让我学起来特别难受,并产生排斥心理!

但是,这还不是最让我崩溃的,让我崩溃的是C++很多方法采取了简写的方式!比如常用的“memset”和“memcpy”!

当经历了C++的各种“摧残”以后,我再回去写C#会感觉全身舒爽!感觉还是C#写起来更加舒服一点!

但是,我心里也知道,可能是我看到的代码没有根据规范去写,所以导致我的这种心理出现。所以,想学C++的话,最好还是找书看比较好!

#程序员# #编程# #计算机# #编程语言# #C++#

高考报考计算机科学技术与软件工程专业,二选一,你更倾向于哪个?

答案:我更倾向于计算机科学技术。本科阶段,更重基础知识和通识教育,计算机科学与技术专业学的更全面,硬软件都学,考研就业选择面更广一些。

当然软件工程也不错,都是热门专业,俗称码农,就业市场火爆。在北京、深圳、上海、杭州等大城市码农好找工作,因为大厂多。其他地方,互联网不发达的城市,码农工作机会少。

计算机科学技术专业主要关注计算机科学理论和计算机系统的设计与开发。学生将学习算法、数据结构、编程语言、计算机体系结构、计算机网络和操作系统等方面的知识。

软件工程专业则更专注于软件的开发、测试、维护和管理。学生将学习软件工程方法学、软件开发生命周期、软件测试、软件质量管理和软件项目管理等方面的知识。

计算机科学技术专业的毕业生可能会在硬件和软件公司、互联网公司、研究机构、金融机构等领域找到工作。而软件工程专业的毕业生则可能会在软件开发公司、IT咨询公司、金融机构等领域找到工作。因此,哪个专业更热门可能取决于您所在的地区和所选择的行业。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。