设为首页收藏本站喵玉殿官方微博

 找回密码
 少女注册中
搜索
查看: 6015|回复: 8

[教程图书] 编程只学了45分钟的沙包出的教程你们怕不怕?

[复制链接]
发表于 2014-9-10 00:46:35 | 显示全部楼层 |阅读模式
本帖最后由 c3ctd 于 2014-9-10 00:57 编辑

其实我觉得我从来到喵玉的第一刻起脸就挺大的有木有。。。

首先俺要感谢喵玉,感谢维系喵玉殿的每一位菊苣们,能在氛围这么好的坛子里玩耍实在好幸福啊~~~

嗯。。。我在题目中说我编程只学了45分钟其实一点都不过分,真的仅仅45分钟。。。
[strike]其实在之前的大学生活里我有过一个学期的vb课程,期末混了个及格,喜闻乐见的什么收获也没有,总之这不是重点啦[/strike]
其实“编程”大部分人都或多或少接触过啦,较真的讲俺学编程也超过45分钟了。。。。

故事要从这里说起。。元宵节前夕俺加入了咱们技术馆@drzzm32菊苣的喵玉殿技术交流群(群号194561106)
本着好奇心和里面的菊苣们交流了很多姿势,受益匪浅,写这篇文章只是想分享一些刚刚学到的经验[strike](自寻死路)[/strike],只求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游戏啦)

对我来说能理解到这些感觉很爽,文章里没有各类语言的编写技术知识,没有编程的实战总结,[strike]也没有让人看不懂的代码[/strike]。只有些个人理解的。。概念上的区分或者界定。
嗯。。当然啦文章肯定是极度的不严谨,还要麻烦各位菊苣纠正俺的错误[strike](请不要s我啊)[/strike]

嗯嗯。。写个总结吧~和菊苣们交流后我虽然还是完全不会写编程yuyan)但是我现在基本上了解了编程的原理,我个人认为这才算的上是真正的“入门”
如果我没有这样的入门,我能想象到的只有:
我一边用c++写代码一边想“我tm这到底是在干什么”;
当我用c++写完了代码后我会想“任务完成了,程序运行稳定,我觉得自己好牛逼,可是我为什么会这么牛逼呢,完全不懂啊”;

总之文章没什么技术含量,大家读着当做个娱乐就好啦~~俺说的不对的地方还请前辈们及时指出,以后俺还需要努力学习,感谢技术区各位菊苣~~~


评分

参与人数 1积分 +1 喵玉币 +5 收起 理由
BW奇诺栗鼠 + 1 + 5 呐……科普文呀

查看全部评分

发表于 2014-9-10 08:44:07 来自手机 | 显示全部楼层
我看了一半,先回复一个
这里说明那三个概念
语言~前人规定的代码编写规范,如C, BASIC, 汇编
编程工具~就是所谓的IDE(集成开发环境),把源代码翻译编译打包为可执行文件
SDK~预先打包好的一系列函数方法,可能需要编程工具,可能已经自带,比如DirectX, RPG Maker
两台电脑要运行用了相同SDK的程序,没必要拥有SDK,SDK是程序员的工具,运行只需要运行库redist它是SDK里支持程序运行的部分。

点评

编程工具不一定是IDE,虽然现状来说用IDE的可能比较多,尤其是个人项目。  发表于 2015-1-16 23:26
DX也有,但是几乎不用,比如纹理转换器什么的。 它是SDK的一种  发表于 2014-9-11 16:14
可是他和dx完全不一样啊。。。他有编辑界面的说。。。  发表于 2014-9-11 16:09
RPG Maker就是游戏SDK(软件开发包)。。。  发表于 2014-9-10 21:26
rpg maker貌似定义起来有些特殊啊,你说过它内置了一个sdk,我能想象这个sdk应该更适合2d游戏的编程  发表于 2014-9-10 18:56
回复

使用道具 举报

