찾다
백엔드 개발파이썬 튜토리얼Python 现在这么火,国外有些大学基础也是 Python,为什么国内大学还在教C 语言呢?

补充:看来python确实是一门很火的语言,大家的关注度如此之高!根据各位知友的回答,python以其简单易学,容易上手的特性,作为入门级语言,给我这样非计算机专业的同学作为兴趣语言或者工具语言,是非常好的。前不久和同学们交流中得知很多人也在用python做计算,虽然我们水力学专业比较偏向于实用fortran进行编程计算,但比起python,繁琐的基础编程还是挺费时费力的。也有同学使用matlab进行编程计算,我想这跟python有同样的原因。
其实我提这个问题的原因,也在于现在的语言工具很多,且都好用,也有很多人用。我大一学习C的时候确实感觉到困难,一来是自己学习的我积极性不高,二来实在提不起兴趣,最开始的几节课没听懂,后面就跟不上,也不爱学了。各位知友的分析也确实点中要害,羞得我掩面。
还有一个问题,就是今年刚学fortran,有人跟我说,因为计算速度快,做科学计算用的多,当然我们水力学也一直用。但是也有同学讨论说其实在计算速度方便,主要是算法优化,比如matlab,只要循环越少,速度就越快。利用它自带的函数,进行矩阵计算,速度也可以很快的。在这里也想向各位万能的知友请教一下,matlab中,能利用自带函数,进行矩阵计算,避免循环,从而提高计算速度的例子。
本人既是知乎新人,也是编程菜鸟,问的问题如显低级,拉低各位答友逼格,还望见谅!

回复内容:

想太多了,什么都是渐进的,Python也不是唯一真理。
国内的大学普遍来说教材更新确实是慢,这个没什么好洗地的。不过真的编程入门换成Python并不等于教学水平就一定提升上来了,别的不说,单说拒绝C是因为难学,这个想法就更糟糕的多…… 别的学校我不清楚,但是就我知道的几个美国的学校来说,虽然python是挂在CS下的,但是一般都是给其他系学生选修。这也是为啥python的课号很低,甚至比Java还低,让大家以为这个是CS的入门课,其实不是啊。大家可以看看,很多有python课的学校CS学生的必修课表里面根本就没有python啊,都是从Java开始的。哦,顺便提一句,C确实是必须,但是C++并不是,学C主要是为了上后面的OS,network等课。C++对于教育来说意义并不大,美国的software development的课都是用java的上的。
其实这里就可以看出,美国本科并不会以教编程语言为目的而教某种语言,教编程语言都是为了之后课程的学习而打基础的。仔细想想大家就能明白,Python学完之后对CS之后课程的学习基本没有啥好处。你说是要用python来学data structure,system programming,还是compiler啥的?Python确实很强的,也很好学,但是它太高level了,和底层已经脱节了。真正用Python的人遇到需要,第一反应是去找有没有现成的lib而不是自己写一个,但是这一点对于本科学习是不可取的。 我是个忠实的python粉,忠实到从头到尾看通了cpython解释器的源码,工作中能用python的地方尽可能的用python解决。然而我认为python绝不适用于cs入门教学语言。一个没有C这样靠近硬件层语言知识和C++/Java这种对象化语言知识的人是不可能真正精通Python的。

Python的基础概念是最简的对象化实现,内存管理都采用统一的计数GC,为了提高开发效率而限制了几乎所有的底层操作。这作为一个对对象化概念清晰、对内存管理逻辑清楚、对算法应用恰当的程序员和研究者来说无疑是提高工作效率的神器。

然而入门教育的对象是普通学生,其中大多数不要说原理,连对象化、堆空间与栈空间、数据在内存中的表现形式等等最最基本的概念都没有。让他们学python入门就如同让四则运算都不会的孩子直接上手微积分。

偏偏python还非常暧昧:它是解释语言,却可以加载C编译的模块;它是动态类型,却同时又是强类型;它全对象化,却对若干基础类型通过“不可变”实现了类似变量的操作……这意味着概念不清晰的人就算能写python代码,也没办法理解其执行逻辑,会遇到自己不能理解的不知原因的错误。

