我先简单介绍一下我的学习路线:
c -c++ -python -java
我对c和c++比较熟悉。我只能说python和java都可以。我这么说是为了让读过的朋友有一个挑剔的眼光。毕竟我的水平有限。例如,如果你对c++不熟悉,可以参考我的研究。比如你对Java比较熟悉,就不需要参考我的,也可以在评论区发表你的好方法或者不同的意见,一起学习,共同进步。
首先,我们先随便说一下这些语言的特点。我们来谈谈关于这些语言该读哪些书。我们来谈谈用什么工具来编写这些语言。
开头随便聊聊
刚开始学习编程的时候,接触了C语言,读了《c 程序设计》。是的,谭浩强这个老将,一开始就觉得自己很傻。这种i++、++i他都做不到哈哈~。
所以刚开始学习编程的时候,速度很慢,有时无法继续学习,直到网上看了一些前辈学习过程的文章。
我了解到一本好书对你的学习非常重要
于是我就在网上买了一份《c和指针》。当我读到这本书时,我突然醒悟了。以前认为比较混乱的知识变得清晰了一点,学到了更多的知识。
后来在学习C++的时候,买了第四版的《c++ primer》。我读了一个多月,快读完了。当时我对课后习题的态度就是看一眼就觉得差不多了,就过去了。嗯,这种自我感觉是不可取的。当然,我是在实战中尝到了后果的。有很多错误,而且我对语言不熟悉。
我了解到书中的练习和作业问题有多么重要
当我尝到后果后,我该怎么办?我们再学习一下。这次我下定决心重新学习C++。无意中在群里看到了第五版《c++ primer》。我姐姐说这是新的。我头晕了。第一版这么快就出版了。已经是第五版了,应该不会有什么太大的区别……看了目录,发现这个和这个……差别太大了。在内心的挣扎中,我读完了《c++ primer》第五版,开始学习了!在学习过程中,我对第四版的知识还是有印象的,所以我发现了第四版和第五版之间的巨大差距,以及c++11的更新有多么重要(我看到一个大三学生在读前段时间c++primer第三版,这也是我决定写这篇文章的原因之一)。
我知道过时的知识点,就让它们过去吧。我应该学习被公众认可(应用)的更新的知识。
因为惨痛的经历,我读第五版的速度很慢。我把练习题和课后题打出来,记下遇到的坑和关键知识,记录在博客上,因为C++是一门比较复杂的语言。当我忘记一些知识点时,我可以很快在我的博客上找到并记住它们。
我了解到记笔记是多么重要。
当然,做笔记是一件很费时间的事情。这取决于你自己的情况。 C++的学习需要很长时间。看完《c++ primer》之后,我还看了一些其他的C++书籍,后面会讲到。直到今年5月我才开始学习Python。我用了大约2周的时间读完了《python核心编程》,并回答了大部分课后问题。阅读过程非常顺利。我很感谢我之前在阅读C++方面所做的努力,即使它很慢。
我知道付出的努力总是值得的
下面就是在做项目的时候如何使用Java。这时候我改变了学习语言的方式,推荐了孟岩老师的一篇文章:快速掌握一门语言最常用的50%这篇文章很好,但是适合语言基础类似的人,类似于语言基础参考,例如,如果你了解C++,这是一种面向对象的语言,那么如果你学习Python或Java,你可以按照上面的方法进行。
我学Java的时候大家都说《thinking in java》好。他们说学了C++之后学Java就容易了。一开始读《thinking in java》还比较容易,直到看到第14章类型信息,我就卡住了。其中一些确实很难。这很难理解。虽然都是面向过程的语言,但是很多地方还是不一样的。并且Java语言有其自身的特点。如果您只是想使用它,那非常简单。第28条定理,我们最常用的东西的百分之二十,我想了解一下原理。比如我看看Java容器是如何实现的?那你就得学一些原理,现在没那么容易了。
我明白,每种语言都有自己的特点,我们应该找到它的特点来打破它,而不是从一种语言来看其他语言。
以上是我的大致学习路线。让我随便聊聊。希望您看完后有一些想法和收获。学习本身就是一个不断完善、进步的过程。
聊聊这些语言的特点
printf("C语言n");
我个人认为C语言非常适合作为入门语言。
语法很简单,没有那么多语法糖。如果你是第一次接触编程,我想你不应该接触过于“封装严密”的语言,比如python。 Python是一门抽象程度比较高的语言,存在大量的语法糖,这会让我们在某些语言中迷失方向。 “酷”的东西,却忘记了一些本质,而且作为一个入门级的作家,如果习惯了写c/c++,写python会很不适应。毕竟,你必须自己实现一切,并且需要定义变量? - -,我并不是说python不好。书写方便,也解放了人类。它不适合初学者。 C语言可以让我们了解一些底层的知识。语言只是计算机系统的一部分。这并不意味着您已经学会了该语言。还有一些操作系统、网络等方面的知识,但是C是除了汇编之外最接近底层的。语言让我们在编写的过程中能够学到一些系统的底层知识,这对于以后的学习和发展是非常有好处的。建议在linux下学习。 std:cout "C++" std:endl;C++ 是一种非常复杂的语言。学好不容易,用好也不容易。我不建议快速入门C++。快速上手只会让自己和队友难堪。建议安静学习c++。下定决心,整体看一遍,然后在实战中锻炼自己。
特点C++是一种面向对象的语言,但由于它需要与C语言兼容,所以它并不是一种纯粹的面向对象的语言。如果你想学习面向对象编程的思想,建议学习Java。
c++的效率和性能都比较高。我怎么能这样说呢?像python这样的解释性语言被排除在外。 c++的开发效率比c高(STL可以帮你省去很多工作),性能比java好(但是开发效率比Java低,具体选择取决于我们是否追求性能或节省时间)。
C++适合底层的人学习,比如后端开发等,使用C语言开发效率稍低,而Java都是封装的,所以我个人认为选择C++不错。
近年来,C++ 不断改进。 C++11/14更新了很多内容,极大地提高了我们的开发效率。 c++17标准也正在起草中,这是相当令人兴奋的。
System.out.println("Java");
接触Java后,不得不承认Java开发的效率是非常高的,而且Java的应用领域非常广泛。学习Java Web、Android等的人也很多,有很多成熟的框架和开发工具,jdk也在更新。至1.8。
Java是一种纯粹的面向对象的编程语言。学习的时候一定要记得理解为什么要这样设计和写。 Java框架、库和IDE有很多,所以要充分利用成熟的库和框架。如果有兴趣的话可以看看一些框架的源码,比如netty,在那里可以学到很多东西。其中使用了很多设计模式。我个人觉得很值得学习。由于Java是基于虚拟机JVM的,因此具有非常好的跨平台支持。 Java非常健壮,其异常系统也非常完善。它本身就支持多线程,编写多线程程序效率更高。打印“蟒蛇”
Python是一种功能强大、库众多的脚本语言。非常容易编写,开发效率高。近年来,越来越多的人使用它。
语法简洁,使用起来非常方便。比如使用切片来处理字符串就非常方便。但由于是解释型语言,速度比较慢。有很多应用广泛的库,包括网络爬虫、系统编程、网页编程、数学图形、文本处理等,被称为胶水语言,可以将很多语言模块组合在一起。对多线程的支持不好。由于GIL中多线程的存在,它只能运行在单核上,但是它支持进程和协程。水平有限,以上只讲了我所知道的一部分。不过我个人认为需要熟悉一门面向对象的语言,感兴趣的方向根据自己学习的方向而定。
聊聊这些语言看什么书
你要学会辨别哪些书是好书。读一本好书确实可以节省你的时间!我一般会去豆瓣看评分和评论,网上搜索看评论等,然后看目录,觉得好的东西就买。
printf("C语言n");
《C和指针》《C和指针》将其视为一本真正的编程启蒙书。 C 编程语言《C 程序设计语言》C 语言很经典,评价很高。就我个人而言,我认为只要选一本书并完整地阅读它即可。
std:cout "C++" std:endl;
《c++《C++ primer》 看第五版就一定要看第五版。我想将很多东西与第四版进行比较。内容很详细,课后题也很好,方便你查漏补缺。
《effective《Effective C++》 以术语的形式列出了C++的知识点和陷阱以及一些技巧。可以作为进阶书籍使用。
有效的STL《Effective STL》STL是C++最重要的组成部分。关于如何用好它,你可以阅读这本书。
《深度探索c++对象模型》《深度探索c++对象模型》这也是一本C++进阶书籍。主要侧重于理解C++对象的内部模型。例如,如果定义了一个类,它的内部是如何表示的?
《STL《STL 源码剖析》 如果您读完以上内容,您可以继续阅读本书。我自己只读了其中的一小部分。我技术不够,很难理解。主要是关于模板编程技巧和数据结构。
参考顺序:c++primer - effective c++ - effective stl - 深入探索c++对象模型- STL源码分析,最后两本书不分先后。
System.out.println("Java");
《Thinking in java》《Thinking in java》绝对的好书,每句话都值得仔细阅读,但不适合初学者,需要一定的基本功。
《疯狂java讲义》《疯狂java讲义》看了一小部分,觉得还不错。内容比较容易理解。它不像java中的思考那样需要大量的思考,所以适合入门。
《Java核心技术卷1》《Java核心技术卷1》评价也比较好,不过没看过。已经是第九版了。
《Effective Java》《Effective Java》看完上面的一本,你就差不多可以看这本了,一本Java进阶的书。
Thinking in Java,Java核心技术编程卷1,疯狂Java讲义随便选一篇。如果你没有面向对象编程的基础,我不建议阅读Thinking in Java。如果你看过的话,可以看看Effective java。
打印“蟒蛇”
《python核心编程》《python核心编程》介绍的不错,内容也比较广泛,包括socket、web编程、数据库编程等,但是错别字不少。我在寻找时发现了几件事。
《python cookbook》《python cookbook》进阶使用的Python编程技巧全集。
python学习手册好像也不错。只需选择一本作为基础知识,然后阅读python 食谱来了解更高级的知识。
总结:学习一门语言需要付出很大的努力,所以建议根据自己的兴趣选择学习。比如,如果你喜欢java web,那么你可以努力学习java、c++和python。如果你不明白,也没关系。有什么大不了的。
不要贪得太多,尤其是同时学习两门学科,会造成混乱。
不要贪得太多,尤其是同时学习两门学科,会造成混乱。
不要贪得太多,尤其是同时学习两科,会很糊涂,重要的事情说三遍。
我推荐这些我读过或搜索过的书。个人认为比较好,但是并不代表我推荐的就很好。大家在选择的时候可以参考一下。其实还是要你自己去研究。多请教一些资深的、有经验的人,看看目录是否适合你。不要盲目地选择主题并开始工作。
聊聊用什么工具编写这些语言
c/c++个人认为是vim~。学习Linux下的编程比较好。
编译器gcc/clang 可以工作。使用gdb 进行调试
维姆
javaEclipse比较流行,我个人认为这个想法也不错。
python没写多少,用vim写的。
Vim 一旦配置好就非常容易使用。你可以研究一下。
【探索编程语言学习的奥秘】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
学编程感觉是人生的一场修行啊!
有18位网友表示赞同!
刚开始接触编程的时候真难懂,现在回头看觉得还挺有成就感的。
有7位网友表示赞同!
一直想学习编程,但总是找不到合适的入门路线。
有8位网友表示赞同!
不同类型的编程语言各有优缺点,哪个比较好学呢?
有8位网友表示赞同!
分享一下你的学习资源吧,我也想去试试!
有8位网友表示赞同!
学习编程真的需要坚持不懈才行啊!
有19位网友表示赞同!
我目前还在摸索Python这个语言,感觉很有意思。
有10位网友表示赞同!
编程真是一门奇妙的学科,能编织出精彩世界的技能!
有6位网友表示赞同!
希望能找到一个靠谱的学习方法,快速入门编程的世界。
有18位网友表示赞同!
听说Java很受用,有学过的人吗?
有20位网友表示赞同!
对编程未来的发展趋势挺好奇的,还会出现哪些新的语言呢?
有12位网友表示赞同!
学编程最大的乐趣就是解决问题的感觉!
有13位网友表示赞同!
学习的过程真的很有挑战,但最终看到自己写出的代码,感觉很棒!
有9位网友表示赞同!
希望大家都能找到适合自己的编程之路。
有11位网友表示赞同!
分享一下你的学习经验吧,给想入行的人一些建议!
有16位网友表示赞同!
编程语言的世界真是太广阔了,有很多好玩的知识要探索!
有12位网友表示赞同!
一起加油学习编程吧!
有16位网友表示赞同!
感觉学习编程能提升逻辑思维能力哦!
有11位网友表示赞同!
最近在研究算法,蛮有趣的!
有20位网友表示赞同!