为什么想写程序?
通常想接触程序的人,大部分是觉得,可以找到一份好的工作,
可是基本上,能够走下去的都是对于程序的目的有热忱的比较多,
举个简单的例子,fb的共同创办人、youtuber的共同创办人、apple还有微软都是不少都是程序起家,
因为这些平台创办人往往不只一个,有些人可能会反驳他们并不会写程序,
但这得追朔到源头,他们通常对于计算机或者科学有一定的涉略,这也是我想表达的。
首先,写程序其实并不是因为热爱写程序而去写,
在我认识得大部分程序的高手,基本上都是"为了什么去写",
譬如你想做一个网站、想做一个app、想开发人工智慧等,其实都是符合"为了什么去写?"这件事情。
如果你想写程序,通常个人会认为,最好是有一个目的性在加入,
因为,软体工程师的工作不是只有写软体而已,
程序涉略得相当得广泛,写程序只是一个起头,最后还是以目的为主。
而目的性其实很多多,以不碰硬体来举例就好,像是爬虫、游戏、系统,都可以去写,
程序就只是这些东西的一个基础而已。
简单说如果你想要做这些事情,虽然可以透过工具,但是不熟悉基本的程式,
想做出多样化的东西时,就会非常受到限制。
用个简单的想法,现在流行手机游戏跟大型社群网站,
但是在几年前则是单机游戏还有电脑网页游戏当道,
其实这些都建立在程序的基础上,这也包含你我现在在用得这个网页,
换句话说,基础不变的状况下,其实可以产生出来的东西也是千变万化的。
至于所谓的基础是什么呢?
万物基本上都符合一个原则,就是循序渐进,相信这个道理大家都知道,
程序也是一样,更是强烈得符合这个原则。
说穿了,就是教你正确的思考方式。
难道其他方式不是正确思考吗?或许有人这样疑惑,
举个例子,两个人组合同一种机器人,假设这台机器人只有一种组装方式,
结果一个人组出来,另外一个人组不出来,
你们觉得谁是正确的呢?
换个角度,今天程序作用在无生命的物体上(电脑),是否这个物体也只能明白它所能明白的东西呢?
这跟我们赚不赚钱、能不能中乐透的原理可是差很多,
然而再把机器人组出来的状况下,就是一种正确的思考方式。
换句话说,程序的思考就像组机器人的过程,
所以大家应该有发现为什么世界都在推崇写程序吧?
写程序其实不代表比较聪明,而是教你正确思考的方式.
回归正题,所以,学习程序只是基础的思考,
有了基础的思考你才能做游戏网站之类,
重要的在于你想用程序做什么。
这就是为什么要写程序,你的目的虽然是想做游戏想做什么,可是,
在那之前,程序只是一个起源。
这一段是要告诉想踏入程序的人,如果你没有想用程序做的事情,
其实很难走下去,所以建议先以"想用程序做什么"为出发点。
为什么学程序?
要先有想用程序完成的事情,例如游戏、网页、系统等,
有想用程序做的事情学程序才会容易。
而程序是建立在思考上,有了程序才能完成你想做的事情
程序学的是思考,而思考透过程序去实践出目标。
怎么开始写程序?
有了目的之后,你也知道要先有基础思考,下一步就是要怎么开始学习程序,
新手最常问的问题不外乎就是,我要学什么语言?我该上课吗?我可以买书来看吗?
就个人经验,语言没差、看书你很难看下去,上课要很认真。
那岂不是直接叫人放弃呢?
不是,我前面有先讲到第一点有一个重点在
你想用程序做什么?
这里就直接延伸,首先你要先清楚你要写什么,
常见的就是网页、游戏、系统、大数据、爬虫、app程式等等,
如果问我说哪种语言可以办到,我会回答其实大部分语言都可以办到这些,
差别在于哪个语言比较好做到。
如果你只是想做ui设计,那么就从css、html下手,进阶一点javascript,
如果你是一个前端网页,那么就从css、html然后专精javascript,
如果你要写安卓系统,那就得从java下手,
如果你想写游戏,那可以从c#语言下手,
其实每种语言都有自己的特性,而这些语言在市场都有一定的价值,
有些程序人会建议新手去学javascript,个人认为,js虽入门容易,
但对于什么都没有的新手,其实很困难,或者说是易学难精。
我个人认为,最好可以从java或者c#这两个语言入门。当然,如果是想做网页为目的,或者前端,就挑js或php入手也可以。而我推荐两个语言是因为这两个语言是所谓强型别语言,很多规定,但是可以减少新手的失误率,强制让你一定要照"正确思考"的方向前进。对于基础其实有很大的帮助,当然如果再拿java跟C#比,c#语言是比较好学习得,工作机会也不少,或者有些人很有自信,直接挑战typescript(javascript),这是一个很强的语言。
在学语言前你可以分析两个方向
第一个是你想做什么?什么语言适合你要到的目标?
第二个是你的语言市场性与是否好学、参考资料多不多?
然后,选好语言,入门则推荐
1.C#语言 : 概念清楚,但是又很好写,跟微软绑定所以很好操作
2.javascript : 万用语言,要入门很容易,精通稍微难
3.java : 市场性强,架构物件导向清晰,缺点是比较不好学习
最后怎么写程序?
看线上课程或者实例,一步一步了解并且把那样东西做出来,
不用挑太难的,从最简单的开始,
像我们第一个程序通常都是99乘法表然后在计算机,
最后生出一个登入画面,基本上你的基本功就差不多了。
这三个语言因为很热门,网路上资源非常的多,
可以选择去上课,或者免费的线上课程其实都足够基础,
但是不建议一开始直接看书不实做,比较难掌握到重点,
不可否认的一点是,有蛮多人慧根很好,看书就会,这也是一种方法。
我关键则是多练习,像我不太会读书理解力又差,个人就是靠不断练习,
当我先做出九九乘法表,在做出计算机的时候,就会慢慢熟悉,
然后生出一个简单的登入系统,就会很有感受。
先决定要学的语言,以想做的事情为基准,再决定语言要什么,
如果没特别,就以c#、java或javascript为入门,
再来可以选择看线上课程,然后边实做边练习,一步一步的扎实训练,
重点是要好好实作与练习,弄懂每一步,多写最重要。
网友评论