用python做入门教学,优势无非在于刚开始的学习梯度小,反馈高,容易提起兴趣,给非计算机专业的学生当当入门教材或许还有些意义。但是cs不学原理不学基础一口气爬到现代语言的高架子上,那只是等学生自己掉下来摔死。 谢邀。

可能题主被某些假象蒙蔽了或者道听途说了… 以我接触到的来说,如果是非CS 专业的学生,对于理工科Python确实是一个比较热门的基础课程。但对于CS 专业,这…我记得语法特性等等都是秒过,做Data Mining 的时候,库的学习是基于数学模型的,重点是数!学!建!模!跟语言没啥关系,所以对于Python也是秒过… 话说如果一开始不以C/C++学起,后面你也是要把坑填掉的。

最后补充:很多新手以!为!编程很简单(不就是那些语法加常用库砌起来的嘛)以!为!写着相似代码出来就能与大师并肩,以!为!看着某些项目的源码其实也不过如此,其实代码背后一层套一层的架构,框架,模块化,业务逻辑的实现与优化等逻辑思维的抽象,才是你要学习的。语言只不过是实现这种逻辑思维的工具,请不要在纠结哪种语言最好的,这样会暴露智商的。请选最合适的。

手机打的字,时间较仓促,有不合适的地方请见谅。

以上 你都是学水力了,还想用Matlab???来来来给你个流体场模拟去吧。
底层用Fortran写的,经过无数优化的ANSYS,动辄都要好几天才能算完一个,你跟我说你用Matlab???
Matlab 是科学计算神器,但不能大规模计算!!!
Matlab 是科学计算神器,但不能大规模计算!!!
Matlab 是科学计算神器,但不能大规模计算!!! C语言作为入门课程最大的问题并不在于难学,而是在于没有乐趣。
大部分同学不是没有这个能力去学好CS课程。而是从一开始就丧失了兴趣。

用Python作为入门课程的好处,第一是减小难度,第二是培养乐趣。
我们很容易的就可以做些好玩的事。
有了乐趣和想做的事情以后,学其他CS课程就会比较有目的性。 哈?Java和c最火吧? 先问是不是
北大的非计算机类专业的编程课已经全部改用Python 大部分学校c入门是为了讲语法的 某种意义上说Python的语法和不少语言都差得挺远。。。比如说缩进代替定界符 而且作为动态类型的语言 用不好会用出问题而且很难debug 所以不适合 不过 现在这种拿TC教c 拿VC++6.0教c++的做法确实是不能提倡
实际上以我们这个专业来看 讲c c++都讲得不深 作为理科的基础课程 专业课入门是Python R bash脚本 数值分析是c和MATLAB c#和VB.net选择一个用来讲用户界面和数据库连接 后面的课像生物信息算法 机器学习 计算基因组学基本属于语言无关 想用什么用什么 所以我们交作业从MATLAB Python(2和3都有。。。) Perl Ruby R到c c#都能看到。。。感觉助教好可怜= =而且大家合作完成大作业的时候。。。各种语言的通信也是一个大坑啊。。。最后还是不得不去搞c 不懂c的话Python和其他语言的通信怎么办。。。
当然。。。我真没见过有人写java啊哈哈哈哈 啥,你说c难学?????
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
Python vs. C : 주요 차이점 이해Python vs. C : 주요 차이점 이해Apr 21, 2025 am 12:18 AM

Python과 C는 각각 고유 한 장점이 있으며 선택은 프로젝트 요구 사항을 기반으로해야합니다. 1) Python은 간결한 구문 및 동적 타이핑으로 인해 빠른 개발 및 데이터 처리에 적합합니다. 2) C는 정적 타이핑 및 수동 메모리 관리로 인해 고성능 및 시스템 프로그래밍에 적합합니다.

Python vs. C : 프로젝트를 위해 어떤 언어를 선택해야합니까?Python vs. C : 프로젝트를 위해 어떤 언어를 선택해야합니까?Apr 21, 2025 am 12:17 AM

Python 또는 C를 선택하는 것은 프로젝트 요구 사항에 따라 다릅니다. 1) 빠른 개발, 데이터 처리 및 프로토 타입 설계가 필요한 경우 Python을 선택하십시오. 2) 고성능, 낮은 대기 시간 및 근접 하드웨어 제어가 필요한 경우 C를 선택하십시오.

