linux下对编程比较友好的字体都有哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下对编程比较友好的字体都有哪些相关的知识,希望对你有一定的参考价值。
1. Source Code ProAdobe 在发布首款开源字体 Source Sans Pro 后,2012年8月份又发布了 Source Code Pro 字体集,它是一款非常适合程序员阅读的等宽字体,适用于 Linux/Unix、Mac OS X 和 Windows 系统,由 Paul D. Hunt 设计,遵循 SIL Open Font 协议。可从 Github 下载。
2. Anonymous Pro
由 Mark Simonson 工作室特别为程序员设计的等宽字体。
3. DejaVu Sans Mono
DejaVu是一套改造自Bitstream Vera的电脑字体,大幅扩充了Unicode所含盖的字符。DejaVu以自由版权发布,因此亦为许多自由软件采用为显示字体。
4. Envy Code R
此字体由 Damien Guard 创建, 易于区分 oO0/IlLi1。
5. Droid Sans Mono
Droid Sans Mono 是 Google Droid 字体家族中一员,专门用来开发 android 平台上的应用。大小为 10 pt 时,字符间距很合适。但是如果你使用较小分辨率的屏幕的话(我现在使用的是1280×800),采用 9 pt 能在屏幕上显示更多代码。
Droid Sans Mono Font
6. Pragmata Pro
由意大利 Fabrizio Schiavi 工作室设计的收费编程字体。该字体非常窄,可减少行距,也减少了屏幕滚动。
点击这里,查看 Pragmata Pro 的示例图片。
译注:英文原文作者是说本文中字体都全免费,虽然这个意大利团队说 beta 字体免费,不过貌似没看到免费版的下载链接。
7. Terminus
Terminus Font 是一个整洁等宽的位图字体,专为长时间在电脑前工作设计的。 完整示例图片:http://terminus-font.sourceforge.net/shots.html
8. Proggy Small
Proggy 编程字体有许多不同的衍生字体,Proggy Small 是其中用于显示小字的字体。
9. Liberation Mono
Liberation Mono 虽然不是最漂亮的等宽字体,但因其较高的可读性,也是程序员的一个不错的选择。
10. Ubuntu Mono
Ubuntu 字体家族的一员,在 Ubuntu 平台开发的程序员,可能会喜欢这个等宽字体。 参考技术A inputmono,推荐atom
Java8都有哪些新特性
jdk1.8的新特性包括如下:一、接口的默认方法与静态方法,也就是接口中可以有实现方法
二、Lambda 表达式
三、函数式接口与静态导入
四、Lambda 作用域
在lambda表达式中访问外层作用域和老版本的匿名对象中的方式很相似。你可以直接访问标记了final的外层局部变量,或者实例的字段以及静态变量。
五、访问局部变量,等等其他新特性。 参考技术A 我认为比较重要和友好的两个新特性:
对函数式编程的支持,引入lambda表达式;
流式编程,Stream相关类提供的API; 参考技术B 一、lambda表达式
二、函数接口
三、接口的默认方法和静态方法
四、注解
五、参数名称
六、容器:Optional(可选的)
七、日期
八、Stream 参考技术C 1. 接口中的默认方法,接口终于可以有方法实现了,使用注解即可标识出默认方法。
2. lambda表达式实现了函数式编程,通过注解可以声明一个函数式接口,该接口中只能有一个方法,这个方法正是使用lambda表达式时会调用到的接口。
3. Option类实现了非空检验
4. 各种api的更新,包括chm,hashmap的实现等
5. Stream流概念,实现了集合类的流式访问,可以基于此使用map和reduce并行计算。
java了解可以多看看视频,你会了解更多,推荐b站高淇老师讲的java还不错。 参考技术D 随着编程语言生态系统的气候不断变化以及技术的革新,经历20余年的发展,Java逐渐演变成长为Java8。相比之前只是单纯的面向对象编程语言,Java8增加了很多新特性。
Java 8对于程序员的主要好处在于它提供了更多的编程工具和概念,能以更为简洁、更易于维护的方式解决新的或现有的编程问题。在Java 8中有两个著名的改进:一个是Lambda表达式,一个是Stream。
Lambda表达式是什么?
Lambda表达式,也可称为闭包,它允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用Lambda表达式可以使代码变的更加简洁紧凑,Lambda表达式的语法格式:
(parameters) -> expression或(parameters) -> statements;
Lambda表达式的重要特征:
可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。
使用Lambda表达式需要注意以下两点:
Lambda表达式主要用来定义行内执行的方法类型接口,例如,一个简单方法接口。在上面例子中,我们使用各种类型的Lambda表达式来定义MathOperation接口的方法。然后我们定义了sayMessage的执行。
Lambda表达式免去了使用匿名方法的麻烦,并且给予Java简单但是强大的函数化的编程能力。
Stream是什么?
Stream就是一个流,它的主要作用就是对集合数据进行查找过滤等操作。Java 8中的 Stream是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作(bulk data operation)。
对于基本数值型,目前有三种对应的包装类型Stream:IntStream、LongStream、DoubleStream。当然我们也可以用Stream<Integer>、Stream<Long> >、Stream<Double>,但是boxing和 unboxing会很耗时,所以特别为这三种基本数值型提供了对应的Stream。
Java 8中还没有提供其它数值型Stream,因为这将导致扩增的内容较多。而常规的数值型聚合运算可以通过上面三种Stream进行。
Stream上的操作分为两类:中间操作和结束操作。中间操作只是一种标记,只有结束操作才会触发实际计算。
中间操作又可以分为无状态的(Stateless)和有状态的(Stateful),无状态中间操作是指元素的处理不受前面元素的影响,而有状态的中间操作必须等到所有元素处理之后才知道最终结果,比如排序是有状态操作,在读取所有元素之前并不能确定排序结果。
结束操作又可以分为短路操作和非短路操作,短路操作是指不用处理全部元素就可以返回结果,比如找到第一个满足条件的元素。之所以要进行如此精细的划分,是因为底层对每一种情况的处理方式不同。
想要永远处于优势地位,就要不断的完善自身、更新技术。
以上是关于linux下对编程比较友好的字体都有哪些的主要内容,如果未能解决你的问题,请参考以下文章