月入万元的自由程序员(上)

特别策划

创富英雄:杨伟宁

2-f1-1.jpg

毕业于西安交通大学。从初中开始学习BASIC编程,从此一发不可收拾,如今已跨入VB.NET编程专家行列,开发有《护眼专家》、《整句翻译》、《加密王》、《加密工厂》等软件产品,并获得大量的海外订单,靠承接开发订单月收入在1万元以上。

一切为了自由,一切为了创造

审视一下自己的生活就会发现——从小到大,我们只有被要求做的、我们必须做的、我们不得不做的,我们因此丧失了心灵的自由。但是,每个人的内心都会有一种向往自由的信念,我们要自由地编程,我们要自由地活着!

1997年我从网络上获得第一份收入——20元的汇款单(售出的是我用VB开发的一个游戏工具)。我记得收到它的时候,我的第一个动作是挥舞,胜利的挥舞……

2002年我每个月的网络软件销售收入不到100元,根本无法维系基本的生活开支,我只能一边打工一边继续探索。那时候我给自己定的目标是每天“两个8小时”,第一个8小时属于公司,第二个8小时则属于自己。我仍然坚信,所有的努力都有回报。

2006年,我平均每天处理100封以上的邮件,承接了翻译软件订做、手机OEM项目、日本外包项目、VOD订做项目等。我开发的新产品《加密工厂》发布仅4天就获得订单,突破最快的销售记录!

我的月收入也已经突破万元!终于可以实现我的梦想“在家里敲敲键盘,别人给我寄钱”的洒脱生活了……

善其事,“择”其器

我们遇到的第一个问题是如何选择一门编程语言。要解决这个问题,首先我们必须搞清楚,好的编程语言应该具备哪些特点。

标准1: 跨平台

软件行业内有一句名言:“做不出规模就等于白做”。每一个程序员的梦想就是自己开发的程序可以“一次编译到处运行”,也就是适应各种不同的操作系统,在手机、掌上电脑、甚至苹果机上、UNIX 、Linux上都可以正常运行(市场最大化的同时也意味着价值最大化)。在这种理想的激励下,我开始学习JAVA等一批广泛流行的跨平台编程语言。

一个好的编程语言的重要特征之一就是“跨平台”,让我们可以逃脱微软的垄断,将PC上开发的程序很轻松地移植到其它平台上。

标准2:支持COM技术

我们知道,过去C++、Delphi等各种编程语言相互之间是各自独立和隔绝的,这种封闭的状态也导致了思维的封闭。COM技术打破了这种局面,就像神话一样,人类不同语言之间可以相互沟通了。

所以,一个好的编程语言的重要特征之二就是支持COM技术。

标准3:代码可复用

一个软件是由N个功能模块构成的,而这些模块则是一行行的代码,过去每次开发新软件,程序员们都不得不辛辛苦苦地“复制、粘贴”,将很多重复的代码再次编写。那个时代我们称他们是“代码工人”,创造性劳动的比例很低,重复性劳动占据了程序员的很大一部分时间。

据统计,世界上已有10000多 亿行程序代码,无数功能被重写了上万次,真是巨大的浪费。面向对象(Object Oriented)学者的口头禅就是“请不要再发明相同的车轮子了”。

所以,一个好的编程语言的重要特征之三就是代码可复用。

标准4:可视化编程

程序编写是极其抽象的一个过程,程序员每天面对的都是一大堆数字、字母、代码。编程人员日日夜夜面对的就是堆砌代码,这样就导致软件工程中各种各样的逻辑交叉重叠,人人头晕目眩。

我们知道,人的形象思维能力一般来说强于逻辑思维和抽象思维(否则我们的老祖宗也不会发明象形文字)。美国人也很聪明,他们改造了传统的编程模式。从最原始的01010二进制的纯数字的抽象编程,到文字化指令的编程,再到现在的可视化编程,可以说已经颠覆了传统的编程方法。

现在我们可以总结一下了,选择一个好的编程语言一定要能够“跨平台”、支持COM技术、代码可复用,同时它还必须是“面向对象”的可视化编程。

