编程语言都相当多的共性,分享一下学习经验。就编程语言而言,我一般对它们内涵的知识进行分层,然后选择学习。
初级:语法(必须掌握)
中级:常用功能(建议掌握)
高级:专业领域(建议选学)
知识体系很总要!知识体系很总要!知识体系很总要!重要的话要说三遍!
没有知识体系,你根本不知道自己有多少东西要学,为什么要学,到底学会了没有!
初级:语法
指的是“类型、变量、表达式、符号、关键字、选择、判断、分支、循环、函数、闭包、注释”等一系列最基础的内容,自学任何语言都要优先掌握。
中级:常用功能
这部分内容通常包含“I/O、图形、多线程、网络、数据结构、内存管理”等等。
I/O包含设备(鼠标、键盘、操纵杆、触屏)、文件等;
图形包含GUI(按钮、文本框等组件)、绘图(例如HTML5的Canvas、C语言的GDI);
多线程包含同步异步、死锁、线程调度等;
网络包括socket、http、url等;
数据结构包括线性结构(Array、List、Stack)、哈希表(Map、HashTable)、集合(Set)、图(A*寻路)、树(XML、DOM)、自定义类型(结构体、类)等。
中级内容根本上就是为了实用,也就是让你能够基于它的语法来构建各种应用。从纯实践的角度来说,如果你用不着一方面的功能,大可以先不学。从学习者的角度来说,最好都学了,有益无害。因为这个层面的内容通常涵盖了软件专业的全部专业课,学起来也尤其容易出错。有时候你觉得一个语言的某部分太难,并不是因为这个语言很难,而是因为自己学识不够。有时候虽然代码能写出来,但并不是真的懂了。
很多语言都有大量的函数库、类库、插件之类的玩意来支持上述内容,也有一些语言直接把这些内容做到了语言自身里面。比如JavaScript的jQuery;比如做网站常用的Bootstrap;比如C的win32、gdi;比如C++的STL、MFC;比如Java的各种各样的jar包;比如3D开发需要的DX、OPENGL;比如...
我可以不重样地介绍一两个小时,但了解这个没有任何意义,重点是:实用。
高级:专业领域
这部分的内容不是为普通人准备的,根据这个发明出来的目的不同而不同,对某些专业工作非常有效。比如C语言的预处理宏(你不学它也能写程序),比如Excel的公式;比如Matlab、比如PL/SQL,比如Java的POI(用来处理Office文档),比如...同样的道理,你学不会的话,通常都是因为缺乏专业知识。自学的时候,遇到这种东西的话就先扔一遍别管吧,没有专业领域的知识怎么学也学不会的。
分享到:
相关推荐
吴恩达深度学习编程练习1-5课附答案
Coursera斯坦福机器学习编程作业全集1-11周共8个编程作业,均测试提交满分通过
学习编程是一项既有挑战性又富有成就感的任务,尤其对于初学者来说,正确的学习方法至关重要。本文将根据标题“如何学习编程,很详细”和提供的内容,详细介绍如何有效地进行编程学习。 首先,我们需要明确学习编程...
少儿学习编程的意义 在现代社会中,随着科技的快速发展,编程已经不再是一种单纯的技能,而是成为了一种重要的基础能力。在这样的背景下,少儿学习编程的意义尤为凸显。编程教育不仅仅是关于计算机的操作,更是一种...
本文将由经验丰富的技术培训师Paul带领我们快速学习编程语言的同时,也分享了他的育儿经验,以期帮助家长理解如何在育儿过程中培养孩子的编程兴趣和能力。 Paul的职业生涯始于中学时期对编程的热爱。那时,他通过...
- **简介**:塔克编程是一种基于物理机器人的编程学习方式,通过控制机器人完成各种任务来学习编程。 - **特色**:实际操作性强,能够将编程学习与实际问题解决相结合。 - **适用人群**:4-8岁儿童。 4. **兔...
《机器学习编程作业满分答案深度解析》 在深入探讨机器学习这一领域时,Coursera上的Stanford大学Andrew Ng教授的课程无疑是许多学习者的重要参考资料。吴恩达,这位人工智能和机器学习领域的领军人物,以其生动...
学习编程入门宝典,经验都在里面了,供大家分析
学习编程的资料
编程对于好多人来说开始接触学习的方法好凌乱 所以我整理了7种从头开始免费学习编程的方法.txt
强化学习编程实战-6-基于函数逼近的方法
免费学习编程的10个好工具.pdf
机器学习编程100天
零基础如何学习编程心得笔记(1).pdf
免费学习编程的10个好工具(1).pdf
Scratch 是一种图形化编程语言,主要用于教育目的和初学者学习编程
视频学习编程更方便,还有几个,关注以后再上载,网速太慢今天就一篇了
实验一、机器学习编程基础实验.docx
机器学习编程练习_MATLAB_下载.zip
Scratch 是一个基于图形化编程的工具,专门设计用于帮助儿童和初学者学习编程概念。它通过拖拽图形积木的方式来构建程序,非常直观。Scratch 适用于制作简单的动画、互动故事、游戏等。