从今天起,坚持每天学习10分钟Rust...这是一个刚兴起几年的语言,希望深入地进行学习,为什么呢,因为以下这些让人辛酸的理由.....
最开始学习的是C++,没学太懂,之后又学了C,这时还完全对计算机语言没什么概念
然后又学习了操作系统原理、汇编、编译原理、算法与数据结构,书看了,书后面的练习题也做了,自测考试,汇编60分,编译原理实现了一个加减乘除的小程序,算法与数据结构89分,满分都是100分,后来不学了,忘光了,这时大概有些明白操作系统是个什么东西
再后来学习的.net,做了一个小博客网站,能发文章能评论,这中间还学习了一个VB,这个语言做window桌面开发很方便,后来觉得总是拖拉组件没意思,也就没再学习了
然后有些迷茫了……也无法分区这些语言的差别
然后接触到了Java,此时Java刚刚宣布可以跨平台不久,认为这是个不错的选择,深入学习了两年,工作用了三年,公司的平台是花巨资从IBM买的架构,我前两年没事就研究这个,大概在第二年时终于把主要环节弄明白了,然后自己模仿写了个小架构,此时突然有些明白了软件是用来干什么的了,大学的专业是软件工作,至到此时才理解到,软件是用来满足人们或者说市场的需求的;此时,意识到了,做程序员,就要追求代码的精益求精,要懂得规范与标准,做项目有一个好的平台架构是多么的重要,但又感觉发现的太晚了,因为自己之前并没有追求代码的精益求精,周围的人也没人关注这个东西,大家空闲时都打打游戏、看看电影或者想着怎么把个妹子之类的,感觉此时自己距离架构师的距离是十万八千里之远……此时Java还没火,个人感觉前途一片灰暗
既然架构师这条路不好走,我选择把知识面拓展宽一些,转而去学习oracle 成为了一个oracle dba,从小弟开始,工资没涨反而降了,开始了Oracle的学习
然后开始接触运维,做了一年后,自动化运维又火了,又学了python,辅助运维
之后,mysql也火了,好多公司开始上mysql,然后又学习了mysql
之后Go语言也火了,又学习了Go
现在tidb也很火,又开始研究tidb
……
总是在一个东西火的时候去学习,学差不多之后发现这东西已经大众化了,只能说是,眼界不行,视野不开阔、境界高度不够;
但我已经在不断挑战自己了,我初次学习C++才刚学会打字,刚接触电脑没多久,还不知道word文档还有不同字体这一说,只会打开一个word打几个字,那时看C++就跟看天书一样,我去接触尝试了我之前完全没有接触过的东西,应该算是挑战,尽管它就像小时候背的诗歌一样,完全不明白其中的含义;就像我之前上Oracle培训的时候,那个水平很高的讲师讲完一个update语句在内存中数据库块及进程流转过程,我完全能明白并且复述这个过程,但讲师神秘一笑地问我,“你懂了吗?”,我说,“我懂了”,他接着肯定地说,“你不懂!” ,只是背概念和浅显地理解,那不叫懂!
此时明白,如果你是一个不断挑战自己的人,那么你就不要把自己放在一个安逸的环境中,在你可以奋斗的年龄里,你应该去竞争激烈、平台巨大、足够前沿的公司里,要走在世界的前列!
我就这么稀里糊涂地渡过了十载春秋……总追不上时代的步伐,希望看到这篇文章的人能从中得到一些东西,少走一些弯路
开始Rust的学习之旅了……
安装
curl https://sh.rustup.rs -sSf | sh # vim /etc/profile export PATH=$PATH:/root/.cargo/bin
非root用户安装配置
export PATH=~/.cargo/bin:$PATH
# rustc --version rustc 1.31.1 (b6c32da9b 2018-12-18)
验证
mkdir ~/projects cd ~/projects mkdir hello_world cd hello_world
# cat main.rs
fn main() {
println!("Hello, world!");
}
# rustc main.rs # ls main main.rs # ./main Hello, world!
rust的编译需要依赖glib库,但Linux系统6与7之前的glib库变化比较大,因此,rust编译出的可执行文件,通常不能跨linux的大版本执行
centos7上编译后在centos6上执行,报错如下
$ ./main
./main: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./main)
关于版本的解决方案:
在开发环境中使用docker部署与线上对应的系统版本,在docker中编译后再上线
idea中配置rust插件
------------------------------------------------------
在电脑中补充安装
rustup component add rust-src
idea 安装rust,toml插件
下面两个目录是自动填充的,需要将rust安装到启动idea的目录