编程语言应用

注册

 

发新话题 回复该主题

我应该学习什么编程语言SQLPytho [复制链接]

1#

软件开发中的广泛机会可能使有抱负的开发人员很难知道该走哪条专业道路。对于许多人来说,在这个领域的职业生涯始于一个问题,我应该学习什么编程语言?

考虑到目前使用的编程语言超过种,没有简单的答案。但鉴于软件行业强劲的增长前景,值得权衡选择。

编程基础

计算机程序由以特定语法或有序系统排列的代码行组成,类似于人类语言,由按照赋予它们意义的顺序排列的单词组成。该代码指示计算机执行特定功能,例如在电子表格列中添加数字,在数据库中搜索每月销售总额,或按特定顺序显示网页元素。

这些是编程基础,尽管很少有编程操作像这些示例那样简单明了。幸运的是,编程艺术已经发展到可以让每个人都拥有难以置信的编码能力的地步。

什么是编程语言?

正如数千种人类语言中的任何一种都可以用来与其他人交流一样,许多不同的编程语言中的任何一种都可以用来指示计算机执行某些操作。唯一的要求是计算机能够阅读代码、理解指令并执行预期的操作。

编程语言定义

编程语言是一种计算机语言,旨在创建一种标准形式的命令,这些命令可以转换为计算机可以理解的代码。编程语言的两个基本元素是语义和语法:

语义定义了单个代码元素的含义,类似于人类语言中的单词含义。

语法定义了语义元素排列形成命令和指令的顺序,这些命令和指令告诉计算机要做什么。

以下是编程语言的基本元素:

编程环境

数据类型

变量

关键词

逻辑和算术运算符

Ifelse条件

循环

数字、字符和数组

职能

输入和输出运算符

标准编程语言与非标准编程语言

所有高级编程语言都使用编译器将其代码转换为计算机CPU可以理解的汇编语言版本。汇编语言生成机器语言——二进制代码的0和1——为所有计算机和其他数字设备提供动力。

编程语言的类型

编程语言根据它们用来指示计算机阅读代码、理解其含义并采取所需操作的方法进行分类。基本类型是解释型、编译型、过程型、脚本型和标记型。

解释:Basic、Lisp、Perl、Python、Ruby

解释性编程语言将程序代码转换为计算机可以处理的形式,方法是通过语言中内置的解释器实用程序运行代码。正如Lifewire解释的那样,解释器“即时”将人类可读的代码转换为机器可读的代码。

Python和Ruby等解释型语言的优势在于,解释型程序可以在任何具有所需软件的系统上运行,包括Windows、Linux和macOS。如果需要,解释代码也比编译代码更容易访问和更改,编译代码必须在每次更改后重新编译和重新部署。

编译:C/C++/C#、COBOL、Java、Objective-C、VisualBasic

使用编译器准备代码以在目标机器上运行的编程语言能够比其解释的对应物更快地处理代码,从而提高计算机的性能。编译器一次检查每一行代码是否有错误,而不是一次检查所有代码,这有助于错误检查。

但是,必须为每个硬件平台和运行它的操作系统重新编译已编译的程序。此外,一个程序可能编译成功但仍无法在目标机器上按预期运行,因此每个应用程序必须在其设计的每个平台上单独测试。

程序:Java、C/C++、Pascal、MATLAB、PL/I、RPG

过程编程语言定义是使用“在其编程上下文中的一系列结构良好的步骤和过程”来创建程序的语言。它们也被称为命令式语言。他们使用系统顺序的预定义语句、函数和命令来指示计算机执行任务。

过程语言通过将过程和函数应用于数据和变量来执行操作。可以从程序代码层次结构中的任何位置(包括由其他过程)调用或调用这些过程。这是最常见的编程语言类型之一,包括Java、C/C++和Pascal。

脚本:AppleScript、ColdFusion、JavaScript、PHP、VBScript、WindowsPowerShell

脚本语言是一种不需要编译的编程语言,因为代码是直接解释的。将脚本语言与编译语言区分开来的特征是减少运行程序所需的代码量、目标机器对代码解释的自动化以及从程序中包含的数据集中检索信息。

标记:SGML、HTML、XML、XHTML

标记语言与编程语言的不同之处在于,标记语言不是指示计算机执行某些操作,而是在文本中嵌入指令,告诉计算机如何操作文本和出现在网页上的其他元素。

SQL是一种编程语言吗?

应用程序编程创建创建数据的软件。数据库编程使用数据来创建商业智能。自从大约40年前现代数据库问世以来,结构化查询语言(SQL)一直是数据库程序员通过查询业务数据库生成报告的主要工具。SQL的流行部分归因于它在许多不同的平台和系统上的可用性。一般来说,SQL是一种编程语言。更具体地说,SQL是一种数据库查询语言。

