700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 软件的开发工具包(SDK)与集成开发环境(IDE)

软件的开发工具包(SDK)与集成开发环境(IDE)

时间:2021-03-16 06:52:16

相关推荐

软件的开发工具包(SDK)与集成开发环境(IDE)

本文重点论述软件的开发工具包(SDK)与集成开发环境(IDE)的基本概念和作用。通常情形下,无论是安装一个软件还是开发一个软件,实际上主要做两个事情:产生SDK(Software Development Kit,简称SDK,软件开发工具包)和IDE(Integrated Development Environment,简称IDE,集成开发环境)。SDK一般是通过该软件编程需要使用到的库或者包,例如图形处理的库、数据库操作的库等;IDE一般是指该软件的操作界面,即人机交互环境。以Python为例,图 4 7显示了Python的SDK和IDE,SDK是位于底层的开发工具包,即一个个文件夹;上层的IDE为一个编程的交互式界面,为编程人员提供友好易用的开发环境。如果是安装一个软件,一般情形下分成两步,首先安装该软件的SDK(即,将SDK解压到你的安装目录),然后再安装该软件的IDE,并通过配置环境变量将IDE与SDK连接起来,以安装Python为例,首先去官网下载Python安装包,进行安装,然后下载Eric(Python的其中一种IDE)进行安装,并配置好环境变量,将IDE与SDK进行连接。很多情形下,在安装软件时,软件的IDE和SDK已集成在一个安装包里,当用户双击后,就同时安装了软件的SDK和IDE,所以用户没有SDK和IDE的概念。不管软件的SDK和IDE是集成在一个安装程序中,还是分散在两个安装程序包里,读者需要有清晰的SDK和IDE的概念,明白安装软件时到底做了哪些事情。通过对软件安装过程的描述,读者很容易想到,如果自己去开发一个软件,实际上需要编写两个主要的模块,即软件的SDK和IDE。具体来说,在开发一个软件时,首先是编写软件的界面,形成该软件的IDE,然后把该软件的各个功能写成类或者函数,相近功能的类或者函数放在一起形成一个库或者包,例如所有数值计算的类放在一起,组成数值计算包。不同功能的包组成了该软件的SDK。方便而友好的软件界面可以显著提升软件的可操作性、易用性及友好性。建议读者在进行软件开发时,尽量为自己的软件编写界面,即让自己的软件同时具备SDK和IDE。

图 4 7 IDE与SDK实例: (a) Python的IDE界面Eric; (b) Python的SDK

在编写一个软件时,其项目文件该如何组织,即源文件的目录架构怎么设计,这是一个非常关键的问题。如果想了解上述内容,敬请关注本公众号的下一篇文章《项目文件的组织》。

关于人工智能中编程能力和技能训练的更多介绍,可以购买《人工智能怎么学》进一步阅读。

图书购买方式

京东:/13395339.html

当当:/29469230.html

天猫:/item_o.htm?id=687374654836

为了让图书惠及更多的读者,为更多想学习人工智能的人提供帮助,经过向出版社申请,对图书《人工智能怎么学》的部分内容进行改编和连载。图书《人工智能怎么学》的全部内容包含了初级入门、中阶提高以及高级进阶三个级别的内容。连载的内容主要是初级入门级别,适合想对人工智能进行快速和高效入门的读者,对于已有一定的人工智能学习基础,希望进一步进阶或提高的读者,则需要购买图书《人工智能怎么学》,学习中阶提高以及高级进阶的内容。此外,对于学习人工智能感兴趣的读者,也可以加入知识星球《人工智能怎么学》,知识星球是一个构建学习社群的平台,通过加入《人工智能怎么学》的社群,你将获得更多的学习资料和课程信息。

与作者互动和了解更多信息

想跟作者一起学习人工智能和互动,你可以加入如下社群:

知识星球:/0aLkVg0os

QQ群:600587177

想了解更多关于人工智能学习及实践的内容,请关注如下媒体:

官方网站:https://bigdatamininglab.github.io

官方微信公众号:人工智能怎么学(微信搜索“人工智能怎么学”添加关注)

CSDN:/audyxiao001

参考文献

Robert C. Martin. 代码整洁之道(第2版)[M]. 韩磊, 译. 北京: 中国工信出版集团, 人民邮电出版社, .

Herb Sutter, Andrei Alexandrescu. C++编程规范:101条规则、准则与最佳实践[M]. 刘基诚, 译. 北京: 人民邮电出版社, .

杨冠宝. 阿里巴巴Java开发手册[M]. 北京: 电子工业出版社, .

James Gosling et al. The Java Language Specification:Java SE 8 Edition[M]. Upper Saddle River: Addison-Wesley, .

老九君. C++的发展简史[EB/OL]. /ljxt/p/11636342.html, -10-08.

翁惠玉. C++程序设计:思想与方法(第2版)[M]. 北京: 人民邮电出版社, .

谭浩强. C++程序设计(第3版)[M]. 北京: 清华大学出版社, .

