当前位置:首页 » 编程软件 » 十年编程无师自通

十年编程无师自通

发布时间: 2022-09-03 08:25:39

编程专业都有什么门槛

首先如果你之前想入门编程的话,可以考虑Python,这个还是比较好学的,基本没有门槛,上手容易,一两本Python的教材就可以学到一点。如果是想深入的话,那么应该有较高的逻辑思维能力,有一定的英语和高等数学基础,同时还应该有一定的编程基础、计算机的基础知识等才能深入地学习编程。同时没有系统的学习,没有人指导,靠无师自通的话深入编程还是非常难的。

❷ 自学编程十年,依然没有编写出过什么有用的东西

理论和实践区别很大的。如果想进步 最好的办法就是进公司,跟着做几个项目。要不就是网上搜一些项目,自己试着去做一做。这些就跟在学校里边学到的东西,等进到了社会,还要实际碰到了才能真正明白是一个道理。

❸ c++学到什么程度才能成为程序员

用十年学习编程 为什么每个人都急不可耐?
2005-07-23 09:18作者:出处:Csdn.net责任编辑:贾佳
走进任何一家书店,你会看见《Teach Yourself java in 7 Days》(7天Java无师自通)的旁边是一长排看不到尽头的类似书籍,它们要教会你Visual Basic、Windows、Internet等等,而只需要几天甚至几小时。我在Amazon.com上进行了如下搜索:
pubdate: after 1992 and title: days and (title: learn or title: teach yourself)
(出版日期:1992年后 and 书名:天 and (书名:学会 or 书名:无师自通))
我一共得到了248个搜索结果。前面的78个是计算机书籍(第79个是《Learn Bengali in 30 days》,30天学会孟加拉语)。我把关键词“days”换成“hours”,得到了非常相似的结果:这次有253本书,头77本是计算机书籍,第78本是《Teach Yourself Grammar and Style in 24 Hours》(24小时学会文法和文体)。头200本书中,有96%是计算机书籍。
结论是,要么是人们非常急于学会计算机,要么就是不知道为什么计算机惊人地简单,比任何东西都容易学会。没有一本书是要在几天里教会人们欣赏贝多芬或者量子物理学,甚至怎样给狗打扮。
让我们来分析一下像《Learn Pascal in Three Days》(3天学会Pascal)这样的题目到底是什么意思:
学会:在3天时间里,你不够时间写一些有意义的程序,并从它们的失败与成功中学习。你不够时间跟一些有经验的程序员一起工作,你不会知道在那样的环境中是什么滋味。简而言之,没有足够的时间让你学到很多东西。所以这些书谈论的只是表面上的精通,而非深入的理解。如Alexander Pope(英国诗人、作家,1688-1744)所言,一知半解是危险的(a little learning is a dangerous thing)
Pascal:在3天时间里你可以学会Pascal的语法(如果你已经会一门类似的语言),但你无法学到多少如何运用这些语法。简而言之,如果你是,比如说一个Basic程序员,你可以学会用Pascal语法写出Basic风格的程序,但你学不到Pascal真正的优点(和缺点)。那关键在哪里?Alan Perlis(ACM第一任主席,图灵奖得主,1922-1990)曾经说过:“如果一门语言不能影响你对编程的想法,那它就不值得去学”。另一种观点是,有时候你不得不学一点Pascal(更可能是Visual Basic和javascript之类)的皮毛,因为你需要接触现有的工具,用来完成特定的任务。但此时你不是在学习如何编程,你是在学习如何完成任务。
3天:不幸的是,这是不够的,正如下一节所言。
10年编程无师自通
一些研究者(Hayes、Bloom)的研究表明,在许多领域,都需要大约10 年时间才能培养出专业技能,包括国际象棋、作曲、绘画、钢琴、游泳、网球,以及神经心理学和拓扑学的研究。似乎并不存在真正的捷径:即使是莫扎特,他4 岁就显露出音乐天才,在他写出世界级的音乐之前仍然用了超过13年时间。再看另一种音乐类型的披头士,他们似乎是在1964年的Ed Sullivan节目中突然冒头的。但其实他们从1957年就开始表演了,即使他们很早就显示出了巨大的吸引力,他们第一次真正的成功——Sgt. Peppers——也要到1967年才发行。Samuel Johnson(英国诗人)认为10 年还是不够的:“任何领域的卓越成就都只能通过一生的努力来获得;稍低一点的代价也换不来。”(Excellence in any department can be attained only by the labor of a lifetime; it is not to be purchased at a lesser price.) 乔叟(Chaucer,英国诗人,1340-1400)也抱怨说:“生命如此短暂,掌握技艺却要如此长久。”(the lyf so short, the craft so long to lerne.)
下面是我在编程这个行当里获得成功的处方:
对编程感兴趣,因为乐趣而去编程。确定始终都能保持足够的乐趣,以致你能够将10年时间投入其中。
跟其他程序员交谈;阅读其他程序。这比任何书籍或训练课程都更重要。
编程最好的学习是从实践中学习。用更加技术性的语言来讲,“个体在特定领域最高水平的表现不是作为长期的经验的结果而自动获得的,但即使是非常富有经验的个体也可以通过刻意的努力而提高其表现水平。”(p. 366),而且“最有效的学习要求为特定个体制定适当难度的任务,有意义的反馈,以及重复及改正错误的机会。”(p. 20-21)《Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life》(在实践中认知:心智、数学和日常生活的文化)是关于这个观点的一本有趣的参考书。
如果你愿意,在大学里花上4年时间(或者再花几年读研究生)。这能让你获得一些工作的入门资格,还能让你对此领域有更深入的理解,但如果你不喜欢进学校,(作出一点牺牲)你在工作中也同样能获得类似的经验。在任何情况下,单从书本上学习都是不够的。“计算机科学的教育不会让任何人成为内行的程序员,正如研究画笔和颜料不会让任何人成为内行的画家”, Eric Raymond,《The New Hacker's Dictionary》(新黑客字典)的作者如是说。我曾经雇用过的最优秀的程序员之一仅有高中学历;但他创造出了许多伟大的软件,甚至有讨论他本人的新闻组,而且股票期权让他达到我无法企及的富有程度(译注:指Jamie Zawinski,Xemacs和Netscape的作者)。
跟别的程序员一起完成项目。在一些项目中成为最好的程序员;在其他一些项目中当最差的一个。当你是最好的程序员时,你要测试自己领导项目的能力,并通过你的洞见鼓舞其他人。当你是最差的时候,你学习高手们在做些什么,以及他们不喜欢做什么(因为他们让你帮他们做那些事)。
接手别的程序员完成项目。用心理解别人编写的程序。看看在没有最初的程序员在场的时候理解和修改程序需要些什么。想一想怎样设计你的程序才能让别人接手维护你的程序时更容易一些。
学会至少半打编程语言。包括一门支持类抽象(class abstraction)的语言(如Java或C++),一门支持函数抽象(functional abstraction)的语言(如Lisp或ML),一门支持句法抽象(syntactic abstraction)的语言(如Lisp),一门支持说明性规约(declarative specification)的语言(如Prolog或C++模版),一门支持协程(coroutine)的语言(如Icon或Scheme),以及一门支持并行处理(parallelism)的语言(如Sisal)。
记住在“计算机科学”这个词组里包含“计算机”这个词。了解你的计算机执行一条指令要多长时间,从内存中取一个word要多长时间(包括缓存命中和未命中的情况),从磁盘上读取连续的数据要多长时间,定位到磁盘上的新位置又要多长时间。(答案在这里。)
尝试参与到一项语言标准化工作中。可以是ANSI C++委员会,也可以是决定自己团队的编码风格到底采用2个空格的缩进还是4个。不论是哪一种,你都可以学到在这门语言中到底人们喜欢些什么,他们有多喜欢,甚至有可能稍微了解为什么他们会有这样的感觉。
拥有尽快从语言标准化工作中抽身的良好判断力。
抱着这些想法,我很怀疑从书上到底能学到多少东西。在我第一个孩子出生前,我读完了所有“怎样……”的书,却仍然感到自己是个茫无头绪的新手。30个月后,我第二个孩子出生的时候,我重新拿起那些书来复习了吗?不。相反,我依靠我自己的经验,结果比专家写的几千页东西更有用更靠得住。
Fred Brooks在他的短文《No Silver Bullets》(没有银弹)中确立了如何发现杰出的软件设计者的三步规划:
尽早系统地识别出最好的设计者群体。
指派一个事业上的导师负责有潜质的对象的发展,小心地帮他保持职业生涯的履历。
让成长中的设计师们有机会互相影响,互相激励。
这实际上是假定了有些人本身就具有成为杰出设计师的必要潜质;要做的只是引导他们前进。Alan Perlis说得更简洁:“每个人都可以被教授如何雕塑;而对米开朗基罗来说,能教给他的倒是怎样能够不去雕塑。杰出的程序员也一样”。
所以尽管去买那些Java书;你很可能会从中找到些用处。但你的生活,或者你作为程序员的真正的专业技术,并不会因此在24小时、24天甚至24个月内发生真正的变化。

