楔子:嗨,世界你好!

一 初始code,便是C++

做技术有几年,从最初认识C++,写一个“Hello World”,到能写一个简单的函数。后来自学PHP,慢慢写第一个自己的Blog,后来接触各类MVC框架(Laravel、Yii、ThinkPHP等),一路走来磕磕碰碰,幸好,技术因为开源所以才让人狂热。

#include
#include
using namespace std;

int main() {
    cout << "Hello World!" << endl;
    return 0;
}

或许大家都是如此,从给这个世界打招呼开始,慢慢进入到一个充满魔幻和陷阱的码农世界。c++是我初始的编程语言,教学用的是坑害了很多朋友的严蔚敏老师所著清华大学出版的错误百出的教程。虽然错误很多,但我依然很喜欢,可能源于我对黑客世界的好奇,想着有那么一天也许自己能像电影中的Hacker一样,瞬间就能入侵某些机构或组织的计算机,盗取一些机密文件之类的,当然,这是开玩笑,但确实是很好奇。

二 为什么默默的选择了java

学习c++算是一个开始,我不知道我们学校当时为何这么安排,写了一年的c++之后,我对编程的兴趣不那么强烈了,因为我所写的代码,只能是在windows的命令窗口运行,没有色彩,完全不知道自己写这些在干什么。

后面学习数据结构,这门课程,用的是C语言教的,古人云,师傅领进门,修行靠个人,数据结构老师讲的很仔细,但我听得云里雾里,无奈,只好一遍一遍的把书上的代码敲出来演示,那时候,确实没有理解为什么要那么写。

数据结构和算法是最神奇的学问,对我而言如此。买了很多的资料,花了很多的时间,慢慢发现,原来并不是那么难,只是自己没有想到如何把抽象的问题具体化。每一种抽象的数据,只要能和现实生活中的某些场景对应上,或者能够在纸片上画出这种结构,那么实现起来并不难了。

当J2EE遇到我的时候,我已经学完了java的基础知识,相较于C++,我发现自己更喜欢java,虽然c++和java都是OOP,但是java理解起来不那么难,java的类,看上去代码层次更明确。这种清晰的代码设计,在我以后的学习中,给了我很大的帮助。

/**
* 第一个类
*/
class FirstClass {
    private String hello;
    
    public void setHello(String hello) {
        this.hello = hello;
    }
    
    public String getHello () {
        return this.hello;
    }
    
    public static void main(String[] args) {
        FirstClass firstClass = new FirstClass();  // 创建firstClass的实例
        firstClass.setHello("Hello World!"); 
        System.out.println(firstClass.getHello());
    }
}

在人生的道路上,一切都不可预测。java的世界很庞大,光是SSH(Struct+Spring+Hibernate)框架就学习了大半年,然而,学到的仅仅是皮毛,或许,做一个简单的web站点很easy,一旦遇到复杂的业务和逻辑,确实不能很容易的拿下。

说起J2EE,我深受益处的便是DI,这在后来学习PHP的框架的时候起到了很大的作用。所以,语言是相同的,这句话一点也不假,至少在我目前的水平来说如此。

三 PHP不是拍黄片

在某一档相亲节目中,问男嘉宾是干什么的,男嘉宾很诚实的回答说:“搞php的。”瞬间全场灯光熄灭,主持人问一个女嘉宾,为什么要灭灯,女嘉宾说php就是拍黄片(貌似女嘉宾知道的很多啊)。

echo 'PHP不是拍黄片!';

呃,本应该是这样开场的:

echo 'Hello World!';

戏谑一番,玩笑一番。php的学习成本要比java低很多,一开始我是拒绝学习它的。只因为有一个人要做一个网站,卖点一些杂七杂八的东西,想想觉得jsp就可以做了,但是那人说要WordPress来做。好吧,没用过,就开始尝试吧。

于是,我的php之路就这样开始了,学习php的一些基础知识,在w3school.com和php.net上看php的api,先写了一个简单的网站,是交友社区,当时美其名曰“杏林之恋”(www.xllian.com,原来的网站,现在没有维护,已经关闭了)。

学习技术很享受其过程。

2016-5-5 17:59:33发布


后续补充。

nodejs真的很牛逼


专栏后续写:

  • php知识总结

  • 面试题归纳

  • java的知识总结

  • SSH框架

  • spring MVC

  • springmvc + mybatis

  • 基于dubbo的SOA服务

  • kafka + zookeeper

  • nodejs学习总结

  • 翻译文件

2016-5-6 08:55:18 更新

你可能感兴趣的:(楔子:嗨,世界你好!)