当前位置: 首页 > news >正文

“深入浅出”《Head First Kotlin程序设计》

新书速递

 

Kotlin正在掀起新的浪潮

自首次发布以来,Kotlin就以其友好的语法,简洁、灵活和强大的功能给程序员留下了深刻的印象。Kotlin正迅速风靡于编程世界。尽管它是最年轻的语言之一,许多开发人员都视其为首选语言。那么,是什么让Kotlin如此特别?

Kotlin具有的许多现代编程语言的特性吸引着程序员。你将在本书中学到这些细节,我们在此仅列出部分要点。

 

它清晰、简洁、易读

 

与某些语言不同,Kotlin代码非常简洁,有时只需要编写一行代码就能执行强大的任务。它提供了常见操作的快捷方式,因此避免了大量重复编写样板代码。同时,它提供了丰富的函数库供使用。所需代码量的减少极大地提高了阅读、编写和理解的速度,这样你可以有更多的时间来做其他的事情。

 

你可以使用面向对象以及函数式编程

 

你是否无法决定是学习面向对象还是函数式编程呢?那么,为什么不是两个都学?Kotlin允许你使用类似Java的方式编写程序,使用诸如类、继承以及多态的特性。但它同时也支持函数式编程,具有两全其美的优势。

 

编译器可以保证安全

 

没有人喜欢不安全和错误的代码,Kotlin的编译器花了很多时间来保证你的代码尽可能整洁,防止了其他编程语言中可能出现的许多错误。例如,Kotlin是静态类型的,因此你无法对错误类型的变量进行操作,进而导致程序崩溃。在大多数情况下,你甚至不需要明确指明变量的类型,因为编译器可以帮助你进行推断。

 

因此Kotlin是一个现代的、强大而灵活的编程语言,具有许多优点。

 

你几乎可以在任何地方使用Kotlin

我是一个闪光的标题

你几乎可以在任何地方使用Kotlin

 

Kotlin隐式地避免了其他语言中常见的错误。这意味着其代码更加安全、可靠,同时程序员在检查错误时花费的时间大大减少。由于你可以为Kotlin选择编译平台,因此其可以在不同的上下文环境中作为通用语言。你几乎可以在任何地方使用Kotlin :

 

Java虚拟机(JVM)

 

Kotlin代码可以编译为JVM(Java虚拟机)的字节码,因此基 本可以在任何能够使用Java的地方使用Kotlin。Kotlin完全可 以与Java互操作,因此可以使用现有的Java库。如果你正在 处理一个包含大量Java代码的程序,你不需要完全抛弃旧代 码;因为新加入的Kotlin代码可以与之共存。如果你想使用之 前在Java中编写的Kotlin代码,你也可以轻松完成。

 

Android

 

除了与例如Java等其他语言共存的特点外,Kotlin还拥有 Android的无缝支持。Android Studio现已完全支持Kotlin,因 此当你编写Android程序时,也可以充分发挥Kotlin的特长。

 

客户端和服务器端JavaScript

 

你还可以将Kotlin代码转换编译成JavaScript,以便在浏览器中 运行。它可以与客户端或是服务器端诸如WebGL或是Node.js 等技术协同工作。

 

原生应用

 

如果你需要编写能够快速运行于功能较弱的设备上的代码, 你可以将Kotlin的代码编译为本机原生代码。这将允许你编写 能够在iOS或是Linux上运行的代码。

《Head First Kotlin程序设计》一书中,将教你如何构建自己的Kotlin应用程序。我们将从创建并运行基本的应用程序开始讲解。

在此过程中,你将了解Kotlin的一些基本语法,例如基本语句、循环以及条件分支。

精彩抢先看

 

本书主要内容

你将从这本书中学到什么?

本书是对Kotlin编程的完整介绍,将帮助你以一种独特的方法学习Kotlin语言(这远远超越了语法和说明手册),并教你如何像一个伟大的Kotlin开发者一样思考。你将学习从语言基础到集合、泛型、lambda以及高阶函数的所有内容。在此过程中,你将使用面向对象和函数式编程。如果你想真正了解Kotlin, 这本书正适合你。

 

 

为什么这本书如此不同?

