(分享你的故事)是什么让你选择了现在所用的编程语言?

2013-05-06 20:37:46 +08:00
 raincious
V2EX的猿类们,是什么导致了你选择了现在所使用的语言?因为工作,兴趣,还是创意需要?你写的第一个程序是什么?来说说你和编程语言之间的小故事,回忆并分享你的成长经历吧。






// [变绿]技术问题讨论多了,来讲讲故事有助气氛的调节。[结束变绿]







我来起个头:

当年还不会写程序的时候,结识了一些程序员朋友,然后想让他们给我帮帮忙做点小工具什么的(读一个INI之类的),但是朋友太忙了,结果事情就黄了。

于是自己就开始上网搜,一开始是Delphi,学习Delphi的语法什么x := 1之类的,写了第一个小工具,其实很简单的,就是读取注册表和INI文件,做好之后觉得真是达成了一个成就一样,当时还让它支持了多语言。我现在还有那东西的源代码,虽然不是第一版的,截图:http://www.tinyuploads.com/images/7OEsDs.png

后来高中熬到头,终于熬到了大学,上网多了,也是想做一个网站,但是现有CMS不太合适,想找人定制下,结果太贵了,当时那里付得起,于是开始接触动态脚本语言,学了PHP,花了周末2天时间写了我第一个实验性的PHP程序,刚刚把它也找到了,这是页面样子:http://www.tinyuploads.com/images/8aIf0Y.png。用一个封装好的MySQL类和Smarty(2.6.20)写成,配合的还有一个C++的客户端来提交数据。记得写好之后,整整端详了3个小时来微调,现在还能感受到当时的兴奋。

可笑的是当年实在太菜,新学PHP的时候竟然不知道MySQL可以JOIN,直接导致那个程序的某些页面要查询60多次数据库。这里要夸赞下当年的虎翼,虎翼2008年左右推出了免费空间,PHP+MySQL的。我的页面虽然需要60次查询,但是在虎翼的免费空间上不到1秒就能打开。可见虎翼的优化确实很好。

好在现在不那么菜了,不过至少会用LEFT/INNER/RIGHT什么的JOIN了。可是完成一件作品所带来的成就感和快乐却不及以前。
4783 次点击
所在节点    程序员
27 条回复
master
2013-05-06 21:27:27 +08:00
好吧,本来就像随意写一些,于是回忆起来就倒腾这么多了。。。