我的选择:VB.NET

VB.NET 具备上述所有特征!它基于Microsoft Visual Studio .NET平台,它的强大令人震撼。

1975年微软公司诞生,微软公司的第一个产品就是BASIC,对于富可敌国的Microsoft来说,BASIC可谓开国元勋。

30年过去了Visual Basic从1991年诞生,2002年正式推出Visual Basic.NET,可见微软当然忘不了这位功臣。随着每一次微软技术的更新浪潮,VB都会随之获得新生。可以预见,将来无论微软又发明了什么技术或平台,Visual Basic一定会首先以新的姿态登上去的。如果你想紧跟微软,永远在最新的技术上最快速地开发,你就应该选择Basic语言。

.NET程序员成香饽饽是业界不争的事实,而VB.net程序员的月薪在大城市也可以达到5000元~8000元。 当然,如果你不想打工的话也完全可以和我一样做一个SOHU自由职业。在网络上接订单,做自己的老板,掌握自己的命运!

用VB.Net你可以十分钟构建一个“Windows服务”程序、你可以用20行左右的代码编写一个在手机上运行的控制蓝牙的程序,真正实现跨平台运行!

下面我们就讲解一段代码实例,编写一个“永远的蓝牙”程序。目的是让手机的蓝牙永远处于启动状态!解决一些手机存在的蓝牙不稳定问题。

第一步:建立一个GetSpy的Module,用来监视蓝牙的状态。

Imports System

Imports System.Runtime.InteropSer vices

Imports System.Windows.Forms

Class BthRadio

Public Enum RadioMode

RadioOff = 0

Connectable = 1

Discoverable = 2

End Enum

Public Declare Function BthGetMode Lib “BthUtil.dll” (ByRef dwMode As Rad ioMode) As Integer '蓝牙函数库(获取蓝牙状态)

Public Declare Function BthSetMode Lib “BthUtil.dll” (ByVal dwMode As Rad ioMode) As Integer '蓝牙函数库(设置蓝牙状态)

Public Shared Sub Main() '监视过程

Dim mode As RadioMode = RadioMode.RadioOff

Dim ret As Integer = 0

ret = BthGetMode(mode)

If mode = RadioMode.Rad ioOff Then '一发现蓝牙关闭就立即开启它

ret = BthSetMode(RadioMo de.Discoverable)

End If

ret = BthGetMode(mode)

End Sub

End Class

第二步:在启动窗口Form1中加入以下代码,和一个Time控件

Dim GetLy As BthRadio

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

GetLy.Main()

End Sub

OK,完成了,现在我们来看看效果(如图,Visual Studio .NET平台自带了手机的模拟环境,让你可以直接在PC上调试手机程序!)。

2-f15-2.jpg

注:上述代码实例程序“永远的蓝牙”,可以在www.Boobsoft.com下载。

2007年底,全球手机用户数量将达20亿。如此庞大的市场等待我们去开发!

在美国、日本VB.Net也是流行的,原因很简单,它可以最便捷地实现业内经典的“快速原型法(rapid prototyping)”。《速度就是生命》的作者告诉我们:更快要比更慢好,更早要比更晚好。永无例外。“在这个技术驱动的世界中,未来就是现在。”

当一个创意在你的脑海出现,到用VB.Net开发出原型产品,可能用不了一周的时间。最大化你的创造力!

如何学习VB.NET

可能你会问,怎么样开始着手学习VB.NET呢?我们来打个比方,如果把学习VB比做驾驭一匹小马(或是骑自行车),那么掌握VB.NET则相当于驾驶一辆专业级别的公路赛摩托。显然,两者的速度、难度有本质的区别。建议初学者循序渐进,先学骑自行车、然后是普通摩托、最后到专业赛车摩托。笔者学习编程的过程就是:BASIC、VB、VB.NET到混编。

那么,哪里能获得更详尽的开发文档、参考资料?建议到微软的官方网站获取权威资料。地址:http://msdn2.microsoft.com/library/default.aspx。