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

Python 现在这么火,国外有些大学基础也是 Python,为什么国内大学还在教C 语言呢?

Jun 06, 2016 pm 04:10 PM
fortran matlab python

补充:看来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으로 문의하세요.

핫 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 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? 휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? Apr 02, 2025 pm 10:09 PM

모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? 휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 10:12 PM

단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.

C 언어 합계의 기능은 무엇입니까? C 언어 합계의 기능은 무엇입니까? Apr 03, 2025 pm 02:21 PM

C 언어에는 내장 합계 기능이 없으므로 직접 작성해야합니다. 합계는 배열 및 축적 요소를 가로 질러 달성 할 수 있습니다. 루프 버전 : 루프 및 배열 길이를 사용하여 계산됩니다. 포인터 버전 : 포인터를 사용하여 배열 요소를 가리키며 효율적인 합계는 자체 증가 포인터를 통해 달성됩니다. 동적으로 배열 버전을 할당 : 배열을 동적으로 할당하고 메모리를 직접 관리하여 메모리 누출을 방지하기 위해 할당 된 메모리가 해제되도록합니다.

XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? Apr 02, 2025 pm 09:45 PM

XML 구조가 유연하고 다양하기 때문에 모든 XML 파일을 PDF로 변환 할 수있는 앱은 없습니다. XML에서 PDF의 핵심은 데이터 구조를 페이지 레이아웃으로 변환하는 것입니다. XML을 구문 분석하고 PDF를 생성해야합니다. 일반적인 방법으로는 요소 트리와 같은 파이썬 라이브러리를 사용한 XML 및 ReportLab 라이브러리를 사용하여 PDF를 생성하는 XML을 구문 분석합니다. 복잡한 XML의 경우 XSLT 변환 구조를 사용해야 할 수도 있습니다. 성능을 최적화 할 때는 멀티 스레드 또는 멀티 프로세스 사용을 고려하고 적절한 라이브러리를 선택하십시오.

권장 XML 서식 도구 권장 XML 서식 도구 Apr 02, 2025 pm 09:03 PM

XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? 휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 10:18 PM

휴대 전화에서 XML을 PDF로 직접 변환하는 것은 쉽지 않지만 클라우드 서비스를 통해 달성 할 수 있습니다. 가벼운 모바일 앱을 사용하여 XML 파일을 업로드하고 생성 된 PDF를 수신하고 클라우드 API로 변환하는 것이 좋습니다. Cloud API는 Serverless Computing Services를 사용하고 올바른 플랫폼을 선택하는 것이 중요합니다. XML 구문 분석 및 PDF 생성을 처리 할 때 복잡성, 오류 처리, 보안 및 최적화 전략을 고려해야합니다. 전체 프로세스에는 프론트 엔드 앱과 백엔드 API가 함께 작동해야하며 다양한 기술에 대한 이해가 필요합니다.

XML 형식을 여는 방법 XML 형식을 여는 방법 Apr 02, 2025 pm 09:00 PM

대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.

XML을 그림으로 변환하는 방법 XML을 그림으로 변환하는 방법 Apr 03, 2025 am 07:39 AM

XSLT 변환기 또는 이미지 라이브러리를 사용하여 XML을 이미지로 변환 할 수 있습니다. XSLT 변환기 : XSLT 프로세서 및 스타일 시트를 사용하여 XML을 이미지로 변환합니다. 이미지 라이브러리 : Pil 또는 Imagemagick와 같은 라이브러리를 사용하여 XML 데이터에서 이미지를 그리기 및 텍스트 그리기와 같은 이미지를 만듭니다.

See all articles