数据库编程与应用程序编程

数据库程序员的两个常见角色是数据库开发人员和数据库管理员:

数据库开发人员也称为数据库设计人员;他们设计、编程、构建和更新数据库。

数据库管理员管理和维护数据库,确保用户可以访问他们需要的资源并保护数据免受损坏或盗窃。

相比之下,应用程序员设计、开发、测试和实现以文本文档、电子表格、图像和其他类型的形式创建数据的软件。BLS描述了软件开发人员的典型职责:

根据用户的需求设计应用程序或系统的各种组件。

使用模型、流程图和其他图表向程序员说明软件开发过程中所需的代码。

通过不断测试、维护和更新程序来确认程序按预期运行。

记录程序的所有方面及其使用,以方便未来的维护和升级。

数据库语言

二进制术语将数据库语言定义为用于定义和操作数据库的语句集。

SQL命令类别

在SQL和其他关系数据库管理系统(DBMS)中,有四种类型的数据库语言:

数据定义语言(DDL)管理数据库的表和索引结构;它的同步命令用于创建、更改和删除表。

数据操作语言(DML)使用四种模式(检索、更新、删除和插入)和四种命令(选择、插入、更新和删除)来操作数据。

数据控制语言(DCL)使用Grant和Revoke命令管理对数据库的访问和用户权限。

数据查询语言(DQL)类似于并与DML一起使用来选择、插入、更新和删除数据。

其他SQL命令通过语句涵盖数据管理和事务控制。

SQL与NoSQL

SQL和NoSQL之间的主要区别在于SQL依赖于在其许多表中存储的数据值之间建立关系。它通过使用预定义的模式来构造数据来做到这一点。该模式允许SQL和其他关系DBMS快速有效地存储和处理大量结构化数据。

相比之下,NoSQL不需要固定的模式,因此它可以容纳更多种类的数据类型,例如图像、视频、电子邮件和社交媒体数据流。四种类型的NoSQLDBMS是面向列的、面向文档的、基于图形的和键值存储,它们都支持用于处理非结构化数据的动态模式。

关系数据库与非关系数据库

关系数据库在数据库上强加了一个预定义的模式,这使得数据库和数据元素之间的关系随着系统的增长而变得更加复杂。当关系DBMS变得过于复杂时,它们就有被隔离的风险,以至于信息不再在系统之间共享。

标准SQL与MySQL、PostgreSQL、MicrosoftSQLServer和其他变体

当前的ANSISQL标准是ISO/IEC:。然而,不同版本的SQL是不兼容的,因为供应商在他们的产品中添加了非标准的特性。因此,MicrosoftSQLServer、OracleSQL和其他SQL版本采用独特的方法来实现该语言。

SQL标准化的好处

尽管在商业版本的数据库中对SQL进行了许多专有扩展,但SQL本身和MySQL是开源的,PostgreSQL和许多其他版本的SQL也是如此。这意味着在流行的程序员和开发人员网站上很容易获得有关使用该语言的底层代码和建议。

此外,SQL相对容易学习,许多将SQL作为第一次编程经验的人继续学习C++、JavaScript、Python和其他编程语言。

非标准SQL版本提供的优势

MySQL:包括其自动执行任务的事件调度程序以及用于将数据库嵌入一系列应用程序的广泛插件库。

PostgreSQL:根据Guru99的说法,PostgreSQL的突出特点之一是它与许多不同的平台和语言的兼容性,以及它能够链接到NoSQL和其他数据存储。

MicrosoftSQLServer:MicrosoftSQLServer与Transact-SQL实现的链接为数据管理、商业智能和数据可视化添加了专有扩展。

MongoDB:面向文档的NoSQLDBMS以支持强制一致性和数据完整性的分布式事务以及通过字段级加密实现的企业级安全性而著称。

Redis:DZone列出的这个开源内存DBMS的优势之一是它能够存储高达MB的键和值对,以及它的数据复制,它提供了主从缓存节点的自动更新。

ApacheCassandra:开源NoSQLDBMS具有分布式架构,允许它在节点集群上运行,以提供高可用性、容错性和可扩展性,正如Emumba博客所解释的那样。

Elasticsearch:开源的全文搜索和分析引擎让组织可以近乎实时地存储、搜索和分析大量数据。

HTML是一种编程语言吗?

超文本标记语言(HTML)决定了文本、图像和其他元素在网页上的显示方式和功能。

超文本是指将某些页面元素连接到其他网页的链接,无论是在同一站点还是在不同站点。

标记描述了如何注释文本、图像和其他页面元素以在Web浏览器中显示。

标签用于使用左括号和右括号内的元素名称来区分页面上的HTML元素,例如“title页面标题/title”来指定页面的标题。

