想学习一门编程语言,从何处起手
做软件工程和做学生的日常作业不一样,从工具到配置发布都有系统性的工程实践原则来指导。所以我们需要学习的内容要细化并且系统。
想学习一门编程语言,从何处起手
如果你只是想学习如何建立一个网站的知识,而且看你罗列的东西像是要做全栈,就是前后端都要自己弄,那么我推荐两个板块的东西:Ruby on rails和NodeJS。这两个都是全栈的,用来快速建立网站服务的,很容易就建立起来,像Ruby on rails能够让你在15分钟快速建立起一个个人博客站点。
如果你不仅仅是想做网站服务,而且想深入地学习网络编程的知识,那我觉得还有以下几方面的内容要深入。比如了解并掌握网络基础,TCP/IP;编程语言;选择一套网络框架,这个是和你选择具体语言紧密相关的。
山东济南汉码未来认为:“做软件工程和做学生的大作业不一样,从工具到配置发布都有系统性的工程实践原则来指导。所以我们需要学习的内容要细化并且系统”。
一、网络编程建议从Linux C开始做起,基于Linux 平台的socket API来起步,慢慢推进。写代码就用VIM,编译用GCC,部署用docker.如果还在大学,一定要好好上专业课。通过计算机网络课你知道所谓的协议分析是怎么一回事情。
二、html和css,javascript一定要有所了解的 ,然后了解一下php。这些基本的东西网上有很多视频教程,看一遍基本就会个七七八八了。
三、去了解一些开源代码吧,从简单的emlog博客,到discuz,phpwind之类。
有了基础,然后就开始想想你要怎么应用所学到的东西,如写一个简单的网站程序发布到各大源码下载站,当有人用你的程序后就会有人提出各种改进需求,如果你能想办法做出来,那你的网络编程就可以了。主要是有时间,有耐心,就行了。
零基础和低基础小白最适合学的还是java,了解更多java信息可以看看这篇文章:Java很难学吗?
了解了大概的流程,我们来看一看具体学习课程。
一、了解并掌握网络协议,比如常见的tcp、ip、udp 协议,尤其是 tcp 的连接过程(三次握手)和断开连接过程(四次挥手)。具体可以参考《计算机网络》。
二、网络编程初探,了解协议内容后,此时可以动手去练习一下,利用一些API实现基本的服务器与客户端编程。可以参考《linux网络编程》。
三、网络编程进化,socket 编程实战后,应该对这些牛逼的 API 产生了更多兴趣。接着可以参考《unix网络编程-卷一》,继续探索翱翔在你的网络编程世界。
需要你结合实战项目进一步学习,可以看看比较结合实战的《Linux高性能服务器编程》