学好编程前要学些什么?

作者&投稿:滑晓 (若有异议请与网页底部的电邮联系)
想学好编程 我应该怎么学!?~

个人认为:如果想走进程序开发这个行业,正常人学习了都会有个不错的工作,如果要非常非常好的工作的话,那么你必须具备常人没有的头脑。

简单的说,编程就是为了借助于计算机来达到某一目的或解决某个问题,而使用某种程序设计语言编写程序代码,并最终得到结果的过程。
计算机编程是怎么回事:傻瓜化一点的话,就是像你计划好做事件一样:如你计划明天要去看电影,那么你会想,如果明天看不成电影你会干嘛呢?于是你想去逛街,如果看成电影后你会干嘛呢?于是你想去亲戚家玩。那么如果我去逛街又逛不成怎么办呢(逛成又怎么办呢)。。。。。。如果去亲戚家去不成怎么办(去成又怎么办)。。。。。一条一条的往下列,那么明天你就要照着计划好的方案去做...。回到计算机上就是,你用特定的编程语言写好了一段程序,运行后他的工作就是按照你预先弄好的路走下去。。。

学会了可以做什么:这是一个很广的问题,首先你可以做一个代码工具(做代码外包,当然这是做程序的最不理想的路),你还可以做程序员(搞开发),做架构师、系统分析师(当然做这些不只是要学会编程语言,还有好多好多要学)。。。。等等

应该从什么地方入手:我建议从C语言开始学起(现在大学C语言基本算是一门必修课程),有了C语言基础了.就很容易上手其他的语言了
学计算机编程最重要的是什么:毅力!!忘乎一切的能力!!(虽然都说编程不是很难,但你如果没有毅力,那我可以断言你绝对不会有成就,所以说毅力是最重要的)
其次是什么:有了毅力,那么才就排到了能力
(因为我认为学习编程最重要的是毅力,能力不是太大问题,一般只要有了毅力,都能够学好的)

总之,在学习编程时一定要坚持不懈,只要有信心、有毅力就一定能学好;不能因为一些似是而非的观念就动摇了自己的信心。

祝早日成功
-----------------------------------------------------------------------------
本人挫见,望高手更正

编程就是写代码 代码就是软件的核心 让软件工作的核心
比如
最简单的编程软件中的代码:(易语言)
.子程序 _按钮1_被单击
编辑框1.内容 = “祖国你好!”
翻译的意思就是,点击这个按钮 编辑框中则显示 祖国你好! 的字样.

我建议编程入门的人学C或者Pascal,如果更进一步的话可以用汇编语言,因为这样能更清楚的了解底层。

下面针对一些支持选用Java, Python, C++(指用了非C特性的C++)等高级的OO语言入门的人可能的原因作些说明。

1. Pascal, C太老了,过时了,平时用得很少,现在流行Java等等。

标准Pascal的确是比较老了,不过有Delphi后继呢,说C老恐怕就是无知了,C现在用得很广泛,似乎sourceforge.net上的项目还是C的最多。推荐Pascal不是因为Delphi。选择Pascal, C是觉得两个现在很常见,语法很有代表性,简洁明了。

不要动不动觉得什么东西过时了,COBOL还有OO版本面世,还有FORTRAN,LISP,好古老的语言吧,现在还用得很广呢。

2.入门要从OO开始,培养用OO方式思考的习惯。

首先要说明,OO是方法,不是语言,初学者一入门便摆弄Java, Python, Delphi等很容易形成误解,似乎OO=Java, Python, C++...

其次,过程式语言(或者说结构化方法)的精髓不会消亡,OO里面也不可能摆脱掉一条条的语句、函数调用,结构化方法还是需要提倡的。OO方法不是那么容易学会的(OO语言的语法弄得很熟练不代表你懂OO),而结构化那套方法,自个写个千把行的程序就很能体会了,我是说写个实用点的东西,比如试着自个实现一些数据结构和算法,写几个小游戏等。写个一千行Hello world等于没写。

我觉得方法是实践中体会出来的,不是看看书就能学会的,你看Design Patterns等把模式背的滚瓜烂熟很可能会陷入过度设计的泥潭,你写了几千行代码,然后再去读一读,改改调试调试,慢慢增加功能,你就会发现自己代码写的有多么臭了,然后看看书听听别人意见你就知道什么叫Best practice了,最好的经验就是在焦头烂额之际得到的。

过程式语言的代码一般比较简练,我们编程序最终的目的是要解决问题,是要计算,是要获取信息,不要被OO, pattern, EJB, Web Services等迷糊了(我不是反对这些技术).

强烈建议各位多读代码,你去看看莱昂氏的那本UNIX v6源码分析,仔细看,慢慢看,你就能体会到什么叫精致的代码了,然后尝试按照那个风格写代码。

3.过程式语言弄久了,很难转入OO的思维模式

