咸鱼笔记-编程语言优缺点

前言

从五月开始学习python,到现在有2个月了,可以算是个初级程序员(初级程序员中的咸鱼)了。这个阶段不可避免的遇到选择编程语言(虽然我选的是python,但是我想知道我学的有木有用)和职业方向的难题。所以我浏览了各种招聘网站,分析公司需求。整理了一下语言的优缺点及就业方向。仅供参考。欢迎大神指点。

编程语言排行榜

以下是TIOBE发布的2019年6月份的编程语言排行榜,本排行榜只反映某个编程语言的热门程度,并不能说明一门编程语言好不好。我按照这个顺序来整理的部分编程语言优缺点说明(/捂脸)
在这里插入图片描述

java

“java:最长寿的语言”

Java 的优势 Java 的不足
Java 平台不断迎来新功能,比如移动互联网时代的 Android,大数据时代的 Hadoop,人工智能时代的 TensorFlow。 国内 Java 及其衍生技术的就业环境被培训班破坏得太厉害
Java 是世界上使用范围最广的语言 Java 占用大量内存,并且启动时间较长

职业路线:

  1. 招聘网站上常见的“招聘 Java 开发”指的就是狭义的 Java 开发——基于 JavaEE 的后台开发,现在入门建议学习 SpringMVC 框架。
  2. 在移动互联网时代,Java 可用于 Android App 开发。
  3. 在大数据时代,Java 可用于 Hadoop 的开发,前景非常广阔,但可能有泛滥的趋势。
  4. 在人工智能时代,Java 可用于 TensorFlow 深度学习的开发。
C/C++

“C:大多数中国程序员的第一个语言”
C 语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是 C 语言的一个超集, 既有指针又有对象使它成为最复杂的语言。

C/C++ 的优势 C/C++ 的不足
可以被嵌入任何现代处理器中,几乎所有操作系统都支持 C/C++,跨平台性非常好 学习难度大,且拥有大量极为复杂的功能交互方式,容易造成资源浪费。

职业路线:

  1. 首推 Unix/Linux 等操作系统软件的开发和嵌入式开发。
  2. Android ROM 的定制,以及 Android App 的 NDK 开发。
  3. 用 Cocos2d-x 开发游戏。
python

“Python:需要拿着游标卡尺学习的语言”

Python 是一款服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,能够把用其 他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。

Python 的优势 Python 的不足
Python 学习简单,被誉为“最易学习的语言” Python 存在一些只在特定情况下才会出现(无法重现)的 bug

职业路线:

  1. 用 Django 框架进行 Web 开发:和 Java 没什么两样。
  2. 用 PIL 框架进行图形处理
  3. 物联网:Raspberry Pi 等物联网平台都选择了 Python 作为开发语言
  4. Python 有一个无所不能的 Hack 库。( \ o /)
C#

“C#:自称不是 Java 的 Java 语言”
C#是微软看到 Java 太火了而发明的和 Java 语法差不多的语言。

C#的优势 C#的不足
C#的最大优势在于全面集成.Net 库,提供出色的功能与完美的库访问能力。 由于集成.Net 库造成跨平台能力太差。
VR 时代的到来让 Unity-3d 开发者有很好的发展前景。 目前.Net 在国内就业环境不太好,收入较低。

职业路线:

  1. 招聘网站上常见的“招聘 C#开发”和“招聘.Net 开发”指的都是狭义的 C#开发——基于.Net 框架的后台开发。
  2. Unity-3d 也用 C#作为开发语言,除了能开发 3D 游戏,在 VR 时代也会大放光芒。
JavaScript

“JavaScript:不是 Java 语言的语言。”
JavaScript 是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给 HTML 网页增加动态功能的语言。外行最常闹的笑话是以为它是 Java 语言的分支。

JavaScript 的优势 JavaScript 的不足
作为脚本语言,JavaScript 可立即运行而无需等待服务器响应,速度非常出色。 代码在用户电脑上运行,可能会被别有用心的坏人恶意利用。
JavaScript 是动态类型语言,学习难度低。并且掌握了JavaScript 语言就等于成为能同时开发网页(HTML5)、后台(Node.js)、移动端(React Native、Weex)的全栈工程师。 JavaScript 过于依赖浏览器,在不同的浏览器上有不同的表现。(兼容性)

职业路线:

  1. 首选 HTML5 的初心:网站和手机站的前端页面开发。
  2. 用 Node.js 或 Bmob 云端代码进行后台开发
  3. 基于 React Native、PhoneGap、Weex、HBuilder、AppCan 进行移动开发,只需写一遍代码,就有 Android 和 iOS 两个软件
  4. 微信开发:包括微信公众号、微信小游戏、微信小程序。
  5. 如果以上四样全能做到,那么你就是全栈工程师。
PHP

“PHP :世界上最好的语言”
PHP 是一种通用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广 泛,主要适用于 Web 开发领域。号称“世界上最好的语言”

PHP 的优势 PHP 的不足
PHP 学习简单,易于快速上手。 PHP 的运行速度比较慢
历久弥新的 PHP 拥有庞大而活跃的官方社区,开发者面临的大部分难题都有现成的解决方案。 PHP 的错误处理机制比较糟糕,因为 PHP 需要支持大量旧版本的功能。

职业路线:
适合进行 Web 开发,配合 Node.js 效果更佳。

SQL

“SQL:数据库离不开的语言”
SQL 是一种专精于数据库的特殊目的语言。用于存取数据以及查询、更新和管理关系数据库 系统。

SQL 的优势 SQL 的不足
存储过程可以重复使用,可减少数据库开发人员的工作量,开发速度快。 和 Java 语言的大多数设计模式一样,SQL 开发速度是靠牺牲运行速度换来的。
SQL 可设定只有某此用户才具有对指定存储过程的使用权,安全性好。 不同数据库系统之间的 SQL 不能完全相互通用,可移植性差。

职业路线:
掌握了 SQL 可以从事 DBA(Database Administrator,即数据库管理员),主要负责业务数据库从设计、测试到部署交付的全生命周期管理

Swift /Objective-C

Objective-C 和 Swift 都是 OS X 和 iOS 系统上的专用语言。

Swift 的优势: Swift 的不足
随着时间推移,Swift 在 iOS 和 OSX 软件中占的代码比例会越来越多。 版本更迭太快,不同版本差别过大,可能会发生“从精通到重新入门” 的情况。
Objective-C 的优势: Objective-C 的不足
苹果提供了丰富的工具和库以便开发者使用 Objective-C 开发软件。 Objective-C 拥有自己独特的编程方法思路,与其他编程语言思路差别较大。

Objective-C 和 Swift 的优势:因为仅需要在少数平台上运行,不容易遇到兼容性问题

职业路线:
这两种语言都是专为 iOS 和 OSX 服务的,入行前记得先准备一台苹果电脑和苹果开发者账号。

展开阅读全文

没有更多推荐了,返回首页