很多时候,一门门槛很低的编程语言对于初学者的帮助是非常大的,从而决定这个人的技术路线的选择。

在经历过大一下学期对C,和C++的迷茫之后,在大二上学期,学校在搞一个网页设计比赛,正好和两个朋友一起参赛。开始接触网页设计,学习html语言。

刚开始接触html的时候,觉得这一门语言真神奇啊,写几行代码,直接用浏览器打开,就可以看到效果了。对于学了一个学期的C和C++都没有办法脱离命令行程序的我,看到是如此的兴奋,那一个月,无论上什么课,都是那一本html教程在哪里看,白天学语法和标签,晚上做demo。由于设计到动态的脚本,又接触了asp这一门语言,有了C的基础,学起来也非常快,倒是html反而学了有一段时间,主要是这一门语言并不是真正意义上的编程语言,只是用类似xml的标签来展现界面,而解释html脚本的正是浏览器。

根据标签来生成界面技术,在目前各个平台都有踪影,例如android里面通过xml文件进行页面的布局,在ios里面的通过加载xib文件进行页面展现。在VB里面,貌似用的是属性文件格式例如:A=B,目前还有一些通过json格式来保存页面信息。这些设计都是基于元数据编程,在《程序员修炼之道》里面有提到过,这个技术非常重要,用得好完全可以提高系统设计能力。

当然了,以上只是现在感悟,那个时候那里只是知道html相当神奇,能够很快的做出原型界面,再加上asp动态语言的帮助,在很短的时间内,也就是两周,做出一个选课系统,那个时候大受鼓舞,能够在短短两周之内,就做出一个可以用的网站来,已经完全出乎无意料。不过现在想想,主要还是因为有C语言做基础,大多数面向过程的语言都是命令式的,无非就是变量类型,条件语句,循环语句,数据结构 ,以及表达式。

最终,设计了一个学校的主页,可以注册和登陆,就这么简单的功能,竟然获得了校三等奖(由此可见,我们学校够垃圾的)

技术的选择

软件 vs “硬件”

大二上学期主要学习了asp和javascript,html这三门语言。使用场景也比较简单,不过这段时间也面临一个选择。这段时间很多培训机构到我们学校搞宣传,思科比较多,说的是CCNA,CCNP考试。那段时间正好也面临选择,到时做软件还是做硬件,那个时候对网络管理员的理解就是做硬件。后来想想,自己根本没有钱去买他们的产品,只是学理论课,不能实践,也不能做出点牛逼的东西,就放弃了。现在想想,做运维挺苦逼的,手机不离手啊,经常通宵搞发布。

而且我现在也不建议大学就去考一些CCNA相关的认证,计算机这个行业,最重要的是实践,大学生条件有限,不太有机会维护网络设备,要知道那些网络设备都是比较贵的,你也不可能自己买一个组网实践,你没有那么多的钱,况且思科相关的认证都和其产品绑定的非常死,现在除了电信相关以及大型互联网公司,其他一般很少会使用思科的产品。不过网络协议相关的规范和设计还是可以深入学习的,这一些基础理论保鲜度还是很长的。

C# vs java

做“硬件” 还是 “软件” 如果说是自己思考来决定的,那么 C# 和 java的选择就完全是戏剧性的。当时一个哥们说,asp已经过时了,现在流行java和C#, 我们要选一门语言学习。当时也正好发现asp用的很熟练了,觉的说的有道理,就比较犹豫到底学C# 还是 java,其实说白了,到底是跟着sun  还是跟着微软。当时他说,师兄都在搞C#,我们也搞好了,跟着微软没有错。而另外一个高中就搞编程的哥们说,别跟着微软,这家伙太垄断了,而且微软sdk里面常量太多了,都是微软自己定义的,而且好多他都帮你实现了,你就是调用一下,不利于提高编码能力。

以当时的理解能力,当时记住的就两点:

1 微软太垄断

2 学微软提高不了编程能力

当时对编程了解还不多,那个时候年轻,比较追求自由,也比较愤,讨厌垄断,接受不了,就选择了java。选择真有戏剧性啊。

当时说的第一个点,应该说微软比较封闭,很多都是基于windows之上,都是商业产品,产品基本上也都是闭源的,从这个角度来看,我是接受不了的,也是喜欢自由导致的,就像图形社区对老赵的采访所说的——“理论上说,在微软你不可以读开源的代码。微软害怕你在看了开源的项目之后,会不知不觉地在工作中应用到开源东西,产生法律纠纷。这点真的很可惜” 。

至于第二点,编程语言首要的就是提高效率以及解决问题,这个是最基本的要求,微软在这一方面座的比较好。至于编程能力,是和语言没有关系的。编程能力的提升主要是 多看,多写,多思考。

多看:尝试着看自己经常使用的产品的源代码,了解其设计思想以及代码编写的技巧。这个是最便宜也是最简单的方法,但是很实用。

多写:如果程序员写的代码少,即使看的再多,也没有效果。写代码能够把“偷来”思想去实践,然后发现是否用在合适的地方。

多思考:如果一直写代码,机械套用一些模式,不会由成长。成长最重要的反思,我代码写的好嘛,能够满足需求吗,通用吗,重复率高吗,是否还能有更好的方法?一个coder高手,一定是一个对审美要求极高的人的。如果发现自己的代码重复率太高,自己就会觉得不舒服,看上去非常啥。同一段代码,你一个月后,一年后,三年后再去看,肯定有不同的感觉,会发现很多问题,如果发现不了问题,说明要么代码很完美,要么自身没有任何长进。

