about future
最近又又又重复看了
star trek 星际迷航
back to the future 1/2/3
开始想象未来是什么样子的
1. 未来的开发语言
1.1【rust】 or 【golang】 or 【cpp11 => cpp 17 => cppxx】 ?
cpp11之后 STL使用已经足够简单
Strings library
basic_string
basic_string_view (C++17)
Null-terminated byte strings
Null-terminated multibyte strings
Null-terminated wide strings
Localizations library
Regular expressions library (C++11)
Atomic operations library (C++11)
Thread support library (C++11)
再到最近的cpp17的
Filesystem library (C++17)
===================================
如何看待 Rust 的应用前景?
如何评价即将发布的 Rust 1.0?
Rust Once, Run Everywhere
关于 rust 前景大家是什么样的一个态度
rust 如果作为一个系统级别的语言,没有gc 和runtime 那么的确可以做出一个性能好的程序。
(发展的好的话,文档,标准库也会跟上, 可以无缝贴合c语言),将来在硬件领域 或许是个不错的选择
但是golang 在开发效率,标准库的开发进度已经非常成熟了,
已经可以开始大量使用golang了,语言性能也只是比c、c++ 低20%而已, 但是大部门性能损耗应该在 业务+网络 上, 算法+策略上的优化,起码可以达到100倍以上。
额,中小程序(节能嵌入式,桌面软件)将来还是cpp 主导。
中,大型程序 有golang/java
看定位的话,rust除了操作系统 既要求效率和性能,又要求开发效率。
但是历史上有那么多的库,C11也已经足够好用了,
对于OS来说,他们没有必要用rust重写,完全可以用c模拟一个thread safe,lock free, goroutine(早期C Run Time 不是threadSafe 就是因为用全局static变量)
c的灵活度高到, c的历史 坑 + 包袱 完全可以重写!!我想rust性能再高,也不如用指针消耗低吧。
但是关于【开发效率】和 【软件安全问题】,让我对rust 再次有好感。
如果你要去50km外的地方,你是用腿走过去(c language),还是开汽车(rust language),还是开飞机去(c++ language)
- C 成本太高。
- rust 复杂度中等(普通人学习下就可以用)
- cpp 复杂(上手当然也可以很简单,但要理解深刻。绕过那些坑,没有大量的时间和实践是不行的 )
时间也是成本的一种,并且是最昂贵的一种!(from 星际穿越 Interstellar)
BS 也不止一次比喻C就是用腿走路了,这个比喻其实蛮恰当的
1.2 软件安全性
C语言
- 指针用的不好,容易出问题。
- 异常处理的太垃圾,
- 和cpp一样,各种依赖(编译时、运行时,头文件依赖)依赖的依赖的依赖。。。 (boost 之所以这么流行就是大部分库,只需要载入头文件,不用其他依赖)
1.3 总结
rust 几年之后可以跟进看看,如果想弄嵌入式,并且对功耗有要求的话。
golang 现在也可以跨平台,write once run everywhere(golang 的cgo 因为runtime 和c runtime 不一样,还需要改变默认 堆栈大小 )
cpp就算STL 做的再好,将来 编译环境,编译依赖,头文件依赖等等。 语言方面的优化问题,解决不了,还是会很头疼。(大型程序,开发效率会大大降低!!!!)
扩展阅读:安全问题、开发效率
航空飞船,卫星,车载 无人驾驶领域,测试的成本就太高了。用机器去写代码,总好过人写代码吧。 话说将来真的是有可能哦, 人类就写API, 机器就调用。 google
大家还记得 美国 航空飞船 发生多少次飞船升空失败了么?
SpaceX火箭发射失败后续:事故调查竟能如此精细
SpaceX 完成世界首次海上回收火箭
失败四次后,SpaceX 终于既能上天,还能海上回收了 or 海上回收火箭首获成功,民营航天发展势不可挡
SpaceX 今天首次成功在大西洋上回收火箭,这是人类史上第一次,实现海上回收第一级火箭。
猎鹰九号第一级垂直降落在大西洋中一艘名为“Of Course I Still Love You”的无人船上。
此前,SpaceX 已经尝试了四次,终于在第五次时成功。
为什么感觉美国发射火箭经常失败而中国很少失败?
中国火箭发射记录 China Launch Vehicle Flight History by Variant/Year (1970-Present) page 1/4
喜欢这个话题的小伙伴,可以在这里找到一些从业者 或学生或工作人员
中国 知乎话题:火箭发射
全球 quota,NASA等等
==============================
引用 【star terk 】中的话
未来就是能源 和 技术的 时代
这里 最后 有讲到如何利用能源
阿库别瑞(曲速)引擎的运作原理是怎样的?
is the solar system really a vortex
有空可以看看NASA 官网 或者 邮件
kernel的会在乎安全性?
Linux 之父 Linus Torvalds 在表达针对 Linux 内核安全性的问题上,总是有自己独到的见解。在最近的访问中,他解释了为什么内核漏洞并不像人们想象得那么糟糕。
一般发现一个 Linux 内核漏洞之后,进行快速的修复,但伴随而来可能还会产生其他问题,只不过一时半会儿没有被人们察觉。如果你是个程序猿,开发一段代码超过 10 年,那么这种模式应该是很容易理解的。
从我们外行人的角度来看,加强 Linux 内核的安全性应该是内核开发者的首要任务之一。然而实际让,在内部人士看来,情况可能会复杂得多。
在接受华盛顿邮报的采访时,他解释了为什么内核的安全性需要向其他因素妥协,如速度、效率等的因素,不像人们对安全性的理解那么简单。采访中,Linus 所表达的观点与那些大力喊着安全性的开发者是不一样的。
他说:“那些关心这种东西的人真是疯了。他们把黑白分得太清楚了。仅是本身的安全是没用的,还在于其他方面(Security in it self is useless. The upside is always somewhere else.)。”
他表达的想法有两个意思。其一,我们不能仅仅将安全寄托在 Linux 内核上,还有其他层实际上是应该要防止漏洞被利用的。第二,不管我们如何修复或者提升 Linux 内核,我们可能都不会看到它带来的真正好处,总会有其他的方法来达成这方面的提升。
Linux 内核社区内部,安全性始终是争论的焦点问题。我们只能希望 Linus 所表达的这些能够对开发者在安全性工作上起到指导作用。
Linux内核被指缺乏安全性
《华盛顿邮报》发表了一篇报道采访了Linux作者Linus Torvalds谈论了内核的安全
Linux统治了互联网,微软和苹果相比都要相形见绌,在此情况下Linux的安全愈来愈引起关注,而Linus本人对安全的看法则招致了非议。安全研究员Daniel Micay说,Linus没有将安全摆在更重要的位置,他和他周围的人都持有相似的安全观。Linus被认为更关注性能和可靠性。他在接受采访时承认与安全专家有不同的观点,他认为任何系统的安全都不可能完美,所以必须与其它优先事项权衡利弊。他认为那些将安全置于一切之上的人都疯了,安全本身是没有意义的,问题总是会出现在某个地方,安全从来不是需要你真正关注的东西。他举例说,想象一下恐怖分子利用Linux内核漏洞导致核电站熔毁,杀死了数百万人。但真正的安全问题不是在内核,而是如果你运行了一座能杀死数百万人的核电站,你不应该连上互联网。
世界上没有任何软件,是安全的! 开发者有编译+运行环境,解析到汇编,都可以直接改内存中 变量的值。
嵌入式Linux会议:一秒启动Linux
or 原文
视频 How to Boot Linux in One Second - Jan Altenberg
pdf演讲报告
在欧洲举行的嵌入式 Linux 会议上,德国公司 Linutronix 的 Jan Altenberg 介绍了如何一秒启动 Linux。一秒启动对于汽车等应用环境十分有用。
使用 Atmel AT91 ARM9 SoC 和 NAND flash 存储器,运行 Angstrom Linux 的标准启动时间是 11 秒,简单优化后可以降低到 8 秒,
深入广泛的修改包括内核配置修改和命令行调整,可以将启动时间减少到 656 毫秒。具体细节可浏览他的演讲报告。
about future的更多相关文章
- 面向未来的友好设计:Future Friendly
一年前翻译了本文的一部分,最近终于翻译完成.虽然此设计思想的提出已经好几年了,但是还是觉得应该在国内推广一下,让大家知道“内容策略”,“移动优先”,“响应式设计”,“原子设计”等设计思想和技术的根源. ...
- 线程笔记:Future模式
线程技术可以让我们的程序同时做多件事情,线程的工作模式有很多,常见的一种模式就是处理网站的并发,今天我来说说线程另一种很常见的模式,这个模式和前端里的ajax类似:浏览器一个主线程执行javascri ...
- 第二篇 Entity Framework Plus 之 Query Future
从性能的角度出发,能够减少 增,删,改,查,跟数据库打交道次数,肯定是对性能会有所提升的(这里单纯是数据库部分). 今天主要怎样减少Entity Framework查询跟数据库打交道的次数,来提高查询 ...
- Eclipse调试Android App若选择“Use same device for future launches”就再也无法选择其他设备的问题
在狂批了某供应商的多媒体控制App有多烂后,夸下海口自己要做一个也是分分钟的事.当然要做好不容易,要超过他们的烂软件还是有信心的.过程中遇到各种坑,其中之一如下 刚开始只使用一个平板进行调试,老是弹出 ...
- java Future 接口介绍
(转自:http://blog.csdn.net/yangyan19870319/article/details/6093481) 在Java中,如果需要设定代码执行的最长时间,即超时,可以用Java ...
- java多线程系类:JUC线程池:06之Callable和Future(转)
概要 本章介绍线程池中的Callable和Future.Callable 和 Future 简介示例和源码分析(基于JDK1.7.0_40) 转载请注明出处:http://www.cnblogs.co ...
- 架构师养成记--9.future模式讲解
什么是future模式呢?解释这个概念之前我们先来了解一个场景吧,财务系统的结账功能,这个功能可能是每个月用一次,在这一个月中相关的数据量已经积累得非常大,这一个功能需要调用好几个存储过程来完成.假如 ...
- Future和Promise
Future用于获取异步操作的结果,而Promise则比较抽象,无法直接猜测出其功能. Future Future最早来源于JDK的java.util.concurrent.Future,它用于代表异 ...
- Java--Callable与返回值future
package com; import java.util.concurrent.*; /** * Created by yangyu on 16/11/28. */ /** * Callable a ...
- Java多线程系列--“JUC线程池”06之 Callable和Future
概要 本章介绍线程池中的Callable和Future.Callable 和 Future 简介示例和源码分析(基于JDK1.7.0_40) 转载请注明出处:http://www.cnblogs.co ...
随机推荐
- 重新编译Nginx指导手册【修复静态编译Openssl的Nginx漏洞 】(转)
1. 概述 当前爆出了Openssl漏洞,会泄露隐私信息,涉及的机器较多,环境迥异,导致修复方案都有所不同.不少服务器使用的Nginx,是静态编译opensssl,直接将openssl编译到ng ...
- Ejabberd作为推送服务的优化手段(转)
AVOS Cloud目前还在用Ejabberd做Android的消息推送服务.当时选择Ejabberd,是因为Ejabberd是一个发展很长时间的XMPP实现,并且基于Erlang,设想能在我们自主研 ...
- java 单例模式(转载)
http://www.cnblogs.com/whgw/archive/2011/10/05/2199535.html Java中单例模式是一种常见的设计模式,可分为三种:懒汉式单例.饿汉式单例.登记 ...
- Unity3D研究院之拓展Scene视图
Scene视图是编辑游戏模型的地方,其实它还可以进行编辑.如下图所示,我给Scene视图做了简单的编辑. Scene视图的拓展是基于对象的,意思就是你必须在Hierarchy视图中选择一个对象才行.H ...
- Python常用变量处理手记(拼接数字,转json)
1.拼接字符串和数字时,应先把数字做转换 如,bytes(page) 再做拼接:str+page 或者 s = 'abc' print s + str(1) #abc1 使用list和tuple 参考 ...
- iOS程序自动检测更新的实现
本文转载至 http://blog.csdn.net/davidsph/article/details/8931718 App Store自动更新itunes 之前项目需要用到app自动更 ...
- 【BZOJ3217】ALOEXT 替罪羊树+Trie树
[BZOJ3217]ALOEXT Description taorunz平时最喜欢的东西就是可移动存储器了……只要看到别人的可移动存储器,他总是用尽一切办法把它里面的东西弄到手. 突然有一天,taor ...
- rtmp直播拉流客户端EasyRTMPClient TCP窗口大小设计方法
EasyRTMPClient 简介 EasyRTMPClient是EasyDarwin流媒体团队开发.提供的一套非常稳定.易用.支持重连接的RTMPClient工具,以SDK形式提供,接口调用非常简单 ...
- EasyNVR RTSP摄像机转HLS直播服务器中使用Onvif协议控制预置位
EasyNVR支持预置位控制,包括转到指定预置位,设置指定预置位,删除指定预置位 预置位在安防领域有较为普遍的应用,可以进行很多既定位置的跳转,很方便 之前我们说过如何用Onvif协议进行设备的发现, ...
- Elasticsearch集群UNASSIGNED
Elasticsearch集群UNASSIGNED http://shineforever.blog.51cto.com/1429204/1859734 http://www.searchtech.p ...