标记语言与编程语言

HTML不是一种编程语言,因为它不用于创建应用程序或对数据库进行编程。它被正确地称为标记语言,因为它描述了网页元素在页面上的显示方式。

标记语言和编程语言之间的主要区别在于,标记语言描述网页上呈现的各种元素的外观和行为,而编程语言用于创建执行特定功能的应用程序,例如计算器、电子表格、或文字处理器。

网络编程基础

所有网页都由标签标识的元素组成。例如,段落包含包含在标签p/p内的文本和其他材料。可以通过将标签对放置在其他标签对中来嵌套元素:

p这是嵌入在段落标签中的em强调标签/em的示例。/p

两种值得注意的元素类型是块级元素和内联元素:

块级元素在页面上创建一个与页面的其他内容分开的可见块。它们通常表示段落、列表、导航菜单、页脚和其他页面格式。

内联元素放置在块级元素中,仅适用于页面上的特定内容,例如用于突出显示文本的超链接标签a/a和强标签strong/strong。

HTML标记内的属性描述了包含在标记中的元素的其他特征,这些特征不会出现在网页上。一个示例是添加到超链接标签a/a的“href”属性。

HTML与级联样式表

现代网站有大量的动态和静态元素,单独使用HTML很难管理。级联样式表(CSS)描述了网页如何在各种类型的设备和格式上呈现,例如移动设备和超大的计算机显示器。

CSS适用于HTML和其他标记语言,包括可扩展标记语言(XML)和XHTML,它是使用XML语法的HTML版本。CSS允许通过跨页面和环境或内容类型的共享样式表进行全局更改,从而更容易维护和更新站点内容。

HTML与JavaScript

JavaScript是一种脚本语言,用于在网页上呈现复杂元素,例如视频和交互式图形。Mozilla基金会解释说,JavaScript允许动态更新元素,例如股票行情和体育比分。两种类型的JavaScript是客户端和服务器端:

客户端编程功能在客户端或用户机器上运行。它们指定对点击等操作的响应,还允许将值存储在变量中,并允许将操作应用于连接元素,例如附加到字符串以识别游戏玩家的“名称”变量。

服务器端编程基于识别伴随页面请求加载到个人浏览器中的元素向页面的各种类别的访问者显示不同的数据。它通常从服务器托管的数据库中检索数据以显示在页面上,包括定向广告和其他自定义内容。

XHTML和其他HTML扩展

可扩展超文本标记语言(XHTML)将HTML重新定义为XML的应用程序。它是可扩展的,因为它允许实现Web内容和操作的新方法,而无需等待将功能添加到HTML标准中。

XHTML比HTML更严格地执行规则,例如,要求所有标记都具有开始和结束组件。更重要的是,它在创建Web内容时促进了更多的结构和概念,并且当与CSS结合时,呈现内容的方式更有创意。

万维网联盟(W3C)支持的其他HTML扩展包括CSS样式属性、国际化标记集和图像描述(longdesc),它将详细的文本描述链接到HTML图像。

什么是Java编程?

Java是一种通用的、面向对象的编程语言,它类似于C和C++,但比这两种语言更易于使用。Java编程旨在让开发人员专注于解决业务问题,而不是如何在编程语言的限制下工作。

将Java与其他编程语言区分开来的其他功能是其用于链接到多种类型网络的广泛网络库、它生成的代码的可靠性,以及用于在分布式和网络环境中运行Java应用程序的内置安全功能。

Java的面向对象的焦点

由于Java是面向对象的,因此该语言允许开发人员创建Java应用程序以满足广泛的业务需求。与C等高度结构化的语言不同,Java允许创建对象而无需指定对象的状态或行为。例如,可以在Java中使用名为“储蓄账户”的对象,而无需按照C的要求指定其状态(如账户余额)或行为(如存款和取款)。

架构中性

Java应用程序在各种硬件平台和操作系统上运行相对不变。许多语言要求应用程序生成专门为各个平台设计的指令。相比之下,通过使用Java虚拟机(JVM)和其他技术,任何平台都可以轻松解释Java的字节码指令。

可移植性

Java架构中立性的一个方面是它能够创建易于移植到几乎所有计算机平台的应用程序。这部分是因为它的字节码指令。这也归功于它的许多库,其中包括将Java代码与特定于平台的函数链接起来的类型。

高性能、多线程

Java的大部分快速性能与其解释有关,但该语言还具有即时编译功能以分析解释的字节码指令序列。这允许基于特定于平台的指令编译频繁解释的字节码指令序列,从而提高性能。

动态分布

在Java中,代码和Java库之间的连接是在运行时动态建立的,因此开发人员不必显式地建立连接。每当程序或库更新时,开发人员只需要分发更新的版本,而不是重新编译和重新分发整个包。这最大限度地减少了必须分发的代码量,但它可能导致版本冲突。