파이썬 목표에 도달 : 매일 2 시간의 힘파이썬 목표에 도달 : 매일 2 시간의 힘Apr 20, 2025 am 12:21 AM

매일 2 시간의 파이썬 학습을 투자하면 프로그래밍 기술을 효과적으로 향상시킬 수 있습니다. 1. 새로운 지식 배우기 : 문서를 읽거나 자습서를 시청하십시오. 2. 연습 : 코드를 작성하고 완전한 연습을합니다. 3. 검토 : 배운 내용을 통합하십시오. 4. 프로젝트 실무 : 실제 프로젝트에서 배운 것을 적용하십시오. 이러한 구조화 된 학습 계획은 파이썬을 체계적으로 마스터하고 경력 목표를 달성하는 데 도움이 될 수 있습니다.

2 시간 극대화 : 효과적인 파이썬 학습 전략2 시간 극대화 : 효과적인 파이썬 학습 전략Apr 20, 2025 am 12:20 AM

2 시간 이내에 Python을 효율적으로 학습하는 방법 : 1. 기본 지식을 검토하고 Python 설치 및 기본 구문에 익숙한 지 확인하십시오. 2. 변수, 목록, 기능 등과 같은 파이썬의 핵심 개념을 이해합니다. 3. 예제를 사용하여 마스터 기본 및 고급 사용; 4. 일반적인 오류 및 디버깅 기술을 배우십시오. 5. 목록 이해력 사용 및 PEP8 스타일 안내서와 같은 성능 최적화 및 모범 사례를 적용합니다.

Python과 C : The Hight Language 중에서 선택Python과 C : The Hight Language 중에서 선택Apr 20, 2025 am 12:20 AM

Python은 초보자 및 데이터 과학에 적합하며 C는 시스템 프로그래밍 및 게임 개발에 적합합니다. 1. 파이썬은 간단하고 사용하기 쉽고 데이터 과학 및 웹 개발에 적합합니다. 2.C는 게임 개발 및 시스템 프로그래밍에 적합한 고성능 및 제어를 제공합니다. 선택은 프로젝트 요구와 개인적인 이익을 기반으로해야합니다.

Python vs. C : 프로그래밍 언어의 비교 분석Python vs. C : 프로그래밍 언어의 비교 분석Apr 20, 2025 am 12:14 AM

Python은 데이터 과학 및 빠른 개발에 더 적합한 반면 C는 고성능 및 시스템 프로그래밍에 더 적합합니다. 1. Python Syntax는 간결하고 학습하기 쉽고 데이터 처리 및 과학 컴퓨팅에 적합합니다. 2.C는 복잡한 구문을 가지고 있지만 성능이 뛰어나고 게임 개발 및 시스템 프로그래밍에 종종 사용됩니다.

하루 2 시간 : 파이썬 학습의 잠재력하루 2 시간 : 파이썬 학습의 잠재력Apr 20, 2025 am 12:14 AM

파이썬을 배우기 위해 하루에 2 시간을 투자하는 것이 가능합니다. 1. 새로운 지식 배우기 : 목록 및 사전과 같은 1 시간 안에 새로운 개념을 배우십시오. 2. 연습 및 연습 : 1 시간을 사용하여 소규모 프로그램 작성과 같은 프로그래밍 연습을 수행하십시오. 합리적인 계획과 인내를 통해 짧은 시간에 Python의 핵심 개념을 마스터 할 수 있습니다.

Python vs. C : 학습 곡선 및 사용 편의성Python vs. C : 학습 곡선 및 사용 편의성Apr 19, 2025 am 12:20 AM

Python은 배우고 사용하기 쉽고 C는 더 강력하지만 복잡합니다. 1. Python Syntax는 간결하며 초보자에게 적합합니다. 동적 타이핑 및 자동 메모리 관리를 사용하면 사용하기 쉽지만 런타임 오류가 발생할 수 있습니다. 2.C는 고성능 응용 프로그램에 적합한 저수준 제어 및 고급 기능을 제공하지만 학습 임계 값이 높고 수동 메모리 및 유형 안전 관리가 필요합니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.