如果你想学习编程, 你应该从哪种编程语言开始?
向一个程序员询问最容易学习的语言, 就像向某人询问他们最喜欢吃什么口味的冰激凌, 没有真正正确的的答案, 每个人都会有自己的偏好.
正如开发者和教育家 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 而闻名, 使其不那么令人生畏
它有几个用于各种应用程序的库
它得到了庞大的程序员社区的支持, 你的所有问题可能都会被解答
5. 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, 大部分人会把这类语言当作一种挑战.
难点在于:
它使用晦涩难懂的符号
没有多少程序员花时间学习它, 因此学习资源较少
它是一种会自我修改的语言, 会导致不稳定的行为
来源: http://developer.51cto.com/art/202112/697273.htm