今天给大家分享的是一位粉丝的提问,双非本南邮硕电子信息研一转码:优先掌握哪些编程语言?与学习路径推荐
接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。
同学提问:
您好,本科双非,目前硕士南邮电子信息在读,现在研一空闲较多,科研任务不算紧张,将来工作路线大概率偏向转码,但不知道从何处开始下手,阅览了不少论坛网站的提问建议也不甚明了,所以想请教一下应该掌握哪几种语言?具体进行怎么样的一个学习规划?还行不吝赐教。
Yt回答:
首先硕士南邮的,现在大概率转码,其实你肯定会转码,
然后现在就是在很多的这种论坛网站上面,然后提的建议不甚明了。请注意啊我认为在这里提到一点,就是如果你后面转码,在这种时间很充裕的情况下面,我不建议你自学,首先我说一下为什么呢?因为自学这个过程我认为它路线会很长,而且你花了时间看不出效果。
其核心原因在哪里?你会发现就比如以 C++ 这门语言你怎么学,我认为你自学肯定能想到,首先我C++ primer先从语法开始,搞一本 C++ primer 这种书,或者 C++ primer plus 这种书,我先把里面看,从什么类、成员变量、公有变量、保护变量、私有变量、包括多态、继承这些东西慢慢写,然后到模板看完之后STL, STL你比如从visit, list, site, map, iterator这里每个看完,然后后面 C++ 新特性你会发现这里不知不觉就已经3本书了
。第一本 C++ 语法、第二本 STL 、第三本你还搞一本 C++ 新特性,这里就已经3本了,然后你发现这里做完之后你能做什么,还是大黑框,那这里你学了这么久你肯定就想,我要找到个东西试验一下,你觉得这里你会你啥也做不了,你只能写点数据结构,只能比如说用 C++ 封装一个队列、封装一个栈、封装一个红黑树、封装一个b树,仅仅你就只能做到这里,因为网络都还没有设计,那你发现接下来那网络是不是也看,你发现计算机网络你也拿出来,你不看计算机网络拿 TCP/IP 讲解那本书你看,你发现看完之后你发现依旧还写不出代码,我在网上找点TCP客户端然后开始写,你发现这里写完之后你发现你得看书,这是第4本书,然后接下来你发现在写的时候,你发现这里还用到进程、线程、共享内存、管道、互斥锁,接下来你会发现我还得找本操作系统的书来看,操作系统书看完之后你会发现这个东西好像写完之后网络也是操作系统书看完之后好像还是啥也干不了,就因为它不在界面,我认为很多的人是很难坚持到这么久的,而且你即使坚持这么久你会发现你越学越迷茫,在这过程中你会遇到很多的问题是没有人帮你去解答清楚的,你只能自己去求证并且你得到求证的答案,也没有人跟你讲我得到的这个答案它到底还是不是正确的。
目前来说如果你比如后面转码,我认为在这种时间空余的情况下可以了解一下零声,我是认为这么想的。就是现在很多的大学的就包括你自学啊,还是说你大学的一些培养,都是从理论开始然后慢慢晋升到项目的,但是像我们这种这种,就是说比如培训的它肯定是从直接解决你就业问题出发,就从项目入手,就是有些基础知识之后可以直接从项目入手,然后从项目入手之后呢,你缺哪些技术,然后在项目里面去反推去,在项目里面去再补充你的这个技术层面东西,这样是针对于你直接去就业的,这样就是快,然后目标性更强,而且你会学出来它真的会比你自学扎实很多很多。
应该掌握哪几门语言,其实站在一款产品的角度,用的比较多的比如以微信,那微信这一个产品它是有很多种语言的,比如说你能够看到的微信的那种buttonb你比如按照语音它能发送这种,它是用前端语言,就是用这种 HTML 相关的前端语言写的,比如你的聊天记录保存在本地,下一次再打开这个应用你把微信直接退出,退出完了你再打开你能看到聊天记录,这个聊天记录保存这一层可能用 C/C++写的,看到对应的网页你比如那朋友圈能够看到对应的信息以及你跳转到第三方这一层这种浏览器的功能可能也是用 C/C++ 写的,这种接口你比如对应的哪个信息比如谁发的朋友圈这个 HTTP 请求可能是用这种业务语言写的。
请注意啊站在一款产品的角度它就会有多种语言,我认为在这里你至少来说掌握这么几种语言:至少第一门 C,C 可能后面你开发可能也能用得到,第二门呢,我认为 C/C++两者就把它合在一起,C/C++这两门语言中间你首先来说对它一定要理解,就是你对它可以是一种什么情况,就是可以不用但是你一定要懂,就比如说我们这种唐诗宋词一样,就是你可以不用但是你不能不懂,第二个呢就是go相关,就是我认为这一门语言你是可以去了解的,因为它不是学校走出来的,这门语言而且好学方便,这里掌握几门语言 C/C++以及go,请注意系统一定要给你确定,就是 Linux 。这就讲了两个点一个是语言,一个是系统然后具体怎么进行学习计规划,这个你可以后面可以问我拿到一个C/C++语言在Linux上的一个学习路线图,可以去参考,去先看一看,后续你看怎么学,你自己去考虑。
总结:
一、核心问题与背景
- 背景:南邮电子信息硕士研一,空闲时间较多,计划转码但缺乏明确方向。
- 核心矛盾:自学效率低(理论→项目路径长),需高效掌握实用技能以应对就业。
二、语言选择与优先级
-
必学语言:
- C/C++:
- 理由:底层开发核心(如系统编程、高性能服务),理解计算机原理。
- 目标:不追求精通语法,聚焦工程化能力(如内存管理、网络编程)。
- Go:
- 理由:云原生主流语言(Docker/K8s),语法简洁,适合快速上手后端开发。
- C/C++:
-
辅助语言:
- Python:数据分析、脚本编写(如自动化测试、爬虫)。
- SQL:数据库操作必备,结合业务场景学习。
三、学习策略与执行路径
1. 放弃纯理论学习,以项目驱动学习
- 痛点:传统“语法→OS→网络”路径耗时低效,易陷入“学完仍不会写项目”困境。
- 解决方案:
- 从项目倒推技术栈:
- 示例项目:实现简易版Redis(C++)、开发HTTP服务器(Go)、搭建分布式日志系统(Python+Go)。
- 开源贡献:参与CNCF项目(如Kubernetes插件开发),解决实际Issue。
- 从项目倒推技术栈:
2. 系统与工具聚焦
- 必学系统:Linux(开发环境、Shell脚本、性能调优)。
- 核心工具链:
- 调试:GDB、Valgrind。
- 协作:Git(提交规范、分支管理)。
- 部署:Docker、K8s(入门级应用即可)。
四、培训建议
- 培训考量:
- 优势:缩短路径,直接对标企业需求(如项目实战、面试冲刺)。
- 风险:需甄别机构质量,优先选择有开源背书或行业口碑的课程。
五、风险提示与心态调整
- 勿贪多求全:优先掌握C++/Go核心能力,而非盲目学习多语言。
- 平衡学业与转码:利用实验室课题结合编码实践(如算法工程化)。
- 实习策略:研二争取大厂实习(如华为/字节),积累工业级项目经验。
总结:聚焦C++/Go + Linux系统开发,通过3个硬核项目构建竞争力,放弃“语法内卷”,直击企业需求。1年内达成转码目标,冲击中大厂高薪Offer! 🚀
计算机相关专业就业求职学习路线/offer选择/职业规划建议
工种浩:程序员yt (学习就业困惑?我们来为你答疑解惑!)免费投稿 投稿必回