Siddhartha Rao. Sams Teach Yourself C++ in One Hour a Day(Eighth Edition) [M]. Boston: Pearson, .

Bjarne Stroustrup. Programming:Principles andPractice Using C++ (Second Edition) [M]. Crawfordsville: Pearson, .

Bjarne Stroustrup. C++语言设计和演化[M]. 裘宗燕, 译. 北京: 人民邮电出版社, .

Stephen Prata. C++ Primer Plus(中文第6版)[M]. 张海龙 等, 译. 北京: 人民邮电出版社, .

Stanley B. Lippman, Josée Lajoie,Barbara E. Moo. C++ Primer(中文第5版)[M]. 王刚 等, 译. 北京: 电子工业出版社, .

Stanley B. Lippman. Essential C++(中文版)[M]. 侯捷, 译. 北京: 电子工业出版社, .

侯捷. STL源码解析 [M]. 武汉: 华中科技大学出版社, .

Ivor Horton. C++标准模板库编程实战 [M]. 郭小虎 等, 译. 北京: 清华大学出版社, .

Brian W. Kernighan, Rob Pike. 程序设计实践 [M]. 裘宗燕, 译. 北京: 机械工业出版社, .

Bruce Eckel. C++编程思想(两卷合订本)[M]. 刘宗田 等, 译. 北京: 机械工业出版社, .

Scott Meyers. Effective C++:改善程序与设计的55个具体做法(第3版)[M]. 侯捷, 译. 北京: 电子工业出版社, .

Scott Meyers. More EffectiveC++:35个改善编程与设计的有效方法[M]. 侯捷, 译. 北京: 电子工业出版社, .

Scott Meyers. Effective STL:50条有效使用STL的经验[M]. 潘爱民 等, 译. 北京: 电子工业出版社, .

陆文周. Qt 5开发及实例(第4版)[M]. 北京: 电子工业出版社, .

王维波. Qt 5.9 C++开发指南 [M]. 北京: 人民邮电出版社, .

冯振, 郭延宁, 吕跃勇. OpenCV 4快速入门 [M]. 北京: 电子工业出版社, .

ghscarecrow.Java的发展历程[EB/OL]. /ghscarecrow/article/details/82318636, -09-02.

JMCui.Java的发展历程[EB/OL]. /jmcui/p/11796303.html, -11-07.

明日科技. Java从入门到精通(第5版)[M]. 北京: 清华大学出版社, .

Kathy Sierra, Bert Bates. Head First Java (Second Edition) [M].Sebastopol: O’Reilly, .

Bruce Eckel. Java编程思想(第4版)[M]. 陈昊鹏, 译. 北京: 机械工业出版社, .

Cay S. Horstmann. Java核心技术 卷I:基础知识(第11版)[M]. 林琪 等, 译. 北京: 机械工业出版社, .

Cay S. Horstmann. Java核心技术卷Ⅱ:高级特性(第11版)[M]. 陈昊鹏, 译. 北京: 机械工业出版社, .

Joshua Bloch. Effective Java(中文第3版)[M]. 俞黎敏, 译. 北京: 机械工业出版社, .

周志明. 深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)[M]. 北京: 机械工业出版社, .

Brian Goetz. Java并发编程实战 [M]. 童云兰 译. 北京: 机械工业出版社, .

Kamalmeet Singh. Java设计模式及实践 [M]. 张小坤 等, 译. 北京: 机械工业出版社, .

明日科技. Java Web从入门到精通(第3版)[M]. 北京: 清华大学出版社, .

未来科技.HTML5+CSS3+JavaScript从入门到精通[M]. 北京: 中国水利水电出版社, .

Elisabeth Robson, Eric Freeman. Head First HTML与CSS(第2版)[M]. 徐阳 等, 译. 北京: 中国电力出版社, .

Adam Freeman. HTML5权威指南 [M]. 谢廷晟 等, 译. 北京: 人民邮电出版社, .

Eric A. Meyer, Estelle Weyl .CSS权威指南(第4版)[M]. 安道, 译. 北京: 中国电力出版社, .

David Flanagan. JavaScript权威指南(第7版)[M]. 李松峰, 译. 北京: 机械工业出版社, .

许令波. 深入分析Java Web技术内幕(修订版)[M]. 北京: 电子工业出版社, .

Nicholas S. Williams. Java Web高级编程 [M]. 王肖峰, 译. 北京: 清华大学出版社, .

孙卫琴. Tomcat与Java Web开发技术详解(第3版)[M]. 北京: 电子工业出版社, .

郭霖. 第一行代码Android(第3版)[M]. 北京: 人民邮电出版社, .

欧阳燊. Android Studio开发实战:从零基础到App上线(第2版)[M]. 北京: 清华大学出版社, .

Dmitry Jemerov, Svetlana Isakova. Kotlin实战 [M]. 覃宇 等, 译. 北京: 电子工业出版社, .