❹ android编程自学难吗

对android编程的理解:
1.上层(java层)
1)Android应用入门易,深入难,主要是用java来做,还有部分通过JNI,NDK调用C/C++的函数
2)framework比起app有些深度了。
2. 中下层(C/C++, linux)
1)Library, Android Runtime, HAL,对有的人来说,还是陌生的,但有C/C++基础,理解起来可能还相对容易些
2)Linux Kernel,底层驱动,需要linux知识,硬件知识,编写硬件驱动,入门和深入都难
另外,目前个人情况,只了解上层application,比较大的项目只做过一个音乐播放器的,其他的都是小练习。
面试评价,属于android初学者,但有5年多工作经验,待遇还算不错,比起做了五年的对日外包的面试待遇要高些。

❺ 十年前的编程语言还有哪些仍然在用

十年、甚至二十年前出现,现在仍然使用的编程语言太多了!主要的有:
1)C/C++(至少有30年历史)
2)JAVA(起码20年历史)
3)其他语言,还有人用98年出现的VB6.0、Delph.....

❻ 32岁了,想自学编程还来得及吗

来得及的,好多人都是跳槽或者转行,自学编程语言一定的英语基础和理解能力,因为编程语言表达的是逻辑思维,不像其他行业。编程还考验一个人的耐心,因为程序编码过程中,有一个符号不对执行也会报错。如果你下定决心学编程,你要先选好方向,比如,大数据,Java开发工程师,前端开发工程师。等等,如果你选好了方向,那么就可以向着这个方向进军了。祝你好运。

