程序员编程比较好的平台(一个在阿里云打工的清华学渣分享)

今天这篇文章, 分享一下讲讲我是如何入门和进阶编程的也正好有读者朋友跟我咨询类似的问题,如何入门编程?有没有什么 c 小项目可以练手的?这篇文章也算是能回答这部分读者的疑问,我来为大家科普一下关于程序员编程比较好的平台?下面希望有你要的答案,我们一起来看看吧!

程序员编程比较好的平台(一个在阿里云打工的清华学渣分享)

程序员编程比较好的平台

今天这篇文章, 分享一下讲讲我是如何入门和进阶编程的。也正好有读者朋友跟我咨询类似的问题,如何入门编程?有没有什么 c 小项目可以练手的?这篇文章也算是能回答这部分读者的疑问。

下面,我将从以下这几个方面,谈谈自己的理解:

关于作者: 程序猿石头(ID: tangleithu),现任阿里巴巴技术专家,清华学渣,前大疆后端 Leader。 欢迎关注,交流和指导!

如何入门、提高兴趣?

首先,“编程”的门槛相对较低,你看外面的培训机构早就从成年人延伸到越来越多的中小学生,甚至“少儿编程”了。既然“少儿”都学,难道你还不能学么?

但整体来讲学习“编程”,特别是到后面进阶(例如数据结构和算法),是相对比较枯燥的。所以就要想办法来提高自己的兴趣,或者说通过一步步学习来获得“成就感”反向刺激自己主动多学习。

关于入门的编程语言,我觉得不要太局限,不要太限制自己非得用某个语言入门,可以根据自己的实际情况来选择。不过整体来讲,如果之前完全是小白,我推荐比如用 C语言 首先对编程语言有个大体的了解。

掌握了一门编程语言后,其他语言都是触类旁通的,无外乎就是“顺序、选择、循环”,不同编程语言的具体语法不一样而已。然后对于常规的面向过程的 C 语言有过接触的话,面向对象的 C 、Java等也建议都了解和学习一下。

记得我当初上大学的时候接触的第一门编程语言就是“VB”,我想学校安排的课程先后顺序还是很有道理的。用 VB,在 VisualStudio 上简单用鼠标拖一拖就能出来一个有用户界面、可交互的像模像样的“软件”,这对于上面提到的用“成就感”来激励自己主动多学习还是很有效果的。

比如当初课程大作业就是写一个计算器,通过短时间的入门学习,就能写一个这样的计算器软件出来,确实还是颇有成就感。这其实就跟现在的少儿编程一个道理,用一些可视化的编程平台让小朋友通过简单的拖拽,加上少部分逻辑就能出一个非常“炫丽”的效果,就跟玩游戏一样,这当然能激发足够的兴趣。

小结一下,入门编程,就是先学一门比较好上手的编程语言,通过尝试写一些有用户界面(比如 HTML JS)的小项目、小 Demo 来激励自己。

积累专业知识,重视基础

有了一两门编程语言作为基础后,这个环节就是真正体现编程水平的时候,也是最能和其他人拉开差距的部分。

在阿里社招面试的过程中也是非常看重基础的,过去项目不牛 X 没关系,基础知识一定得扎实。

在参与社招面试过程中,领导也特别交代,除了一般的沟通交流外一定要看基础,基础好,解决问题时有逻辑、有条理,简单的代码题目能写个八九不离十,基本上一面二面也就过了。

具体相关的计算机专业课程无外乎就是那么几门:《C/C 程序设计基础》、《数据结构》、《算法分析和设计》、《汇编语言程序设计》、《计算机网络》、《操作系统》、《数据库系统》、《编译原理》等等,在这里我也不再详述了。

从中可看出,正如我之前所说,计算机相关的专业基础知识和就业联系得很紧密。如果是在校生,就一定不要浪费时间、抓住这些专业课程的学习机会。不然毕业后从事了编程这个行业,也还是会回到这些基础知识上,正所谓“ 欠下的债,迟早都是要还的 ”。

