个人是这样想的:1.如果想长期发展,走专业路线——毫无疑问,C这两种语言本身其实很简单。注意,我说的是语言本身的简单性,也就是基本的语法和规范。其实没什么难的。但两种语言的“文化背景”不同。C虽然也是一种高级语言,但C本身是一种通用编程语言。它最初是为专业程序员设计的。其实从使用上就可以看出,除了我们熟悉的应用程序,驱动程序、单片机等其实都可以用C来完成。因此,在学习C的时候,一定要了解一些计算机基础架构从头开始,比如经典问题:int类型占多少字节。其实这也隐含着一些其他的知识储备。简单来说,你需要系统地了解计算机系统中的数据和操作都是什么。最起码,你得明白你的程序是如何在内存中存储和检索数据的,这样整个程序才能稳定运行。简单点说,如果你想从C往上走,那么你的知识和技能就必须比较系统。2.如果想短期发展,走应用路线——毫无疑问,PythonPython最初是为科研人员设计的。不要太看好这个群体,绝大多数科研人员其实都不太擅长编程。当然,原因并不是他们没有这个能力,而是:(1)他们90%的精力都花在了自己的研究上,没有太多时间去玩其他的东西。(2)他们关注的是如何得到结果,而不太关心数据处理和分析的过程。因为它已经被数学家和理论科学家证明过,所以你可以放心使用。(当然他们也有自己一套完整的逻辑来验证他们的结果)。因此,Python从一开始就被设计为易于使用。那么这样会减轻程序员的负担,而且会帮你自己解决很多问题。比如内存管理(当然深入之后一定要考虑,但大多数时候是没有必要的)等等。这样一来,Python用户其实可以更专注于如何实现自己的业务需求,而不必过多考虑计算机程序本身。说到这里,我们再回到题目的描述上。如果你想满足当下的好奇心,继续用计算机程序实现自己有趣的想法,可以从Python入手。这可以为您节省大量时间,让您更快地实现您的想法。关于这两个程序的学习方法:我回答这个问题比较谨慎,因为我个人的经历不太一样(从VB基础,到C,再到3年.NET,再到用MATLAB做研究,再到Python;系统学过软件工程课程,但长期写程序主要是为了业务)。走C的路线:个人觉得可能比较无聊。因为从C开始,再到C++,之后,还是要看一些数据结构,这样才能更愉快的去玩其他的东西。所以这一行的路线个人认为走的路是:C-->C++(重点理解面向对象)-->数据结构(最好加一点离散数学,不然太抽象了选修:算法分析(最好把题目看完整)编译原理,操作系统(理解学习)按照Ptyhon的路线:必修:Python基础选修:(这里完全根据自己的需要)科学计算:Numpy(scipy)数据分析:Pandas机器学习:Sklearn深度学习:Pytorch(当然还有很多,个人推荐这个)至于学习方法:首先,题主有VB的基础,其实他已经具备基本的编程技能和一点伪面向对象的知识(VB本质上是伪面向对象的)。所以个人觉得过于基础的东西可以直接浏览。重点放在不同的语法特征上。其次,学习过程一开始以视频为主。熟悉之后,可以加快视频的速度,专注于文档。因为一开始的学习其实是一个适应的过程,但是在逐渐熟悉了基本的语法和规范之后,很多东西就可以从概念上理解了。别说得太详细,其实是浪费时间。基本熟悉语言本身后,就看你自己的需要了。如果你是从C开始的,你可能不得不使用C++的MFC之类的东西来制作一个应用程序。如果是做WEB的话,不建议直接用C,因为很多时候,你都是用C来做逻辑和计算的。事实上,UI和基本框架通常是用其他语言构建的。比如PHP经常这样使用,就是在PHPFramework中完成,用C来做一些复杂的操作。如果你从Python开始当然会更容易。熟悉了基本用法之后,就可以直接按照自己的想法找库,然后设计,然后慢慢实现。这里最后要强调的是,我个人认为程序其实最终还是以需求为导向的。公司这边的需求是客户的需求,是老板的需求。至于自学,其实是我自己的想法。我把自己当成一个用户,然后根据自己的需要去拆解任务,最后实现。想必题主也应该是想成为一个可以独立开发的程序员(级别),所以在学习的过程中,让自己一个一个的完成项目其实是非常重要的。因为这样不仅可以让你不断提升自己的意识,不仅仅是单纯的熟练技能,还可以让自己不断的积累。随着你业务理解的加深和技能的成熟,这些小项目可以一个一个完成。建立它并最终为自己服务。
