为什么Windows不内置Perl,Python等编程语言环境?
OS X和绝大部分Linux发行版都内置Python,Perl,Ruby等编程语言环境,无论是对开发者还是普通用户都是好事,开发者在写程序的时候会有很多选择,不用担心目标机器上没有这一种语言环境而寻找替代,用户也可以拿过去直接运行;运维人员在大规模部署一些脚本的时候也可以省心很多。
为什么微软却不这样做呢?是怕威胁到自家推的产品吗?
PS:微软自家的Script Center里也有Perl和Python的分类。
Powershell, VB Script, SQL and JavaScript
回复内容:
其中一个原因是需求吧。比如说 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 做不到家,于是想方设法要和「命令行」划清界线。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在 VS Code 中,可以通过以下步骤在终端运行程序:准备代码和打开集成终端确保代码目录与终端工作目录一致根据编程语言选择运行命令(如 Python 的 python your_file_name.py)检查是否成功运行并解决错误利用调试器提升调试效率

VS Code 可用于编写 Python,并提供许多功能,使其成为开发 Python 应用程序的理想工具。它允许用户:安装 Python 扩展,以获得代码补全、语法高亮和调试等功能。使用调试器逐步跟踪代码,查找和修复错误。集成 Git,进行版本控制。使用代码格式化工具,保持代码一致性。使用 Linting 工具,提前发现潜在问题。

VS Code可以在Windows 8上运行,但体验可能不佳。首先确保系统已更新到最新补丁,然后下载与系统架构匹配的VS Code安装包,按照提示安装。安装后,注意某些扩展程序可能与Windows 8不兼容,需要寻找替代扩展或在虚拟机中使用更新的Windows系统。安装必要的扩展,检查是否正常工作。尽管VS Code在Windows 8上可行,但建议升级到更新的Windows系统以获得更好的开发体验和安全保障。

VS Code 扩展存在恶意风险,例如隐藏恶意代码、利用漏洞、伪装成合法扩展。识别恶意扩展的方法包括:检查发布者、阅读评论、检查代码、谨慎安装。安全措施还包括:安全意识、良好习惯、定期更新和杀毒软件。

Python在自动化、脚本编写和任务管理中表现出色。1)自动化:通过标准库如os、shutil实现文件备份。2)脚本编写:使用psutil库监控系统资源。3)任务管理:利用schedule库调度任务。Python的易用性和丰富库支持使其在这些领域中成为首选工具。

VS Code 全称 Visual Studio Code,是一个由微软开发的免费开源跨平台代码编辑器和开发环境。它支持广泛的编程语言,提供语法高亮、代码自动补全、代码片段和智能提示等功能以提高开发效率。通过丰富的扩展生态系统,用户可以针对特定需求和语言添加扩展程序,例如调试器、代码格式化工具和 Git 集成。VS Code 还包含直观的调试器,有助于快速查找和解决代码中的 bug。

VS Code不仅可以运行Python,还提供强大功能,包括:安装Python扩展后自动识别Python文件,提供代码补全、语法高亮、调试等功能。依赖已安装的Python环境,扩展充当桥梁连接编辑功能和Python环境。调试功能包括设置断点、单步调试、查看变量值,提升调试效率。集成终端支持运行复杂命令,例如单元测试和包管理。支持扩展配置,增强代码格式化、分析和版本控制等特性。

Python更适合初学者,学习曲线平缓,语法简洁;JavaScript适合前端开发,学习曲线较陡,语法灵活。1.Python语法直观,适用于数据科学和后端开发。2.JavaScript灵活,广泛用于前端和服务器端编程。
