我搜索了Python,Swift和Kotlin!


我比较了Python,Swift和Kotlin找出答案!

比较动机

我调查并比较了未来可能发展的语言。
Python是举世闻名的语言
Swift和Kotlin是根据智能手机关系选择的
Kotlin之所以被选中是因为它是在google被宣布为android的支持语言之后不久才被预期的未来发展。

Python,Swift和Kotlin的简要说明

的Python

Python通常用于人工智能和机器学习。
原因是数学库内容广泛,
另外,由于它是一种解释语言,因此速度较差,但结果很容易查询。

斯威夫特

开发与Apple相关的语言(iphone,MacOS)时无法避免的语言

科特林评论

这是一种具有Java最好的语言,并且基本上与Java兼容。

Python,Swift和Kotlin之间的功能差异

功能差异

java没有推断
Kotlin推断类型。也可以明确指定。
缺点
Python:解释器类型,因此速度不佳
Swift:只能用于与Apple相关的开发。
Kotlin:不太受欢迎(人气上升了一段时间)

未来发展潜力

Python:它将继续在人工智能和机器学习系统中使用。
斯威夫特:只要苹果继续,它就会继续,但是很快就会出现一种新的语言。
但是,Objective-C在开发站点上仍然占有很大份额,而TOP 100 APP的Swift使用率仅为10%*。
Kotlin:谷歌宣布为Android支持的语言。

顺便说说

国外人气排名

总部位于美国的电气和电子工程师学会(IEEE)的期刊《 IEEE Spectrum》(IEEE Spectrum)已宣布编程语言在《 2017年顶级编程语言》中排名排名靠前。
综合排名
1. Python
2.C
3. Java
4.C
5.C#
6.R
7. JavaScript
8.PHP
9,去
10.Swift
11. Arduino
12.Ruby
13.装配体
14. Scala
15.Matlab
16.HTML
17.壳
18. Perl
19. Visual Basic
20.Cuda
https://spectrum.ieee.org/computing/software/the-2017-top-programming-languages

语言单价[截至2017年]

第一名"斯卡拉"(626万日元)
No.1" Scala"是一种具有高生产率和鲁棒性的语言,具有面向对象的语言和功能性语言的特征。
众所周知,它已被Twitter和LinkedIn使用。
尽管在世界范围内采用" Scala"的公司数量正在增加,但是由于几乎没有人力资源可以处理它,因此它被认为是一种年收入很高的语言。
即使在日本,它也主要被互联网公司广泛使用,并且有望在将来吸引更多的关注。

第二名" Python"(601万日元)
第二名" Python"广泛用于数据分析和机器学习领域。
随着机器学习和深度学习中的应用不断发展以及对AI的实际应用进行研究,预计需求将进一步增加。

第三名"科特林"(577万日元)
尽管" Kotlin"的第三名工作数量仍然很少,但这些工作主要由Android工程师发布。
今年5月,Google宣布将其添加为Android应用程序开发的官方语言成为一个热门话题。
需求可能会激增。

第四名" Swift"(562万日元)

Bizreach研究
https://jp.stanby.com/media/programming_ranking2017/

语言单价[截至2018年]

第一名" Go"(600万日元)上次未排名
在诸如Docker之类的基本软件的开发中被采用,以替代C语言。
它用于各种领域,例如Web服务器中的工具开发和利用。
在2018年Stack Overflow年度报告中,
在最受欢迎的编程语言,脚本语言和标记语言中排名第5 * 1,
它是世界上流行的语言。
由于其易于学习和实用性,它似乎在开发人员中迅速流行。
它在日本被广泛使用,尤其是互联网公司。
与去年相比,工作机会的数量增加了1.9倍,并且预计将来会更加关注。

第二名" Scala"(600万日元)上次第一名
一种具有高生产率和鲁棒性的语言,具有面向对象语言和功能语言的特征。
众所周知,它已被Twitter和LinkedIn使用。
在日本,采用" Scala"的互联网公司数量在增加,但
据说这是一种年收入高的语言,因为仍然很少有人力资源可以处理。