相反,java的发展壮大离不开开源社区,全世界有无数的工程师在贡献自己的代码。如果提高编程能力,最好的一个途径都是阅读开源的代码,看看别人代码是怎么设计,有哪一些思想值得借鉴。如果一个java工程师,没有阅读过任何一款开源产品的源代码,那只能说他是一个不合格java的工程师。有这么好的条件,为啥不利用了。

转载于:https://www.cnblogs.com/aigongsi/archive/2012/11/30/2795485.html

个人技术生涯的感悟(2)相关推荐

  1. 美团第一位前端工程师竟是转行程序员!关于他的10年技术生涯

    从饭否到美团,潘魏增用十年的技术生涯,诠释了"长期有耐心"这句话的含义.在他看来,长期有耐心,其实也是延迟满足感.对从事的行业来讲,我们要把眼光放得更长远一些,十年后才有回报的生意 ...

  2. MVP Story——MVP苏鹏的10年技术生涯

    MVP苏鹏的10年技术生涯 苏鹏ASP.NET 方向MVP , 他在接触微软开发技术大概是10年前的时候,那时候他刚刚上大学,互联网热潮还没有退潮,asp作为时髦的技术方兴未艾,像每个怀揣梦想的技术人 ...

  3. 1024 程序员节城市嘉年华,共话技术生涯的一万种可能!

    更硬核的技术峰会,更多元的主题论坛,更丰富的科技元素--更热血的 1024 程序员节闪亮登场! 由湖南湘江新区管委会主办,长沙工业与信息化局.长沙信息产业园管委会与 CSDN 联合承办的第三届 202 ...

  4. 计算机科学与技术学科导论心得,计算机科学与技术导论课感悟.doc

    计算机科学与技术导论课感悟 计算机科学与技术导论课感悟 在计算机科学与技术导论课中,我们主要学习了C语言简洁, 计算机网络体系结构,数据结构,操作系统等知识,而且在其中也感受到了计算机科学与技术这门课 ...

  5. 1024 程序员节“沪深城市嘉年华”,共话技术生涯的一万种可能!

    更硬核的技术峰会,更多元的主题论坛,更丰富的科技元素--更热血的 1024 程序员节闪亮登场! 由湖南湘江新区管委会主办,长沙工业与信息化局.长沙信息产业园管委会与 CSDN 联合承办的第三届 202 ...

  6. 大一计算机生的生涯探索感悟和日记

    个人背景信息:出生于江苏二线北方城市,大学南京师范大学(普通211)计算机本科大一新生.对游戏开发/Unity和软件开发比较感兴趣.成绩中上,绩点4.0,专业7/115. 前言(废话): 清明假第一天 ...

  7. 如何写好一份投标书技术部分的感悟

    最近为了写投标书搞的焦头烂额,由于自己也是第一次比较深入的参与标书编写,实在摸不到方向,好在有人指点得到不少经验教训,特记录下来以备后用. 1. 读懂找标书:如何写首先要看如何要求 今天又被痛批一顿, ...

  8. repost ACM生涯的感悟 个人建议 此文值得读三遍 可以少走很多弯路

    今天看了一篇前辈的ACM的感悟,觉得写的十分有道理,这里转载,文章还会不断的改进和更新. 原文链接:http://www.cnblogs.com/Chierush/p/3760870.html?ADU ...

  9. 30年职场生涯的感悟[转]

    一个人最终成功与否,在多大程度上成功,也并不是最关键的,关键的是做正确的事情,并且把事情做好的能力. 职业生涯就像一场马拉松比赛 正常人大概要工作35年,这好比是一场马拉松比赛,和真正的马拉松比赛不同 ...

最新文章

  1. shell监控java接口服务_Linux系统下Java通过shell脚本监控重启服务
  2. 聊聊服务治理中的路由设计
  3. 使用Python将Excel中的数据导入到MySQL
  4. 微信小游戏“跳一跳”,Python“外挂”已上线
  5. 解析super-smack的smack文件
  6. 嵌入式C语言编程——.h文件与.c文件
  7. C语言实用算法系列之学生管理系统_单向链表内操作_提取排序规则
  8. 【Python selenium自动化环境配置】4步搞定ChromeDriver版本选择
  9. GoLang的逃逸分析
  10. 《OSPF网络设计解决方案(第2版)》一第2章 介绍OSPF
  11. idea中使用github
  12. 计算机学术英语常见词汇短语总结
  13. sd卡的速度怎么测试软件,【有图】怎么测SD卡的速度-蜂鸟网
  14. 毕业设计总结与展望、致谢-“完工总结会”-08
  15. 会议__零碎知识点总结
  16. 高并发中 QPS、TPS、RT、Load、PV、UV都是什么意思!
  17. int, long, long long类型的范围
  18. c语言中“函数的定义不可以嵌套,但函数的调用可以嵌套
  19. 山外KL26的J-link连接与程序下载
  20. 快速传超大文件的解决方案

热门文章

  1. vcenter converter 转换xenserver下linux的错误
  2. 2021年中国工业互联网安全大赛核能行业赛道writeup之数据库登录
  3. php webuploader大文件,web uploader 上传大文件总结
  4. 以太坊数据结构MPT
  5. pix怎么抚养另一只猫_在工作和抚养两个孩子的同时,我如何在一年内获得第二学位并获得了5个开发人员认证...
  6. iscsi网络磁盘共享
  7. eclipse c语言_如果你的电脑是windows7/10的环境,用什么编译器学习C语言好?
  8. 用C++的random_shuffle()函数打乱int数组顺序
  9. JavaScript 立即执行函数的两种写法
  10. Python工程师求职必知的经典面试题