在官方论坛看到一帖提问:下面这篇文章是几年前的贴子,
我记得当时写下面这篇文章的时候非常匆忙,所以这篇文章发了没多久我就删了,
今天无意中看到在网上不少的转贴。于是细读了一遍,的确可以解答部份人的疑问,有些东西在迅速的变化,而有些道理却一直没有改变。
写这篇文章时AAuto发布测试版没多久,文档只有几页纸,标准库只有一个很不成熟的的几个库,当时提到的一些情况已经发生了巨大的改变,目前标准库已增至数百个,而且都经过反复严格的测试,并经过大量实际应用的考验。
我初定的AAuto目标是小型桌面软件快速开发,但是意想不到的是较多商业应用在使用AAuto,也经常看到公司在AAuto群里招聘,而且开出的薪水都很高。
同时也看到AAuto对一些用户的工作以至生存状态产生了较大的影响,
很多学习其他编程语言不得其门而入的,用了很少的时间将AAuto用的很好,不少成立了自已的工作室,并有非常可观的收入,看到这些感觉很好,无数的汗水便有其价值,也用实践印证了下面这篇文章讲到的一些东西。
“快速开发有VB,底层更灵活的开发有VC, 那为什么要选择AAuto来开发,而不选择VB或者VC; 或者说什么时候更应该选择AAuto来开发,AAuto在哪方面开发有明显优势,个 人觉得这点对未来AAuto的推广也很重要,毕竟VB,VC的背景是微软大佬,一定是某方面有明显优势,才会吸引到更多的用户,让AAuto未来成为一门 不可或缺的语言。 因为前两天我在一个编程的群里面兴致勃勃给大家简单介绍了下AAuto,但大家对我提的AAuto这个话题基本没什么回应,大家不感兴趣的原因并不是 aauto不好,而是大部分人都没想过还会有什么其他语言在某个场合会替代他们手里用的vc,delph,vb,他们也没有进一步去了解AAuto的意 愿。(据说微软自己的C#推广都花了很大功夫)当时我也没再继续介绍AAuto, 想更深刻了解到aauto的优势后,再更好的把AAuto推荐给更多人。麻烦一鹤解答,也很想听到一鹤分享更多的宝贵经验 ”
快手开发者给解答如下:
看到你的这些话,只是苦笑一下,一种奇怪的感觉。
其实之前我发过很多有关的贴子,不想在这上面讲太多,因为编程语言实在是太复杂的东西,
不是对着键盘不加思索就能敲出一些象样的道理了,
我觉得事实胜于雄辩,懂了AAuto的人会真正理解他的好处,
至于没有兴趣的,那就不必勉强了。假以时 日,好的东西终究会被认可,
不然口水喷的再多,也只是短期效应。
不得不说国人有种弊病,国外出现一个新的语言,还没有搞清楚,也没有真正明白广告词的水份,
不论是好是坏,就趋之若鹜,而国内的东西不鄙视一下,不能显出自已的水准,这个是很无奈的事。
编程是一个超常的消耗脑力的工作,
实际上很多人无法承受这种工作,更不要说去享受他的乐趣了,
不能享受其乐趣,也就不能真正深入编程语言去理解他,那么很多的理解只是蜻蜓点水,似是而非,
看起来好象是,又好象不是那么回事,反正大多数人都搞不清楚。
首 先谈一下你提到的几种语言,例如认为VB比VC好用,这只是自已在误导自已,
你看上去好用的东西不一定真正好用,看上去不好用的东西不一定不好用,这就好 象习武的人练打拳,入门时肯定让你处处不舒服,你才能达到收发自如的境界,成为高手,处处让你舒服,纵容你,最后用的不爽的还是你自已,
实际上VB已经是 昨日黄花,这个VB已经没有什么好比较的了。
如果VB好用,微软也没有必要去抛弃他,VB的本机版本从VB6以后再也没有发行过升级版,我想将来也不会,
至于VB.NET,这东西用来做网站是可以,做桌面工具还是免了吧。而且用VB.NET的人也越来越少,这东西被事实上的淘汰,还有什么可以比较的。还有别忘了,VB需要在系统里安装运行库,实际上VB真正做个象样的程序,仅仅是一个运行库还是不够的,可能还要安装一大堆控件,要命的是每个都有版本兼容的问题,还有他有个要命的缺陷,居然不支持多线程。
这就是你说的“大佬”做的东西。《人月神话》上说,做软件人多是没有用的,
做软件就象生孩子,一个妈生要十个月,十个妈帮忙还是要十个月,人多没有用,书上提到很多优秀的软件都必须是个人作品,就是软件“大佬”也常常要去问一些个人开发者购买核心的技术。不要迷信“大佬”!
你提到的VB\VC\DELPHI都是静态语言,而AAuto是动态语言,
动态语言比静态语言好用,尤其是开发小型项目,这个亦没什么好说的,是众所周知的一个道理,
动态语言的限制更少,更加灵活,尤其适合新手、以及快速开发。我就不长篇大论的发挥了。
我相信很多用AAuto写完成程序的学习都不久吧,
而且要命的是我连文档也没怎么提供(当时测试版时没有提供帮助文档),
可是问题是大家依然做的很好。其他语言的文档,书籍我相信可以堆积如山了,可是一个新手短时间能开发程序吗?
例如C++你没有几年的时间可以用得熟练?我想那是天才。但是AAuto可以。
动态语言虽然好用,但是他不支持静态类型,
所以他虽然好用,却啥都干不了,要想干点什么,就要开动C++什么的来写模块(所以懂C++也可以使用动态语言,认为用了VC++,就没有必要用动态语言,只这个一点不客气的说,他对C++也没搞懂)
但是AAuto可以支持静态类型,使动态语言可以独立开发程序,
这是非常有趣的一件事,在编程的过程中可以体验到非常自由的一种乐趣,这在任何编程语言里你都做不到。
实际上AAuto的特性有很多,也不是这里能说得完的,
例如你可以用多种不同的编程语言的语法来写程序,这在其他编程语言里是不可能的。
你能在C++里用PASCAL的语法吗,你能在VB里用C++的语法吗,不能。
VB\VC\DELPHI诞生的时候技术还很落后,而AAuto已经吸取了很多编程语言的经验和营养,
去其糟粕取其精华,新的语言虽然还不成熟,但是却有着新的生命力。你在AAuto里可以尝试其他多种编程语言里的东西,静态类型,动态类型,各种不同的语法风格,你开发的程序不需要在系统安装运行库,可以多线程,速度非常快,开发过程也很快。这都是其他语言所不能提供给你的。
AAuto的学习成本小,而且有很好的兼容性,
我曾经说过,学习一年的AAuto再去学习一年的C++,抵得上学习五年的C++.
当然如果有人说, 我不相信你说的话,你不是大佬,这个我就无话可说了。
你能穿上红色的衣服让别人看起来是白色吗?不能。因为红色的不是白色的,AAUTO替代不了VB,VC,DELPHI,同样他们也替代不了AAUTO。适合你的就是最好的,好用就是最好的,何必找个理由我为什么要穿黑色的衣服。
下面是上次的一个贴子:
很高兴同您探讨这个问题,以下是我的看法:VC,VB,Delphi是静态语言。
静态语言有他的性能优势,动态语言的优势就是学和使用都更为简单、也更加的方便。但是他的缺陷就是不能直接支持静态类型,很多时候要使用其他的语言去编写组件,就是说是一种胶水语言,享受他的易用性,却又做不了什么事,要做事的话就得用其他语言写DLL什么的。
而AAuto是动态语言,是以保持了良好的易用性,易于学习和使用,
比较VB,VC,DELPHI来说更加简单。而且他的运行速度虽然比不上纯静态的语言,但是在动态语言里来比较就非常快的。
而且他又完全的支持静态类型,是以不需要其他语言的辅助即可单独的完成需求。
其次,因为AAuto支持静态类型,他们又有非常多的相似的地方,有很多的知识点完全重叠。
例如win sdk,如果你把aauto的库看过一遍,看明白了,那么你用vc,vb都可以做一个自已的ui库了。例如置顶的的那个取硬盘序列号的示例,是C++代码略加修改而来,基本上就是VC的代码非常之接近。我觉得与VC,VB,DELPHI比较,首先是易于学习和使用。
其次是AAuto与这些语言又有非常多相通和重叠的知识点(一般其他新的语言在诞生时,他们都极力的避免这一点,并努力的制造另类的东西,做特色,这个在之前的贴子中我举了很多例子,而AAuto是求大同的原则)
那么AAuto的局限性在哪里呢?任何东西都有他的局限性,不能说没有。
AAuto他只适合开发小软件( 注:这句话对于现在的版本已不适合,AAuto标准库已经提供了大量支持大型客户端程序开发的支持库,而且工作良好),你不太可能用他来做一个几百兆的企业管理系统,你更不能用他来做网站( 注:这句话现在看也不太正确,lujjjh不但用AAuto做了一个网站,连Web服务器也是用AAuto写的 )。
我给AAuto的定位就是小型工具快速开发。虽然我自已用C/C++,但是我很多的工作用AAuto完成,
这个我以前在论坛的贴子也讲过很多。因为他灵活,你会发现一些东西很轻易,例如你不需要声明接口,类型,动态的生成各种类型。
是以即使你熟练的使用VC,VB,DELPHI,AAuto也会成为你很好的助手,你会体会到很多的一些任务,你花上十分钟用AAuto可以完成,大可不必启动庞大的开发工具。但是有时候,你会发现大件的东西,AAuto做不了,这时候VC这些的优势就出来了。无论如何,AAuto的全部发行包只有几兆,包含范例,手册等等,而最新的VC将近3000兆,在学习和运用上,AAuto是具有轻量的优势。但是他虽然非常小,支持的接口却非常的丰富。
我建议将AAuto作为一种入门的语言。如果需要做大型的系统,
可以更进一步了解其他的语言。有了AAuto的基础,学习任何编程语言都会大大降低难度。
( 注:写这篇文章的时候,AAuto还不能嵌入第三方语言,目前几乎主流语言基本都可以直接与AAuto混合编程,这种混合的产生的效果也非常有意思,那么这些大型语言与AAuto的关系不再是你我替代,而是完美的合作 )
关于一些误解:
我曾经看到有某编程语言的论坛有人讽刺说AAuto不过是脚本语言而已,
的确,AAuto本身一可以作为脚本语言使用,但是一个人穿了一只鞋那他这个人就不过是一只鞋吗?
我真的很佩服一些人在贬低一个东西上面的推理能力,脚本语言可以完全独立的操作WIN32 SDK,可以玩指针,结构体,回调函数,甚至是汇编?这个不需要太多分析就可以清楚的道理,就不多讲了。
我还听到一些人说, AAuto不过是使用了什么其他的东西,翻译成C语言的什么而已。
我不明白这些高人是如何的凭空推测出这些结论的,不错,AAuto的确可以直接嵌入C语言,甚至是各种第三方语言,也可以说是世界上可以最方便的嵌入各种动态语言,静态语言的一种编程语言,甚至他不需要任何中间层,可以直接将动态语言的函数指针传给C语言,C语言的函数指针转换为动态语言的函数对象,不需要任何中间层,不要任何的封装类,几句代码就可以实现,但这跟译成C语言没有一点关系,AAuto并不需要译成任何的语言,实际上,世界上没有任何一种语言有AAuto的这些底层能力。