精于心,简于形
你看,世界上一般事物的发展规律基本都是从简单,升级为复杂,然后再进化到精简,回归于简单,如此循环往复前进不止。
我们来看一段代码:
import groovy.swing.SwingBuilder
swing = new SwingBuilder()
frame = swing.frame(title:'Demo') {
menuBar {
menu('File') {
menuItem 'New'
menuItem 'Open'
}
}
panel {
label 'Label 1'
slider()
comboBox(items:['one','two','three'])
}
}
frame.pack()
frame.visible = true
你猜猜这是什么代码?这不是java,这是一段groovy代码,它用swing实现了下面这个窗口:
咱们看看实现同样功能,但用Java写会是什么样的?
package swingTest1;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.SwingUtilities;
public class DemoWin implements Runnable {
public static void main(String[] args) {
SwingUtilities.invokeLater(new DemoWin());
}
@Override
public void run() {
JFrame frame = new JFrame();
frame.setTitle("Demo");
JMenuBar mbar = new JMenuBar();
JMenu menu = new JMenu("File");
mbar.add(menu);
menu.add(new JMenuItem("New"));
menu.add(new JMenuItem("Open"));
frame.setJMenuBar(mbar);
JPanel panel = new JPanel();
panel.add(new JLabel("Label 1"));
panel.add(new JSlider());
panel.add(new JComboBox<String>(new String[] { "one", "tow", "three" }));
frame.add(panel);
frame.pack();
frame.setVisible(true);
}
}
想想,如果让你用java的swing实现一个文件浏览器的话,你觉得大概要多少时间?最终会有多少行代码?但如果用groovy写,可以减少多少次键盘敲击?可以节约多少时间?如果用这些剩余的时间去把妹纸的话,现在还会落得单身狗程序猿的地步么?
先在你终于明白了吧,为什么说懒是推动科技进步和社会发展的原动力了吧。至于妹纸嘛,你得先要有一个再说。
所以恩格斯说,“历史总是螺旋式地上升”的,世间之事,大抵如此。嗯。
- 完 -

若本文对您有帮助,欢迎微信打赏,感谢您的鼓励。