A. 学编程的学哪种语言好
从辩证的角度考虑没有哪个编程语言是最好的,适合自己的才是最好的,无论一个编程语言有多少优势。
相信不同的程序员会有不同的答案。常用的编程语言有C++、 C、java、C#、python等等。每种编程语言都自身的优点,但也是或多或少的存在这一些缺陷。所以对于程序员来说那编程语言适合项目的开发并且使用顺手那么那种语言就是最好的语言。比如说几乎不会有程序员去拿PHP、C#、Python来做嵌入式的开发。所以要选择是使用哪种语言就要看所要使用的平台环境。下面就来大概说说不同语言的特点吧。
C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言
简洁紧凑、灵活方便;运算符丰富;数据类型丰富;表达方式灵活实用;允许直接访问物理地址,对硬件进行操作;生成目标代码质量高,程序执行效率高;可移植性好;
C++是面向对象的C语言,由于偏底层,所以性能非常高,仅次于C语言,主要用在一个要求高性能的领域。。。这个不好说,因为实际需求上,用处挺杂的,而且也确实不太好学。
PHP是一种通用开源脚本语言。语法吸收了C语言、Perl以及java的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。
Java具有卓越的通用性、高效性、安全性,广泛应用于个人PC、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群
python语言,是一种面向对象、直译式计算机程序设计语言,Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能用其他语言制作的各种模块轻松地联结在一起
C#和Java极其相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi,与COM是直接集成的,而且它是微软公司 .NET windows网络框架的主角
总结起来:
PHP:没有什么突出的优点
C 底层操作、性能优化
Java、C# 库多通用型强。
Python 语言清晰明白
C++ 什么都能干全能
B. 一个优秀的程序员会掌握哪些语言
其实技能在于精,而不在于多。
未来五年甚至十年都将是人工智能的天下,而人工智能领域的应用语言 Python 毫无疑问是主流,Go 次之,但是还远比不了 Python 在人工智能领域的应用。
2、随着人工智能技术有所成熟与突破,Python 的需求还会更大。
Python 相比较大部分语言来说,算是很容易上手的,语法很清楚,没有那么多复杂的概念,适合新手学习。
3、除了人工智能之外,Go 语言的潜力也很大,Go 在处理高并发的分布式系统上应用很广泛,性能很高,而且未来在区块链技术相关应用中也会有不少发挥,还是 Google 的亲儿子,但是 Go 的易学性不如 Python,对新手还是有一定门槛的,而且应用的广泛性也不如 Python。
4、最后 Java,Java 这种老牌编程语言,虽然一直被诟病语法臃肿,但是其实随着 Java 版本的更新,已经逐渐支持了很多新语言的特性,并且因为 Java 很成熟,不止语言成熟,很多成熟的解决方案、中间件都是基于 Java 的,Java 可用的库太多了,以至于现在大部分公司都离不开 Java,而且 Java 还可以用来开发 android 移动应用,所以也许未来 Java 不是最有前景的语言,但是 Java 在未来很长一段时间内都会是不可或缺性的语言,相关的工作岗位也自然一直有需求,而且 Java 语言的易学性也很高,适合新手,大部分大学甚至早都开设了 Java 课程。而且很多想进入互联网行业的人员都会选择学习Java。
希望可以帮到你,谢谢!
C. lisp语言的快速入门
Common Lisp语言快速入门: Lisp是软件领域的分裂力量。一方面,Lisp爱好者誓言Lisp比软件领域内的其它语言都更加快捷、整洁和强大;而反对者则辩称,不可靠的执行和库支持不足使得开发者难以在其中编写任何真正的软件。事实上,他们都有各自的道理。
第一版Lisp于大约50年前推出,这使得它和FORTRAN一样,成为现在仍在使用的最古老的编程语言之一。可以证明,它拥有(它们将会拥有)最庞大的特性列表,它也是第一种包括一整套今天我们全都认为是标准语言特性的语言,如垃圾收集、递归、函数作为对象、甚至是普通的if-then-else子句。同时,人们也认为它是一款优秀的教学语言:MIT使用方案、Lisp衍生物,传授它们的介绍性编程类。
我们将一起学习最强大和项目就绪的Lisp版本:Common Lisp,使其正常运行,并了解一些Lisp应用。 代码和数据并无差异——在Lisp中,代码只是一个函数对象列表。源代码和数据源之间不存在区别,允许Lisp把它的内在呈现给编译器、注释器和程序员。这允许你方便地本地读入和评估代码,甚至可以允许你使用宏。
宏——定义和重新定义任何语言元素。不喜欢条件、或循环或函数的运行方式吗?好,你可以定义自己的注释。如果你在代码中多次执行某个特定的任务,把那个特性添加到语言中不是更加方便吗?应用Lisp,你可以实现上述功能。
速度——虽然在许多情况下Common Lisp不如C或OCaml这类速度巨人快捷,但它在一系列测试中表现良好,特别是在执行一小段程序的情况下。了解一些基本的编译器知识,你就能够编写出处理列表和大型数字的代码,在执行速度和内存使用方面都要优于其它语言。
简化——Lisp的一切功能都基于一些基本的理念——一旦你了解那些理念,你就几乎能够处理任何问题。Lisp程序员常常自夸说,仅仅用几百行代码,你就能在几乎任何语言(如C++或Haskell)中执行一个Lisp注释器。
灵活——以你喜欢的任何方式编写代码。更喜欢功能性的编程方法吗?没问题!想要完全反复编程吗?草草写下几个快速的宏就可以完成任务。你可以用最方便最高效的方式编写程序,而且这些程序都能良好地运行。 好,行!我选择了Lisp,我如何进行安装呢?
这是棘手的问题。不像是Python或C#一样,Common Lisp没有标准执行——该语言由一个规范,而不是执行来定义。Common Lisp也没有C语言的特点,及在每一个平台上都是一种支配性的执行或流行的执行。每个版本都应执行上述标准,但有一些细节要由编译器或注释器来处理,这使得每个执行都稍有不同。
你可以使用几种选项——在本文中我使用CLISP,它在Windows、Linux和Mac(仅PPC)上运行良好。如果你使用英特尔Mac,则必须使用其它执行,如Allegro Common Lisp或SBCL。对于这篇快速入门中的简单例子,你使用哪个执行都不要紧。
使用Lispbox可以快速安装Common Lisp系统,但遗憾的是,Lispbox在2012年停止了更新。Lispbox为你提供一个Common Lisp执行、Emacs、SBCL和Slime——Emacs高级Lisp整合模式,许多Lisp程序员会告诉你说,这个组合是使用Lisp的唯一方法。如果你并非Emacs用户(我本人也和你一样),不要担心,它并非必要条件,只是使得编写Common Lisp程序更加简便。而如果想要使用最新的Emacs、SBCL和Slime,网络上也有许多教程关于如何配置它们。
安装过程因平台而异,在Windows中你只能运行安装程序,多数Linux软件包管理器提供安装包等。选择一个执行并遵循安装指令即可。打开Common Lisp (CLisp)交互环境的方式是M-x slime,如果你不理解这是什么意思的话可以通过Ctrl+h松开后按t来学习Emacs的基本操作。但由于Emacs的默认字体不支持中文,所以为了避免教程乱码,点击程序窗口左上角的Options,选择Set Default Font,选择支持中文的字体后保存。打开REPL(交互式提示符)之后再返回这里,我们继续往后讲。 REPL代表“阅读-评估-打印-循环”(Read-Evaluate-Print-Loop),它简单表示注释器的一个交互式提示符。你可以从这里输出一些简单的Lisp代码。如果你使用另一种注释器提示符,你可以在这里使用提示符作为计算器输出一些基本的数学表达式——但它不能正常运行。在CLISP中输入5*2不会返回任何有意义的结果:
> 5 * 2
5
> 5
5
> 2
2
Lisp并非以那种方式运行,运算符,如“+”不是在数字之间,而是在数字前面,就好像它们是函数名称一样。因此,如果你想将REPL当作计算器使用,你必须输入:
> (* 5 2)
10
> (+ 1 2 3 4)
10
> (+ (* 5 2) (* 10 3) (/ 100 4))
65
对你来说,理解这种用法可能更难一些,但它拥有一些优势:它便于编译器解析、它对所有函数和运算符都一样、它让你给函数添加尽可能多的自变量——例如,在上面的第二个例子中,你可以任意扩充加数,使得加法函数和总计函数完全一样。
另外你会注意到,函数名在括号内,而不像许多其它语言一样函数名在括号以外。这表示你要写(函数自变量)而不是函数(自变量)。
每个Lisp表达式会返回一个值,一个函数总是返回最后一个表达式的结果——即使是NIL,NULL在Java或C++中的对等值也是这样。因此在Lisp中显示“Hello World”相当简单:
> Hello World
Hello World
如果你希望在屏幕上打印一些内容,并返回其它内容,你应该使用打印函数:
> (print Hello World)
Hello World
Hello World
这个字符串显示两次,一个是打印结果,一个是函数返回的结果。
Lisp表示LIST Processor(列表处理器),Lisp中的几乎所有内容都以列表的形式存在,因此有时你必须处理列表。定义列表非常容易:
> (list 1 2 3 4 5)
(1 2 3 4 5)
> '(1 2 3 4 5)
(1 2 3 4 5)
第二种定义方法叫做引用,除定义简单的列表外,它还有更多用途,不过我们必须在后面的另一篇文章中讨论那个主题。 Lisp拥有全部标准控制流程方法。定义一个重复一个值的简单循环相当容易:
> (dotimes (i 10) (print i))0
1
2
3
4
5
6
7
8
9
NIL
同样,重复一个列表也很简单:
> (dolist (i '(0 1 2 3 4 5 6 7 8 9)) (print i))
0
1
2
3
4
5
6
7
8
9
NIL
以上两个函数都是DO函数的特殊版本,它就像在其它语言中组合使用while和for函数一样。它由三个部分组成:循环变更定义、终止条件和语句主体:
> (do ((i 0 (+ 1 i))) ((> i 10)) (print i))
0
1
2
3
4
5
6
7
8
9
10
NIL
在这个例子中,变更定义部分为((i 0 (+ 1 i))),它定义变量i为0,并在每次循环时调用函数(+ 1 0)。终止条件为((> i 10)),表示在i大于10时函数终止运行。最后主体部分打印i的值。
Lisp中也有条件函数,最基本的条件函数为if函数:
> (if (> 10 20) (print Hello) (print World))
World
World
if函数由三部分组成:条件、then语句和else语句。如果条件为真,则执行then语句,否则就执行else语句。
你可能已经注意到,到现在为止我们仅使用了单个的语句——但如果你需要把几个语句连接在一起,那该怎么办呢?在Lisp中,要将几个语句连接起来,你需要使用progn这个特殊的控制流程函数:
> (progn (print Hello) (print World))
Hello
World
World
例如,上例允许你在条件函数和循环中使用几个语句。
如果你想要更进一步的了解和学习Common Lisp,可以搭配学习ANSI Common Lisp 和Practical Common Lisp (实用Common Lisp编程),如果你想再更进一步,可以看一看On Lisp 等参考书。
D. 既然 Lisp 以及基于此的语言好到不行,为什么基于 C 的语言一经问世便占据统治地位
1、结构化设计语言,语法清晰、结构简单,模块化使得程序的各个部分除了必要的信息交流外彼此独立,便于开发、调试以及调试。2、运算符多,把括号、赋值、强制类型转换等都作为运算符处理,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3、数据结构丰富,能实现各种复杂的数据类型的运算,引入指针、结构体概念使程序效率更高。4、为操作系统而生,可以像汇编语言一样对位、字节和地址进行操作,允许直接访问物理地址对硬件进行操作,把高级语言的基本结构和语句与低级语言的实用性结合起来。5、程序执行效率高,一般比汇编程序生成的目标代码效率低 10%~20%。6、可移植性好,C 语言抽象了针对 CPU 编程的细节,能广泛应用于针对大型操作系统和系统软件的编写。7、具备强大的绘图功能,和 C++ 一样也可以写出很优雅的二维、三维图形和动画。
C语言在应用软件、对性能要求严格的领域、系统软件和图形处理等有良好且广泛的应用,尤其是某些系统软件、制作动画、绘制二维图形和三维图形等,模型或者系统建立之后需要计算的软件更是看中了C语言强大的计算能力。
E. 学python最好用什么编辑器一般用哪款编辑器比较好
1、PyCharm
PyCharm由着名软件开发公司JetBrains开发。在涉及人工智能和机器学习时,它被认为是最好的Python
IDE。最重要的是,Pycharm合并了多个库,帮助开发者探索更多可用选项。
兼容性:Windows、MacOS、Linux
主要插件和功能:
①内置开发者工具
②远程开发能力
③实时编辑模式
④IPython Notebook
2、Visual Studio Code
Visual Studio Code有时会与Visual Studio IDE混淆,后者并非Python使用者常用的工具。VS
Code是完整的代码编辑器,具备很多优秀功能,许多程序员称其为最好的IDE编辑器。
兼容性:Windows、Linux、Mac OS
主要插件和功能:
①内置git
②自定义工具扩展插件
③断点调试
④交互式控制台
3、Sublime Text
Sublime Text被认为是最好的Python编辑器,因为它简单悉链冲、通用、方便。它使用广泛,可用于不同的平台。
兼容性:Windows、Linux、Mac OS
主要插件和睁歼功能:
①简易导航,实现高性能
②支持不同包,以自定义编辑器
③只需一个关键词,即可复制常见代码段
④即时项目切换和分割编辑
4、VI/VIM
vim位列最好的Python IDE工具前5名。它是一个modal
editor,可以从文件编辑中分割文唤激件,相比最初的vi,vim有了巨大的进步,功能更加强大。
兼容性:Windows、Linux、Mac OS、IOS、android、Unix、AmigaOS、MorphOS
主要插件和功能:
①其脚本允许用Python执行几乎所有编程任务
②ctags,帮助实现更好的标记导航
③内置基础词汇补全
5、GNU Emacs
GNU
Emacs也是最好Python编辑器的有力竞争者。它常被描述为可扩展、自文档化、实时显示。尽管它在业界并非最新,但它经常升级来满足开发者的需求。
兼容性:Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS
主要插件和功能:
①使用Lisp编程语言
②语法着色
③支持Unicode
6、IDLE
IDLE代码编辑器深受学生欢迎,它是Python自带编辑器。该编辑器使用简单、通用,且支持不同设备。在使用复杂工具之前,开发者可以通过IDLE学习基础知识。
兼容性:Windows、Linux、Mac OS
主要插件和功能:
①tkinter GUI工具包
②多窗口界面
③具备对话框、浏览器等配置