我始终认为,对一个初学者来说,IT界的技术风潮是不可以追赶的,而且也没有能力去追赶。我时常看见自己的DDMM们把课本扔了,去卖些价格不菲的诸如C#, VB.Net 这样的大部头,这让我感到非常痛心。而许多搞不清指针是咋回事的BBS站友眉飞色舞的讨论C#里面可以不用指针等等则让我觉得好笑。C#就象当年的ASP一样,“忽如一夜春风来,千树万树梨花开”,结果许多学校的信息学院成了“Web 学院”。不少大学生都去做Web 了。当然我没有任何歧视某一行业的意识。我只是觉得如果他们把追赶这些时髦技术的时间多花一点在基础的课程上应该是可以走得更远的。
几个误区
初学者对C#风潮的追赶其实也只是学习过程中经常遇到的几个误区之一。我将用一些实际的例子来说明这些现象,你可以按部就班的看看自己是不是属于其中的一种或者几种:
认为计算机技术等于编程技术:
有些人即使没有这个想法,在潜意识中也有这样的冲动。让我奇怪的是,许多信息学院的学生也有这样的念头。认为计算机专业就是编程专业,与编程无关的,或者不太相关的课程他统统都不管,极端的学生只要书上没带“编程”两个字他就不看。
其实编程只是计算机技术应用过程中一种复杂性最低的劳动,这就是为什么IT业最底层的人是程序员(CODER)。计算机技术包括了多媒体,计算机网络,人工智能,模式识别,管理信息系统等等这些方面。编程工作只是在这些具体技术在理论研究或者工程实践的过程中表达算法的过程。编程的人不一定对计算机技术的了解就一定很高。而一个有趣的现象是,不少大师级的计算机技术研究者是不懂编程的。网上的炒作和现实中良好的工作待遇把编程这种劳动神秘化了。其实每一个程序员心里都明白,自己这些东西,学的时候并不比其它专业难,所以自然也不会高档到哪里去。
咬文嚼字的孔已己作风:
我见过一本女生的《计算机网络原理》教材,这个女生像小学生一样在书上划满了横杠杠,笔记做得满满的,打印出来一定比教材还厚。我不明白的是,像计算机网络原理这样的课程有必要做笔记?我们的应试教育的确害了不少学生,在上《原理》这一类课程的时候许多学生像学《马列原理》一样逐字背诵记忆。这乃是我见过的最愚蠢的行为。所谓《原理》,即是需要掌握它为什么这样做,学习why,而不是how(怎样做)。极端认真的学生背下以太网的网线最大长度,数据帧的长度,每个字段的意义,IP报头的格式等等,但是忘了路由的原则,忘了TCP/IP协议设计的宗旨。总之许多人花了大量的时间把书背得滚瓜烂熟却等于什么也没学。
在学习编程的时候这些学生也是这样,他们确切的记得C++语法的各个细节。看完了C++教程后看《Thinking in C++》(确实是好书),《Inside C++》,《C++ reference》,this C++, that C++……,然后是网上各种各样的关于C++语法的奇闻逸事,然后发现自己又忘了C++的一些语法,最后回头继续恶补…。有个师弟就跟我说:“C++ 太难了,学了这里忘了那里,学了继承忘了模板。”我的回答道:“你不去学就容易了”。我并没有教坏他,只是告诉他,死抠C++的语法就和孔已己炫耀茴香豆的茴字有几种写法一样毫无意义。你根本不需要对的C++语法太关心,动手编程就是了,有不记得的地方一查MSDN就立马搞定。我有个结论就是,实际的开发过程中对程序语法的了解是最微不足道的知识。这是为什么我在为同学用Basic(我以前从没有学过它)写一个小程序的时候,只花了半个小时看了看语法,然后再用半个小时完成了程序,而一个小时后我又完全忘记了Basic 的所有关键字。
不顾基础,盲目追赶时髦技术:
终于点到题目上来了。大多数的人都希望自己的东西能够马上跑起来,变成钱。这种想法对一个已经进入职业领域的程序员或者项目经理来说是合理的,而且IT技术进步是如此的快,不跟进就是失业。但是对于初学者来说(尤其是时间充裕的大中专在校生),这种想法是另人费解的。一个并未进入到行业竞争中来的初学者最大的资本便是他有足够的时间沉下心来学习基础性的东西,学习why 而不是how。时髦的技术往往容易掌握,而且越来越容易掌握,这是商业利益的驱使,为了最大化的降低软件开发的成本。但在IT领域内的现实就是这样,越容易掌握的东西,学习的人越多,而且淘汰得越快。每一次新的技术出来,都有许多初学者跟进,这些初学者由于缺乏必要的基础而使得自己在跟进的过程中花费大量的时间,而等他学会了,这种技术也快淘汰了。基础的课程,比方数据结构,操作系统原理等等虽然不能让你立马就实现一个linux(这是许多人嘲笑理论课程无用的原因),但它们能够显著的减少你在学习新技术时学习曲线的坡度。而且对于许多关键的技术(比方Win32 SDK 程序的设计,DDK的编程)来说甚至是不可或缺的。
一个活生生的例子是我和我的一个同学,在大一时我还找不到开机按纽,他已经会写些简单的汇编程序了。我把大二的所有时间花在了汇编,计算机体系结构,数据结构,操作系统原理等等这些课程的学习上,而他则开始学习HTML和VB,并追赶ASP的潮流。大三的时候我开始学习Windows 操作系统原理,学习SDK编程,时间是漫长的,这时我才能够用VC开发出象模象样的应用程序。我曾一度因为同学的程序已经能够运行而自己还在学习如何创建对话框而懊恼不已,但临到毕业才发现自己的选择是何等的正确。和我谈判的公司开出的薪水是他的两倍还多。下面有一个不很恰当的比方:假设学习VB编程需要4个月,学习基础课程和VC的程序设计需要1年。那么如果你先学VB,再来学习后者,时间不会减少,还是1年,而反过来,如果先学习后者,再来学VB,也许你只需要1个星期就能学得非常熟练。
几个重要的基础课程
如果你是学生,或者如果你有充足的时间。我建议你仔细的掌握下面的知识。我的建议是针对那些希望在IT技术上有所成就的初学者。同时我还列出了一些书目,这些书应该都还可以在书店买到。说实在的,我在读其他人的文章时最大的心愿就是希望作者列出一个书单。
大学英语-不要觉得好笑。我极力推荐这门课程是因为没有专业文档的阅读能力是不可想象的。中文的翻译往往在猴年马月才会出来,而现在的许多出版社干脆就直接把E文印刷上去。学习的方法是强迫自己看原版的教材,开始会看不懂,用多了自然熟练。吃得苦下得狠心绝对是任何行业都需要的品质。
计算机体系结构和汇编语言-关于体系结构的书遍地都是,而且也大同小异,倒是汇编有一本非常好的书《80x86汇编语言程序设计教程》(清华大学出版社,黑色封面,杨季文著)。你需要着重学习386后保护模式的程序设计。否则你在学习现代操作系统底层的一些东西的时候会觉得是在看天书。
计算机操作系统原理-我们的开发总是在特定的操作系统上进行,如果不是,只有一种可能:你在自己实现一个操作系统。无论如何,操作系统原理是必读的。这就象我们为一个芯片制作外围设备时,芯片基本的工作时序是必需了解的。这一类书也很多,我没有发现哪一本书非常出众。只是觉得在看完了这些书后如果有空就应该看看《Inside Windows 2000》(微软出版社,我看的是E文版的,中文的书名想必是Windows 2000 技术内幕之类吧)。关于学习它的必要性,ZDNET上的另一篇文章已经有过论述。
数据结构和算法-这门课程能够决定一个人程序设计水平的高低,是一门核心课程。我首选的是清华版的(朱战立,刘天时)。很多人喜欢买C++版的,但我觉得没有必要。C++的语法让算法实现过程变得复杂多了,而且许多老师喜欢用模块这一东西让算法变得更复杂。倒是在学完了C版的书以后再来浏览一下C++的版的书是最好的。
软件工程-这门课程是越到后来就越发现它的重要,虽然刚开始看时就象看马哲一样不知所云。我的建议是看《实用软件工程》(黄色,清华)。不要花太多的时间去记条条框框,看不懂就跳过去。在每次自己完成了一个软件设计任务(不管是练习还是工作)以后再来回顾回顾,每次都会有收获。
Windows 程序设计-《北京大学出版社,Petzold著》我建议任何企图设计Windows 程序的人在学习VC以前仔细的学完它。而且前面的那本《Inside Windows 2000》也最好放到这本书的后面读。在这本书中,没有C++,没有GUI,没有控件。有的就是如何用原始的C语言来完成Windows 程序设计。在学完了它以后,你才会发现VC其实是很容易学的。千万不要在没有看完这本书以前提前学习VC,你最好碰都不要碰。我知道的许多名校甚至都已经用它作为教材进行授课。可见其重要。
上面的几门课程我认为是必学的重要课程(如果你想做Windows 程序员)。
对于其它的课程有这样简单的选择方法:如果你是计算机系的,请学好你所有的专业基础课。如果不是,请参照计算机系的课程表。如果你发现自己看一本书时无法看下去了,请翻到书的最后,看看它的参考文献,找到它们并学习它们,再回头看这本书。如果一本书的书名中带有“原理”两个字,你一定不要去记忆它其中的细节,你应该以一天至少50页的速度掌握其要领。尽可能多的在计算机上实践一种理论或者算法。
你还可以在优快云上阅读到许多书评。这些书评能够帮助你决定读什么样的书。
日三省乎己
每天读的书太多,容易让人迷失方向。一定要在每天晚上想想自己学了些什么,还有些什么相关的东西需要掌握,自己对什么最感兴趣,在一本书上花的时间太长还是不够等等。同时也应该多想想未来最有可能出现的应用,这样能够让你不是追赶技术潮流而是引领技术潮流。同时,努力使用现在已经掌握的技术和理论去制作具有一定新意的东西。坚持这样做能够让你真正成为一个软件“研发者”而不仅仅是一个CODER。
把最多的时间花在学习上
这是对初学者最后的忠告。把每个星期玩CS或者CS的时间压缩到最少,不玩它们是最好的。同时,如果你的ASP技术已经能够来钱,甚至有公司请你兼职的话,这就证明你的天分能够保证你在努力的学习之后取得更好的收益,你应该去做更复杂的东西。眼光放长远一些,这无论是对谁都是适用的。
相信你已经能够决定是否学习C#或者什么时候去学它了。
相关推荐
1024,一封写给优快云家园Python初学者的信 | Python初级、中级、高级学习路线
又是一年1024,祝所有程序员节日快乐,健康开心,祝优快云越来越好。转眼,已经在优快云分享了十多年博客,感谢大家的陪伴和祝福,在这里我与许多人成为了朋友,感恩。非常遗憾,这次没能去长沙岳麓书院见很多大佬和博友,下次有机会一定去。我也会继续加油,分享更好更系统的文章,帮助更多初学者。总之,感恩大家能一起在优快云相遇,相见,相知,我们相约在这里分享一辈子,感恩同行!
程序员是做什么的(非常详细),零基础入门到精通,看这一篇就够了
程序员是做什么的(非常详细),零基础入门到精通,看这一篇就够了
AI原生智能推荐在内容平台的落地实践:以优快云为例
本文旨在为技术开发者和产品经理提供一个全面的AI原生智能推荐系统落地指南,特别聚焦于技术社区类内容平台的应用场景。我们将从基础概念到高级应用,从算法原理到工程实践,全方位解析智能推荐系统的构建过程。本文将首先介绍推荐系统的基本概念和原理,然后深入探讨AI原生推荐的关键技术,接着通过优快云的实际案例展示推荐系统的落地实践,最后讨论未来发展趋势和挑战。AI原生:以人工智能为核心设计和构建的系统架构智能推荐:基于用户行为和偏好,自动推荐相关内容的技术用户画像:对用户特征和行为的抽象表示内容理解。
2024版最新148款CTF工具整理大全(附下载安装包)含基础环境、Web 安全、加密解密、密码爆破、文件、隐写、逆向、PWN等全套工具
经常会有大学生粉丝朋友私信大白,想通过打CTF比赛镀金,作为进入一线互联网大厂的门票。但是在CTF做题很多的时候都会用到工具,所以在全网苦寻CTF比赛工具安装包!
Cadence Allegro PCB文件对比实战:3分钟搞定两份设计差异(附颜色标注技巧)
本文详细介绍了如何高效使用Cadence Allegro的Design Compare功能进行PCB文件差异对比。通过实战工作流,可在3分钟内精准定位并理解两份设计在布局、布线、元件等方面的关键差异,并分享了自定义颜色标注技巧,帮助工程师快速聚焦重要修改,提升设计评审与团队协作效率。
医学图像处理实战:3D Slicer从安装到病灶分析全流程指南
本文提供了一份详尽的3D Slicer实战指南,涵盖从软件安装、DICOM数据导入到图像增强、病灶分割及三维可视化的全流程。重点演示了如何利用阈值分割、区域生长等核心图像处理技术进行病灶分析,并生成定量报告,是医学影像分析初学者的实用入门教程。
初学编程,学哪种语言比较好?
学习编程语言之前,首先要搞清楚“编程语言”这个概念。我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。 同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。编程语...
杂记 | 使用keycloak实现SSO单点登录(新手向,概念、原理、逻辑、详细步骤、难点解释)
使用keycloak实现SSO单点登录(概念、原理、逻辑、详细步骤、难点解释)
程序员分哪几种,分别薪资是多少
你知道程序员分哪几种吗,这里带你一起来了解一下哈
Adams软件安装与配置全攻略:从入门到机器人仿真
机械系统动力学仿真软件Adams是工业机器人开发的重要工具,其安装过程涉及许可证配置、环境变量设置等关键技术环节。专业仿真软件安装通常需要处理系统兼容性、组件依赖和授权验证等工程问题,特别是在机器人控制仿真等场景中,还需集成MATLAB/Simulink等第三方工具。本文以Windows平台为例,详解Adams安装的核心步骤,包括系统环境检查、许可证服务器配置、工业机器人专项模块安装等实践要点,并针对NVIDIA Quadro显卡优化、27500端口通信等常见问题提供解决方案,帮助用户快速搭建可靠的仿真环境
fragstats:景观指数趋势分析
优快云@_养乐多_本文将介绍景观指数时间序列的趋势分析,包括趋势类型、斜率、截距等。以及景观指数突变分析所用的软件和 python 代码。结果如下图所示,
优快云好物推荐活动规则
优快云光合计划介绍活动主题活动时间活动介绍活动参与方式冲榜奖励榜单排名冲榜攻略 活动主题 优快云光合计划,寻找发光的你 分享知识,传递价值,成就金牌KOL 活动时间 2021年3月1日-3月15日 活动介绍 优快云以“成就一亿技术人”为使命。为新晋技术人员和想要提升的同学持续赋能传递价值,特开启以“光合计划”为主题的系列活动,寻找发光发亮的你。 在传递价值同时我们也为发光的你准备了丰厚的回报,参与即有机会瓜分十万礼金,更有机会共享百万流量扶持,成就金牌KOL。 快来加入我们,一起冲榜吧! 活动参与方式
SFT看这一篇就够了!万字长文:监督微调(Supervised Fine-Tuning, SFT)技术全解析【从理论到实战】
大家好,我是大 F,深耕AI算法十余年,互联网大厂技术岗。分享AI算法干货、技术心得。欢迎关注,一起探索技术的无限可能!
致每一位Java初学者
致Java初学者 前言 能看到这篇文章的朋友,应该都或多或少的了解Java,也许你现在是个菜鸟还在成长的路上。再此期间你一定遇到了很多困惑疑虑,对未来的学习方向感到很迷惑。作为过来人我非常了解你们现在的处境。我是从2014开始接触Java这门编程语言的,从2017年从事Java相关开发工作,也是一个奋力奔跑的菜鸟,直到今天我还在不断的学习,提升自己的技能,学无止境,学习永远在路上。回...
基于STM32设计的老人摔倒检测报警系统【升级版】(235)
在 `235 基于STM32设计的老人摔倒检测报警系统(OneNet+MQTT)` 项目基础上增加了心率、血氧、体温测量3个功能。
10. 重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器!
重磅!Spring AI 1.0 正式发布,Java 开发者的 AI神器! 全网最详细的Spring AI 文章,每章都会提供代码入口,让你更容易得入门和理解Spring AI 相关概念,直接节约你百分之六十的学习成本时间。
优快云博客「推荐卡」下线公告
真的很抱歉的通知各位博主用户 我们的「推荐卡」权益于8月24日(下周一)将下线 但是此次下线并不是意味着就再见了 而是为了更好地功能体验 我们将会对「推荐卡」的功能以及权益进行优化 到时候我们的「推荐卡」将会带着全新样貌回归 一起期待着吧! ...
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
优快云个性化推荐系统-负反馈测试
优快云个性化推荐系统-负反馈测试
VC中sqlite的使用
在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
优快云 平台算法推荐机制对技术文章质量传播的影响研究
本文深入探讨 优快云 平台算法推荐机制对技术文章质量传播的影响。通过剖析推荐算法原理,结合实际数据,研究算法如何筛选、推送不同质量的技术文章,以及这种推荐模式对文章传播范围、阅读量、互动量等方面产生的作用,为优化平台推荐策略、提升优质文章传播效果提供理论依据。
深入解析抖音和优快云的推荐逻辑的区别
对比维度抖音 (短视频)优快云 (技术博客)内容核心娱乐、情绪、消遣知识、解决问题、工具推送逻辑瀑布流推荐(你被动看)搜索引擎优化 (SEO)(你主动搜)关键指标完播率、评论、点击率时效性极强(烟花型)极弱(工具书型)生命周期1-3 天(爆发期很短)3-10 年(常青、长尾)停止推送?是,数据差就立刻停止否,只要搜索存在,就永不停止如果您想在抖音运营(如您之前提到的视频剪辑),您必须学会**“抢时间”**,在视频前 3 秒就抓住用户,追求高完播率和高互动。如果您要在优快云。
教你玩转优快云博客
我在优快云博客可以做什么呢? 优快云博客是一个专业IT技术发表的平台。在这里,你可以阅读技术大佬的博文,为他们点赞,评论,收藏;在这里,你也可以发布自己的博文,你可以发布技术分享、面试技巧、程序人生,也可以发布认真或有趣的交流与分享。 我该怎么发布文章? 点击 创作中心 即可撰写博文,但是文章内容不得违反法律法规及政策规定哦!
优快云好物推荐FAQ
冲榜攻略1.如何选择和获取素材?2.如何选择和获取素3.如何选择和获取素材?4.如何查看我的收益?5.如何提现?6.冲榜奖励说明?7.更多问题 1.如何选择和获取素材? 您可以根据您了解和擅长的领域选择课程,按照活动页面提示生成您的专属海报和分享文案。 2.如何选择和获取素 保存您的专属海报,复制分享文案后,根据您的情况将海报发布到平台上,例如: ① 朋友圈 ② 社群 ③ 博客 ④ 公众号 3.如何选择和获取素材? ① 分享到您的博客中 结合您发布的博客内容,将课程以推荐的形式穿插到博客中。 ② 分享到您的
优快云个性化推荐 - 测试和建议
我是一个大三学生,平时不会的问题,就会会来到c站,在这个大数据时代,信息量太大,csdn和其他平台一样,都有自己的个性化推荐。其中 “个性化推荐” 这个功能是在每时每刻都在发挥作用。不过,就我个人而言,我还是不太喜欢用这个东西,每次进入csdn,会让我选择感兴趣的标签啥的,我每次都是直接跳过。个性化推荐这个功能还是比较好的,但是也有坏处,比如讲,因为学习或者比赛等某种原因,我们在优快云查找了关于某个领域的知识,之后,优快云一直推荐这个方面,自己可能就看不到其他的一些东西。
两篇文章被优快云首页推荐
前几天照例登录优快云,一看后台,居然显示我的单天访问量上升了四千余位,升至前几百位。在优快云的博客相当低调,尽管很久前就开通了,但最近才开始写点东西,也没有固定用户群,咋的这么多访问量呢?奇怪也哉。一看访问来源,居然大量访问来自csdn首页,点将开来,原来有篇关于灵活提取特征的文章被优快云头条推荐了。 难怪如此。 心中不禁有些得意,毕竟csdn在开发方面还颇有些地位的,被首页推
优快云 有人通过用户推荐关注了你 到底是什么意思?
优快云 有人通过用户推荐关注了你 到底是什么意思?
【学习资源】C#初学者学习资源推荐
初学者学习C#的学习资源推荐, 包括网站,书籍与社区。
5万+



被折叠的 条评论
为什么被折叠?