最早接触VB,然后做了很多年客户端开发,中途学算法的时候接触了好多年Pascal,学得倒是挺乐在其中的,不过没有用Delphi做过GUI的东西。
期间开始学着做网站,折腾过好一段时间的PowerEasy,LeadBBS,BBSXP啊,然后自己倒腾一些ASP、HTML什么的,前端那时候还基本属于表格布局+JS复制粘贴的阶段。
再后来开始接触.NET一开始从VB.NET,之后慢慢转向C#,期间C/S,WEB项目都有做,
接触PHP大概是开始用Discuz,然后还学着给Discuz做了一些插件,当然,现在还有在给X2.5做一些自己在用的插件,然后慢慢觉得有意思以后就开始翻文档开始比较系统的学习了吧,但是对于PHP的CMS确实没有一个让自己很满意的,中途用过一段时间的dede觉得挺好的,就是出漏洞几率似乎堪比当年的动网,所以之后就没用了。
到第一次用PHP做正规的项目是从0开始给学生会做了一个基于SAE的CMS,应该是当时SAE上比较完善的CMS项目了吧,虽然说很多特性基本是定制的,而且毕竟是自己用PHP写的第一个完整的项目,很多地方还不是很完善,所以就没有对外公开过。
现在大概比较热衷做游戏吧,虽说至今没有一个可以达到应用商店上线级别的,不过目前应该都会以此为目标努力吧
goool
2013-05-06 21:44:13 +08:00
初学编程时,市面上 C/C++ 的教材最多质量最高,所以选了。
garth
2013-05-06 21:51:53 +08:00
现在玩Android,因为自己经常有很多想法,自个可以快速在Android上实现自己的小产品,好玩。当然,以后可能也会玩上iOS。
chemzqm
2013-05-06 21:59:10 +08:00
Javascript,因为发现Ext可以几行代码就能实现看上去很酷的界面(09年),而且这个整个Ext架构很容易理解和扩展,不像ssh那些框架一堆xml注解之类的玩意让人漰溃。
Golevka
2013-05-06 22:12:25 +08:00
过去着实在Python和Perl之间犹豫了一段时间, 后来发现Perl内建在语法里的正则支持很适合扫log之类的文书类工作, 并且奇特的语法看起来很酷于是就选择了Perl. (现在用Perl也不过是写点自动构建脚本或者扫扫log神马的...捂脸///)
otakustay
2013-05-06 22:20:17 +08:00
最小的时候(95年左右),没啥说的,自己喜欢折腾电脑,大人说学啥就啥呗,所以学了个QBasic,至今也没写过一完整程序
小学的时候(97年左右吧应该),流行个人空间加网页,那时其实也没有什么语言的概念,用个Dreamweaver已经老牛逼了
再后面是初中(01年左右),那时流行动网DVBBS,和一群动漫爱好者一起搭了一个,因为好多插件装上去有很多问题,就顺手学了学VBScript,修了些插件的问题,玩得很开心
高中就基本没怎么在语言的方向努力了,玩了不少游戏,开阔了不少的视野,再培养了一些其他的兴趣,外加高考
到了大学,大一学C、C++,学汇编、数据结构,按步就班,成绩不好也不会,自认在编程逻辑上还是很可以的,所以虽然不喜欢C,虽然不太弄得懂一堆的&和*,但总算也过得去,然后大一的暑假老了个GRE就过去了,电脑方面没什么进展
到了大二,想选一个语言深入一下了,就千挑万挑,当时比较红的无非JAVA、PHP之类,那时python和ruby还没现在这么火爆,象牙塔里的大学生也没怎么接触这些。就在这个时候,网上一学长跟我说,学C#吧,有问题可以问他,你看本来就选不下来,现在多个可以问的人,自然就学这个了。于是买了本人头书(WROX的那本高级编程,也算经典)啃了起来,结果到最后我也没问那学长一个问题。
要说我的.NET/C#能力,还是很过得去的,至少在多数的公司是混得开的,当年面HP的WPF职位,在只接触过一点Silverlight,一点不知道WPF的前提下,也是勉强过关。不过我的职业却是前端工程师,这要归功于我的第一家公司。
我虽然是以.NET工程师的职位进的第一家公司,但进去以后参加的是一个GIS项目,后端用ArcGIS,前端界面编程。本来前端也是ArcGIS一套的,但其实那套东西扩展性有限,而我们的客户又有好多千奇百怪的需求,于是在这一年里,把前端的技术给锻炼出来了。天天几乎是9点上班凌晨2点下班,国庆休了3天,春节休了2天……
后来把前端的ArcGIS全部抛弃,改用OpenLayers消费后端的切片数据,做了一个“把地图和类操作系统界面结合起来的应用”,做过前端的大概知道,类操作系统界面(包括窗口管理、任务栏、拖动、z-index维护、资源控制)和GIS(SVG、VML、大量Marker优化)都属于前端比较复杂的系统,所以一搞就把前端该覆盖的都覆盖了,后续的什么jQuery还是EXT都是小问题……
所以一直到现在,都做着前端的开发,最近打算学一学php和ios看看有没有机会再去新的领域玩玩
darasion
2013-05-06 23:04:01 +08:00
第一个学的编程语言是文曲星上的所谓 GVBasic
DaniloSam
2013-05-06 23:11:27 +08:00
致程序员的青春
mengzhuo
2013-05-07 00:20:15 +08:00
@darasion 同GVB
高中还做出了个打气球的游戏……

是想偷懒不打这么多字,才学的Python……然后运气不错地混得一口饭吃……
ericFork
2013-05-07 00:51:58 +08:00
小霸王上的 F-BASIC ->
文曲星上的 GVBASIC, LAVA, 6502 汇编 ->
PHP ->
Python
sinxccc
2013-05-07 00:58:30 +08:00
语言?这东西有的选,这东西需要选么?

当然是干什么活儿用什么语言…
sinxccc
2013-05-07 01:16:37 +08:00
我还是不擅长写东西…跟流水账一样。

最早接触编程的时候是 IOI,用 Pascal,写一些纯算法的程序。后来觉得还是 C 的用处比较多,于是学了 C。

后来第一份工作主要也是在跟 C 还有系统底层打交道。因为调试程序的需要,也多多少少学了几种处理器的汇编语言,不过到现在还是只会读/改不会写…网络处理器的微码也是差不多这个水平。

读研究生的时候用的就比较杂了,基本是什么活儿用什么。
机器学习用 Java 和 Matlab,自然语言用 Python,涉及到中文处理的有时也会用 Ruby,Python2 的 UTF-8 支持还是有点坑…算法用 C 还有 scheme。
实习的时候要跟一大票 Perl 脚本打交道,所以也看了一些 Perl 的东西。Shell 脚本基本也是经常拿来用的东西,算语言也好算工具也好。

最近打算看看 Javascript,貌似用到的地方还挺多的…
wenbinwu
2013-05-07 02:06:16 +08:00
Google App Engine支持Python,于是我开始学习的python
Ricepig
2013-05-07 03:42:46 +08:00
语言的选择来源于
* 由于某本或某些书籍,使得某些语言较容易学习
* 平台限制或者是平台优势,比如GAE,Azure,ios,android,平台决定了语言
* 项目或工作导向
* 某些优秀的IDE
* 语言特性
* 跟风
排名部不分先后
zhujinliang
2013-05-07 08:45:03 +08:00
最早玩的编程语言是F-BASIC,记得当时还可以写个猜数游戏,控制个马里奥角色啥的。。。
然后村村通网家里买电脑,想玩电脑上的编程,让爸爸给装vb,尼玛当时就傻眼了。。。中途还摸到一本delphi的书,也没玩起来。
后来碰到了易语言,这个东西对我来说是又爱又恨啊。。。上手太容易了,然后各种无法放弃。
大学开始接触asp,改改论坛,做个工具方便手机查课表啥的。
然后开始玩单片机,接触C语言。玩玩51,avr,cortex m3类单片机。最喜欢avr。
跟一个老师做网站,接触C#,asp.net。现在主要用C#做windows软件。做网站必须的css,javascript,sql就不说了。
工作了项目需要研究了下nodejs,以及php。

最喜欢的语言是javascript。
davepkxxx
2013-05-07 09:11:00 +08:00
我主要靠Java吃饭,选择它的原因很简单:
1. 稳定可靠,有众多大厂支持,比如IBM、Oracle、Google等。
2. 设计成熟,静态、面向对象。
3. 优秀的IDE,大多免费,比如Eclipse、NetBeans、IntelliJ。
4. 丰富的第三方资源,大多免费并且开放源码。比如Spring、Hibernate、Struts2。
5. 社区活跃开放,并且热于助人。国内比较大的有csdn、iteye、oschina。
6. 在众多领域都有很大的市场,比如金融、交通、企业、政府等等。
7. 就业前景明朗,人才市场需求量大。
dalang
2013-05-07 09:26:52 +08:00
第一次接触编程就是本科上计算机科学与技术开始,学校跳过C直接教C++。直到现在都觉得学院当时这么设置课程问题巨大,导致很长时间对oo理解不了,写起C++来更像C的风格。本科还用jsp写过一个简单的仓库管理网站,还赚了点小钱,哈 至今记忆犹新。后来用asp.net帮学院做过一个网站。记得当年的前端技术含量很低的,js的使用也非常弱,我主要用来做一些表单的验证,然后弹窗等等。
硕士的时候,实验室是做二进制翻译器的,也就用了段比较长时间的C++。
工作后,做得东西比较杂,一直在集中语言间游走,也没有一门特别精通的。工作之于也常常有一些小想法想实践,就学习了Python和Android。

我觉得lz有一点特别难得,那么多年前的作品都还能找回来,我都不记得自己第一个完整的程序是什么了。多写文档,多总结还是很有好处的。
好多年后,再重新接触web编程的知识,感觉变化好大,而且现在的前端也已经编程技术含量颇高的一个方向了。现在的javascript跟我本科时记忆中的也完全不一样了,还出了node.js这种利器。这也教会我对一门语言是需要耐心的,你可以去欣赏它的设计哲学,语法风格,但不要武断地去给语言下结论,因为很难预测它在若干年后的走势。

学习并了解多种语言确实让我视野变开阔了,而且现在,加入你想实践一些自己的想法,做点小玩具,不接触多种语言似乎也不太可能。 接下来学下函数式编程的语言。哈
xieren58
2013-05-07 12:29:54 +08:00
python -> node.js,没啥,就是玩玩就喜欢上了~
Mutoo
2013-05-07 12:32:15 +08:00
虎翼啊,好怀念呢……
83f420984
2013-05-07 12:35:51 +08:00
喜欢做一个自己看着满意的网站主题,就试着改别人做好的HTML主题的高度,宽度,换壁纸之类的简单东西,后来才知道这些只是皮毛而已,而且到现在才知道这属于前端开发。。。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/67945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX