C和Python我该先学什么?

2024-04-27 18:18
文章标签 python 我该 先学

本文主要是介绍C和Python我该先学什么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

个人认为这样考虑:

1、如果想长线发展,走专业路线 --毫无疑问是C

两种语言其实本身都简单,注意我说的是语言本身简单,也就是说基本的语法、规范啥的其实都不难。但两个语言的“文化背景”不一样。

C虽然同为高级语言,C本身是面向通用编程的一门语言,它设计之初就是为专业程序员量身定做的。从用途上其实就能看出来,除了我们熟悉的应用程序以外,驱动、单片机等其实都可以用C来做。

因此在学C的时候,一开始就要懂得计算机的一些基本架构,比如那个经典的问题:int类型占几个字节。其实这就隐含了一些别的知识储备。简单来说就是你需要比较系统地理解计算机系统中的数据和运算究竟是怎么一回事。最最起码你得懂得你的程序是如何在内存中存、取数据,从而使得整个程序能够稳定运行的。

再说得简单一点,如果要从C往上走,那么知识和技能就要相对系统。

2、如果想短线发展,走应用路线-- 毫无疑问是 Python

Python在设计之初其实是为了科研人员使用的。不要太高看这个群体,科研人员绝大多数其实程序能力都不咋地。当然原因并不是说他们没这个能力,而是:(1) 他们9成的精力都要花在自己的研究上,没有太多时间来玩别的。(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就经常这样玩,也就是用PHP做框架,一些复杂的运算的时候用C。

如果从Python出发当然就更简单。熟悉基本的用法之后就可以直接根据自己的想法去找库,然后设计,再慢慢把它实现就行了。

这里最后强调一点的是,个人认为程序到最后其实都是需求导向。这里的需求在公司的话就是客户的需求,老板的需求。而对于自己学习其实就是自己的想法,把自己当成用户,然后针对自己的需求去拆解任务,最终实现。想必题主应该也是想要成为能够独立开发的程序员(水平),那么在学习的过程中,让自己一个一个项目地完整地完成其实也非常重要。因为这样既能让自己在意识上不断提高,而不只是单纯地熟练技能,也能让自己不断地积累,随着自己的对业务理解的加深和技能的成熟,这些一个个的小项目都能积累起来,最终为自己服好务。

这篇关于C和Python我该先学什么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941202

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Python+PyQt5实现多屏幕协同播放功能

《Python+PyQt5实现多屏幕协同播放功能》在现代会议展示、数字广告、展览展示等场景中,多屏幕协同播放已成为刚需,下面我们就来看看如何利用Python和PyQt5开发一套功能强大的跨屏播控系统吧... 目录一、项目概述:突破传统播放限制二、核心技术解析2.1 多屏管理机制2.2 播放引擎设计2.3 专

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很