有天看到关注的某个微信公众号发文说出新书了,现在可以五折预定,因为自己本来就是做.net开发,并且这位作者也是行业知名人士,之前的图书也是有口皆碑。立马就下单预定。
.net core已经出来好几年了,因为平时工作较忙,都是用些老技术,公司里面也有其它团队使用.net core, 自己之前也浅显的了解了下.net core,不过没有深入, 业余时间都去摸索机器学习了。 这天恰好在阮一峰blog的周刊看到一句引用的HN读者评论:
微软每隔几年就推出一个新的 .NET 框架,几年后它们就会停止更新。每一次,你的新开发都在新框架上进行。一段时间后,这真的很累。——来源
对于这样的观点,做.net开发的都心知肚明,不仅仅是.net, 对于IT行业,语言,框架的变更,或者说技术变更非常快。 我想,这都是不争的事实。
据说,.net 5就要来了。
去年学习一个深度学习课程,里面用的tersorflow
, 今年又跟了一个深度学习课程,里面用的又是pytorch
。嗯,python和深度学习原理没有变。
自己在这方面反思过很多,当然要与时俱进,不断学习,但学习要学习的方法。技术学习方面不要去追逐那些流行技术,老老实实把一些基础知识吃透,比如操作系统,数据结构,设计模式,英语,数学(线代,高数,概率,统计...),计算机组成原理...,软件设计里面讲究“高内聚,低耦合”,同样的,技术选择上也不应该和某平台,某公司独有的技术高度“耦合”。
在2019的某天和公司的一位"老程序员"聊天,我问他使用什么编程语言,他说用delphi,我回答说这已经是门很老的语言了,现在使用的人比较少。他说的确使用的人少了,不过delphi和你们使用的那些语言什么c#一样,都是面向对象的。(delphi和c#也是同一个爹)
这位同事说的对,c++, java, c#...等等都可以看做新技术,但是本质上又有很大程度的重叠,这些都是只是在用面向对象方式进行编程。懂程序设计的人,用惯了c#, 突然要去使用java,看了下语法,也能很快上手。
但也不对,前不久在一篇技术公众号上看了一篇关于js函数式编程的文章,作者说自己有十多年编程经验,用过c++, Java, c#, js, Python,并且他觉得自己对模式和原则熟练掌握,但是他在项目中使用react时,发现这门技术总是含着函数式编程的概念,于是他开始研究FP,进而对自己的专业水平感到怀疑。FP和OOP是两种不同的编程范式。像我用惯了C#, Python的人,学习Scala,感觉很新奇。
但是无论是OOP还是FP,都只是编写程序让程序去执行预先设定的规则去解决问题。但是机器学习则是利用模型从数据中学习从而解决问题。
一方面要把基础练扎实,毕竟,“勿在浮沙筑高台”,一方面要注意着哪些技术是真正的变革,是必须要跟进的;哪些是细枝末节,无关宏旨,稍加了解或不了解都行。