首页 > 编程语言 >我为什么学习Rust编程?

我为什么学习Rust编程?

时间:2024-04-24 15:44:54浏览次数:18  
标签:web Java Python Kotlin 编程 学习 开发 Rust

2024-04-24 下午 , 今下午感受到如果要睡觉就应该让音响在自己耳边程序轰炸.

翻看gitee,又再次看到这个loop示例,这几天忙于工作,除了偶尔刷下rust视频,rust的电子书,其他的都看得比较少,主要还是感觉工作疲倦之余已经没有精力来继续回顾和延伸.
其实后来感觉不是的,就像那会儿接触除了自己熟悉的编程语言之外的编程语言时感觉的那样(比如Ruby on rails(笔记)、Kotlin(笔记)、Solidity(笔记)、Python(笔记)),等等,当然学过这些,也做过初步的使用,但是并没有深入,为什么呢?

  1. 语言方向与个人发展不同
    比如现阶段我是要做后端,而后端可能不会使用Ruby,而当时接触Ruby也只是好奇当时有家公司用这门语言,而Kotlin虽然能写安卓,但是当时还没使用到微服务,就感觉使用到微服务后才去接触app端的才好,直到后来确实也接触使用微服务以及处理高并发,微服务分布式事务等等后,才感觉自己后端做得有点价值了,之后也接触了Java开发等安卓系统,但是Kotlin之后看了一看,也只是用其的一个框架去做多平台开发(PC、IOS、安卓),Solidity更别说了.而Python,当时觉得是很简练的,但是对于开发团队来讲,是没有办法推荐的,因为大部分程序员还是主Java的(web开发).而且要扬长避短,精深自己的专业技能(或者说是简历上的主要技能)是很有必要的.
  2. 语言大多雷同
    虽然参与过Kotlin写过的项目(Kotlin占比70%),但其实感觉除了某些语法、语法糖稍微优于Java,其他的都没区别,甚至可以通过IDE(idea)转换Java类到Kotlin类,所以似乎感觉没有多大意思,后来接触过别人开发的安卓app代码,做了app的请求加密处理等,才发现其实安卓的开发基于Java也只不过是使用了不同的框架和不同的模式,理解了那套模式就掌握了安卓开发,而Kotlin写安卓,也有一些Kotlin自己的特性在里面,比如Kotlin写页面,不像使用Java用Android Studio可以进行xml的界面可视化布局,Kotlin使用其中缀表达式和其他特性可以用硬编码和注解的方式进行页面的布局开发,不过,就像当时说的,当时参与的是Kotlin开发的后台服务,而感觉还比较雷同,就没有太过深入,其他的编程语言更不必说,Python当时去学也是因为当时2019年那会儿Python铺天盖地的教程,而且看到很多大牛也有过Python的推荐,就看了一下,实际上当时还不会用Python做web开发,现在已经能用Python和Django框架配合着不懂问题时通过baidu或者google、stackoverflow、gpt等,能写完整点的web项目了,但Python去写web项目,相比起Java来说,并没有任何优势.
  3. web编程产生出的对编程的无力感
    因为当时做web编程,在一些边边角角问题中探索,debug、找解答,从0搭建项目到开发完毕的项目也有过,但不多,但当时觉得web编程中涉及到的大部分问题和业务都已经接触地比较多,甚至有种厌恶感,而之后怎么去解决的这种厌恶感觉呢,就是通过深入其他方面,比如SQL,当时特别喜欢解决复杂的SQL查询,比如进销存的期初库存查询,或是一些根据不同条件进行多种返回格式的查询,我都倾向于不是分mapper、dao去查,而是定义多种参数,一个sql中通过mybatis的标签语法去解决.但即使这样,web编程给我带来的疲乏感与日俱增.(这也是为什么我会上传一些Rust的学习记录的原因)

标签:web,Java,Python,Kotlin,编程,学习,开发,Rust
From: https://www.cnblogs.com/ukzq/p/18155608

