1.做java程序员都要看哪些书
2.为什么程序圈的算法算法人总是说python程序员写的是伪代码?
3.C++从入门到进阶的系列书籍推荐
4.åµå
¥å¼ç³»ç»èªå¦
5.要成为一名专业的程序员,从零开始需要怎么一步步来比较好,导论导论要把最底层的源码源码先学精通吗?(个人认为)求学长
做java程序员都要看哪些书
我就是去年刚毕业的 ,买了好多书,算法算法开始买的导论导论是java圣经--《java编程思想》但是不适合初学者,因为是源码源码魔方动力网站源码外文翻译过来的,初学者很难懂,算法算法但它确实经典。导论导论后来我挑了很多书,源码源码我选中了《由浅入深学java》李志刚写的算法算法,电子工业出版社。导论导论我主要看中了里面不但有讲解,源码源码还有小练习,算法算法练习还有答案,导论导论这个对初学者很好。源码源码我用的技术是jsp+oracle。所以还买了一本数据库书《从入门到精通oracle》中国水利水电出版社,钱慎一,张素智写的。没深看,就学习基本的数据库添加、修改、删除语句。看了这两本书,我还是对我整个工程结构不明白,我有买了本《java web轻量级开发全体验》邓子云系的,电子工业出版社。这本书让我对框架有了清楚的了解还介绍用eclipse软件如何开发,我觉得非常值得你一看。
书是必须看的,此外我还经常去百度文库搜索我遇到的光年网课源码新鲜的技术术语,百度文库里我也学到了不少技术,js、spring、ssh、ibatis啊这些东西你不可能样样都买书,所以从网上看一样。没事我还经常去csdn网站,了解咱们IT行业最新前景,这都对咱们新手有很大帮助。
不明白的地方我经常去百度知道问,也会去帮助别人解答。这对自己知识的理解都有好处。
祝你学习愉快
为什么程序圈的人总是说python程序员写的是伪代码?
1. 伪代码通常指的是那些看起来像代码,但实际上并没有明确语义的编程表达。在程序员之间,有时候会用“伪代码”来形容某些高度抽象、难以理解,或者不够规范的代码。
2. 有些程序员编写的代码非常复杂,使用了大量的封装,使得其他开发者难以阅读和理解其源码。这种情况下,代码虽然看起来像是伪代码,但实际上它是一个功能完整的程序。
3. 对于伪代码是否重要,很多人认为这不重要。重要的是项目能否产生价值,无论是为公司还是为自己。代码最终是为了解决问题,而不是音乐猜歌源码为了使用最新的框架。
4. Python因其接近人类语言的特性,被认为是一种“胶水语言”,它更注重于解决问题而不是性能。因此,Python代码在结构上可能与传统的“低级代码”有所不同,但这并不意味着它是伪代码。
5. 程序员社区中有些人因为习惯了编写注重性能和细节的代码,可能会认为Python这样的高级语言不够“实在”。然而,对于没有编程经验的人来说,Python通常被认为是更易上手和理解的。
6. 那些说Python是伪代码的人,很可能并不真正理解编程的本质。通常,这种观点可能来自于那些没有正规编程教育背景的人。
7. 伪代码是一种用于教学和概念说明的工具,它没有编译器或解释器,因此不能运行。它在计算机科学的教育中扮演着重要角色,帮助学生理解算法和数据结构的概念。
8. 学习过《算法导论》或《数据结构》等课程的大学生通常会接触到伪代码,并且可能需要编写伪代码来更好地理解这些概念。
9. 伪代码有其独特的语法,需要一定的学习时间。例如,简单的赋值操作在伪代码中可能会有不同于实际编程语言的表现形式。
C++从入门到进阶的系列书籍推荐
要多读书,读好书!学习任何技能,阅读经典书籍都是底分买入源码不可或缺的一步。C++从入门到进阶,需要扎实的基础和深入的理解。接下来,我们将推荐一系列从入门到进阶的C++经典书籍,帮助您全面提升编程技能。1. C++入门书籍
了解C++之前,首先需要掌握C语言的基础。以下两本书是学习C语言的经典教材。1.1 C语言程序设计(谭浩强)
本书被广泛采用为学习C语言的教材,通俗易懂,是初学者的必备读物。我在解决编译问题时,翻阅了该书的相关章节,精准的表述让我恍然大悟,很多学生时代未理解的内容,有了工作经验后,豁然开朗。1.2 C++ Primer 中文版(第5版)
这是一本学习C++语言的经典入门教材,详细讲解了C++语言的基础语法和概念。最新版全面采用C++标准,体现了C++语言的重大进展。丰富的教学辅助内容、醒目的知识点提示和精心组织的编程示范,使得本书在C++领域内权威地位稳固。2. VC++/MFC书籍
在掌握C++基础后,可以从简单的Windows编程开始,逐步熟悉Visual Studio开发工具的使用。MFC虽然在大型商用项目中已较少使用,但它作为经典UI框架,对编写小型工具软件依然有重要作用。视频拍摄剪辑源码2.1 VC++深入详解(孙鑫)
这是一本学习Windows编程的入门经典教材,由浅入深地讲述Windows程序的内部运行机制、MFC框架、文本、菜单、对话框、文件操作、网络编程等多个主题。2.2 深入浅出MFC(侯捷)
本书深入学习MFC编程,分为四大篇,从学习MFC程序设计的基础到Visual C++开发环境,再到MFC核心程序,最后通过微软附带的Scribble程序实例,深入讲解Runtime Type Information、Dynamic Creation、Persistence、message Mapping、Command Routing等核心技术。3. C++进阶书籍
在具备一定开发经验后,需要深入理解C++特性,提高编写C++代码的效率和稳定性。3.1 Effective C++:改善程序与设计的个具体做法(第3版)(Scott Meyers著)
Scott Meyers的成名之作,是提升C++功力的绝佳契机。阅读这本书后,您的C++技能将显著提升。3.2 More Effective C++:个改善编程与设计的有效方法(Scott Meyers著)
本书是Scott Meyers Effective系列的进阶版本,深入解析C++编译器如何解释代码,助您编写出更健壮的软件。3.3 STL源码剖析(侯捷)
深入了解STL的内部实现,本书详细讲解了vector、list、heap、deque、Red Black tree、hash table等数据结构的实现,让您掌握各种算法的实现。4. Windows编程书籍
从事Windows应用程序开发的人,以下两本书是经典的选择,深入了解Windows系统特性。4.1 Win多线程程序设计(Jim Beveridge / Robert Wiener)
全书详细讲解Windows系统中的多线程编程技术,包括线程的启动和结束、核心对象、同步机制及其用途。4.2 Windows核心编程(Jeffrey Richter / christophe Nasarre)
本书是深入理解Windows特性的必备参考书,全面讲解Windows核心编程,引领数万程序员步入Windows开发领域。5. Linux书籍
Linux系统广泛应用于各种服务器,作为C++开发人员,学习Linux知识与技能至关重要。5.1 鸟哥的Unux私房菜
本书全面介绍了Linux系统的基本原理,适合初学者入门。5.2 Linux内核源代码情景分析
本书采用情景会话教学法,全面剖析Linux内核源代码,深入理解Linux系统特性。6. 汇编与软件调试书籍
掌握一定的汇编语言基础和软件调试技能,对于解决C++程序问题至关重要。6.1 汇编语言(王爽)
本书系统讲解汇编语言,为初学者提供循序渐进的学习路径。6.2 IDA Pro权威指南(Chris Eagle)
IDA Pro是应用广泛的静态反汇编工具,本书深入讲解其使用方法。6.3 软件调试(张银奎)
本书全面展示软件调试技术,是深入理解软件和自由驾驭软件的宝贵资料。6.4 格蠹汇编:软件调试案例集锦
本书通过具体案例解析软件调试,适合程序员和信息安全研究者阅读。7. 网络及TCP/IP协议
学习网络知识,掌握排查网络问题的方法是C++程序开发人员的必备技能。7.1 计算机网络(谢希仁)
本书系统介绍了计算机网络的基本原理和各种网络技术。7.2 TCP/IP详解(卷1、卷2、卷3)
本书从协议、实现和TCP事务协议等多个角度深入讲解TCP/IP协议。8. 设计模式、数据结构与算法
掌握设计模式、数据结构和算法是提高编程能力的关键。8.1 boost程序库完全开发指南(罗剑锋)
本书详细介绍boost库,帮助读者迅速掌握其用法和实际开发应用。8.2 大话设计模式(程杰)
本书以问答形式讲解设计模式,引导初学者理解设计背后的智慧。8.3 设计模式:可复用面向对象软件的基础(Erich Gamma / Richard Helm / Ralph Johnson)
本书精选个设计模式,总结面向对象设计中最有价值的经验。8.4 数据结构与算法分析(Mark Allen Weiss)
本书被世界众多大学用作教材,深入讨论算法和数据结构。8.5 算法导论(Thomas H. Cormen)
本书涵盖各类算法,旨在使不同层次的读者都能理解和接受。 通过阅读这些经典书籍,您将从C++的入门到进阶,全面提升编程技能,成为更加优秀的C++开发者。åµå ¥å¼ç³»ç»èªå¦
åµå ¥å¼ç³»ç»è½¯ä»¶å·¥ç¨ æ¹æ³å®ç¨ææ¯ååºç¨ï¼å è´¹ä¸è½½é¾æ¥:/s/No3IypKyLgbV4T9bw
æåç :stãåµå ¥å¼ç³»ç»è½¯ä»¶å·¥ç¨:åºç¡ç¥è¯ãæ¹æ³ååºç¨ãç³»ç»å°éè¿°åµå ¥å¼ç³»ç»è½¯ä»¶å·¥ç¨ææ¶åçè¿ç¨ãæ¹æ³ãå 容ï¼ä»¥åå¨å ¸åå·¥ä¸é¢åä¸çåºç¨ãå ¨ä¹¦å 容å为两大é¨åï¼ç¬¬ä¸é¨åä»ç»åµå ¥å¼ç³»ç»è½¯ä»¶å·¥ç¨æ¹æ³è®ºï¼ä¸»è¦å æ¬åµå ¥å¼è½¯ä»¶çå¼åè¿ç¨(éæ±å·¥ç¨ã软件åç³»ç»ä½ç³»ç»æãç¼ç¨åæµè¯çå 容)ï¼å¼ååæµè¯ä¸æéç¨çæ åï¼ä¸å®å ¨æ§ç¸å ³ç软件系ç»çåå ¥ï¼ä»¥ååµå ¥å¼è½¯ä»¶ææ¶åçæ³å¾é®é¢ï¼ç¬¬äºé¨åä»ç»åµå ¥å¼ç³»ç»è½¯ä»¶å¨æ±½è½¦é¢åã轨é交éé¢åãèªå¤©é¢åãå»çå¨æ¢°ãå·¥ä¸èªå¨åãéä¿¡ç³»ç»ä¸çåºç¨ï¼å¨æ¯ä¸ªåºç¨é¢åéç¹ä»ç»å ·ä½åºç¨é¢åçä¸äºç¹å®éæ±ãææ¯åéå¶æ¡ä»¶ï¼ä»¥åå®ä»¬å¯¹äºåµå ¥å¼ç³»ç»è½¯ä»¶å¼åè¿ç¨çå½±åã
要成为一名专业的程序员,从零开始需要怎么一步步来比较好,要把最底层的先学精通吗?(个人认为)求学长
前言
你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)
建议:
不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少年通用。
回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。
一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。
一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。
注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下:
现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows的图形界面不吃香了。
越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。
微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。详情参见《Windows编程革命史》
所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。
启蒙入门
1、 学习一门脚本语言,例如Python/Ruby
可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:
处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log)
遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果
跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量
学会用各种print之类简单粗暴的方式进行调试
学会用Google (phrase, domain, use reader to follow tech blogs)
为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。
2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具
Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。
Source Insight (或 ctag)
使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。
3、 熟悉Unix/Linux Shell和常见的命令行
如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧
一定要少用少用图形界面。
学会使用man来查看帮助
文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip …
学会使用一些文本操作命令 sed/awk/grep/tail/less/more …
学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd…
了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息
了解正则表达式,使用正则表达式来查找文件。
对于程序员来说Unix/Linux比Windows简单多了。(参看我四年前CSDN的博文《其实Unix很简单》)学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。
4、 学习Web基础(HTML/CSS/JS) + 服务器端技术 (LAMP)
未来必然是Web的世界,学习WEB基础的最佳网站是W3School。
学习HTML基本语法
学习CSS如何选中HTML元素并应用一些基本样式(关键词:box model)
学会用 Firefox + Firebug 或 chrome 查看你觉得很炫的网页结构,并动态修改。
学习使用Javascript操纵HTML元件。理解DOM和动态网页(Dynamic HTML: The Definitive Reference, 3rd Edition - O'Reilly Media) 网上有免费的章节,足够用了。或参看 DOM 。
学会用 Firefox + Firebug 或 chrome 调试Javascript代码(设置断点,查看变量,性能,控制台等)
在一台机器上配置Apache 或 Nginx
学习PHP,让后台PHP和前台HTML进行数据交互,对服务器相应浏览器请求形成初步认识。实现一个表单提交和反显的功能。
把PHP连接本地或者远程数据库 MySQL(MySQL 和 SQL现学现用够了)
跟完一个名校的网络编程课程(例如:(升级版为Kyoto Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。