Java版本、Java平台和Java虚拟机

Java有三个主要版本,以及一个包含Java虚拟机(JVM)和执行环境的Java平台。

Java标准版(SE)、企业版(EE)和微型版(ME)

Java标准版是一个为桌面PC和在Web浏览器中运行的小程序开发客户端应用程序的平台,尽管出于安全考虑,对小程序的支持已停止。

JavaEnterpriseEdition是一个用于开发在企业网络上运行的服务器应用程序的平台。其中包括类似于在浏览器中运行的小程序的服务器端Javaservlet。

JavaMicroEdition在JavaSE上运行,用于开发在移动设备上运行的应用程序MIDlet和在嵌入式设备上运行的应用程序Xlet。

运行编译代码的Java平台

Java的一个显着特点是它既是一种编程语言,也是一种平台。这允许Java程序包含它们自己的内置平台来编译它们的代码。实现这一点的主要手段是JVM和允许JVM运行程序代码的执行环境。

Java虚拟机(JVM)

JVM包括用于加载、验证和执行Java代码的组件,例如即时编译器,它可以将字节码序列自动编译为目标平台的本机代码,以加快程序的执行速度。

当应用程序执行时,字节码指令可能会指示JVM打开文件、在屏幕上显示文本或图像,或者执行一些其他需要与本机平台交互的任务。JVM使用Java本机接口(JNI)桥接技术与本机平台协同工作以执行所需的任务。

Java编程资源

IBM的开发人员站点为中级Java程序员提供了一个教程,涵盖了继承和抽象、接口、嵌套类、正则表达式、集合、日期和I/O等主题。

io提供了一个在线Java编译器和集成开发环境(IDE),无需安装,在用户键入时进行编译,自动完成一些代码字符串,并具有一个接受用户输入的交互式控制台。

ApacheNetBeans结合了免费的Java软件开发环境和平台,允许开发人员快速简单地开始使用Java。

Python网络编程

Python“具有动态语义的解释型、面向对象的高级编程语言”。PythonWeb编程需要选择一个框架,例如Django、Flask或Pyramid。Python框架以一种易于其他开发人员构建和维护的方式,使重用代码和构建项目变得容易。

Python特征

Python是“地球上最热门的编程语言之一”,因为它结合了易用性、多功能性和强大功能.

优点:Python代码易于阅读,其标准库支持使得执行复杂函数变得容易。

优势:它适用于许多不同类型的系统和平台。

优势:应用程序开发速度快,需要的代码更少。

弱点:与Java和其他语言相比,经验丰富的Python开发人员较少。

缺点:它不支持多处理器,也没有其他语言那么快。

缺点:对于移动应用程序或内存密集型任务来说,这不是一个好的开发环境。

解释型、面向对象的高级编程

Python是一种解释型语言,它的源代码被编译成字节码,随后被解释。它是面向对象的,因为它根据物品的属性和行为以及与其他实体或对象的关系对现实世界中的物品(例如人)进行建模。它是一种高级编程语言,因为它的代码必须单独解释,而不是由本地处理器直接解释。

动态语义

动态类型和动态绑定:Python支持动态类型和动态绑定以方便编译。

内置数据结构:Python中的内存管理使用称为私有堆的数据结构来表示队列并保存所有对象和数据结构。

为简单、可读、易维护而构建的语法:与C、C++和其他语言相比,该语言的语法易于阅读,这使得代码维护更加容易。

Python和快速应用程序开发(RAD)

Python经常用作快速应用程序开发项目的一部分。RAD取代了传统的软件开发瀑布模型,在这种模型中,设计、测试、部署和维护是按顺序完成的,形成了一个良性循环,其中开发和运营生命周期中的所有任务同时发生。

Python和DevOps

DevOps通过应用一种敏捷的方法来结合应用程序开发和运营,该方法可以持续地准备和安装更新和修复代码。正如FullStackPython所解释的那样,Python具有几个专门为支持DevOps而设计的工具:

Fabric是一个高级Python库,它通过SSH(安全外壳)协议远程执行外壳命令。

Jenkins允许为Python应用程序设置持续集成服务器。

Buildbot基于一个作业调度系统,支持跨多个平台分布式并行执行Python作业。

GitPython是一个用于与Git存储库交互的Python库,用于跟踪Python项目中文件的更改。

为编码职业做准备

对于刚开始研究编程职业的人来说,现在使用的许多不同的编程语言可能会让他们很难知道从哪个开始。对于许多专业的软件开发人员和数据库管理员来说,学习一种语言会很快导致在他们的职业生涯中学习第二种、第三种甚至可能是第四种语言。

分享 转发
TOP
发新话题 回复该主题