相关文章

  • 强化学习一--Q-learning
    Q-learning学习笔记Q-learning是一种无模型的强化学习算法,用于学习给定状态下执行某个动作所得到的预期效用。它可以在复杂的环境中寻找最优策略,即在任何给定的状态下选择能获得最高长期回报的动作。下面是一份Q-learning的学习笔记,包括基本概念、算法流程和实现步骤。基本......
  • ROS1学习记录(6.0)
    学习视频:13.客户端Client的编程实现_哔哩哔哩_bilibili服务通讯:第一步还是在工作空间中src中创建功能包 创建功能包后将源码放入功能包中的src在功能包中的CMakeList进行配置:add_executable(turtle_spawnsrc/turtle_spawn.cpp)target_link_libraries(turtle_spawn${cat......
  • 并发编程(Semaphore)
    Semaphore,信号量,它保存了一系列的许可(permits),每次调用acquire()都将消耗一个许可,每次调用release()都将归还一个许可特性Semaphore通常用于限制同一时间对共享资源的访问次数上,也就是常说的限流。下面我们一起来学习Java中Semaphore是如何实现的。类结构Semaphore中包含了一......
  • mysql学习
     来源:https://www.cnblogs.com/mrlwc/p/12079149.htmlhttp://c.biancheng.net/view/2574.htmlmysql-uroot-p;登陆本地mysqlmysql-h10.7.14.449-P3306-uroot-p;登陆远程mysql常用数据库命令showdatabases;查看所有的数据库createdatabasetest;创建一个叫t......
  • SpringMVC学习总结 + 【手写SpringMVC底层机制核心】
    SpringMVC笔记SpringMVC介绍基本介绍SpringMVC是WEB层框架,接管了Web层组件,支持MVC的开发模式/开发架构SpringMVC通过注解,让POJO成为控制器,不需要继承类或者实现接口SpringMVC采用低耦合的组件设计方式,具有更好扩展和灵活性.支持REST格式的URL请求.SpringMV......
  • 理解Transformer [数据挖掘深度学习]
    属性离散/连续离散属性:具有有限或无限可数个值,不一定为整数。属性hair_color、smoker、medical_test和drink_size都有有限个值,因此是离散的。离散属性可以具有数值。如对于二元属性取0和1,对于年龄属性取0到110。如果一个属性可能的值集合是无限的,但是可以建立一个与自......
  • 为什么自动驾驶领域发论文都是用强化学习算法,但是实际公司里却没有一家使用强化学习算
    为什么自动驾驶领域发论文都是用强化学习算法,但是实际公司里却没有一家使用强化学习算法?——(特斯拉今年年初宣布推出实际上第一款纯端到端的自动驾驶系统,全部使用强化算法,替换掉原有的30万行C++的rule-based代码)给出一个自己比较认可的答案:https://www.zhihu.com/question/54......
  • 并发编程(CyclicBarrier)
    CyclicBarrier是一个同步器,允许一组线程相互之间等待,直到到达某个公共屏障点(commonbarrierpoint),再继续执行CyclicBarrier与CountDownLatch异同都可以阻塞一组线程等待被唤醒CyclicBarrier是最后一个线程到达后会自动唤醒,而CountDownLatch需要显式调用countDown方法Cyc......
  • 泰山派RK3566学习记录
    一.烧录环境1.rkdeveloptoolSPL烧录命令格式ForwithSPL:rkdeveloptooldbrkxx_loader_vx.xx.binrkdeveloptoolgptparameter_gpt.txtrkdeveloptooldbrkxx_loader_vx.xx.binrkdeveloptoolwl0x40idbloader.imgrkdeveloptoolwl0x4000u-boot.itbrkdeveloptoolw......
  • LLM学习(四)——构建 RAG 应用
    4.1接入Langchain首先我们导入所有需要的库文件importgoogle.generativeaiasgenaiimportosfromlangchain_google_genaiimportChatGoogleGenerativeAIfromlangchain_google_genaiimportGoogleGenerativeAIEmbeddingsfromlangchain.promptsimportPromptTemplate......