编程只学了45分钟的沙包出的教程你们怕不怕?
本帖最后由 c3ctd 于 2014-9-10 00:57 编辑其实我觉得我从来到喵玉的第一刻起脸就挺大的有木有。。。
http://bbs.nyasama.com/static/image/smiley/silverlaugh/6.gifhttp://bbs.nyasama.com/static/image/smiley/silverlaugh/6.gifhttp://bbs.nyasama.com/static/image/smiley/silverlaugh/6.gifhttp://bbs.nyasama.com/static/image/smiley/silverlaugh/6.gif
首先俺要感谢喵玉,感谢维系喵玉殿的每一位菊苣们,能在氛围这么好的坛子里玩耍实在好幸福啊~~~
嗯。。。我在题目中说我编程只学了45分钟其实一点都不过分,真的仅仅45分钟。。。
其实在之前的大学生活里我有过一个学期的vb课程,期末混了个及格,喜闻乐见的什么收获也没有,总之这不是重点啦
其实“编程”大部分人都或多或少接触过啦,较真的讲俺学编程也超过45分钟了。。。。
故事要从这里说起。。元宵节前夕俺加入了咱们技术馆@drzzm32菊苣的喵玉殿技术交流群(群号194561106)
本着好奇心和里面的菊苣们交流了很多姿势,受益匪浅,写这篇文章只是想分享一些刚刚学到的经验(自寻死路),只求100个人里有1个人觉得这篇文章对自己有用就好~~
=============
不发牢骚了,回到正题,开门见山~~~
和菊苣们交流之后,我觉得几个概念上的东西很值得咬文嚼字一下:
那就是编程;语言;编程工具;sdk这四个概念。
拿我个人举例:我在大学一个学期的课程所学属于语言,而语言其实是属于编程的一部分。
于是乎,这里有出现了前两个概念:语言和编程。我学了一个学期的语言,而不是编程。
编程是一个整体过程,是一个程序从构思转化为成品的过程。
编程主要由语言,编程工具,SDK这3个元素构成:
语言大家不会陌生,比如喜闻乐见的“c++”,“vb”;
编程工具如@TheRebirth菊苣介绍的“VS”;
SDK的全称是Software Development Kits(名字好复杂)。。。directx大家一定都知道,没错,directx就属于sdk,另外还有win console,win32 application;
这篇文章是入门的不能再入门的低水平啦,估计菊苣们都要看睡着了。
就我个人而言,我一直认为编程是个无比复杂的东西,始终无法理解为什么在一个白板的界面里敲上一大堆代码就能转化成
弹幕游戏,红警,各种rpg,使命召唤等等复杂的东西。现在我算是了解了,以前在学校学的仅仅是语言而已,俺一直误以为语言就是编程世界的尽头了。
@drzzm32菊苣交流中说到:“语言>编程工具>SDK”。现在让俺不严谨的总结下。。。编程的过程是:
程序员先编写出语言来控制编程工具,然后编程工具再去控制SDK,从而生成程序员所想创造的程序。
而只要是拥有相同SDK的电脑,就都可以运行相应的程序,这也是为什么每台电脑上都内置directx的原因。
如果想编写出个3d的格斗游戏,首先要选择一个3d支持度高的SDK(如directx)再选择个自己擅长的语言,当然编程工具也要选好,一切选择的出发点都是要方便自己,提高编程效率,并且迎合作品本身的属性(没人会选择基本上不支持3d的SDK去创作3d游戏啦)
对我来说能理解到这些感觉很爽,文章里没有各类语言的编写技术知识,没有编程的实战总结,也没有让人看不懂的代码。只有些个人理解的。。概念上的区分或者界定。
嗯。。当然啦文章肯定是极度的不严谨,还要麻烦各位菊苣纠正俺的错误(请不要s我啊)
嗯嗯。。写个总结吧~和菊苣们交流后我虽然还是完全不会写编程(yuyan)但是我现在基本上了解了编程的原理,我个人认为这才算的上是真正的“入门”
如果我没有这样的入门,我能想象到的只有:
我一边用c++写代码一边想“我tm这到底是在干什么”;
当我用c++写完了代码后我会想“任务完成了,程序运行稳定,我觉得自己好牛逼,可是我为什么会这么牛逼呢,完全不懂啊”;
总之文章没什么技术含量,大家读着当做个娱乐就好啦~~俺说的不对的地方还请前辈们及时指出,以后俺还需要努力学习,感谢技术区各位菊苣~~~
我看了一半,先回复一个
这里说明那三个概念
语言~前人规定的代码编写规范,如C, BASIC, 汇编
编程工具~就是所谓的IDE(集成开发环境),把源代码翻译编译打包为可执行文件
SDK~预先打包好的一系列函数方法,可能需要编程工具,可能已经自带,比如DirectX, RPG Maker
两台电脑要运行用了相同SDK的程序,没必要拥有SDK,SDK是程序员的工具,运行只需要运行库redist它是SDK里支持程序运行的部分。 hihihi,OFz 觉得学了 45 分钟能写出这么多很了不起呢(确实有点吓到了
然后,脑子简单的 OFz 觉得编程没那么复杂啦:编程仅仅是让机器去实现人类的想法这么简单的一件事情而已
关于那几个概念,我的想法和楼主稍微不一样(以下仅个人看法):
工具:能帮助人类把“想法”转变为“实现”的东西。包括所有能帮助编程的软件硬件和编程语言等(lz提到的的大概主要是 工具软件 这一小部分,但即使是这一小部分,也是包括了编辑器,编译器,解释器,版本管理等等无数软件的集合体。硬件工具可能包含开发板等测试设备
语言:按照上面所说的,语言也是编程工具的一种,只不过它承担的工作有点神奇而已:将人的想法具体地书写出来,用于控制机器的运行,也方便与其他人的交流。什么时候不能适应使用需要的话就会被淘汰,语言也是逃不出作为工具的命运的
SDK:仅仅是“软件开发工具包”这样的字面意思哦(可能包含一些工具软件,但其实很多 sdk 仅仅只有源代码而已 本帖最后由 lrdcq 于 2014-9-10 12:47 编辑
LS几位把该说的都说了对于高级语言的程序开发流程也没什么可说的了
我按我的经验再加一点,如果去补习一下“微机原理”这类的课程,再稍微写写单片机啊ARM啊之类的程序开发,会对高级语言有更深入的理解,对自己的编程水平会有很大的提升。大概这样吧
话说,之前我有玩MC的PRmod,里面有一个完整的虚拟机(PRControl模块),除了自带的forth系统镜像外,还可以自己写汇编编写程序(系统)弄一些奇怪的东西出来,确实写写就上瘾了,根本停不下来呢
45分钟学了这么多真是可怕
工具:开发环境
语言:代码书写规范
sdk:已经被定义的代码集合
什么你说重复了,一定是前面菊苣都说光了
如果没记错的话单片机不是分属于电子工程么(electric engine) 我也被吓到了。。。【虽然说我也是看java两个礼拜就看完= = drzzm32 发表于 2014-9-10 01:44 static/image/common/back.gif
我看了一半,先回复一个
这里说明那三个概念
语言~前人规定的代码编写规范,如C, BASIC, 汇编
觉得还是回复好一点。
编程工具这里,IDE虽然目前见得比较多,但只是各种为适应开发工程化高效化以及适应初学者的方法。
我们如果把编程工具理解为将某一语言转化为可执行程序的中间过程,它可以有很多种。比如,你就用记事本写程序,用gcc编译,纯手动操作,这也算是编程工具,虽然它没帮上什么忙……(这个例子其实有误,记事本是win程序,gcc是unix工具,对应的win程序我应该说minGW之类,不过这里只是为geek准备的说明而已,可跳过。)
非IDE的工具也许在初学者看来毫无效率可言,而且非常难以使用,甚至要如何使用都无法理解,但是对于追求高定制性和真正意义上高效率与可控性的geek来说,一个调教完好的vim+gcc+makefile+一套文件结构和依赖可以让他们创造世界了。
IDE的好处在于易学(至少初看起来是这样),方便上手,而且即使没有懂那么多也可以用默认设置做出很多东西来。可是当你进阶之后试图调用一个稀有库或者控制编译版本的时候,就会想炸了微软总部了。
很多时候,学会使用一个工具也成了一个课题,几乎与学习语言是同等的而且是并行的。
页:
[1]