况且,学校的课程学得好,还能帮助获得奖学金、保研、找工作等等,一举多得,简直完美。

现在的 网络资源 也很丰富,各种丰富的教程、文章、书籍等都可以直接白嫖,不过也正是因为现在各种资料满天飞,其中也不乏各种垃圾,学会甄别和如何快速检索到想要的也是一种能力。

当然,还有一点也很重要,很多情况下,我们去屯了不少学习资料,然而 真正去阅读学习 的又占多少?我不知道你怎么样,反正我确实是屯了不少,但屯了后去认真看的,确实少。

积攒项目经验

前面提到的入门也好,基础知识也好,其实最终是为“项目”、为“产品”服务的。在校生或者刚入门没有“项目”,没有“产品”怎么办,那就自己制造机会。

为什么要做项目呢,因为一个完整的项目是可以比较系统的,是一个可以把理论付诸实践的机会,从某种程度上讲,做一个或大或小的项目,也能起到跟前文所说的正向激励的作用。

例如我在本科期间,就做了几个小项目,现在列举两个典型供大家参考。

例如,学完 C/C 编程、数据库等课程后,是不是也可以自己来搞个小聊天工具呢?再比如,学了 C 开发,是不是可以搞个类似的图书管理系统、校园 SNS 之类(当初人人网很:fire:啊)的玩玩?

下面就来看看我上学期间搞的两个小项目吧,供参考。

仿QQ聊天系统

这个就能对自己的学习有一个阶段性、系统性的总结,在当初看来确实还是蛮有成就感的。其实做一个,各种场合都能用,比如课程 A 的大作业可以用,稍微改吧改吧,课程 B 的也能接着用,一举多得。用心做,不仅自己知识点 get 到了,各个课程作业又能得高分。:expressionless:

这个系统主要是仿照QQ聊天软件,其功能模块包括:私聊、群聊、语音聊天、视频聊天,用到的主要技术点:C/S 体系结构,Oracle数据库、socket、多线程、swing等等。

当初做完了语音、视频聊天,还是很让人眼前一亮的。当然这种小项目当初我们是几个小伙伴一起合作完成的,一般课程作业是需要在规定的时间内完成的,就可以找几个小伙伴一起学习、互相促进和成长。

你当然也可以独立完成,如果也想找小伙伴一起,也可以加入"程序猿石头"的 读者交流群 ,找志同道合的小伙伴一起“刷项目”,共同成长、共同进步。

看截图,是不是还像模像样的。用这个小项目来入门练手,还真是个不错的选择。有足够的挑战,同时也有足够的趣味性和成就感。

勤思考、多总结

这个其实不必多说。不管哪个行当,做到 “勤思考、多总结” 百利无一害。

哪怕正式工作之后,写周报、月报等也都是阶段性的总结,再比如晋升答辩等等都是需要你日常的思考积累和总结的。反正将来都会用得着,何不现在就开始锻炼呢。

在日常学习和工作之中,我们看到一个问题的时候,要学会思考背后的道理,比如在接到某个需求的时候,思考 这个需求最终是要解决具体什么问题,有没有更好的解决方案 ?在阅读某段代码,思考 原作者为什么要这么设计?我有更好的方案么?

总结

整体来讲,针对“入门进阶编程”这个话题,我谈了谈自己的理解,重点还是要重视基础,通过小项目正向激励自己多主动学习,然后做到勤思考,多总结。

如果你依然在编程的世界里迷茫,不知道自己的未来规划,亦或你想更好的提升你的编程能力,好好学习C/C 编程知识的话!那么你很幸运~

编程学习书籍:

编程学习视频:

分享(源码、项目实战视频、项目笔记,基础入门教程)

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

C语言C 编程学习交流圈子,点击下方【了解更多】获取更多学习资料帮助你学习成长哦~

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页