C++|编程语言优劣,零基础转行如何选择编程语言
【C++|编程语言优劣,零基础转行如何选择编程语言】
文章图片

文章图片

文章图片

文章图片

文章图片
最近有很多同学问我 , 我是一个零基础的小白 , 到底学习哪一种语言比较好?作为一个写了十年代码程序员 , 用过七种语言的我来说 , 必须要强调一下 , 语言只是一种工具 , 当你真正理解了要做的事 , 选一个顺手的就行 。 跟工具一样 , 哪天有新的好用的语言出来 , 把旧的扔掉就好 。
我今天写这篇文章的目的是想给大家一个参考 。
决定用什么语言的因素又有很多 , 比如性能 , 内存占用 , 开发难度 , 运维难度 , 目标平台 , 可执行文件大小 , 代码可维护性 , 项目周期 , 项目规模 , 招聘难度 , 团队构成 , 历史遗留问题 , 甚至派系斗争等 。
比如腾讯就有大量历史遗留的C和C++的服务器代码 , 毕竟20年前没得选 。 又比如空降技术负责人可能会为了让自己人上位 , 让自己团队出成绩 , 选择用其他语言或者框架对本来工作良好的系统进行重构 。
下面开始聊语言
Python
先说python , 是因为这个语言小学生都开始学习了 , 以后不会python要被小学生欺负了 。 语法简单 , 除了前端几乎万能 , 可用的库极其丰富 , 能想到的功能几乎都有现成的库可以用 。 不管是搞爬虫 , 做人工智能 , 机器学习 , 数据分析 , 还是自动化运维 , 自动化测试 , python几乎都是首选 。 不想当程序员还想学习一门语言的化 , 学习python就没错了 。 缺点是慢 , 但是能让机器累的事 , 何必让人来累 。
PHP
PHP是世界上最好的语言 , 可能这个已经成为很多程序员的梗 。
我没用php开发过大型项目 , 自己做东西的感觉是这语言非常简单 , 以前用的人很多 , 招聘容易 , 但是不适合做复杂的项目 。 现在用得越来越少了 , 迅雷以前有不少运营活动页面是PHP做的 。
C
C的语法足够简单 , 应该是最接近机器语言的高级语言 , 适合编写操作系统底层 , 驱动程序 , 硬件相关的程序以及看重性能的程序 。 由于过于简单 , 构建大型程序的复杂度非常高 , 建议想往研发方向走的同学都学习一下C语言 。
可以对计算机一些底层原理了解 , 比如指令执行过程 , 内存管理 , 异常 , 多线程 , 编译过程等又更深层次的了解 。 掌握C语言再学习其他语言会变得很轻松 , 学习破解也有帮助 , 毕竟汇编基本都可以反编译出C代码 。
C++
C++是一个糟糕的语言 , 这不是我说的 , 这是Linux之父说的 。 我自己用C++四五年时间 , 越到后面就感觉这句话越有道理 。
首先C++的强大是毋庸置疑的 , 但是作为一个跟C一样偏底层的语言 , 如果不理解写的代码背后到底发生了什么事 , 如果出了错 , 你是永远不可能知道错在哪里的 。
一个没有垃圾回收的语言 , 不用智能指针很容易导致内存泄漏 , 错误的用了智能指针不但内存泄漏之后不好解决 , 还容易导致提前释放等问题 。
推荐阅读
- 为什么我喜欢C语言,却非常讨厌C++?一位国外程序员的回答
- 大一有考研计算机专业的打算,该学习C++还是Java
- 菜鸟学编程,不懂C++ this指针?还不赶快来学一学
- C/C++协程学习笔记丨C/C++实现协程及原理分析视频
- 盘点:2020年5种流行的 AI 编程语言,就业高薪不是梦
- 第一章 1.4 信号,槽和元对象
- 如何正确地学习编程语言
- 当前学习哪门编程语言会有更长的职业生命周期
- C++核心准则?:标准库array或vector好于C数组
- 非计算机专业,想从事c/c++方面的工作,要学习哪些能力?
