编程初学者的救赎
编程初学者的救赎、、、
-------
编程初学者的救赎
—讲解一些常见的new comer问题由于时间的有限,小甲鱼精力有限,所以本视频先只讲编程语言的学习,暂且我们不谈架构、不谈组件、不谈数据库、网络、不谈团队,不谈合作,不谈女人、不谈国家大事……
学习编程需要什么样的素质?
有位朋友说的很好,学习编程就像跑业务、泡妞一样,要有打不死且死缠烂打的精神。那就可以啦!贵在坚持,坚持!
学习英语需要英语吗?数学差可以学编程吗?
小甲鱼认为,学习编程不需要任何的附加知识,很多黑客高手都是未成年先成才!他们也不会一口流利的英文,他们也不会导数不会微积分。
用的英语其实说白了也就是几个鸟文,就那么几个,一辈子就用那么几个而已。
数学能力,这个有点靠谱,特别是对于那些研究算法的朋友,逻辑要求很高,但学习编程语言,不用!基本的编程思路,也不用!
总之,学习编程需要的是兴趣和爱好,再加上前边说过的,百折不挠、越挫越勇,OK!!
学习编程有没有捷径可走?怎样可以快速入门?
有,捷径就是找一个合适的老师和一本合适的书!没有最好,只有最适合自己的。
不要贪图学习一门“好”语言,就走了“捷径”,没有的事!任何高手到最后每门语言都通晓的,因为语言只不过是工具,思路、方法、架构才是最重要的,才是上层建筑。
捷径 = 尝试 + 失败 (就像你追女孩子一样,前边说过,一定要死缠烂打!别说女孩子讨厌这套,其实女孩子最受这套!)
什么样的语言是最优秀的?我需要学习哪门编程语言比较有优势?
这要分开为两个问题来回答:
第一,没有最优秀的语言,但有最合适的。就像女人,世界上没有最漂亮的,但有最适合你的。衣服不一定好看就适合你穿,对吧?
第二,你需要精通一门语言,但你没必要“从一而终”!注意,我们在学编程,不是选老婆,我们提倡“三妻四妾”(编程)
C、汇编、C++、JAVA、C#、perl、delphi,找一门比较流行的,然后专研去吧!
为什么要找流行的语言学习,偏门的语言不是更有竞争力吗?
废话,不然你哪里找资料专研?再说,流行说明符合时代的潮流,很IN。编程搞得的配合,不是特立独行。
正确的入门方法+规范的格式要求
应该从哪一门语言开始呢?
小甲鱼建议C和汇编!
有的朋友可能会大惊失色!靠,都是老古董!!
其实,有时候见到很多人都说C落伍了、过时了,应该学习JAVA,C#,.net……真的很想笑,事实上也笑了,呵呵
先来看看客观数据:介绍C家族的强大,C++是C的扩展这个不用说大家知道,虽然他们是不同的语言,但基本语法一致的。
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
C语言的地位
C和汇编能干嘛?
先来简单说说C语言:
这里要展开讨论的话可能要谈几个视频,所以简单的说C有很大作为,一般系统都是用C写的内核,包括UNIX、Linux甚至windows,这确定了C语言,一个年龄比我们还大的语言,至今还能排行世界第二的地位;
另外,高级语言实质上都是些“花俏”的封装,要学会了底层的语言,了解了主要的运行原理和机制,我们就能够养成透过表象看本质,看内在的能力。
学习C,还有个好处,因为UNIX、Linux是用C写的,并且都开源,因此可以说是给你提供了一个可以深入研究学习一门语言的平台!
再来简单说说汇编:
汇编语言很重要。汇编语言是我们人类能理解的最接近机器语言的一门语言。
因为C要让计算机读懂,要降级为汇编语言,所以学会汇编语言对程序的优化和排错很有作用。
可以让自己的思维接近CPU。因为汇编语言是对CPU,对内存直接操作的语言。
C语言可以嵌套汇编实现底层的一些操作,效率高,技术含量高!
学习底层语言并不是要我们用底层语言去编程序,因为用汇编编一个程序相当费劲,何必呢?学习底层语言,主要是让我们拥有“底层思维”,这是最重要的!
思维决定一切,一切语言只不过是浮云!
规范的格式要求
一、不要小气,多留几个空格!
二、成对编写代码原则!
三、注释的必要性!
四、养成统一的风格!
编程高手是怎样炼成的?高手成长的六个阶段:
第一阶段:
熟练地掌握和使用某一门语言;
第二阶段:
精通基于某种平台的接口编程以及对应语言自身的库函数;
第三阶段:
深入地了解某个平台系统的底层机制;
第四阶段:
达到将语言看成只是一门工具,即使要用自己不会的语言进行开发,也能够手到擒来
第五阶段:
此阶段不再局限于技术上的问题,而是能够从全局上把握和设计一个比较大的系统体系结构。能对市面上的任何软件进行剖析,并能按自己要求进行设计。
第六阶段:
手中无剑,心中也无剑!杀人于无形!
能将任何问题都变成一个纯粹的思路问题。
这时,win32和Linux在你眼里是没有什么差别的了。
-------------------------
========================================
小甲鱼——编程初学者的救赎
鱼C工作室:http://www.fishc.com/
---------------------
最全的整理:自己整理的
编程初学者的救赎—介绍编程如何入门学习以及回答一些常见的new comer问题 - 1.编程初学者的救赎
互联网的广大朋友,大家好,我是小甲鱼,今天的我们来讲讲编程初学者的救赎啊,很明显的一个标题党啊,不过没关系,这证明了我们的视频跟得上时代的潮流。好吧。
我们这个视频的主要介绍一下编程是如何学习的,以及学习的一些方法,然后呢?回答一些常见的new comer类的问题啊,
new comer就是初学者的意思啊。 在正文开始之前的我们先来声明一下。该视频的版权归小甲鱼以及所有热爱编程的朋友说有啊,如果觉得这个视频讲的还不错呢,切记要多宣传,多考倍多分想啊,因为网络本来就是属于大家的,对吧,好东西不能独享,由于时间有限呢,小脚有的精力也有限,所以呢本视频我们暂且先讲编程语言的学习方法,我们不谈架构,不谈组建,不谈数据库,网络不谈团队不能合作,不谈女人,不谈国家大事。
OK。啊?正文开始啦。
我们会谈一下学习编程需要什么样的素质?我不会英语,可以学习编程吗?数学差可以学习编程吗?学习编程有没有捷径可走,怎样才能够快速入门, 相信大家看了之后会有很多感觉吧,很多感慨吧,因为这些呢是小甲鱼。因为平时小小鱼也再做一些教学视频的时候呢,有很多朋友都会问这一类的问题,所以呢,我就决定做成一个视频来帮大家一一解答。好吧。
什么样的语言是最优秀的:
我需要学习哪门编程语言比较优势。正确的编程方法正确的入门方法加上规范格式的要求啊。编程高手是怎样练成的高手成长的六个阶段,最后们谈谈技术与金钱。OK
学习编程需要什么样的素质:
首先我们先来简短来谈一下编程需要什么样的素质?今天在和一个朋友开玩笑的时候呢,这个朋友说的很好啊,学习编程就像跑业务,泡妞一样啊,要有打不死缠不烂,要有死缠烂打的精神,那样就可以啦,贵在坚持。OK
其实呢,小甲鱼 接触过很多朋友都是说,要学习编程,要学习编程对吧?要学习C语言,对吧,但是呢?都是三分钟热度。坚持了几个星期之后就。荡然消失在小甲鱼的qq中了啊,然后呢说不想学了,太难了,遇到问题啦啊,这样其实不好,觉得真的喜欢一个东西的话就要坚持。这最重要的素质啊。
学习编程需要英语知识吗,数学差可以学编程吗:
学习编程需要英语知识吗?数学差可以学习编程吗?这个我觉得是问的最多的问题啊,或者我可以这么回答当你真心爱一个女人的时候,你会为她去学习数学和英语吗?
其实呐,小甲鱼认为学习编程不需要任何的附加知识啊,因为呢,很多黑客高手都是未成年先成才啊,他们也不会一口流利的英文,他们也不会导数,也不知道什么是微积分,但是他们能够掌握到很好的编程技术。
这是为什么呢?其实呢啊英语说白了也就几个鸟文啊,编程我用到的英语不多,来来回回也就那么几个,所以呢,这几个英文你只要掌握了一辈子,都是你的对吧,一辈子都在用,所以那,你不用说英文,英语能力要学习到能跟老外吵架,能跟老外谈情说爱谈婚论嫁的程度,不用只会那么几个就行了。然后呢?数学啊数学,这个有点靠谱啊,因为呢我们编程有些是研究算法的。研究算法的话呢就非常需要。数学知识和数学功底,逻辑思维啊,这是非常重要的,但是呢我们学习编程语言的话,OK 不需要,
学习算法是极少数人的学习的权利好不好,极少数部分个别天才学习算法啊,
我们呢学习编程基本上的你到外面去应用的时候,你在编程序的时候基本上是不用算法的啊,除非你要写什么搜索引擎之类的好吧,总之呢,学习编程需要的是兴趣和爱好再加上前面说过的百折不挠,越挫越勇。OK
学习编程有没有捷径可走,怎样可以快速入门:
那我们学习。怎样才能够快速入门呢?有啊 捷径是有的,就是找一个合适的老师和一本合适的书没有,最好的只有最适合自己的。这就像有些人觉得小甲鱼的视频很幽默,但是有些人却觉得糟老头的那些视频比较好,比较有理论性啊,这些萝卜青菜,各有所爱啊。我们,不要贪图学习一门好语言,以为就走了捷径啊,没有的事,任何高手到最后最终的过程都是会每门语言都通晓的啊,因为语言只不过是一个工具,思路,方法,架构才是最重要的。才是上层建筑,才是决定一切啊。捷径呢,其实就等于尝试加上失败,这是小甲鱼个人的结论。其实呢,就像你追女孩子一样啊,前面说过,一定要死缠烂打,百折不挠,别说这个女孩子讨厌自己这一套啊,现在的女孩子一般都很受这一套的,不然你可以尝试一下啊。多尝试了就会多失败,多失败了就会知道成功是怎么来的怎么走的好吧。
一个程序,你如果一个程序没有错误,那你这个程序是失败的程序,任何程序不是编写出来的,是调试出来的。OK
什么样的语言是最优秀的?我需要学习哪门编程语言比较有优势?:
我需要学习哪门编程语言比较有优势啊。优势地位这个问题呢,要一分为二来回答。第一,世界上没有最优秀的语言,但是有最合适的语言,就像女人啊,世界上没有最漂亮的,但有最合适的做你老婆的啊,衣服呢?好看就合适你穿对不对?女人不一定漂亮就要娶成老婆对吧?花瓶是用来欣赏的。OK
其次呢,我们说一个语言啊,一个语言是没有最合适的,为什么这么说呢?还没有没有最优秀的语言为什么呢?你看Java好吧,C++好吧,但是你去到单片机去到嵌入式却只能用C语言和汇编对吧?因为你有那么小的64KB内存,你还能怎么办,对吧,只有最合适的,OK
第二个你需要精通一门语言一定要精通一门语言,但是呢。你有必要从一而终。注意,我们在学习编程,而不是在选老婆,我们提倡的是三妻四妾啊,我们可以学。更多,更多的语言,但是一定要精通一门好吧,以一门为主,一个中心,多个基本点,C,汇编,C++ JAVA C# Perl Delphy,这些你可以找一门比较流行的语言,然后去钻研。
为什么要找流行的语言学习,偏门的语言不是更有竞争力吗?:
偏门的语言不行吗?偏门的语言不是更有竞争力吗?因为偏门的语言少人去学嘛,对吧?他可能这么认为。那我这么说啊你如果不找流行的语言你去哪里找资料钻研呢,对不对?一般流行的语言就是大家都学的,大家都学的呢,就有那么几个高手会出来写点书啊,做点视频啊之类的,赚点稿费啊对吧,那你要是偏门的语言呢,没人理啊你,鸟大一个图书馆找不到一本书。对吧,想学都不知道从何学起对吧,好再说了流行说明符合时代的潮流,很IN 啊,我们学习编程搞的是配合,而不是特立独行。
一门别人都不认识的语言,别人怎么帮你调试,怎么帮你改代码,怎么帮你?测试程序对不对,你都要一个人搞定,太累了嘛,对吧?
正确的入门方法+规范的格式要求:
我们讲讲正确的入门方法以及规范的格式要求。那好,那我们应该从哪门语言开始学呢?这其实大家也是很有疑问啊,小甲鱼的建议啊,只是个人的建议,从C和汇编。我知道说到这里有些朋友会大惊失色啊,会有很多的意见啊,我靠,都是老古董了,你让你骗我们呢,你框我们初学者。其实呢。很多朋友都会说C言落伍啦,过时了,俺应该学JAVA,C#,JavaScript啊,.NET啊 ,有时候我看到这些呢,真是很想笑啊。事实上我也笑了,呵呵,嗯。来看一下C语言真的是落伍了吗?我们先来看一下客观的数据好吧。大家都知道C语言呢,
那其实是历史非常非常悠久的一门语言,对不对?在我们的老爸老妈年轻的时候他就诞生了,对吧?好来看一下你家的这个数据这个呢是这个公司啊,这个软件公司,它评选出来的2000年啊!2010年到2009年啊,最热门的语言其中呢,JAVA,因为其跨平台性啊,他排行第一,仅次于JAVA的是C语言大家没有想到吧,看看它的比重啊。仅差一点点,C语言是排行第二,老二啊。第三名是C++,第四名是PHP,第五名是C#,然后到。Python啊,然后到Basic啊,然后是Object-C,这个语言呢,大家其实现在可以关注一下我们的苹果啊,苹果最近很火吗,对吧嗯,用Object-C写的一些游戏也很火,也可以赚钱对吧
大家有没有发现其实,JAVA,C,C++,他们都是C语言家族的,都是C的体系,都是C的进化体,OK,所以C语言从来都没有落伍,从来都没有Out过,经典的东西呢,是永恒的。
C和汇编能干嘛:
郑亮的说那西和汇编到底能干嘛,大家可能会这么问对吧?C是面对过程的一个语言对吧?我们现在流行的是面对对象了,那为什么C语言面对过程还能这么横行天下呢?我这里就只是简单的说一下,如果说嗯,要慢慢谈论的展开讨论的话,可能要讲几个视频啊,精力有限啊。我们说C语言大有作为啊主要一般的操作系统是用C语言写的内核啊,Unix,Linux windows,对吧,这就说明了啊C语言一个比我们年龄还大的语言。至今能够排行世界第二的地位。我们的一些高级语言像C++像JAVA,其实都是从C语言演变过来的,对不对?他们的内部底层还是C语言的一些。什么封装啊,高级语言实质上都是一些花俏的一些封装对吧?我们要是我们学会了底层的语言学会了,她核心的语言,我们了解了主要的运行机理和原理啊原理和机制。我们就能够说养成一种透过表象来看本质,看内在的一种能力,这是最重要的我个人认为,OK,
另外,我们学习C语言有一个好处。之前说过了Unix,Linux这些大名鼎鼎的操作系统都是用C语言写的,对吧?而且呢,这些是系统最大的好处就是开源,因为它开源,我们能够得到它的源代码,我们可以给我们提供了一个深入理解和学习。的一个平台,对不对?我们学好C语言之后,我们可以利用我们现有的C语言的知识去了解这个操作系统的平台,看看内部的接口怎么接。设计怎么设计,看到内核怎么设计,你放到Windows可以吗?可能吗?对吧?好,这个我们就简单说一下啊,我们再来简单说说汇编。汇编彼此戏言,那是更加老太婆了,对吧?汇编呢,就我们不说我们汇编确实是很老的一门语言啊,我们都知道,有了机器人就有了汇编语言,在后有了C语言,在后在演变,在演变啊。但是呢,汇编语言是很重要的。因为呢,汇编语言是我们人类能够理解的最接近机器语言的一门语言。这样的话呢,我们如果掌握了汇编语言,我们就掌握了机器和我们和底层语言的一个兑换啊,知道它的一个机制。因为呢?像C++,C,要让计算机读懂,编译出来,他是先降级为汇编语言。接着。先降级为汇编语言,再把汇编语言降级为机器语言,这样CPU才读得懂,对吧?
你打个C里说helloword你看下CPU跟你哈喽不哈喽对吧?CPU不认识这些的,他只认识机器代码。而汇编语言的是跟机器代码一对一编译的OK。
所以呢,我们学会汇编语言的程序的优化和排错是非常有作用的,很多C语言你都可以直接地反汇编来看一下他内部是怎么运作的。可以让我们自己的思维更加接近CPU,对不对,学习汇编的话,因为呢汇编语言对CPU,对内存直接操作是对对内存直接操作的一门语言,学习底层语言并不是要我们用底层语言去编程,对吧?不是要你用汇编去编一个窗口程序啊,因为这样的话会相当费劲会。做了很多不必要的事情。何必呢对吧?但是我们学习底层的语言,最主要是掌握底层的思维。掌握让自己拥有一颗CPU的心啊,一颗强劲的心,不卖英特尔的广告啦,就是让我们能够怎么样?从内部理解它的机制理解他的架构,这是最重要的。从机器的角度来思维思考问题,这是高手的境界啊!首先我不是高手啊。这是高手的境界啊!思维决定一切啊。一切语言只不过是浮云啊,大家知道不是说学哪门语言,哪门语言流行,你学了之后你就你人也流行了,不会的好吧,
规范的格式要求:
我们再来谈谈规范格式的要求啊,又是因为呢,精力有限,时间有限,我们这里也是简单的谈一下再详细的话呢,会出现在我那些一系列的视频中,我都会以规比较规范的格式给大家演示和教大家的好吧。第一个,不要小气啊,多留几个空格。这个主要是出现在我经常帮一些朋友改一些程序的时候出现的一些朋友呢,QQ发来一堆程序,然后一堆程序拍成一行或者两行。一个空格一个回车都没有。我首先这个程序我,我把copy下来,我还要怎么样,我还要把他给。那位置给调好一下对吧?调的美观一点,要不然看不懂它是什么思路对吧,该空格的时候多加几个空格,因为,我们现在讲的只是方法,所以我这里也不跟大家做多,多做演示啊,这样会。让大家看了很晕的啊,我们要掌握成对编写代码的原则。什么是成对编写代码的原则呢?算了,我还是跟大家展示一下吧,要不的话呢,我说的更晕啊。好嘛,来看一个最简单的程序啊。helloworld 这个程序出自于哪里呢?这个程序出自于Cprogranmlanguage 出自于C语言圣书啊。
打印Helloworld这样一个程序,你像C语言内存的分配的时候,你申请完内存啊时语言的初学者经常放的一个错误就是生气。我写完申请内存,我就要再写一个释放内存,然后再来写这个内存干嘛用对吧?这个呢是成对编写的原则啊,不要小气,多打几个空格对吧?你像我刚才那样打多美观啊,该回车时候回车,该空格的时候空格不要全部挤在一行里面,虽然不会有语法错误,但是真的是看不懂的啊,我没有了解注释的必要性。你想想看,一个几千行的代码没有注释的话,你让人家从何看起,对不对? 你要就是说这个函数,这个过程是,做什么用的,是实现什么样的功能,那样做好一个完整的注释,最后养成统一的编程风格啊。你个人你先掌握,你个人一个统一的风格,你不要改来改去跟风逐流啊你个人编程是怎么样的风格依旧怎么样的风格编下去对吧?还要加上注释对吧?就是包括哪个变量是什么操作的?有什么作用?哪个函数?有什么作用,实现像什么样的功能?这最基本最基本的。掌握自己啊一个风格统一的风格。
高手成长的六个阶段:
最后呢我们讲解一个编程高手成长的六个阶段啊。此番言论呢,出自编程高手箴言梁肇新的一本很不错的书啊,于因为该方言论比较偏激。所以呢,有必要先声明一下哈。作者是这么认为的编程高手。要经过六个阶段,希望能够成长为高手
第一个阶段呢,熟练的掌握和使用某一门语言。
第二个阶段,我这简单的谈一下啊,精通基于某种平台的接口编程,以及对应语言自身的数据库,像WindowsAPI接口对吧?通过调用一些API接口显示生产一些对话框,显示一些窗口,显示一些漂亮的画面,这样就是编程接口啊,然后呢,对应的语言像C语言本身的库函数,你得熟悉对吧?
第三阶段。深入地了解某个平台系统的底层机制啊。其实小甲鱼一直认为能够能够深入地了解某个平台系统的底层基础已经很了不起了,但是作者认为这只是第三个阶段啊。
四个阶段。达到将某个语言看成一门工具啊,就只是当成一门工具,即使要用到自己不会的语言进行开发,也能够手到擒来啊!任何语言,就算自己没有接触过的,但是呢,你只要精通一门语言,你要学习什么语言,其实我觉得都是挺简单的,像我之前做网站吧,我本身是学习C语言的嘛, 要做网站的话我很多语言我都看了很晕呐,我都之前没有学过任何网站的编程。一看,诶,其实跟你原先的C言是差不多的啊,语法都是那么几个样,一看能够看得出大概怎么回事啊?
第六阶段此阶段不再局限于技术上的讨论,而是能够从全局上把握和设计一个比较大型的操作系统。像unix和windows能够对市面上的任何操作软件进行剖析,能够按照自己的要求进行设计,这已经是相当牛人了。
第六阶段呢,手中无剑心中也无剑,杀人于无形啊。我觉得很多编程高手都喜欢拿武功秘籍来当成自己修炼编程的一个手段和概念啊,将任何问题和都什么变成啊打错了,变成一个纯粹的思路问题。这时啊,Win32和Linux在你眼里已经没有什么差别了,都是一样啊,这样的话那就真真正正的高手作者认为的。
技术与金钱:
就来谈一下技术和金钱。很多朋友呢,觉得学习好技术学到了高超的技术,就等于赚到了大钱,其实呢,小甲鱼绝对不同意这种观点啊,掌握顶尖技术不一定等于赚大钱,换句话来说,赚大钱的老板不一定就会这种技术。OK,掌握顶尖技术顶不了也是一个高级打工的人啊,赚大钱那是经营那是商人好吧,要赚大钱的话呢,做商人好。要学习编程的话呢?小甲鱼个人认为喜欢学习编 程的话,学习以编程为爱好的话呢,都是梦的追求者和缔造者啊,都是有梦的青年啊。都是喜欢平时没事想些有的没的啊,但往往却能够创造奇迹的朋友啊!像我们的facebook。这个家伙也是够牛的,对吧?今天的有个朋友跟我说,我的网站并不赚钱呢,对吧,我的视频也不收费啊,那这样的话。你连饭都吃不饱,还坚持什么理想?嗯,其实呢,我觉得这个也不一定有什么冲突啊,也没什么冲突的,其实呢,我觉得我的视频做好了,我的网站经营好了对吧,大家都会喜爱我的网站,喜欢我的视频,那这样的话呢,大家可能都会支持我,对吧?支持我的话,可能会有些人会赞助我啊你像吗?维基解密吗?不也是靠赞助来的嘛对吧?其实呢?在追求理想啊追求梦想的过程中呢,吃饱是肯定要的,所以呢建议喜欢学习编程的朋友,但不要把它当成一个饭碗来学习啊,把它当成一个兴趣和爱好来培养,然后呢吃饭了是吃饭的事啊,赚钱是赚钱的事嗯,爱好是爱好的事,兴趣是兴趣的事不同的啊,要分开来讨论好吧。你如果如果觉得你。将来可以做一个像到外面去做一个软件工程师啊,这些其实也挺好赚的啊,不过就挺累的。好吧。嗯,
后会有期:
最后呢跟大家临别赠言啊,希望呢该视频能够对初学者以及盛学习编程路上的一些迷茫的追求者能够起到些许的指路作用,需要教学视频的话呢,建议到我的网上去下载啊,我的网站,www.fishc.com 有很多的教学视频,同时呢,想和小甲鱼进行更加深入的交流的话呢,可以加入我们的大家庭啊http://home.fishc.com 希望大家聚集的都是一些志同道合的朋友,好吧,嗯好,大家后会有期,谢谢大家!
-------------------------------

浙公网安备 33010602011771号