共计 1843 个字符,预计需要花费 5 分钟才能阅读完成。
如果你想学习编程,你应该从哪种编程语言开始?
向一个程序员询问最容易学习的语言,就像向某人询问他们最喜爱吃什么口味的冰激凌,没有真正正确的的答案,每个人都会有本人的偏好。
正如开发者和教育家 Marek Zaluski 已经说的,“编程语言是由程序员为程序员发明的”。
这就像一个只有多数人晓得的底细机密,并可能会让那些刚进入软件工程畛域的人感到畏惧。
另一方面,不把握风行的编程语言,你就无奈成为一名杰出的软件工程师。
本文将比拟出最简略的编程语言和高级编程语言。
简略易上手的编程语言
1. HTML
HTML 是用于编码大多数网页的语言。它应用标签和元素来定义文本、图像和交互式表单的显示方式。通常,HTML 会失去层叠样式表(CSS)的反对,以定义简单的款式;以及用于脚本程序的 JavaScript。HTML 的易用性使其成为入门者的现实语言。该语言的易学体现在以下几个方面:
- 构造简略,带有人类可读的开始和完结标签
- 您能够应用 WYSIWYG 编辑器并在拆分视图中观看代码更改
- 你能够轻松找到并修复 bug
2. JavaScript
与 HTML 和 CSS 一起,JavaScript 发明了互联网。而 JavaScript 的简略之处在于:
- 它是为非程序员设计的,适宜初学者;是现实的入门语言
- 它很广泛,所以大多数浏览器都用作默认环境
- 无需编译器来查看 JavaScript 的运行状况,并且能够立刻查看后果
- JavaScript 有一个宏大的社区,对入门者有帮忙
3.C
C 是一种通用语言,大多数程序员在学习更简单的语言之前都会学习它。从 Unix 和 Windows 到 Tic Tac Toe 和 Photoshop,当今最罕用的几个应用程序都是基于 C 构建的。它的简略之处在于:
- 语法简略,只有 32 个 keywords
- 数据结构易于了解
4. Python
Python 是 ABC 语言的继承者,是一种高级通用编程语言。Python 是 Web 开发人员、数据科学家、ML/AI 专业人士和嵌入式应用开发人员的最爱。它很容易学习,因为:
- 该语言执着于代码的可读性,常常应用英文单词
- 它以大量应用 whitespace 而闻名,使其不那么令人生畏
- 它有几个用于各种应用程序的库
- 它失去了宏大的程序员社区的反对,你的所有问题可能都会被解答
Java
Java 是一种基于类、面向对象的通用编程语言。它旨在跨环境运行 —— 一次编写,随处运行 (WORA)。它是后端开发人员和平安应用程序中最受欢迎的语言之一。它很容易学习,因为:
- 直观的语法,简洁且适宜初学者
- 它是一种结构化语言,简直没有偏差
- 如果您以前有过面向对象编程的教训,那就更容易了
难学的编程语言
1.C++
C++ 是 C 的扩大。据说谷歌 Chromium 浏览器、微软的几个应用程序、甚至摩根斯坦利的金融建模都是用 C++ 实现的。它的难点在于:
- 它具备简单的语法以反对多功能性
- 它是一种包容性很强的语言 —— 你能够做所有技术上可行的事件,即便在逻辑上不正确
- 最好由曾经有 C 语言编程根底的人学习
2.Prolog
Prolog 是最早的逻辑编程语言之一,当初在人工智能应用程序和自然语言解决中失去采纳。它很难学,因为:
- 它是一种非常规语言,它的数据结构不同于其余编程语言
- 它须要一个不合理的 competent compiler
- 它迫使程序员事后认真思考他们的逻辑
- 在线资源和 Prolog 代码不能不假思索地实用于你的需要
3.LISP
它是继 FORTRAN 之后第二古老的编程语言,仍在高级零碎和人工智能畛域被应用。难点在于:
- 它是一种具备特定畛域解决方案的碎片化语言
- LISP 中的语法宽泛应用小括号,这可能很难习惯
4.Haskell
Haskell 是一种基于 lambda calculus 的多态动态类型纯函数式语言。它以数学家 Haskell B Curry 的名字命名,次要用于钻研、工业利用和教学。难点在于:
- 它遵循 100% 的函数范式,不像大多数承受命令式命令的古代语言
- 很难了解 Haskell 中编译和谬误修复的细微差别
- 波及大量专业术语,这可能会让初学者望而生畏
5.Malbolge
Malbolge 以但丁《天堂》中的第八层天堂命名,是 “esolang”(深奥的编程语言)的一个 example。编写第一个 Malbolge 程序花了两年工夫。此类的其余语言有 INTERCAL 和 Cow,大部分人会把这类语言当作一种挑战。
难点在于:
- 它应用艰涩难懂的符号
- 没有多少程序员花工夫学习它,因而学习资源较少
- 它是一种会自我批改的语言,会导致不稳固的行为
原榜单地址:https://www.springboard.com/l…