Kristin Marsicano, Brian Gardner, Bill Phillips, Chris Stewart. Android编程权威指南(第4版)[M]. 王明发, 译. 北京: 中国工信出版集团, 人民邮电出版社, .

刘望舒. Android进阶之光(第2版)[M]. 北京: 电子工业出版社, .

邓凡平. 深入理解Android: Java虚拟机ART [M]. 北京: 机械工业出版社, .

任玉刚. Android开发艺术探索[M]. 北京: 电子工业出版社, .

林学森. 深入理解Android内核设计思想(上、下册)(第2版)[M]. 北京: 人民邮电出版社, .

何红辉, 关爱民. Android 源码设计模式解析与实战(第2版)[M]. 北京: 人民邮电出版社, .

Christian Keur, Aaron Hillegass. iOS编程(第6版)[M]. 王风全, 译. 武汉: 华中科技大学出版社, .

张益珲. Swift 4从零到精通iOS开发[M]. 北京: 清华大学出版社, .

Aaron Hillegass, Mikey Ward. Objective-C编程(第2版)[M]. 王蕾 等, 译. 武汉: 华中科技大学出版社, .

Matthew Mathias, John Gallagher. Swift编程权威指南(第2版)[M]. 陈晓亮, 译. 北京: 人民邮电出版社, .

Kazuki Sakamoto, Tomohiko Furumoto. Objective-C高级编程:iOS与OS X多线程和内存管理[M]. 黎华, 译. 北京: 人民邮电出版社, .

Erica Sadun. iOS Auto Layout开发秘籍(第2版)[M]. 孟立标, 译. 北京: 清华大学出版社, .

珲少. iOS性能优化实战[M]. 北京: 电子工业出版社, .

罗巍. iOS应用逆向与安全之道[M]. 北京: 机械工业出版社, .

Gaurav Vaish. 高性能iOS应用开发[M]. 梁士兴 等, 译. 北京: 人民邮电出版社, .

刘浩. MATLAB Ra完全自学一本通 [M]. 北京: 电子工业出版社, .

天工在线. MATLAB 从入门到精通 [M]. 北京: 中国水利水电出版社, .

苗志宏, 马金强. MATLAB面向对象程序设计[M]. 北京: 电子工业出版社, .

徐潇, 李远 . MATLAB面向对象编程——从入门到设计模式(第2版)[M]. 北京: 北京航空航天大学出版社, .

王文峰 等. MATLAB计算机视觉与机器认知[M]. 北京: 北京航空航天大学, .

杨淑莹, 郑清春. 模式识别与智能计算——MATLAB技术实现(第4版)[M]. 北京: 电子工业版社, .

Eric Matthes. Python编程:从入门到实践(第2版)[M]. 袁国忠, 译. 北京: 人民邮电出版社, .

Magnus Lie Hetland. Python基础教程(第3版)[M]. 袁国忠, 译. 北京: 人民邮电出版社, .

Luciano Ramalho. 流畅的Python [M]. 安道 等, 译. 北京: 人民邮电出版社, .

Brett Slatkin. Effective Python:编写高质量Python代码的90个有效方法(第2版)[M]. 爱飞翔, 译. 北京: 机械工业出版社, .

Jan Erik Solem. Python计算机视觉编程[M]. 朱文涛 等, 译. 北京: 人民邮电出版社, .

Andreas C. Müller. Python机器学习基础教程[M]. 张亮, 译. 北京: 人民邮电出版社, .

魏坤. Julia语言程序设计[M]. 北京: 机械工业出版社, .

郝林. Julia编程基础(第2版)[M]. 北京: 人民邮电出版社, .

Ben Lauwens, Allen B. Downey. Think Julia [M]. Sebastopol: O’Reilly,.

Jalem Raj Rohit. Julia Cookbook [M]. Birmingham: PacktPublishing, .

Zacharias Voulgaris. Julia数据科学应用 [M]. 陈光欣, 译. 北京: 人民邮电出版社, .

朱红庆. Julia机器学习核心编程:人人可用的高性能科学计算[M]. 北京: 电子工业出版社, .

Norman Matloff. R语言编程艺术[M]. 陈堰平, 译. 北京: 机械工业出版社, .

Andy Nicholls, Richard Pugh, Aimee Gott. R语言入门经典[M]. 姜佑 等, 译. 北京: 人民邮电出版社, .

Robert I. Kabacoff. R语言实战(第2版)[M]. 王小宁 等, 译. 北京: 人民邮电出版社, .

Hadley Wickham. 高级R语言编程指南[M]. 潘文捷 等, 译. 北京: 机械工业出版社, .

Brett Lantz. 机器学习与R语言(第2版)[M]. 李洪成 等, 译. 北京: 机械工业出版社, .

程乾, 刘永, 高博. R语言数据分析与可视化从入门到精通[M]. 北京: 北京大学出版社, .

周伟明.程序员的十层楼(一、二、三)[J]. 程序员, (6):134-136;(7):118-120; (8):134-136.

注:本文版权归作者个人所有,如需转载请联系作者,未经授权。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。