思否编程
A. 如何自学编程
自学编程对很多萌新来说是一件很难的事,但我们应该要克服这个困难。毕竟学习从来都不是一马平川的坦途,等着别人来教,那就意味着自己会永远被限制在一个小圈子里。
关于如何自学编程,我们首先要有一个明确的目标。很多萌新在初学编程的时候都喜欢想东想西,看到黑客很酷就想学渗透搞信息安全,看到别人做的 游戏 很炫,就想去学 游戏 开发。殊不知,学习一道,最忌三心二意。在初学之时,我们一定要明确自己的目标,然后朝着它前进。东搞一下,西搞一下,到头注定是竹篮打水一场空。
明确好自己的目标后,就要对自己所选择的方向做一个大概了解。如常用开发语言、主流技术这些。再对自己的学习路线进行合理的规划,为什么要制定一个学习路线规划了?一是能让你对未来的学习有一个明确的大概认知,脑袋里面想的始终不如落实到的纸面上;二是能在学习之初给你带来一定的信心提升,而且每实现一个目标都能给自己带来一定成就感和更多的信心,以此来提高继续学习的动力,避免学着学着就不想学了的情况;三是起到一个督促作用,计划既然已经做出来了,那就要去落实,没落实的话一般人心理或多或少都会想着这个事,心里空落落的以此逼迫自己去学习。
讲完了做计划的用处,再来讲讲做计划时常入的误区。很多萌新总是计划的很好,排的满满的,想的很多很好,却忽略了实际情况,以至于执行总是不能到位,挫败感不断积多导致放弃学习。所以我们一定要注意,在制定学习计划的时候一定要考虑自身因素,如自己的学习能力、自己的管控能力等。其次是对于做计划这件事,我们最好是自己来做,别人的计划顶多只能用来参考,直接生搬硬套很容易导致不符合自身的情况出现。每个人都有每个人的学习方法与方式,可借鉴可参考,一味死磕注定路会越走越窄。从自身出发,去寻找最根本的解决。
在制定计划的时候我们可以搭配一些脑图工具来让计划更快的制定好且条理清晰,如笔者想要学习Web前端,就先了解Web前端的基础知识是哪些,进行记录并安排好学习顺序。后期的进阶知识,项目实践都可以用上面的方法实现。
这个部分是让大家对自己的学习路线进行梳理并简单了解自己所要学习的知识,破除对学习的恐惧和迷茫。
制作脑图的工具大家可以自行选择,常用的如XMind、幕布、网络脑图、ZhiMap等(排名不分先后顺序,选择自己用的顺手的即可。网络脑图、ZhiMap为在线脑图工具)。
定完了计划,做好了脑图,就到了执行的时候了,我们在这一步可以使用番茄钟类的工具来进行提高己身执行力,如番茄ToDo、番茄薯仔等。在这里我们需要注意的是,工具终究只是外物,是外力是靠不住的,过分依赖外力的后果就是被外力所束缚;工具所起的作用只是辅助和提醒,关键还是要靠我们自己去执行。学习一事是自己的事,是于自己有益的事,我们如果有拖延症、懒癌那我们一定要克服它们,在心里在脑海中反复提醒自己不要被拖延和懒惰吞噬,不要被一时的欢娱而引诱,自律很痛苦,但没有自律的人生会更痛苦。
学习过程中,切忌好高骛远,学着眼前的,想着后面的,更不可一口气吃成个胖子,学习一道还是要一步一个脚印为好,当前所学最好是要融会贯通,不济也得要明白学的是个什么东西,一味追求效率岂不落了下乘?万丈高楼平地起,基石是重中之重。
遇到问题,我们不要直接去问别人。一定要自己先思考而后实践,阅资料翻看文档,寻求自己的解决方法,万般未果之后再去寻求他人的帮助。在获取到他人帮助时,我们也不要一味接受,可以将他人的方法与自己先前思考实践所得来的成果进行互相印证,寻找自己错在哪,还有哪些不足。吃了一堑,那就要长一智,不要为了解决问题而去解决问题。
我们生在了一个很好的时代,这个时代有互联网,使得我们获取知识相对再简单了很多。在互联网上获取各种资源我们必不可少的要用到搜索引擎,最常见的是网络搜索,但做为学计算机的我们还应该知道"传说"中的Google搜索,小众的必应搜索和秘迹搜索。为什么要知道这些了?首先我们要明白,网络搜索虽然本土化做的相对较好,但有时候并不是那么靠的住,这个时候就需要其它搜索引擎上场了,如果你在网络搜索上没有找到自己想要的答案和资源,何不试试其它搜索引擎了?
了解完搜索引擎我们再来了解一些比较常用的学习资源获取网站和平台。首先我们要提到CSDN(Chinese Software Developer Network)中国专业IT社区,也是中国最大的IT社区,有着非常多(混杂)的学习资源,是萌新学习时必会接触到的一个社区网站。
其后是博客园,作为开发者的知识分享社区和纯净技术交流社区,博客园相比CSDN"简陋"了许多,但相应的也简洁不少,也有着不少的开发者进行经验和资源分享。
上面提到的都是社区类型的网站,但我们的学习光靠社区还是不够的。社区虽然资源多,但大多不够系统和优质,萌新学习起来很容易懵圈,而且萌新阶段学习过程中必不可少要接触一些文字教程和视频教程,这时候就要轮到那些专门做相关方面的网站显身手了。
文字教程,可以去菜鸟教程上面寻找,菜鸟教程上的文字教程相对来说全面。萌新前期学习的知识基本都能找到。如果菜鸟教程上的资源不够满意,还可以去自己想学习的技术社区寻找,基本上一门技术和编程语言都有自己相应的社区。再以Web前端为例,学习Web前端,就可以去W3School教程(全球最大的中文 Web 技术教程)上寻找学习资源。当然,除了上述的寻找方法我们还可以依靠搜索引擎和自己上电商网站购买书籍来获取文字教程和资料。
视频教程资源的获取就要比文字教程资源的获取要多很多了。国内的诸如中国大学慕课、慕课网、优达学城、网易云课堂、网易公开课、腾讯课堂等一些列视频教程网站(中间有些是付费课程,个人按需选择并分辨即可)。
拥有了学习资源,我们在自学过程中难免会遇到一些自己甚至身边的同学朋友及老师也解决不了的问题,这个时候我们除了可以去社区发帖提问还可以去专门的问答平台提问,国外有个叫StackOverFlow的网站就是一个IT技术问答网站,不过它要转比较久的圈圈才能打开,而且使用体验对萌新来说可能并不是很好。我们可以去SegmentFault(思否,以StackOverFlow为原型的技术问答网站)看看,说不定就会有令我们满意的答案。
对于一些学习能力比较强的同学来说,除了在学习之余做些小项目之外难免想要自己动 手参与到真正的项目中去,那可以去Github上找一找有没有适合自己的项目。作为世界最大的开源中心及有软件项目托管平台,上面一定会有你的"真爱"。
文末,附上一些未介绍的网站,有兴趣的同学可以自己去发掘一下。
V2EX、掘金——社区类
InfoQ——知识拓展
程序员的工具箱——在线工具箱
Office-converter——在线文件转换器
FirefoxSend——在线临时网盘
Bigjpg——AI人工智能图片无损放大
宜配屋——国内外公开课下载
IT eBooks——电子书下载
牛客网——刷题
codingground——在线使用的免费 IDE 和终端工具
Speedtest测速网——在线网速测试
道阻且长,仍需努力。纵有疾风起,人生不言弃。
B. 程序员的逻辑思维可以从哪些方面学习呢
逻辑思维的培养对软件工程非常重要,思维快的能快速编写逻辑代码。可以从一下几个方面进行慢慢培养。
第一:明确学习目的
逻辑思维学习编程对多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
第二打好基础,学好基础知识对我们开发也很重要学编程要具备一定的基础,总结之有以下几方面:
首先是数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
其次是逻辑思维能力的培养 学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。最后是选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发 应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发 开发工具如 Java 等。 3)网络开发 对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。 以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
第三:注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
第四:掌握编程思想,编程思想使用较多的就是oop编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
第六:多实践、多交流,一切思维来自项目开发的积累
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
第七:养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使
程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
第八:上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载
8.加强计算机理论知识的再学习
思维培养学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以
开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数
学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机
原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
C. 程序员有哪些交流平台或社区啊
社区的话,开源,csdn,知乎,博客园,涵盖面比较广,但是弊端就是交流的不及时,不能快速解决问题,新出的APP,能高频率的一起交流,像是现在的问啊,就是这样,而且也可以回答别人的问题,锻炼下自己的能力,关键答题还能赚钱,我用过了,你也可以去试试。