我以前也没有深想过这个理由,不过时间久了,发觉自己不过是把数据和方法集中在一起而已,看着方便,其实有很多不合理的东西,这里头就需要OO 的理论指导了,还是需要时间来体会。我相信有很多用OO语言的人也不过是在框架里头添添代码,调用来调用去而已,把人类当作数据和操作的打包器。

个人觉得只有在用过程式方法做了十来年,编码上十万行后才有思维定势,难以习惯用OO的眼光看待系统,然而这个转变,我仍觉得比改变一个人的恶习容易许多。OO方法不是学了个Java, Python, C++等就能掌握的,需要实践,需要时间。过程式语言也容易培养一个人严谨的做事态度,比如用Pascal, C等写代码,没有namespace,没有function overload, 没有reference(Pascal有,呵呵,我喜欢),没有template, 没有exception, 你要花很多心思处理一些细节,比如警惕数组索引越界,悬挂指针,野指针等等,请不要觉得麻烦,这个就是计算机啊,底层就是这样的啊。 4.别用C, Pascal了,看我用Java, Python, Delphi, VB, VC等轻轻松松就写了个PP的GUI,NB的分布式应用...

这篇文章是给初学者看的,也可以给一些浮躁的人看看(我也反省,呵呵),初学编程的人精力应该放在数据结构、算法上面,尽量多看一些底层的东西,数字逻辑,操作系统,编译原理,计算机组成、体系结构,计算机网络等等基础知识。编写GUI拖几个控件有什么好吹的,你懂界面设计的原则么,你知道窗口消息怎么回事么,你编的界面是把易用放在第一位呢还是把漂亮放在第一位呢,你的GUI程序容易修改吗?比如我一会要加个button,一会去个 listbox,你会不会改的疯掉呢?你是不是在OnClick里头写了大段大段的代码,做类似“从edit1.text中去掉不是数字的字符,搜索 xxx再转成16进制,再复制到edit2.text”的事?

嗯,你socket弄得熟练,recv来,send去,可是如果你不懂tcp/ip协议那就有点可笑了,除了用别人做好的函数库你还能搞出什么新花样?弄分布式应用的知道“分布式”怎么回事吗,

你是否只是在用API堆砌代码呢?倘若有一天这个函数库没人支持了,你是不是就傻眼了?

比如编游戏,没看过3D图形学便搞DirectX,也是比较可笑的。

我并不是说你编比较高层的东西就必须先得透彻了解底层怎么实现的,我只是建议你好歹把底层的东西混个脸熟,遇到问题时心里有个谱,查查资料,别动不动扑某个论坛求救。以前在BBS上看到某人的话,说BBS不是学习的地方,是开拓眼界的地方。深以为然。

学习还是找纸版的书老实的看比较好,想想你积攒了多少电子书而又看了多少。

底层不了解,仅多也就飘在别人上头,别人一闪身,你就得摔下来。

初学编程的人一来就IDE, GUI, Network啥的猛搞,能不浮躁么?还是沉下心来研究一下基础知识吧,我以脑袋担保你有生之年会觉得他们有用的(呵呵,你转行我就没辙了),别看着别人弄JFC, Socket了你还在头大这个quick sort怎么就不对呢就心里惶惶的,你要知道在一批API不被支持后不少人心里空空的没个着落:天啊,我除了那个就啥都不会了,郁闷啊,花了我那么久时间钻研那套API,呜呜。。。。

5. C好难啊,我入门还是从Java,Python开始吧

首先,是自个要做程序员的吗?是想编程还是想赚钱啊?

其次,我们来比较一下难易:

C: k&r那本书真的不算厚,经典的C的书很少,说C难,大概是传说中C的指针很难吧,C的语法很简明的,就是指针,只要你认真看看书,写几个程序试一试,那几个指针的用法不难掌握,另外大家千万不要去死钻*++ ++*之类的语法,关于这点在《开发高手》最后一期上裘宗燕老师有一篇精彩的文章。大家记住写代码是要维护的,别耍弄语法技巧给自己或后人制造麻烦,你想想自己看别人写的天书代码是赞叹还是咒骂?

Java: 书太多了啊,就说Gosling(没拼错吧)那本,相当厚,学Java的人一开始都被classpath和package的问题烦过吧,还有Java的关键字,语法,Sun鼓捣出来的一堆堆Java技术名词,是不是有点晕了?

C++的确有难度,你可以看看C++语言的设计和演化,就可以知道C++怎么这个德行了,呵呵。有意思的是Java现在加入模版,而且因为伪模版的实现被人诟病,还有那个EJB的转变,有意思,大家可以思考一下“复杂”、“实用”这些词。

Python的确比较清爽,不过深入一点后其内部对象模型也不简单,想想操作一个列表有多少方法,各种功能强大的操作符,而且现在的OO语言逼着你OO, 结果往往是语法OO而已,没多大新意,我还是欣赏Perl, C++这类语言,你想怎么就怎么,重要的是要用合适方法,趁手工具,最少的时间做有价值的东西,把你钻研语言的语法的时间拿来锻炼一下身体,泡杯茶看看小说我觉得更好一些。

语言只是表达思想的工具,不要只局限于一种语言,不要狂热于某一门语言。