基于认知科学和学习理论的新研究, 本书采用一种视觉丰富的格式来吸引你, 而不是使用以文字为主的方法来使你昏昏入睡。 为什么要浪费时间在新的概念中挣扎? 这种多感官的学习体验正是为你的大脑真正的工作方式而设计的。

 

名人推荐

“清 晰 、 直 观 、 易 于 理 解 。如果你是Kotlin新手, 这将是一本优秀的入门读物。”

——Ken Kousen,JetBrains认证,Kotlin官方培训师

 

“ 本书能够帮助你快速上手Kotlin, 建立一个牢固的基础, 并让你在编码中( 重新) 获得快乐。”

——Ingo Krotzky,Kotlin初学者

 

“终于!不需要懂Java就可以学习Kotlin了!简单、 简洁、 有趣, 这是一本我期待已久的书。”

——Matt Wenham博士,数据科学家、 Python开发者

 

 

关于“Head First”

Head First 系列书籍是由 O'Relly 出版社发行的一系列教育书籍,中文一般翻译为“深入浅出”,它强调以特殊的方式排版,由大量的图片和有趣的内容组合构成,而达到非疲劳的沉浸式学习效果。对入门者极为友好。

 

点击链接了解详情并购买

本书现正参与当当网每满100减50的促销活动,下单时输入优惠码【GC56UT】

实付200元还可再减40元。

目录

更多精彩回顾

书讯 |10月书讯(下)| 双节同庆,读书正当时

书讯 |10月书讯(上)| 双节同庆,读书正当时

资讯 |DB-Engines 10月数据库排名:“三大王”无人能敌,PostgreSQL紧随其后

上新 | 百度官方出品 | 全面解读PaddlePaddle,零基础快速入门深度学习
书单 | 开学季——计算机专业学生必读的10本畅销经典

干货 | 数据分析必读干货:简单而实用的3大分析方法

收藏 | (万字长文)Spring的核心知识尽揽其中

视频 | 大佬出镜推荐不可不读系列——程序员陈彼得

赠书 | 【第27期】10本网络安全方向好书,让你挑花眼...

点击阅读全文购买

相关文章:

  • RPA的总成本和总收益分析
  • 前端音视频之WebRTC初探
  • 如何成为一名优秀的策略产品经理
  • 【超干】用户画像产品化涵盖的功能模块以及应用场景
  • WebAssembly前世今生
  • 【独家现场】2020国际金融科技论坛
  • 【第28期】10本精选大数据好书等你来选
  • 11月书讯(上)| 这些好书必须“买买买”!
  • NLP入门干货:手把手教你3种中文规则分词方法
  • 最新!数字人民币横空出世,5万深圳人瓜分1000万红包!
  • 华为的数字化转型与数据治理
  • “银杏书”带你深入理解信息产业之“魂”
  • Python代码如何敲得优雅又漂亮,这本书你必须拥有
  • Python 标准库实践之合并字典组成的列表
  • 机器学习训练中常见的问题和挑战!
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Django 博客开发教程 8 - 博客文章详情页
  • es6要点
  • gcc介绍及安装
  • Java 23种设计模式 之单例模式 7种实现方式
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Java多态
  • Python学习之路13-记分
  • WebSocket使用
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端面试题总结
  • 前嗅ForeSpider教程:创建模板
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 首页查询功能的一次实现过程
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • #单片机(TB6600驱动42步进电机)
  • $refs 、$nextTic、动态组件、name的使用
  • (003)SlickEdit Unity的补全
  • (06)Hive——正则表达式
  • (26)4.7 字符函数和字符串函数
  • (C语言)字符分类函数
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (八十八)VFL语言初步 - 实现布局
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十三)Java springcloud B2B2C o2o多用户商城 springcloud架构 - SSO单点登录之OAuth2.0 根据token获取用户信息(4)...
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • ..回顾17,展望18
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NET/C# 使用反射调用含 ref 或 out 参数的方法
  • .net专家(张羿专栏)
  • :中兴通讯为何成功
  • ??eclipse的安装配置问题!??
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • @RequestParam详解
  • [ IOS ] iOS-控制器View的创建和生命周期