“Git 是我用过最笨重的软件”!喷完 C++ 喷 Git,这位 Azure CTO 到底何许人也?

作者 | 辛晓亮

出品 | CSDN(ID:CSDNnews)

几天前呼吁停用 C++ 改换 Rust 的微软 Azure CTO 这次又在推特上疯狂吐槽 Git,Mark Russinovich 称:“Git 是我使用过的所有软件中界面最不直观、最笨重的,它让我抓狂的想拔掉自己的头发”。

如 Mark Russinovich 吐槽,开发者圈中关于 Git CLI 和 GUI 哪个更好用的争论是长期存在的,也有不少开发者会好奇最近疯狂吐槽的 Mark Russinovich 到底是谁?

怼天怼地的 Mark Russinovich 是谁?

1966 年,Mark Russinovich 出生于西班牙,父亲是一名放射科医生,母亲是与父亲同诊所的企业管理员。70 年代 Mark Russinovich 开始接触电脑,15 岁时,他给自己买了第一台电脑德州仪器TI-99/4A,那个时候他就能够对 ROM(只读存储器)进行逆向工程并为其编写程序。后来 Mark Russinovich 在卡内基·梅隆大学获得计算机工程博士学位,并开始做 Windows 相关的软件开发工作。

德州仪器TI-99/4A

90 年代后期,微软依靠 Windows 操作系统主宰科技界,从台式机到笔记本电脑、工作站、服务器都运行着 Windows。那个时候 Mark Russinovich 白天为一家小型软件公司开发软件,晚上与周末就在家里寻找 Windows NT 中的错误、缺陷和秘密,并且将这些信息发布到网络上,也因此经常激怒微软。Mark Russinovich 还对当时的 NT Workstation 和 NT Server 进行了逆向工程,并发现了微软人为改变市场使其以有利于自己的方式运作的行为,即微软可以强制所有网络服务使用更昂贵的操作系统,同时为其他任务销售更便宜的版本。Mark Russinovich 还为此开发了一款可以将 NT Workstation 转换为 NT Server 的工具,这也惹怒了微软,几天后他在参加微软活动的时候被拒绝进入大楼。

不过,Mark Russinovich 与微软的爱恨情仇也帮他打开了加入微软的大门,微软 Windows 的负责人 Jim Allchin 给 Mark Russinovich 提供了一份工作,Mark Russinovich 最初拒绝了,之后在运营 Windows Sysinternals 网站几年后加入微软,成为微软技术研究员(当时可以授予的最高荣誉之一)在微软,加入微软之前,Mark Russinovich 还与 Bryce Cogswell 共同创办了 Winternals Software 公司并一起开发了数十款流行的 Windows 管理和诊断实用程序,这其中就包括著名的系统工具 Sysinternals。

2006 年微软收购了 Winternals Software 公司,Mark Russinovich 也随即加入微软,帮助提升 Windows 的技术水平,现在 Mark Russinovich 在微软担任 Azure 云 CTO。Mark Russinovich 在微软开发了非常多的系统工具,比如 winobj、sysmon、diskmon 和进程监视器,同时他还著有被称为 BSD 红皮书的《Windows Internals》,慢慢地 Mark Russinovich 已经成为微软的象征。此外,Mark Russinovich 还精通逆向工程,震惊世界的索尼BMG光盘复制保护丑闻就是他发现的。

Git CLI vs GUI 哪个更好用?

回到 Russinovich 吐槽 Git 界面笨重难用,Git 是一个开源的分布式版本控制系统,关于开发者使用 Git 选择 CLI 还是 GUI,争论从未停止过,一度还存在鄙视链。主要原因是 Git 从一开始就是一个基于命令行的版本控制工具,之后又衍生出多个图形界面工具。

对此,其中喜欢图形化客户端的开发者认为,从 UI 的角度来看,Git 是比较糟糕的。GUI 看起来更加直观,不容易误操作,也不需要记各种命令,用来应付日常使用足够了,查看 Log 也更加方便。

另一部分开发者则认为,使用命令行进行 Git 操作简单方便,对于工程师来说只会用 GUI 是不专业的行为,而且目前为止也没有全功能的 GUI 软件,把 Git 作为工具,怎么好用怎么来并无问题,但在很多场景下,GUI 存在功能缺失。此外,命令行方式更加高效,对技术工作者而言,命令行的方式有助于开发者理解 Git 的运作原理,锻炼其解决问题的能力,虽然 GUI 的方式更简单快捷,但是越到后期双方差距越大。

最后,你在使用哪些 Git 工具,欢迎投票讨论。

参考链接:

https://en.wikipedia.org/wiki/Mark_Russinovich

https://www.wired.com/2014/05/mark-russinovich

原文地址:https://www.toutiao.com/article/7153150449053499935/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340