咸鱼笔记-编程语言优缺点
咸鱼笔记-编程语言优缺点
- 前言
- 编程语言排行榜
- java
- C/C++
- python
- C#
- JavaScript
- PHP
- SQL
- Swift /Objective-C
前言
从五月开始学习python,到现在有2个月了,可以算是个初级程序员(初级程序员中的咸鱼)了。这个阶段不可避免的遇到选择编程语言(虽然我选的是python,但是我想知道我学的有木有用)和职业方向的难题。所以我浏览了各种招聘网站,分析公司需求。整理了一下语言的优缺点及就业方向。仅供参考。欢迎大神指点。
编程语言排行榜
以下是TIOBE发布的2019年6月份的编程语言排行榜,本排行榜只反映某个编程语言的热门程度,并不能说明一门编程语言好不好。我按照这个顺序来整理的部分编程语言优缺点说明(/捂脸)
java
“java:最长寿的语言”
Java 的优势 | Java 的不足 |
---|---|
Java 平台不断迎来新功能,比如移动互联网时代的 Android,大数据时代的 Hadoop,人工智能时代的 TensorFlow。 | 国内 Java 及其衍生技术的就业环境被培训班破坏得太厉害 |
Java 是世界上使用范围最广的语言 | Java 占用大量内存,并且启动时间较长 |
职业路线:
- 招聘网站上常见的“招聘 Java 开发”指的就是狭义的 Java 开发——基于 JavaEE 的后台开发,现在入门建议学习 SpringMVC 框架。
- 在移动互联网时代,Java 可用于 Android App 开发。
- 在大数据时代,Java 可用于 Hadoop 的开发,前景非常广阔,但可能有泛滥的趋势。
- 在人工智能时代,Java 可用于 TensorFlow 深度学习的开发。
C/C++
“C:大多数中国程序员的第一个语言”
C 语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是 C 语言的一个超集, 既有指针又有对象使它成为最复杂的语言。
C/C++ 的优势 | C/C++ 的不足 |
---|---|
可以被嵌入任何现代处理器中,几乎所有操作系统都支持 C/C++,跨平台性非常好 | 学习难度大,且拥有大量极为复杂的功能交互方式,容易造成资源浪费。 |
职业路线:
- 首推 Unix/Linux 等操作系统软件的开发和嵌入式开发。
- Android ROM 的定制,以及 Android App 的 NDK 开发。
- 用 Cocos2d-x 开发游戏。
python
“Python:需要拿着游标卡尺学习的语言”
Python 是一款服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,能够把用其 他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
Python 的优势 | Python 的不足 |
---|---|
Python 学习简单,被誉为“最易学习的语言” | Python 存在一些只在特定情况下才会出现(无法重现)的 bug |
职业路线:
- 用 Django 框架进行 Web 开发:和 Java 没什么两样。
- 用 PIL 框架进行图形处理
- 物联网:Raspberry Pi 等物联网平台都选择了 Python 作为开发语言
- Python 有一个无所不能的 Hack 库。( \ o /)
C#
“C#:自称不是 Java 的 Java 语言”
C#是微软看到 Java 太火了而发明的和 Java 语法差不多的语言。
C#的优势 | C#的不足 |
---|---|
C#的最大优势在于全面集成.Net 库,提供出色的功能与完美的库访问能力。 | 由于集成.Net 库造成跨平台能力太差。 |
VR 时代的到来让 Unity-3d 开发者有很好的发展前景。 | 目前.Net 在国内就业环境不太好,收入较低。 |
职业路线:
- 招聘网站上常见的“招聘 C#开发”和“招聘.Net 开发”指的都是狭义的 C#开发——基于.Net 框架的后台开发。
- Unity-3d 也用 C#作为开发语言,除了能开发 3D 游戏,在 VR 时代也会大放光芒。
JavaScript
“JavaScript:不是 Java 语言的语言。”
JavaScript 是一种动态类型、弱类型、基于原型的直译式脚本语言,也是使用频率最高的给 HTML 网页增加动态功能的语言。外行最常闹的笑话是以为它是 Java 语言的分支。
JavaScript 的优势 | JavaScript 的不足 |
---|---|
作为脚本语言,JavaScript 可立即运行而无需等待服务器响应,速度非常出色。 | 代码在用户电脑上运行,可能会被别有用心的坏人恶意利用。 |
JavaScript 是动态类型语言,学习难度低。并且掌握了JavaScript 语言就等于成为能同时开发网页(HTML5)、后台(Node.js)、移动端(React Native、Weex)的全栈工程师。 | JavaScript 过于依赖浏览器,在不同的浏览器上有不同的表现。(兼容性) |
职业路线:
- 首选 HTML5 的初心:网站和手机站的前端页面开发。
- 用 Node.js 或 Bmob 云端代码进行后台开发
- 基于 React Native、PhoneGap、Weex、HBuilder、AppCan 进行移动开发,只需写一遍代码,就有 Android 和 iOS 两个软件
- 微信开发:包括微信公众号、微信小游戏、微信小程序。
- 如果以上四样全能做到,那么你就是全栈工程师。
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 服务的,入行前记得先准备一台苹果电脑和苹果开发者账号。
咸鱼笔记-编程语言优缺点相关推荐
- python编程语言的缺点-常见的AI编程语言优缺点比较,程序员千万不要入错行!...
原标题:常见的AI编程语言优缺点比较,程序员千万不要入错行! 人工智能编程是一种技术的提升,为不同公司的运营和人们的生活带来了极高的效率和最佳效益. 人工智能为不同的行业带来了另一种智能技术,其潜力的 ...
- 编程语言优缺点_R编程语言的优缺点
编程语言优缺点 In general, the R programming language is considered as the machine learning language. This ...
- 咸鱼笔记—Socket 通信
咸鱼笔记-Socket 通信 socket是在应用层和传输层之间的一个抽象层,socket本质是编程接口(API),它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用以实现进程在网络中通信. ...
- 咸鱼笔记—git版本创建与回退
咸鱼笔记-git版本创建与回退 git版本创建与回退 使用 工作区和暂存区 工作区(Working Directory) 版本库(Repository) 管理修改 撤销修改 对比文件的不同 删除文件 ...
- 咸鱼笔记—git简介
咸鱼笔记-git简介 git简介 git的两大特点 安装与配置 创建一个版本库 新手刚接触python,跟着教程学的,仅供参考.欢迎各路大神指点. 学习版本: Django 1.8. Python 3 ...
- 咸鱼笔记—后台上传图片
咸鱼笔记-上传图片 上传图片 配置上传文件保存目录 后台管理页面上传图片 新手刚接触python,跟着教程学的,仅供参考.欢迎各路大神指点. 学习版本: Django 1.8. Python 3.5 ...
- 通天塔导游 - 细数各种编程语言优缺点
通天塔导游 - 细数各种编程语言优缺点 (译注:圣经记载:在远古的时候,人类都使用一种语言,全世界的人决定一起造一座通天的塔,就是巴别塔,后来被上帝知道了,上帝就让人们使用不同的 语言,这个塔就没能造 ...
- python编程语言的优缺点-程序员千万不要入错行!常见的AI编程语言优缺点比较...
人工智能编程是一种技术的提升,为不同公司的运营和人们的生活带来了极高的效率和最佳效益.人工智能为不同的行业带来了另一种智能技术,其潜力的前景仍在增长,期望它能够达到人类的智慧. 这是因为开发人员愿意探 ...
- 电脑编程python和c加加语言的区别_小猿圈之Bash 和 Python 编程语言优缺点
Bash 和 Python 是大多数自动化工程师最喜欢的编程语言.它们各有各的优缺点,有时候我们很难抉择,所以,最好的选择它们取决于任务.范围任务的复杂性,跟着小猿圈老师一起来了解一下吧. 让我们来比 ...
- 5种AI编程语言优缺点比较,谁才是程序员心中的白月光
人工智能编程是一种技术的提升,为不同公司的运营和人们的生活带来了极高的效率和最佳效益. 人工智能为不同的行业带来了另一种智能技术,其潜力的前景仍在增长,期望它能够达到人类的智慧. 这是因为开发人员愿意 ...
最新文章
- 归根到底,大家都是出来卖的!有的人月入十万,有的人月入三千!差距!
- 【Kaldi安装问题】Nvidia库cub安下载失败
- 【第一组】第十次冲刺例会纪要
- Hibernate从入门到精通(十)多对多单向关联映射
- 数值数据表示的三要素
- Vim直接打开Tampermonkey网址的方法。
- Java 并发编程之 volatile
- python和Java实现斐波那契Fibonacci数列
- duilib加载xml以及资源文件的路径问题
- android fps测试 apk,性能测试 查看Android APP 帧数FPS的方法
- ubuntu给手机刷机安卓8.0 ROOT+Xposed+JustTrustMe+Kali NetHunter
- codeblock-(no debugging symbols found)(已解决)
- 箱线图(Boxplot)也称箱须图(Box-whisker Plot)
- 透明、反光材质护肤品拍摄技巧
- php date函数时间不对,PHP Date / Time 日期和时间 函数和时间相差8小时解决办法
- 如何计算java对象大小
- #今日论文推荐# IJCAI2022 | 求同存异:多行为推荐的自监督图神经网络
- 2015-2016-1 《信息安全系统设计基础》学生博客列表
- bsf dfs 专题(一)
- 基于Matlab——夫琅禾夫衍射以及菲涅尔衍射
热门文章
- 80个超详细的Python入门实例
- python常用的颜色英文表达_python常用颜色
- 必备的海外贸易沟通工具 - intbell使用教程
- MybatisX代码自动生成
- 听听各位对Ubuntu的UI的看法
- 深入浅出设计模式,跟着思路快速理解
- android 9.0 开机动画,小米9开机动画安装器
- linux能不能上网页,详解能上QQ不能打开网页的问题
- 网络安全05_VMware 虚拟机软件安装_准备Kali- Linux虚拟机_Windows Server 2003 Enterprise 虚拟机下载和安装
- QQ去水印小程序源码全新系统