开课吧:C++学习的方向是什么?

本文介绍了C++在Linux服务器开发中的角色,强调了掌握C语言和C++的基础及工具链如GCC、Make的重要性。随着Clang/LLVM的普及,建议初学者先学习C/C++和GCC。此外,提到了数据结构、算法、操作系统原理、网络通信(TCP/IP、socket编程)和界面库(如Qt)的知识,认为这些是成为合格Linux开发者的关键技能。
摘要由CSDN通过智能技术生成

上面说了 Linux 服务器开发的前景和学习方式,接下来再说一下学习线路。

  1. 语言&工具
    C语言和C++是传统的 Linux 开发的语言,需要掌握。除了基本的语法,还要玩转一套工具链。
    经典的组合是 GCC(编译器)+ Make/Makefile(构建中大型项目必须的工具)+ GBD(调试器)+ Valgrind(内存分析工具)+ Vim/EMACS/Gedit/Sublime Text(编辑器)。
    现在有越来越多的新项目使用 Clang/LLVM 来构建了,例如 Android NDK 已经放弃GCC,全面转向 Clang。
    由于 C++ 语法变态,到处都是奇技,并且没有内存回收机制,所以被最近几年大火的 Golang 完爆了,不少底层项目开始转向 Golang,弃用 C++。嗯,这是好事,作为《C++教程》的作者我已经恶心透了,C++ 这种骚贱的语言早就该被爆操了。

对于初学者来说,不要贪多嚼不烂,先学好 C/C++ 语言,掌握 GCC 就可以,Clang/LLVM 和 Golang 留着以后再学。

  1. 数据结构和算法
    学习基本的,了解概念就可以,很多库已经封装好了常用的数据结构和算法,实际开发中你不用从零开始,所以千万不要陷在里面不能自拔,算法是个无底洞,耗死你。记住,以后需要了可以再来回顾,不用一开始就吃透。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值