学编程时选书最好先看一看书中的代码,是取自实际应用中的吗?写的漂亮吗?(指代码自身的精致,以及排版是否工整)代码中有语法错误吗?(鄙视某些没编译试试就把代码copy到书里的作者)

有本Essential C#,取的是.Net类库的代码,很棒,讲delegate(希望没拼错,好久没弄这个了)时举的例子很清楚地让人看到这个东西该怎么用。

另外推荐Learning Perl,我个人觉得是我看过的最好的关于编程的书,该讲么,不该讲什么,按什么顺序讲,很好,也许是Perl的精神的感染吧,当初看这本书很有震惊的感觉,原来程序设计语言还可以这么使!爽!

要学数学,最好能练出很清晰地逻辑思维方式。这是最重要的。不然写程序逻辑不通的问题且受呢。

计算机语言之类‘‘

C++

学习编程要先学习什么?
答:6:学完以上的内容,有必要研究一下数据结构了,线性表,堆栈,队列,树,图,二叉树,等等,都要滚瓜烂熟!(最好是清华严蔚敏老师的那本教材)7:请时刻记住:浮躁是学习编程的大忌!8:现在,你应该学习一些数据库的知识,还有一些常用的算法了!9:如果以上的知识你都学精通的话,就可以开始C++的...

学编程需要准备什么?
答:如条件判断、循环、类和对象、代码测试以及项目的实现。每章的格式基本相同,以代码练习开始,按照编写代码运行并检查结果,然后再做附加练习。分布学习也很重要,基础学了之后,完成一个小项目。然后从进阶开始,搭建一个web页面。学习要以结果为导向,还要循序渐进。另外各个编程语言的官方文档是很好的学习...

我想学编程,请问该怎么入门?
答:了解算法的博大精深和计算机的基本理论。2.从实践上来说,需要有广泛的练习,练习的广泛在于练习不同的内容。然后就是创新精神和数学思维能力,这些都是需要培养的。基础要打好学编程要具备一定的基础。3.逻辑思维能力的培养、学程序设计要有一定的逻辑思维能力。“思维能力”的培养要长时间的实践锻炼。...

学习编程需要了解什么电脑基础知识
答:你可以自己编一些较为经典的小程序来加深基本技能的掌握:用Java的图形处理能力编写纸牌游戏,用AWT编写扫雷或者俄罗斯方块、用Java的网络功能编写网络聊天室等等。 以上就是学习编程需要了解的一些基础知识,要学习编程,其实需要很多方面的知识,广泛涉猎,才能真正学好编程。

想学习电脑编程应该先学什么起呢?依次列出学习编程的顺序来!
答:6:学完以上的内容,有必要研究一下数据结构了,线性表,堆栈,队列,树,图,二叉树,等等,都要滚瓜烂熟!(最好是清华严蔚敏老师的那本教材)7:请时刻记住:浮躁是学习编程的大忌!8:现在,你应该学习一些数据库的知识,还有一些常用的算法了!9:如果以上的知识你都学精通的话,就可以开始C++的...

学编程应该先学什么?
答:请问大家想学编程应该先学什么容易上手些... 请问大家想学编程应该先学什么容易上手些 展开  我来答 5个回答 #热议# 孩子之间打架 父母要不要干预?匿名用户 2009-01-26 展开全部 编程这是每个游戏编程FAQ里都有的问题。这个问题每星期都会在游戏开发论坛上被问上好几次。这是个很好的问题,但是,没人...

零基础编程入门自学先学什么?
答:如果你的英文还可以, 找英文的教材来学, 去外国的 forum 讨教 (如 StackOverflow), 你会有更好的领悟, 会有更多人可以帮到你. 你会学到更好的编程思维, 最重要是, 学会 "问对问题"。2. 首先要有编程的思路. 你总要知道 "你到底想做甚麼", "为甚麼要做甚麼", "你要做甚麼". 一旦...

学编程需要什么基础知识?
答:学编程需要以下基础知识:1、数学基础。从计算机发展和应用的历史来看,计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,初学者有高中水平就差不多了。2、逻辑思维能力的培养。学程序设计要有一定的逻辑思维能力,逻辑思维...

编程需要学习什么?
答:编程的学习方向很多,如Fortran语言、C语言、汉语程序设计语言等都是面向过程的语言;而以C++、Smalltalk等为代表的面向对象的语言与面向过程语言有着许多不同。这里以C++方向为例。1、多看代码,在有一定基础以后一定要多看别人的代码,注意代码中的算法和数据结构。毕竟学C++之后的关口就是算法和数据结构...

学编程需要什么基础?
答:想学编程的话要具备英语基础和数学基础。1、英语基础 想学编程,有点英语基础会比较好,现在大部分编程语言是基于英语语言的,比如常见的C、C++、java等等都是英语单词堆起来的,所以最好有英语基础,这样学习编程轻松、高效一些。当然不要求英语水平有多高,毕竟学软件开发的过程中所接触的英语的单词也就...