찾다
백엔드 개발파이썬 튜토리얼为什么Windows不内置Perl,Python等编程语言环境?

OS X和绝大部分Linux发行版都内置Python,Perl,Ruby等编程语言环境,无论是对开发者还是普通用户都是好事,开发者在写程序的时候会有很多选择,不用担心目标机器上没有这一种语言环境而寻找替代,用户也可以拿过去直接运行;运维人员在大规模部署一些脚本的时候也可以省心很多。 为什么微软却不这样做呢?是怕威胁到自家推的产品吗?

PS:微软自家的Script Center里也有Perl和Python的分类。
Powershell, VB Script, SQL and JavaScript
为什么Windows不内置Perl,Python等编程语言环境?

回复内容:

其中一个原因是需求吧。比如说 FreeBSD 系统曾经把 perl 默认安装,作为系统级别的组件。后来因为种种原因又把 perl 剔出系统,用 awk 做了个替代。因此,现在默认安装最新版的 FreeBSD 里面没有 python,也没有 perl 更别提 ruby 了。

而 Mac OS X 和 Linux 默认安装这些语言肯定是有原因的。有的可能是其他软件的依赖,比如 GNOME 桌面就非常依赖 python。一些服务软件依赖 perl,而 FreeBSD 一个流行的包管理系统就依赖 ruby 等。

反观 windows,这个系统根本没有这些需求。不安装也在情理之中。(FreeBSD 这一点倒是和 windows 类似) 要是Windows内置了Python,你现在写程序的时候,照顾Vista你只用兼容到Python 2.5,还要还考虑XP,你连Python 2.1甚至Python 1.6都要兼容。 Windows 也内置了很多编程环境啊
VBScript
PowerShell
这些都是啊,只不过都是微软自家出品 Ubuntu虽然自带了python,却连C/C++的基本编译环境都没有,码农安装之后第一件事儿就是安装build-essential。
这说明了,Ubuntu自带python,不是让用户写脚本用的,而是因为系统里很多模块是需要运行在python环境里
(Ubuntu软件中心就依赖于python,就因为它依赖2.7,导致我想系统默认使用2.6都难,可我偏偏有一些2.6的pyc程序需要运行,你知道有多别扭么?)
显然,Windows就不用。
=========
Linux发行版、Mac OS,讲究的是包管理,模块分离,版本依赖。当你需要安装某个软件,相关依赖的底层模块会被自动安装。
Windows讲究的是一个完整的安装包,除了微软自己的.Net Framework、Direct X等通用底层平台外,绝大部分软件都是将自己需要的模块打包在一起安装。
以上这两种模式,都不需要预先安装一堆各种编程语言底层平台(目标机器上有没有啊,大规模部署怎么办啊)。这可以说是从不同方向探索出来的两套可行方案。
=========
Linux发行版、Mac OS,其平台上的软件很多来自于社区贡献,所以难免基于多种语言。
Windows都是微软自己开发的,底层平台统一,这是它的优势。 Windows跟Linux是两个不同风格的体系。

Win:简单易用,但是开发上略显粗犷。重视简单操作。
Linux:开源化、多元化。CGI还是很常用的,不可避免地需要各种功能强大的脚本类或者shell类脚本。

相比之下,我觉得Windows提供的更多的是“整机”。而Linux提供的更多的是“零部件”。而出于这个原因,Linux下面也就需要各种“加工厂”(也就是Perl啊Python啊之类的了)。当然,各有各的好处。整机对使用者的要求更多的是如何去操作,而加工厂则要求使用者学会一定的设计才能够得心应手。后者的起点会高一些,但是达到一定层级之后,Linux下一个使用者则会明显感觉到自己的自由度会很高。

说道为什么不内置,那其实原因也很简单了。日常中需要完成的大部分操作应该已经有存在的软件了,小部分的循环性操作,批处理也差不多搞定了。偶尔遇到一个开发,一般的IDE也可以搞定了,makefile什么的也就不一样了。

从微软的利益角度考虑来看的,那就不只是这些了。如果内置了这么多东西,让大家都去使用这些工具,接受Unix思想的洗礼,那么微软的生态环境以及产品还如何更好推广呢?

差不多了,我觉得我考虑的就是这些。 主要是因为内置了也没人用……而且自己去下载一个安装包安装也不是什么难事…… Windows 带了 ScriptHost 呀,直接上 VBS 或者 JS 就是了。呀,您就喜欢 perl/python ?M$ 不喜欢行不行? 其实我也不确定,猜的。

1. 系统面向群体,windows本来就是面向普罗大众,Perl和Python这些语言,除了增加系统体积,完全没用。如果是工程师,安装起来也很简单吧。

2. 系统内核,Win 系统一向只附带自己的产品,从内核到外部所有的东西都是Microsoft自家的,加上这些开源的语言,同时是个闭源的系统,实在别扭。Linux等等本身就偏Geek,同时这些语言也是优先在这个平台上产生,也是开源软件,基因相同。

以上,可能都是错的。 因为Windows是GUI系统。而GUI应用基本都是用C API(Windows API)和.NET API开发的 @李遥 提到了 GUI,挺对。

但我以为,问题的实(cao)质(dian)还能进一步——

因为 Windows 的 GUI 做不到家,于是想方设法要和「命令行」划清界线。
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
2 시간의 파이썬 계획 : 현실적인 접근2 시간의 파이썬 계획 : 현실적인 접근Apr 11, 2025 am 12:04 AM

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

파이썬 : 기본 응용 프로그램 탐색파이썬 : 기본 응용 프로그램 탐색Apr 10, 2025 am 09:41 AM

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 ​​같은 작업에 적합합니다.

2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?2 시간 안에 얼마나 많은 파이썬을 배울 수 있습니까?Apr 09, 2025 pm 04:33 PM

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?10 시간 이내에 프로젝트 및 문제 중심 방법에서 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법?Apr 02, 2025 am 07:18 AM

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?중간 독서를 위해 Fiddler를 사용할 때 브라우저에서 감지되는 것을 피하는 방법은 무엇입니까?Apr 02, 2025 am 07:15 AM

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Python 3.6에 피클 파일을로드 할 때 '__builtin__'모듈을 찾을 수없는 경우 어떻게해야합니까?Apr 02, 2025 am 07:12 AM

Python 3.6에 피클 파일로드 3.6 환경 보고서 오류 : modulenotfounderror : nomodulename ...

경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?경치 좋은 스팟 코멘트 분석에서 Jieba Word 세분화의 정확성을 향상시키는 방법은 무엇입니까?Apr 02, 2025 am 07:09 AM

경치 좋은 스팟 댓글 분석에서 Jieba Word 세분화 문제를 해결하는 방법은 무엇입니까? 경치가 좋은 스팟 댓글 및 분석을 수행 할 때 종종 Jieba Word 세분화 도구를 사용하여 텍스트를 처리합니다 ...

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까?Apr 02, 2025 am 07:06 AM

정규 표현식을 사용하여 첫 번째 닫힌 태그와 정지와 일치하는 방법은 무엇입니까? HTML 또는 기타 마크 업 언어를 다룰 때는 정규 표현식이 종종 필요합니다.

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

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尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

SublimeText3 영어 버전

SublimeText3 영어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경