" Python"第三名(575.1万日元)上次第二名
研究机构的研究人员和数据科学家经常使用它。
随着机器学习和统计分析的使用不断发展,预计需求将进一步增加。
此外," Python"的职位空缺数量比去年增加了1.7倍。

第四名" Kotlin"(575万日元)上次第三名
与去年相比,工作机会数量增加了5.3倍。
Google于去年5月宣布将其作为Android应用程序开发的正式语言而成为一个热门话题。
这可能是由于需求激增。 " Kotlin"不仅是一个Android应用,而且是
由于在Web服务的开发中采用案例的数量正在增加,并且可以使用现有的" Java"库,因此
作为替代" Java"的新语言,需求将进一步增加。
另一方面,尽管" Java"的工作机会数量很高,为34,000,但与去年相比下降了30%(中位收入为500万日元,排名第14)。

第五名" TypeScript"(575万日元)上次未排名
它是" JavaScript"的扩展,是一种静态类型的语言,可让您编写健壮的代码,并且易于维护和操作。
它易于划分功能,因此适合大型应用程序的团队开发。
它还广泛用于Web服务的前端。
自2017年4月被采用为Google的内部标准语言之一以来,
引进它的公司数量在增加,工作机会的数量比去年增加了3.2倍。

Bizreach /备用调查
https://www.bizreach.co.jp/pressroom/pressrelease/2018/0807.html

FizzBu??zz程序

的Python

1
2
3
4
5
6
7
8
9
for i in range(1, 31, 1):
    printStr = str(i) + ":"
    if i % 3 == 0:
        printStr = printStr + "Fizz"
    if i % 5 == 0:
        printStr = printStr + "Buzz"
    if i % 3 != 0 and i % 5 != 0:
        printStr = printStr + str(i)
    print(printStr)

我做了FizzBu??zz课程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class FizzBuzz:
    def __init__(self, lastIndex):
        self.lastIndex = lastIndex
    def __concatStr(self, str1 : str, str2 : str) -> str:
        return str1 + str2
    def printFizzBuzz(self):
        for i in range(1, self.lastIndex + 1, 1):
            printStr = self.__concatStr(str(i), ":")
            if i % 3 == 0:
                printStr = self.__concatStr(printStr, "Fizz")
            if i % 5 == 0:
                printStr = self.__concatStr(printStr, "Buzz")
            if i % 3 != 0 and i % 5 != 0:
                printStr = self.__concatStr(printStr, str(i))
            print(printStr)

fizzBuzz = FizzBuzz(30)
fizzBuzz.printFizzBuzz()

Kotlin

1
2
3
4
5
6
7
8
9
fun main(args: Array<String>) {
    for(i in 1..30){
        var fizzBuzzResult = ""
        fizzBuzzResult += if(i % 3 == 0) "Fizz" else ""
        fizzBuzzResult += if(i % 5 == 0) "Buzz" else ""
        fizzBuzzResult += if(i % 3 != 0 && i % 5 != 0) i else ""
        println("${i}:${fizzBuzzResult}")
    }
}

斯威夫特

1
2
3
4
5
6
7
8
9
10
11
12
13
for i in 1...30 {
    var fizzBuzzResult:String = ""
    if i % 3 == 0 {
        fizzBuzzResult += "Fizz"
    }
    if i % 5 == 0 {
        fizzBuzzResult += "Bizz"
    }
    if i % 3 != 0 && i % 5 != 0 {
        fizzBuzzResult += "\(i)"
    }
    print("\(i):\(fizzBuzzResult)")
}

<表格>

Python

斯威夫特

科特林


<身体>

开发时间

1991

2014

2011

历史背景(历史)

ABC是一种涉及Python开发人员的项目的教育性编程语言,它不切实际,因此开发它的目的是使其成为一种更实用的语言。