发表于 2014-9-10 11:25:21 | 显示全部楼层
hihihi,OFz 觉得学了 45 分钟能写出这么多很了不起呢(确实有点吓到了

然后,脑子简单的 OFz 觉得编程没那么复杂啦:编程仅仅是让机器去实现人类的想法这么简单的一件事情而已

关于那几个概念,我的想法和楼主稍微不一样(以下仅个人看法):
工具:能帮助人类把“想法”转变为“实现”的东西。包括所有能帮助编程的软件硬件和编程语言等(lz提到的的大概主要是 工具软件 这一小部分,但即使是这一小部分,也是包括了编辑器,编译器,解释器,版本管理等等无数软件的集合体。硬件工具可能包含开发板等测试设备
语言:按照上面所说的,语言也是编程工具的一种,只不过它承担的工作有点神奇而已:将人的想法具体地书写出来,用于控制机器的运行,也方便与其他人的交流。什么时候不能适应使用需要的话就会被淘汰,语言也是逃不出作为工具的命运的
SDK:仅仅是“软件开发工具包”这样的字面意思哦(可能包含一些工具软件,但其实很多 sdk 仅仅只有源代码而已

点评

俺之前也是一直潜水啦~~源代码也就是语言代码吧。。也就是说需要相应的软件才能运行  发表于 2014-9-11 16:08
ofz
@c3ctd 从uid来看你才是我前辈呢~~确实是存在有很多针对某种语言的工具(如解释器和编译器),但与语言无关的工具也是非常多的说(比如网络嗅探器,版本管理软件等)  发表于 2014-9-10 20:56
给前辈把萌度补回来先~~貌似工具也可以说是语言的识别工具。可是语言是多样的啊,工具可以做到统一识别?  发表于 2014-9-10 18:52

评分

参与人数 1萌度 +15 收起 理由
c3ctd + 15

查看全部评分

回复

使用道具 举报

发表于 2014-9-10 12:44:05 | 显示全部楼层
本帖最后由 lrdcq 于 2014-9-10 12:47 编辑

LS几位把该说的都说了对于高级语言的程序开发流程也没什么可说的了
我按我的经验再加一点,如果去补习一下“微机原理”这类的课程,再稍微写写单片机啊ARM啊之类的程序开发,会对高级语言有更深入的理解,对自己的编程水平会有很大的提升。大概这样吧
话说,之前我有玩MC的PRmod,里面有一个完整的虚拟机(PRControl模块),除了自带的forth系统镜像外,还可以自己写汇编编写程序(系统)弄一些奇怪的东西出来,确实写写就上瘾了,根本停不下来呢

点评

了解了。。。的确效率很重要啊,看来c语言很适合用来入门学啊  发表于 2014-9-11 16:06
另外确实是学电子(IC)而不是(IT)的...........  发表于 2014-9-10 23:49
@c3ctd 使用汇编或者C进行单片机或者ARM开发有着面向底层的程序开发体验,熟悉之后对于高级语言的,运作处理机制,逻辑处理与优化会有更深的理解。简单的说就是更容易理解和掌握这门高级语言“怎么使用更高效"  发表于 2014-9-10 23:48
我印象里单片机属于软硬件结合的东西,现在很有市场呢  发表于 2014-9-10 18:53
回复

使用道具 举报

发表于 2014-9-10 18:21:16 | 显示全部楼层
45分钟学了这么多真是可怕
工具:开发环境
语言:代码书写规范
sdk:已经被定义的代码集合
什么你说重复了,一定是前面菊苣都说光了
如果没记错的话单片机不是分属于电子工程么(electric engine)

点评

没写多少啦,真正和编程有关的只有中间那部分~~其他的都是吐槽啦~~哈哈  发表于 2014-9-10 18:54
回复

使用道具 举报

发表于 2015-1-2 01:10:15 来自手机 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

发表于 2015-1-16 16:08:36 | 显示全部楼层
我也被吓到了。。。【虽然说我也是看java两个礼拜就看完= =
回复

使用道具 举报

发表于 2015-1-16 17:06:05 来自手机 | 显示全部楼层
提示: 该帖被管理员或版主屏蔽
回复

使用道具 举报

发表于 2015-1-16 23:43:23 | 显示全部楼层
drzzm32 发表于 2014-9-10 01:44
我看了一半,先回复一个
这里说明那三个概念
语言~前人规定的代码编写规范,如C, BASIC, 汇编

觉得还是回复好一点。
编程工具这里,IDE虽然目前见得比较多,但只是各种为适应开发工程化高效化以及适应初学者的方法。
我们如果把编程工具理解为将某一语言转化为可执行程序的中间过程,它可以有很多种。比如,你就用记事本写程序,用gcc编译,纯手动操作,这也算是编程工具,虽然它没帮上什么忙……(这个例子其实有误,记事本是win程序,gcc是unix工具,对应的win程序我应该说minGW之类,不过这里只是为geek准备的说明而已,可跳过。)
非IDE的工具也许在初学者看来毫无效率可言,而且非常难以使用,甚至要如何使用都无法理解,但是对于追求高定制性和真正意义上高效率与可控性的geek来说,一个调教完好的vim+gcc+makefile+一套文件结构和依赖可以让他们创造世界了。
IDE的好处在于易学(至少初看起来是这样),方便上手,而且即使没有懂那么多也可以用默认设置做出很多东西来。可是当你进阶之后试图调用一个稀有库或者控制编译版本的时候,就会想炸了微软总部了。
很多时候,学会使用一个工具也成了一个课题,几乎与学习语言是同等的而且是并行的。

点评

啊……SDK不一定有IDE,不过现有IDE尤其是c艹的几乎都捆绑SDK呢其实。无论它如何宣称自己是标准。  发表于 2015-1-17 07:34
编程其实用的是编译器和汇编器呢……他其实想搞懂ide和sdk的区别……  发表于 2015-1-17 06:24
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 少女注册中

本版积分规则

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-10-31 11:08

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表