迷茫
目前做 CAD/Revit 开发已经两年了,到现在编程语言也熟悉得差不多,但最近总想折腾一些新的语言,但又觉得方向太多,难以抉择,没法静下心来专注一个方向,想学前端,又想学后端,又想学底层,现在已经有点找不到方向了。
关于技术栈的一些担忧
目前的技术栈:
- 熟练:C#、WPF、CAD/Revit 二开。
- 了解:Python
作为工程类的软件二开,重点其实都不在于各种编程语言和框架,而在于业务的实现。WPF、Winform 这一套虽然已经很老旧了,但是在 Windows 上运行很稳定,开发效率也高,上手快,所以 CAD、Revit 二开的技术栈基本也就这些。
对对于个人来说,总要与时俱进不断学习,WPF 这一套太老旧了,所以想试着换一些新技术,怕跟不上潮流,最近在研究 Avalonia,虽然开发体验不如 WPF,但是跨平台,支持 AOT,我是想着以后应该是跨平台的多,就算不跨平台,也要尝试着看怎么开发其它系统的原生桌面程序,国产化的系统都是基于 Linux 内核,转向 Linux 桌面是一个趋势,所以 Avalonia 可能是作为后续的 WPF 进阶路线。
本来还打算学学 Blazor 之类的,无奈精力有限,到后面无法只是多学了一个 "UI 壳"而已,所以放弃了,学一点 Avalonia,作为跨平台的备用,然后继续深入学习一些算法,数学这些通用一点的,毕竟语言、框架随时都在换,学海无涯。
不过作为土木类的开发,C++还是必须要学的,很多图形算法基本都是 C++的,因为开发 CAD 图形软件,对语言性能的要求比较高,所以后面也会把 C++的知识补一下。
对于学习,还是要放慢心态来学习,近几年流行刷短视频,自己越来越没有耐心看完一本书、学完一套完整的课程了,还是需要沉淀下来放慢自己的心态啊。
想学 C++、学图形算法,学后端,然后去看各种视频,基本都是倍数播放看,这个视频看一点,那个视频看一点,到最后时间都花去了,啥也没学到,这段时间耗费了大量时间和精力但最后一无所获的感觉尤为强烈,就是没法静下心来专注。
关于写UI界面的习惯
用WPF写界面习惯之后,写的时候看不到界面,就有点不会编程了,这点习惯感觉要改一下,在用Avalonia的时候,预览界面经常遇到bug,就是加载不出来,然后自己就感觉很麻烦,就有点写不下去了,其实是完全有能力只写axaml,自己去想象界面的样子的,而不是改一个界面的元素、属性就要实时看到界面的效果,看到确实是能加快效率,但是不能实时看到效果,也要可以继续编码,靠自己的想象去写。
有时候太过依赖IDE,人就变傻了,之前在后台用C#写winform界面,qt后台写界面,qml等等,很多控件其是用代码写,运行的时候才能看到效果,自从用了WPF习惯,就越来越傻了,没有可视化编辑的框架,用起来都很艰难。
以后写WPF的时候,也要少看实时预览的界面,多锻炼一下自己的想象能力。
其它学习
刚入行的第一年,自己都是看书入门的,那时候的学习精力很旺盛,各种通勤的路上都在学习,看的书也不少,第二年开始就是投入无尽的工作项目,今年第三年刚开始,得重新计划一下,看看今年要学什么,如何学习让自己的技术不被时代甩得太远。