作为一种新语言,可以代替迄今为止使用的本机应用程序开发语言" Objective-C"。 Objective-C传统上用于开发Apple提供的OS X和IOS本地应用程序,自1983年诞生以来已有30多年的历史,它是一种使用现代编程语言的应用程序。是出于对发展的渴望而诞生的。

它被创建为一种新的语言,旨在实现以下目标,从而消除了Java具有的向后兼容性的限制。 ?与Java的兼容性?相当于Java的编译速度?比Java简洁?比Java安全

与原始语言的比较

ABC,C将易于理解的ABC教育语言和C语言的语法结合在一起。

与原始的Objective-C相比,没有main()函数,并且将换行符作为语句的结尾,因此不需要分号。看起来很爽! !! !!

Java

功能(实际使用情况)

人工智能和机器学习领域常用的编程语言为什么要在人工智能中使用?丰富的库(也用于数学和分析)→与R语言相比,后者是相同的统计语言?易于初学者使用输入(因为Python的原始语言是一种教育语言)?R语言涵盖了疯狂的分析,通常使用Python就足够了吗?编码→结果,因为不需要编译它是否适合研究,因为它可以立即被确认?在处理大量数据的领域中,使用不需要类型识别的动态类型语言编写代码变得更加容易。我想不出大量数据的类型。 →执行速度不如静态类型C语言,但编码容易,从编码到结果确认的范围,Python更快。

一种新开发的编程语言,用于为Mac OS X和iOS(iPhone,iPad)创建应用程序

基于Java的编程语言

(语言功能)

缩进必须准确

类型别名(您可以更改类型的名称)带有类型推断的保险柜

?与Java的互操作性(可以从Kotlin调用Java或从Java调用Kotlin)?可以作为脚本执行吗?可以转换为JavaScript

开发环境中的差异

由于它可以在Eclipse和IntelliJ等IDE上运行,因此可以使用熟悉的工具进行开发。当然,还有一个仅Python的编辑器。

Apple提供了OS X和Linux的二进制文件,可以为iOS,OS X,watchOS,tvOS和Linux编译代码。

Android Studio 3.0随附了用于Kotlin开发的内置插件

未来发展

因为除非以语法固定的格式编写,否则编译不会通过,即使具有不同技能的工程师对其进行编码,也将以相同的方式编写,因此被用作虚拟化环境等的设置技术语言。已经完成了。 ?可以用比C语言更少的行来编写吗?无需编译?旨在能够以相同的方式进行编码而与技能水平无关→没有任何人可以以相同的方式阅读的编码范围

Java开发人员Oracle和Google目前正在解决版权问题,Google正在考虑将Swift用于应用程序开发。当可以在Swift中创建当前用Java制作的Android应用时,不可避免地会迫使公司学习Swift。注意未来的趋势! !! !! !!

美国Google在当地时间5月17日宣布,在年度开发者大会" Google I / O 2017" Null Safety(保证安全)的半开主题演讲中,将" Kotlin"用作Android的官方开发语言。该行的末尾可以省略-冒号可以在不使用类的情况下定义函数类型声明有点独特(与C和Java一样,类型名称首先写入,例如"类型变量名称;",在Kotlin中,":"定义在" fun"变量声明中具有" var"和" val"(" var"声明一个可写变量,而" val"对其进行更改。声明一个可为空的变量)

参考网址

?https://blog.codecamp.jp/technology_01 ?https://mayonez.jp/topic/1555 ?https://ja.wikipedia.org/wiki/Python ?https://de-liker.com/why-Python-is-better-way-for-developing-ai.html

?https://mayonez.jp/topic/1198 ?https://beginner-programmer.com/2017/08/23/swift/ ?https://thinkit.co.jp /文章/ 12089 ?https://www.apple.com/jp/swift/

?http://www.atmarkit.co.jp/ait/articles/1604/01/news032.html ?http://www.itmedia.co.jp/news/articles/1705/18 /news067.html