大家好 , 我的英文名是Vencily , 高中学历 , 体育特长生 , 是个懒货 , 写作水平真的是不咋地 . 然而这篇不算文章的文章是我的‘处男‘作.^_^
我太懒了, 希望能用博客园这个平台和大家的关注来约束自己增强约束力 , 提高自己的写作能力 , 增长自己的技术水平 .
在技术方面 , 目前本人是渣渣 , 仅仅会用C#做网站 , 用C#写桌面应用程序 , 用C#玩游戏 .
自学过几个月的X86汇编 , 还有C语言 . 但是学的系统 , 也没做什么笔记 , 该忘的都忘掉了 .
一直听说C/C++主要是30岁以上的人干的 , 并且薪资特别高( 有多高也不清楚 , 但是一定比dotnet要高 ) . 因为C#语法底层是用C/C++封装的 , 所以真正的C/C++高手 , 能写出属于自己的并且没多少漏洞的语法 , 用自己写的语法去实现操作系统 / 游戏 / 外挂 / 桌面程序 / 硬件程序 , 甚至网站等 , 高手用C/C++写的底层一定比C#写的底层的执行效率好 , 虽然写底层在时间方面C#要比C/C++好 , 不过主要是看个人需要/公司需要 . 这就可以从侧面反射出C/C++人才的薪资 , 这种人不好招 , 招到的相对我来说都是工资非常高的 .
说说C#吧 , C#在我个人看来完全是为了有一份工作 . 都不用了解计算机原理的 . 用起来相当愉快 , 但是感觉上有一种 ‘ 有才能用 , 没的就没辙 ‘ , 就是因为这种感觉让我对C/C++产生了兴趣 , 据说喜欢用C/C++的人是灰常喜欢掌控 , 然而我就是 , 具体怎么掌控 , 相信在以后的博文中可以展现 .
再说说汇编吧 , 汇编在我的感觉上 , 非常难用 , 但是汇编在执行效率方面仅仅次于机器语言 , 因为计算机只认识01 , 汇编和各种01指令是一一对应的 , 不会和C#那样 , 转换为微软中间语言 , 又转换为C语言 , 然后再转换为相应CPU的汇编语言 , 再转换为01 . 效率方面显而易见 .
说到效率 , 就不得不说现在的机器 . 都特么的动不动就是四核八核 , 需求少且不多的就没必要玩C/C++了 .
举个例子 : 行走1米的路和跑1米的路差别大吗?答案很显然,不就是0.0几秒的问题么 .
计算的CPU也一样 , 四核八核处理几千行C/C++代码和1万行C#代码是差别不大的 , 当然前提是数据一样多(不说各种特殊情况 , 别抓话脚喷我哈 , 写篇废话的文章都不容易 , 我是花心血来写的 , 不喜欢的就看下别人写的 , 但是你觉得是写错了的话 , 还请指出 , 哪怕是喷我 , 本人都是衷心感谢!) .
C/C++主要用来写硬件程序和桌面应用程序还有大型的游戏 .
为什么不用C/C++做网站 ? 不是不能做啊 , 据说WEB环境很难搞 . 并且C/C++写的程序是编译程序 , 不适合维护 , 至于为什么 , 后续会揭晓 . C#是解析语言 , 很多人说C#是编译语言 , 我却不这么认为 , 我只知道反编译生成的dll不是二进制 .
由于在此之前我是学C#的 , 经常有些人会问到一些C#很偏的问题 , 有时候我猜错了也有时候我直接回答不会 . 因为我觉得那些很偏的底层的可以玩C/C++去 , 没必要去玩一个不能很好扩展的语言 , 学C# , 很明白的和大家说 , 我只是为了工作 和只学一些常用的知识 .
本人文采不好 , 写的挺乱 , 相信大家看了也辛苦 , 不过 , 谁叫我懒呢. 以后一天会写一篇(特殊情况除外) , 希望大家能跟我一起进步和学习交流 . 谢谢大家 !
下面为大家扩展下编译语言和解析语言 : (转自百度知道)
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类: 1.解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序,典型的解释型的高级语言有BASIC。 2.编译类:编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。现在大多数的编程语言都是编译型的,例如Visual C++、Delphi等。高级语言里一个程序的编译和执行大概是 下面的情况:编译器将高级语言从源代码翻译成与之等价的目标程序(就相当于从中文翻译成中文),而后就隐退了。在随后的某个时刻,用户启动目标程序由操作系统执行。实现高级语言的另外一种方式为解释:与编译不同的是,解释器在目标程序(其实根本就没有目标程序,只是与编译来对比)执行期间,解释器一直随之运行。这种执行过程完全由解释器控制的。从效果上看,解释器实现了一台“虚拟计算机”,其“机器语言”就是高级语言,解释器一次读入一条或多条语句,按照其自身规定的方式去执行相应的操作。一般说来,解释比编译有着很好的灵活性;编译一般有着较好的性能。但是有些语言确是采用了两者的混合形式:书中的原文:”如果初始阶段的翻译器比较简单,我们就说这个语言是“解释的”。如果翻译器很复杂,我们就说这一语言是“编译的”。现在两者的区分变得有些模糊了,因为“简单”和“复杂”都是修饰性术语,也因为完全可能出现用一个编译器(复杂的翻译过程)生成代码,而后又由一个复杂的虚拟机(解释器)执行。对于最后这种情况,如果翻译器对程序做了彻底的分析(而不是做某种“机械的”变换),而且有关的中间语言程序与源程序并没有很强的相似性,我们还是说这个语言是编译的。这两种特性----彻底的分析和非平凡的变换-----是刻画编译方式的标志性特征。“