这个问题,比较宽泛,但是也是很多人比较关心的。要回答到你的问题上,需要从编程的目的着手。
目的1:自娱自乐
如果只是自娱自乐的话,那就可以选择比较简单,能快速入门的语言。比如python、javascript等。
python
对于自娱自乐的用户群,python适合做一些电脑上常用操作的脚本,简化频繁的操作。比如销售都会有一堆销售单每周需要汇总后发邮件给主管汇报,这时就可以使用python做一个脚本,定时处理每周的销售单,汇总发送邮件。 除此之外,python还可以做为爬虫,去抓取网站上需要的数据,比如比价网抓取商品数据、到汽车之家抓取汽车型号数据等。
python入门的话,建议可以先到https://www.runoob.com/python/python-tutorial.html熟悉python的基本语法,使用方式。
再到百度搜索几个python的爬虫源码,跟着源码的逻辑,就能更加熟悉python的语言。
javascript
这个全称应该是说网页设计开发吧,能够通过语言自己搭建程序,网站。那肯定是会更加有成就感。
要学会网页开发,起码要有html + css + javascript的基础知识。幸好现在网络发达,很多程序相关东西都不用买书就能解决。还是在之前介绍的那个网站上能全部搞定。
html:https://www.runoob.com/html/html-tutorial.html
css: https://www.runoob.com/css/css-tutorial.html
javascript: https://www.runoob.com/js/js-tutorial.html
现在还有一个方向,写小程序代码,可以微信分享、海报分享什么的,代码比普通html简单,而且完成后的作品更漂亮。
对了,因为写网页开发的话,还需要后端知识。如果是完全不懂的话,我还可以推荐一个网站(https://www.firefac.com),里面提供来后台服务,还提供来前端小程序的源代码,可以上去下载一套源代码,跟着页面多点一点,看看别人是怎么写的,学起来更快。
目的2:转行程序猿
如果是需要转行程序猿的话,那对专业技能的要求会更高。
俗话说:转行不转业。 说的是即使转换了其他职业,但是做的内容最好还是能与之前的有承接关系。比如之前做的是工厂职工,那可以做跟机械自动化、MES、PDM相关的开发;如果是网络运营,则可以做跟网络运营相关的开发;如果是老师等教育工作者,则可以做在线教育方面的研发。
这几个方向学习的知识都不太一样,需要针对问题针对回答。
大概有几种方向:
机械自动化相关:C语言、C++、JAVA等
网络开发:java、php、go、html、JavaScript、nodejs等
在线教育:java、php、C++等
基础知识:
数据库:mysql、sqlserver、oricle
数据结构:严蔚敏版数据结构
网络知识:TCP/IP详解、postman工具
操作系统:深入理解计算机系统
软件工程管理工具:office visio、mac omniGraffle、worktile等(UML设计、开发协作)
目的3:专科出身,需要深造
专科出身的朋友,也是分成几种情况:1. 刚毕业参加工作,2. 需要更进一步,3. 专业方向(这点我帮不了忙,需要根据自己的专业来选择)
1. 刚毕业参加工作
这个时候的同学往往知识储备是不够的,到了工作岗位上,会觉得什么都不太懂,这时就会更加迷茫。我分享一下这种情况的处理方式,要关注学习的本质,学习不外乎两种方式,
a. 跟着工作来,工作需要什么,就去网上补什么,或者找相关资料看一看。这种方式适合于手忙脚乱不知所措的时候,先关注于不懂的知识点,先解决再说。
b. 深挖某个知识点。如果上一条做好了以后,选择比较重要的几个知识点,在相关方向深入挖掘。
2. 需要更进一步
需要更进一步的同学,恭喜你,你已经选择了更加坎坷的路,向着架构师前进。
架构师需要关注的点就更多了,不仅是代码是否完成,是否能够正常运行。还需要关注代码的扩展性、程序性能、程序未来的发展方向、怎么对程序做监控、怎么做分布式系统、怎么完成多个系统间的集成、怎么对系统做优化等。除此之外最关键的是怎么处理员工之间的关系,能够让自己的架构设计能够稳步推进。
有不同的见解或者看法,可以评论中互相讨论