设为首页 - 加入收藏
广告 1000x90
您的当前位置:78345黄大仙救世网7 > 解增删锁 > 正文

如何自学计算机编程?

来源:未知 编辑:admin 时间:2019-06-11

  今年大二,专业国际贸易,现在对编程很感兴趣,我想自学,想请教我非计算机专业的学生该如何自学计算机编程? 谢谢你们回答我的问题,我有很久没有看过我提问的问题了,没想到关注的人还挺多的,现在题主已经大三了,马上大四,现在在自学UI设计。刚学了不到两个月,放几张图吧,小白,临摹的不好。这是今天临摹的插画。 [图片] 这是昨天做的图标。 [图片] 欢迎大家和我交流分享。 题主现在已经确定好方向了,正在努力自学中,谢谢大家的回答,…

  2018-11-03 更新,建议大家在看这篇文章之前,看一看自己适不适合做一名程序员:

  前面的很多人写的回答都很好,答主本科研究生6年一直学的都是机械,学业中偶尔用到编程,都是非常简单的,写个function,写个loop,仅此而已,对计算机运行原理一窍不通,甚至分不清bit和byte的区别(毫无夸张)。找工作时候误打误撞进了软件行业,开始自学编程,利用每天下班时间看书看open course, 学会了一些计算机的和编程基础知识,现在就职谷歌,坐标美利坚。

  之所以想补充,是因为其他回答大多说的如果将编程作为一个兴趣学习,个人觉得,要把编程,或者说软件工程师作为你未来的职业,仅仅pick up一门语言,写简单程序,是不够的。理解计算机程序的运行原理和理解很多相关的知识很重要,否则在学习的路上对很多概念只能是一知半解,走不了太远。以下列一些计算机的基本概念和相关的课程,答主觉得对成为一个优秀的程序员是很有帮助的,也是必须的。

  此课程讲述了计算机程序是如何运行的,一些计算机,程序的基本概念,例如计算机汇编指令,内存,寄存器的意义,进程和线程的区别。这些概念的理解对一个程序员是至关重要的。懂了这些,才能在程序设计和编写中考虑到一些基本的问题,例如如何和为什么要防止内存泄漏,如何写程序可以减少cache miss提高performance.

  如果不理解基本的数据结构和算法而编程,基本相当于不懂力学就去建造一个大楼,楼可能能建起来,但是你敢住,我可不敢。程序的基本作用是存储数据和处理数据,可以把数据结构和算法理解成完成这两项任务的基本工具和思想。

  我就不用说网络在软件中有多重要了,除非你只是想写个计算器,否则这些基本概念肯定要懂。这个课程基本讲解了网络building blocks, 浏览器是如何从你打入一个字母组成的网址,到把一个可以interactive(交互)的页面显示给你,虽然这发生在短短一秒内,但后台发生了很多事情,才能保证这个网页传到你的浏览器上。从dns ,router,到load balancer, 再到http, tcp/ip, html, css, javascript。上完这个课程,基本就清楚了。

  /*睡了一觉起来看到这么多赞同真实受宠若惊,既然大家这么有兴趣,我接着码字。我争取每天抽出一段时间更新,答主有个刚出生3个月的娃,时间比较不稳定。首先要解释几件事情,答主自学Computer Science或者说编程的过程完全在国外完成,所以所有学习资料和视频都是英文的,很多术语我也只知道英文的,对大家理解带来的不便先表示歉意。不过说到这,我认为做到两件事情对高效学习CS有很大帮助. 第一,学好英文,尽量用英文学习关于CS的概念。这么说并不是因为我崇洋媚外,而是客观的说,就算我国科研技术和编程水平已经和美国差距不大,但就教学水平和教材质量来说,还差了很多条街,而且很多CS的概念会直接用英文呈现在编程语言当中(stack, heap, tree, array, list, map, graph),即使你学的时候用的是中文,编程的时候还是要知道英文,写英文,直接学英文省去了二次学习。第二,翻墙。这一点的原因不仅仅是国外的教材和课程视频大多在墙外的网站(几乎所有公开课在youtube上,我会把上面提到课程的link)。还有就是,我去年曾经回国在公司的北京office工作过一段时间,试着用了一下百度,就搜索编程技术相关的问题上,百度的搜索结果质量被google甩了不知道多远。上面写过的课程我会贴YouTube链接,这些课程能写的作业强烈建议大家跟着写,因为编程水平是靠写代码写出来的。*/

  4. 数据库这个topic我没有什么推荐的课程,因为大多数我看到的数据库课程都是在讲如何使用sql数据库。数据库的知识我认为分两部分,作为一个入门的程序员,可能只需要知道写简单的sql语句,如何create databse, create table, insert, update and query. 这是数据库学习的第一部分,我建议利用一些可以边学边写的网站学习这部分,实战才会印象深刻,这里推荐一个网站(不知道需不需要翻墙)Learn to code, 他们家有很多课程,都不错,大家不需要用付费版本,免费版足够。 数据库的第二个层面,我认为才是数据库的精髓,这部分我是靠阅读网上的文章加继续搜索学习的,就是数据库的运行原理,具体说,就是数据库是怎么样实现快速查找的,想象一下,一个表有很多列,例如一个人的资料,姓名,性别,住址,年龄。那么比如我要查找一个年龄区间的人,数据库不可能每次都去根据年龄排序,再输出,排序的复杂度是n*logn, 就算不排序, 每次输出的复杂度也是n, 这对于动辄上百万记录的数据库来说,速度是不能接受的,所以数据库会用到几种特殊结构的tree去存储这些列,保证在输出的时候,复杂度基本在logn。关于这些tree是如何实现的,可以独立写一篇很长的文章,建议大家先学会并理解几个基本的tree structure(数据结构和算法里有讲到),顺便在这里推荐一个微信公众号,事先声明,这个公众号跟我没有任何关系,只是他家文章水平普遍较高,公众号的名字叫开点工作室“,里面有一片讲数据库实现的文章写的非常好,很深刻。

  /* 这周一直在加班,外加出差,一直没有更新,十分不好意思,周末有点时间我来更新一下*/

  操作系统(英文缩写OS)其实即使是经验丰富的软件工程师都很少有非常熟悉的,因为实在难点太多,太难理解,其中有很多鸡生蛋,蛋生鸡的问题,答主自己也并没有理解的非常好,但我认为对于一些基本概念的粗浅理解也是很重要的,例如OS如何schedule process的,如何管理内存的,如何实现各个process切换的,文件系统是怎么实现的,还有最难理解但也一定要有一些理解的一个概念--锁(mutex lock)。我之前在Oracle的工作经历主要负责的提高操作系统的性能,所以理解较一般不在这个领域的程序员的会深刻一些。说一说为什么锁很重要,现在很少有程序是单线程了(javascript除外),在多线程的运行环境下,如果没有锁基本上就会天下大乱了。举个最简单的买牛奶的例子,假如你和别人合租有个室友,你们俩每天都喝牛奶,有一天你回家发现没有牛奶了出去买牛奶,然而在你室友回来后你还没回来之前你室友无法判断你是否已经去买牛奶了,如果他认为你已经去了而自己没去,你们家里会有一瓶牛奶,如果他认为你没去自己也去了,你们家里就会有两瓶牛奶,如果他认为你去了而你没去,你们家就没有牛奶了。这种在多线程程序中会出现不确定结果或错误结果的情况很可怕,需要解决。那么解决方案就是锁,在这个例子里,锁就是一个贴纸,如果你去买牛奶后贴一张纸告诉你室友你去买了,那么对于你室友这个就很容易解决了,如果他看到没有牛奶,没有贴纸,他就去贴一张纸条告诉你他去买了,结果是你们家有一瓶牛奶。如果他看到没有牛奶但你贴了纸条,那他就知道你已经去买了,他就不用去买了,结果还是你们家只会有一瓶牛奶。这样程序执行结果就不会有不确定性。当然,真正的锁实现上比这个复杂而且会有很多种锁,但基本原理就是这样的。关于这方面,和第2点一起,推荐一本书,我写在了开头,这本书开头3章不太好懂,讲的是一些很基础的计算机实现原理,不过要坚持看下去,看不懂就多看几遍,配和网上搜索,也可以给我发信,不过我时间非常有限,尽量回答,没时间回答大家不要怪罪。

  Version Control system,我不知道如何翻译比较靠谱,意思就是版本控制系统。先说说为什么我们需要它,版本控制系统帮助你更好管理你的程序,更好的帮助一个小组在程序上进行合作。举个例子,比如你用word写文章,想象每次你保存都不会覆盖,而会保存成一个新的文件,并且这个文件名会记录你和上一次保存的变化以及你的保存时间(这个保存叫commit),这样如果你在一次改动的时候如果觉得改动的太差,你不用手动改回到上一次保存,这个系统会帮你一键回到任何一个你之前的保存,这样你在每次保存后就可以放心大胆的改动,不用担心如果程序没改好导致前面的成果全部废掉,因为你随时可以回到任何一个前面的版本。再说说它的第二个作用,就是合作,假设你程序写到一半,发现这个程序需要的工作量远远超过你之前的预期而你需要别人的帮忙,于是你有了一个合作伙伴,这个合作伙伴用这个工具copy(这的copy一般叫clone)了你的文章,这样他瞬间就得到了你之前所有的版本。当你们俩分头编辑了很多之后,这个工具可以实现一键合并你们俩的修改的内容(merge),如果你们修改的内容有冲突(merge conflict),这个工具会告诉你们有冲突的地方并让你们逐一选择选择谁的修改,当合并好之后,这次合并对于你们俩来说又都只是一次commit, 随时可以回到各自合并前的版本。Version Control有很多,比较popular的有git, perforce 和Mercury,个人最喜欢的是git, 大家可以先学学git.

  十分抱歉这么长时间没有时间更新了,前一段时间因为刚有了小孩所以十分忙。在这期间接到了很多问题和评论,谢谢大家喜欢这个回答。从大家的问题中我发现还是有很多学工科或者其他学科的人有兴趣学习写代码的,但我发现很多问题不是问不到点子上就是过于general。例如,我学xxx专业的现在想学写代码,应该怎么办,或者说,我决定开始写代码,听说Java不错,能不能说说怎么学Java. 我觉得我在上面的回答想跟大家传递的我的想法是,如果想转做一个水平还不错,有职业发展的码农,写代码这件事要有规划,系统的学。如果你刚开始接触写代码,我就教你怎么写Java, 就好像你想做一个建筑工程师/设计师,我上来就教你怎么用锤子钉钉子,怎么用钜子锯木头,但即时你锤子和木头都用的很熟练了,你还是不做不了建筑师,因为你不知道建一个哪怕是一个小房子,应该需要几块木头,每块木头多长,每块木头应该怎么连接,应该在哪钉钉子,应该用什么样的木头和钉子。所以,学Java并不是最重要的,学之前你应该知道学会了应该怎么用, 不然就是很盲目的。我很希望能帮助到大家,回答一些大家的问题,带大家写写代码,所以我在考虑每周找个时间做个直播,回答大家的问题或者讲点基础的东西。对我来说比较方便的时间是周末的早晨,也就是各位周末的晚上,我想了解一下有多少人有兴趣,希望有兴趣跟我交流的朋友给我留言或者发站内信,如果有兴趣交流的朋友多,我可以利用周末的时间跟大家交流

  说说自己的事情吧,大学学的电路+信号,编程课只有一门C语言,和单片机编程的东西。而且C语言不算强制专业课,所以学的稀烂,基本不会,你问我冒泡算法咋写,我只能一脸懵逼看着你,考试咋过的?背历年题啊!!!。

  快毕业,发现自己还可以走编程这条路啊,开始琢磨怎么写网站,那时候流行的struts/hibernate/spring,说干就干买了本书J2EE的书,发现根本看不明白啊,又买了一本JAVA基础,啃书上的课后题,啃到不明白的地方就好友列表的大腿子们使劲问,感谢当年这些做安卓游戏的大佬不杀之恩!!!!之后就做开始准备做个登录注册练练手,然后发现光有程序不行啊,还TNND需要数据库,百度:sqlSever OR oracle, 发现Oracle太大下不动,下了sqlSever,倒腾两天终于做出来,这期间还遇到ORM的问题,当时直接用JDBC链接数据库的方式实现的- -,妥妥黑历史啊,之后开始分析需要做的网站需要有什么功能,基本当时就是一个个功能逐个实现在再糅合一起的,当然BUG多成山,有时候一个BUG想不明白搞一晚上- -,个人比较蠢,记忆力弱渣,就搞了个记事本,出了什么BUG怎么解决的就写下来,日后同样错误就直接翻。

  之间还去W3C看HTML标签都有什么用,css可以干嘛,那时候想不明白的直接dreamweaver拖啊,要用到啥JS效果,那时候也不会写JS,直接搜有没有同样的解决方法,复制过来用,发现TNND不能直接用,就开始琢磨JS到底怎么写的才能用。磕磕绊绊的临近毕业前可算做完了,就拿去当毕业设计了,现在看到当时的代码冗余多的爆炸。

  之后凭着这个作品找到了一个工资低到炸了的工作2000+,个人还做的津津有味,当时还是很感激别人给了自己这个机会,有幸接触到安卓/PHP/python/ruby各种领域的程序员,然后第一个工作就是实现界面,各种管理系统的界面,还得做兼容问题(FF和ie),现在我都想说IE你大爷,

  自从做了这个工作以后我就再也没怎么写过java,html/css/js使用熟练度水涨船高,当然还有PS,最常听到的就是:来来来这个界面给你去做,图要好好切,我一度怀疑自己是个美工,因为给的图是用excel画出来的,具体的界面还得自己找素材做- -,PS当时绝壁用的比JS还熟练。

  后来公司有一个互联网应用来着,大家都没时间,领导让我独立完成,因为比较简单,数据层很少,大部分展示用的,就是记录游戏数据说明的,说用PHP就行,然后就看了PHP,不得不说PHP的框架真多,看的我狗眼都快花了,啃了啃愣是做出来了,当时还是很满意的,而且这次接触了MYsql,熟悉了大量数据库知识,比如索引,视图和存储过程还有数据库的权限控制,在一个就是我TNND学会用linux了= =。

  到后来公司启用了EXTjs,开始发现js这东西很有意思啊,就开始各种啃JS,闭包原型链什么的,琢磨自己的东西,这算是真正的才入了前端这个大坑吧,个人有强迫症,其实这个强迫症帮了大忙,就是琢磨不出来也会死命琢磨知道通了为止,EXT是个基于AJAX的框架,所以在这期间狂啃了HTTP协议,只是为了用来调试和看得懂请求和返回的信息哈哈哈哈。

  再后来Rails框架学了Ruby,爬虫学了Python,后来主做前端附带Python,这些都学起来很快了- -。尤其是Python本身好理解,第二个其实有些东西跟JS很像八九不离十。Ruby蛮喜欢是这语言的语法真的优雅,之后接触Redis/MongoDB/nodejs/ES6/babel/webpack/gulp/git/react/vue大概就是我走过的路,虽然泥泞但是不后悔。

  -----------------------我是分割线-----------------------------------

  选一个自己喜欢的方向入手,会让自己更有动力去激励自己,比如喜欢IOS/Android/JavaWeb/PhpWeb/PythonWeb/RubyWeb,喜欢就上啊,先从语言基础开始学,写出来的BUG琢磨清楚为什么出BUG,最好有个编程大佬朋友可以问问的,不然就上stackoverflow,你会发现世界上不仅仅你犯过这么傻哔的错误,原来还有这么多傻哔像我一样啊!!!

  这期间肯定会接触面向对象的思想啊啥的,看不懂就看看网上各种大佬的帖子,讲的通俗易懂的比比皆是。

  数据库可以先不去深入,但是基本的增删改查要知道,记不出语句可以存一个TXT,下次照着敲,敲多了就记住了,我就是这样的,个人记忆力弱渣没办法。

  第二个是学会分析自己要做的项目,分析出功能,在纸上电脑上PS啥的画画,分析出具体的功能,让自己的脑子不是一团浆糊,这样才能知道该如何去做,逐个功能去实现,之后就变成了一个完整的大项目,当然这里面肯定会有很多问题代码冗余啊啥的。

  第三个你会发现你的项目问题很多,开始审视自己写过的项目,挤出时间来重构代码,你会发现你会学到更多的东西。

  谢邀, 被google大神邀请诚惶诚恐. 虽然我编程水平在他面前就是个渣, 估计是看到题主的非计算机专业的学生如何学编程来吩咐我回答一下.

  利益相关: 金融学专业, 大三临时想去玩ACM, 准备了1个月, 比赛时在队伍中作出了75%的贡献, 得了区域赛银.

  我C++, matlab, R 什么的都是大学自学的, 以前玩的是pascal,vb. 我的经验是, 以某种目的为驱动去学编程是最快的. 你如果随便买本编程书看, 什么c++ primer 之类的, 就算你看完了你还是不会编程. 或者说你选修了学校计算机课, 学完了拿了90+ 可还是不会. 但是如果你本身想实现一点什么东西, 以这个为出发点学, 很快能学会. 比如说, 你对数据挖掘有兴趣, 然后看了那些算法书, 打算自己实现一个算法, 这个时候你选择了一个语言, 例如c++, 然后你就可以看看基础的语法就开始写吧. 或者说你接到一个单子做一个小软件, 然后你就可以看看基础的东西, 直接开始做, 不会的google 或 百度. 这样编程能力提高的很快, 千万别想着要看完一遍书做到任何知识点倒背如流再开始实践, 这样会学的很慢.

  题主国贸专业应该对李嘉图模型颇熟悉, 你写个程序实证一下世界各国的情况, 写完之后肯定写程序能力会提高不少.

  ================================================================这里说的编程可能不是知乎上主流软件工程开发的那种, 那种我也不会, 或许学那种真的要把编程书看的很认真. 我写c++从来都是在class里用public定义变量. 我这里说的是用程序去实现一些需要的计算. 题主国贸专业, 估计也是问的这种类型的编程吧?

  我面试ucb的mfe时没答上来虚函数是啥,傻逼了。果然非专业码农对这些无能为力。更新:后来面试还是过了呢 ...

  自学计算机编程有一个难点在于,你很难在一开始有些小喜悦。哪怕编一个好玩一点点的程序,你都需要从变量,循环和运算开始一个一个学起。

  就像学外语一样,当你背完一大堆字母和单词后,你才会体会到用外语沟通的一点点乐趣。错一点就全错,就不可能讲好。所以你得花很多时间背字母单词。很多人在这个时候就放弃了。这就是自学技术的一大门槛——枯燥。

  有什么方法可以让你学得又轻松又开心呢?答案还是有的。那就是通过游戏来学习。苹果2016年度最佳游戏中,有一款叫Human Resource Machine的游戏,就是用游戏的形式,教会你编程的主要思想。

  这游戏基本上把面向过程的编程方法和思想都涵盖在其中,让你边玩边学会了,而且还是使用有点难度的汇编语言... 连编程世界中的经典的冒泡排序都有....我自己硬花了一个通宵玩通关了,至今还意犹未尽...

  后来去百度,才发现很多玩家都玩疯了...还在比谁用的步数更少....人力资源机器吧_百度贴吧

  当然,如果你没有那么多的时间学编程,你还可以在下面这个APP上,利用坐公交等电梯等碎片时间,学习swift语言(苹果最时髦的开发语言)。

  这个应用的优点在于,它非常浅显易懂,可以用非常简单的例子教会你比较复杂的实现语法。而且你每懂一个语法,它就会帮你记录并存下一个里程碑,让你很容易坚持下来。

  我不建议你从“基础”开始,尤其是什么:C语言,数据结构,离散数学……之类的,那是把你逼疯的节奏(感觉这是知乎学院派的风格)。如果你自觉是神人级别的,当我没说。其实软件工程发展到今天,编程已经是一个很“职业化”的技能。业内自嘲“IT民工”,每天“搬砖”之类的,就是这种现象的反应。不扯远了,总之一句话,基本上都是些是个人都能学会的技术,没有什么神秘的。某些培训机构招一些高考失利的考生,培训两年就把他们往公司里送,他们也一样能胜任工作。所以自学也不是件难事。但前提是,你走对了路。如果你从二进制、编译原理、数据结构……这些开始,我估计你陷在里面就出不来了——除非有名师指点或者天赋异禀,再或者有大机缘?不要急着做这些“学究”式的学习研究,就像学开车一样,不需要你从发动机原理学起是一样的。程序/语言是让你用的,就像车是让你开的,明白了这一点,你就可以立马轻松100倍。所以,先选一辆“好开“的车,迅速的跑起来,享受这种微风拂面的快感和刺激,才是最重要的。由于你的问题过于简单,我不知道你成为程序员是想干什么,所以无法给你具体的建议。大致的:如果你是想做网站,可以向从静态页面(Html、CSS、javascript)入手,做一个漂漂亮亮的页面出来,先;然后加上一些功能,比如可以发布一篇文章,自然就需要构建动态页面的语言,我推荐,原因无它:好上手。当然,你还需要数据库,我推荐MSSQL,原因无它:好上手……这样一步步下来,你很快就能看到自己的成果,可以不断的产生自激励,你才能走得更远。其他方面,我不是很了解。但大致思路查不多,你想学游戏,就尽快弄出一个坦克大战出来;你想学Android,就马上整一个小APP出来;你想做嵌入式,就尽快弄个小机器人出来,呵呵。总之,要尽快做出东西来,丑也好俊也好,都要有个东西放在那里。看着自己的作品一点点成型的快感是难以言喻的!这就是我反对从数据结构,离散数学开始的原因,一是这些东西很难学,更重要的是,费了九牛二虎之力,学了你也就学了,你能用它干什么?学这些应该是你有了一定的基础,需要进一步提高钻研的时候,才应该考虑的东西。+++++++++++++++++++++++++++++++安利一个自己早年的经历:

  全栈开发,线上全程直播,可以免费收看;线下拎包入住,按周收费。如果你有兴趣了解一下,可以加(一起帮·源栈·有意向)

  另外一个(一起帮·老码农-4),也不说啥交流啦,就吹牛灌水,老码农小菜鸟打发时间聊聊天O(∩_∩)O~

  如果有英语一点基础可以上coursera,近期有一个口碑非常好的python课Rice大学的(只有字幕中文。

  python本身就是大家公认的入门好语言,这个课程也非常周到~老师也很幽默,并且不用搭设编程环境。

  专业造轮子,拉黑抢前排。/div

  如果你不想当程序员的话,那就看《Haskell 趣学指南》。如果你想当程序员,那就是用对个人用户免费但是功能又跟专业版一样多的Visual Studio 2013 Community 配合 C++Primer (没有Plus) 5th 中文版看。

  我自大一加入我校网络信息协会,一直在新人培训方面活跃,我想对于你的疑问我还是有一定的资格前来回答的。

  曾经我天真地以为全栈就是前端+后端+服务器运维,后来我给自己词典中的全栈增加了网络,再后来是嵌入式。

  后来发现,如果硬要说自己是全栈的话,还得能和哈雷大神那样从二极管开始造个超算(硬件)并用二进制写个配套系统才行(笑)。

  前面提到的每一样,都不是简简单单就能“会”的,那些知识是海量的,比如前端、后端、服务器,官方非官方的手册、KB可是很庞大的哦。

  不要看“7天入门”、“21天入门”、“30天深入浅出”、“60天从入门到精通”、“90天走上人生巅峰”什么的,这些书虽然不全是一无是处,但是并没有太多的帮助。

  个人推荐一些经典的动物书(OREILLY出品,大部分有中文译本)。

  避免做伸手党,伸手党通常不太受欢迎。遇到问题首先去试着搜索,查找下是否有人遇到相同或相似的问题,一般能找到解决方案。

  既然要做计算机,就不要把眼光局现在百度搜索、百度贴吧和国内所谓的“专业论坛”上,多用用Google,多看看Reddit,多翻翻Stackoverflow,这些渠道高到不知道哪里去了。

  搜索也是需要技巧的,要学会提取关键词。把你的问题用几个单词描述出来(不一定成句子)或者把你遇到的问题中关键信息找出来。

  另外不要看国内各种转载的博客,好多都是复制过来完事儿,将过时的甚至错误的信息弄得铺天盖地,完全没有帮助,甚至会让你走更多弯路。(所以我推荐使用英文搜索并避免使用百度,因为百度的英文搜索能力太差了,举例说明,竟然会把 C# 的报错信息匹配到只有一个单词相似的 VC 6.0 的相关文章)

  本人零光蛋基础。如果我说的哪一句是不着边儿的傻逼话,请多包涵。可以骂,我不怕。你别生气就好。

  我的目的:1)编一本汉语【拼音词典】 2)做一个打拼音文的【输入编辑】软件。让绝大多数小朋友们在认字之前就学写作,养成一生的写作习惯,成为第二天性。而不是只让少数人毕业后再送到英国去学习怎样写essay。让更多老外学好拼音中文,让中文流行天下。

  貌似文科,但自己发觉电脑什么的到我手里,所有的设置不搞定我就不定,茶饭无心,坐卧不宁,上班归心似箭。再看朋友们,那么好的东西买来做样子还是怎么的?因此,对于电脑是喜欢的。

  目前有工作。虽未达到财政自由,可以说差不多半自由吧。所以不指望回报吃饭。当然,将来弄个什么出来,能在亚马逊卖个好价,我会不要?要是有朝一日钻进去,能靠编东西吃饭,那我就找个山清水秀少人烟的地方搬过去⋯

  当然,有人能把上面的事做了,用不着我来了更好!说老实话,中文和汉语都迫切需要 upgrade 了!

  先用ㄈコㄩㄇ分別代表四个声调。再嵌入表音符号、部件或字,就成了假借字。可以设计一个汉语400音图。先设计出来,然后不断简化。

  (常用语素用默认汉拼。不常用的用异样拼。几乎无话力的则用外语拼或特定拼。拚法虽异,但仍都需要读作标准普通话的音)

  根据我的经验,上来就一堆名校公开课和国外知名教材,往往看了三天就放弃了(前期反馈太低)。

  1.使用下面两个网站:GeeksForGeeks和Leetcode。按照网站上提供的顺序学习和解题。

  推荐到网上下个视频教程,学起来比较简单省力。初学者读书学编程太费力了。

  学校时有C和matlab基础。C语言是公共必修,两个学期。matlab做过若干科学计算。

  某天突发奇想,开始自学编程。一开始就走了野路子,自学VC,考软考中级。后来了解到科班路线,自学CSAPP,CLRS,数据库,网络,龙虎鲸书。看了Cpp primer,effective cpp,深入cpp对象模型,cpp tamplates。这个阶段刷完CLRS习题算告一段落。

  第二阶段,来这里见识一些大神,知道函数式编程和PLT这么回事。囫囵过了一遍SICP,EOPL,TAPL,ATAPL,Mitchell的PLT,又沾了一点数理逻辑和范畴论的皮毛。于是自己做了一个玩具语言。

  后续打算看看PRML,deep learning,NLP和分布式计算的一些书?

  --------------------------------------

  补充,我是在工作的同时自学的。出学校时只会C语言和matlab,对CS几乎一无所知,也就白白浪费了最好的学习时机。后面因为工作中也需要自己写一些小工具,看到某种可能性也发现自己的兴趣所在,才走上这条道路。最早的时候是excel的VBA和VC写图形界面调用matlab,再后来也写一些VC程序控制串口通信设备做自动化。然后全面激发了对编程的兴趣全身心投入CS。若人真正下定了决心,时间、精力都不是问题。现在网络这么发达,什么知识都非常容易获取,唯一阻碍你学习的就是你的惰性和不自信。另外要有一个危机感,知识贬值周期越来越短。就算不是在IT行业,在传统行业,产品换代、工艺升级,旧的经验一文不值,20年经验被3年经验的新人随便替换,因为新人学习的成本越来越低。社会节奏逼着人越来越快,跟不上就玩完。

  最后说一句,英文非常重要。尽量看原版经典。实在不行就看翻译版。书的挑选是关键中的关键。好书能激发人的兴趣。越看越痛苦的书要远离。

本文链接:http://igorkralik.com/jiezengshansuo/205.html
上一篇:没有了
下一篇:闫燕飞:Kafka的高性能揭秘及优化

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top