❼ 学习程序设计

呵呵,15岁有这种想法确实不错的,但是对于要怎样学习程序涉及其实最重要的还是看你感兴趣的方向,因为各种程序应用的主体方向都不同,但是基础你是必须打好的。其实我个人的看法,C语言不一定要学会,如果你够恒心和毅力你可以直接学JAVA,没有任何基础都没问题的,其过程可能会比学过C的人漫长一点,但是其效果绝对不会比学过C的人差,或许很多人还能更好的掌握,因为存在一种思路的问题,JAVA是面向对象的编程,很多人都觉得C的思路转换为JAVA比较困难,所以存在一个瓶颈。如果对JAVA没有兴趣,那么你可以学C#,你可以学ASP.NET,当然基础的东西还是要强调,毕竟没有基础看这些高级语言是很辛苦的。所以看你个人所好。但是有一点,千万不要一开始就看C++,这个是可以肯定对你没有任何好处的,从很多角度上说C++的编程比JAVA比C#都要难。有这么一句话:写C++的人看写JAVA的人,就犹如老子看儿子。
但是介于楼主的年龄,我认为还是先加强点基础,因为我不知道你的相关知道到哪里去了,有很多东西你没接触过你可能根本不了解,所以,还是了解好比如VB,C的基础好,不需要掌握,你只需要了解最基本的语句结构和编程模式就行了,但是不要被C的编程思维所局限,那样对你日后学JAVA,C#没有任何好处。

❽ 学习计算机编程

想学深
大学计算机系的数学嘿嘿
比如离散数学!$#^$%*^^(
英语没关系
自己摸索摸索就懂了
不行就去买本计算机的英语字典查查

❾ 请问5年或十年以后CNC编程(数控编程)会发展成什么样的

5年以后CNC编程(数控编程)可能会发展成为主流.
十年以后CNC编程(数控编程)会渐渐的被其他高能技术所代替,也就是说有可能淘汰!

❿ 编程能自学吗

编程当然可以自学。自学编程大约需要两三个月,每天抽出两三个星期把基础全部学习一遍,其他都是建立在基础之上的东西,学起来就会很快。

以下是关于零基础学习编程的建议:

1.准备一个相对好的运行速度快的电脑,然后安装一个操作系统(建议Windows操作系统)。不要让一台速度缓慢的电脑浪费你的时间。

2.选择一个正确的打字指法。此外,还要熟悉一些Windows快捷键和文本编辑器。

3.学习计算机科学,第一步就是学习一门编程语言。下面就是这种语言的利弊:

a.C语言

【优点】:你可以学习到许多底层的知识,给你夯实基础。

【缺点】:C语言不支持面向对象编程,你很难使用它直接找到一份工作

b.C++

【优点】:很多用法和C一样,但是却支持面向对象编程

【缺点】:有太多的知识点要学习,相对比较复杂的语言,有多个版本要选择

c.Java/C#/Python/JavaScript

【优点】:简单的语法,隐藏了低层次的知识点,可读性强,学好它容易找工作

【缺点】:你将丢失很多底层的知识点

推荐自学编程的教科书:

《C程序设计语言第二版·新版》

(10)十年编程无师自通扩展阅读:

编程是编写程序的中文简称,就是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。

这种人和计算体系之间交流的过程就是编程。

编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】

参考链接:编程_网络

热点内容
锐志哪个配置性价比最高 发布:2025-02-12 17:38:43 浏览:918
智能推送算法 发布:2025-02-12 17:38:41 浏览:834
拍照上传器 发布:2025-02-12 17:34:29 浏览:651
androidweb框架 发布:2025-02-12 17:32:45 浏览:75
安卓编程贺卡 发布:2025-02-12 17:32:44 浏览:838
php获取数据库的字段 发布:2025-02-12 17:29:02 浏览:766
服务器地址消失 发布:2025-02-12 17:23:36 浏览:951
后台执行php脚本 发布:2025-02-12 17:21:45 浏览:471
spring编程式事务 发布:2025-02-12 17:16:55 浏览:398
nginx禁止ip访问 发布:2025-02-12 17:15:14 浏览:273