如题,语虽夸张,但发人深省。
尤其对于阅读计算机类技术图书,从头到尾阅读一本书,伤害了一代原本应成为高级程序员的筒子们。
话不多说,看我一段小试牛刀的 scala 代码:
代码语言:javascript复制package TestDemo
import java.sql.{Connection,DriverManager};
object TestDemo extends App{
println("hello world!");
val url = "jdbc:mysql://192.168.1.8:3306/sparkdb";
val driver = "com.mysql.jdbc.Driver";
val username = "MySQLAdmin";
val password = "LuckyNumber122.";
try {
Class.forName(driver);
val connection = DriverManager.getConnection(url,username,password);
val statement = connection.createStatement();
val rs = statement.executeQuery("SELECT * FROM movies limit 2 ;" );
while(rs.next){
val title = rs.getString("title");
val genres = rs.getString("genres");
println("title= %s, user = %s".format(title,genres));
}
} catch {
case e:Exception => e.printStackTrace ;
}
}
作为 Java 程序员,这段代码难不倒你。如果你看着费力,那么请多看几遍。而不是去从头翻阅《Java 核心技术》与《Java 变成死相(编程思想)》.
在这里稍微解释下背景。
这一段不到 30 行的 Scala 代码,做的事情就是简单的去从 MySQL 里面抓出两条数据,显示电影的题目与分类。
代码虽然短,里面包含的内容挺多。说实话,要不是有 Java 功底,我对这段代码也要折腾好长时间。比如要知道如何配置 IntelliJ,Maven, POM(项目对象模型);对于 Scala 来说,还需要知道一些系统函数,定义 Class, Object,开启程序入口;对于 MySQL 连接,需要知道 JDBC, Connector Java;最终还需要对 MySQL 有一点的了解,最简单的需要知道 SELECT, LIMIT 用法。
这段看上去简单的代码,如果你要手写成功,至少你要看完这些书:
- 《Java 核心技术》
- 《MySQL必知必会》
- 《Scala编程》
- 《Scala实战》
- 《Maven实战》
- 《JDBC编程》
以平均页数 300 页来算,以上 6 部书,总计近 2000 页。看完这些书,你才有机会正式的去写上这段代码。还不能确保一定能调试通过。
那么你的平均速度有多快呢?以我的均速来算,大概是 10 页 1 个小时,大概需要 200 小时。如果每天有 2 个小时,大概需要 100 天。如果在疫情期间,一直在家看书,嗯,差不多能都看完一遍。
但问题来了,有谁能保持 100 天每天看 2 个小时?
反正我是不会的。但我知道肯定有人可以。
那么像我这样的普通人,如果要等 100 天才能写出这样一段简单程序,会不会中途放弃呢?大概率是会的。所以我才发出题目中的感慨,如果从头到尾看完一本书,大概率要被耽误做程序员的,间接害了你成为一名高级程序员。
那么,该怎么办?一个核心秘诀:看源代码!看源代码!看源代码!
假如你要写一个信息管理系统,你已经抽象出来一个核心编程模型,编程语言(C#,Java…)连接数据库.那么直接去找到类似的源码来看,看着不会的,去查,去谷歌里百度也好,去微信读书找书看也罢,总之不要去一本本从头到尾的读书。
你看看,为了写出上面的代码,我在微信读书看了有这么多书,一本本看,2 年能看完不?那还写什么程序?