聊一聊那些神一样的程序员们(下)

游戏逆向入门:用Cheat Engine(CE)7.5手把手教你修改单机游戏血量(附实战避坑) 本文详细介绍了如何使用Cheat Engine(CE)7.5修改单机游戏血量,适合零基础用户入门。从环境准备、工具配置到精确值扫描实战,再到未知数值扫描技巧和高级指针扫描方法,手把手教你避开常见坑点。通过《植物大战僵尸》实例演示,快速掌握游戏数据修改的核心技术。 阅读详情

点击上面的蓝字,关注“码农翻身”

这一篇主要聊一聊安德斯·海尔斯伯格(Anders Hejlsberg ),他没有获得过图灵奖, 在名气上比不上前面几位,但也是另外一个传奇。

其实安德斯还真的和图灵奖有那么一点点联系,故事需要从Pascal 这门曾经大红大紫的语言说起。

凡是学过一点计算机知识的人大概都知道 程序=数据机构+算法 这一著名公式,提出这一公式的就是1984年的图灵奖获得者尼克罗斯. 沃思(Niklaus Wirth)。沃思还提出了结构化程序设计概念,我们现在可能觉得是司空见惯了, 但是在1971年“自顶向下,逐步求精“的方法的确改变了人们对程序设计的思维方式, 在程序设计中引起了一场革命,成为程序开发的标准方法,尤其是在后来的软件工程中获得了广泛的应用。

当然我们这里提到沃思还是因为他是Pascal 之父, 上个世纪60年代沃思在苏黎世工学院任教(注意:这是一个牛校,他的毕业生和教授中诞生了21个诺贝尔奖获得者,包括大名鼎鼎的爱因斯坦)期间发明了 Pascal , Pascal 语言奠定了结构化程序设计中常用的数据结构和控制结构,为程序员提供了极大的方便和灵活性,在C 诞生以前,是最受欢迎的语言。

有趣的是沃思发明Pascal最初只是想用来教学,并没有想到商业应用,他的一个学生Phillipe Kahn 从苏黎世工学院毕业以后,在美国加州创建了一个后来大红大紫的公司: Borland ,Borland创立之初,便注意到了Anders Hejlsberg编写的一个Pascal 编译器,很快雇佣了他,把编译器买了过来,更名为 Turbo Pascal 。

从此安德斯登上了软件开发的历史舞台。

Anders出生于丹麦, 作为北欧的一个小国,像丹麦,荷兰,芬兰,瑞典一样,虽然国土面积很小,人口很少,却在近现代的历史上展示了非凡的创造力, 有时间专门写一篇文章:聊聊北欧的小国

Anders 大学也没有毕业,基本上是自学成才, 可以这么说,他对编译器和开发语言的理解全世界没几个人能超越(李维语),他开发的Turbo Pascal 在1983年一经推出,就以闪电般的编译速度震惊了世界,在全世界狂卖出了100多万个Copy,不要小看100多万这个数字,80年代初微机刚刚开始起 步,1982年IBM 才公布IBM兼容机的标准,当时的 程序员非常少,100多万个Copy几乎占据了绝大部分市场。

由于每个Copy定价49.95美金,Philipe Kahn和 Anders 都变成了百万富翁。

也许是我大学编译原理学的不好, 觉得实现编译器是一件非常难的事情,所以对能写编译器的人总是心怀敬意。

安德斯竟然用汇编语言实现了编译器,并且能在一个极小的内存中以极快的速度执行, 考虑到上个世纪80年代初的硬件,真是非常了不起。

上一张图吧,怀旧一下 :-) 我没有学过Pascal, 只是在大学里学过C 语言,Turbo Pascal 和后来Borland 开发的Turbo C 在UI上极其相似,连菜单项的次序File, Edit,Search ,Run... 都一样, 看0?wx_fmt=jpeg

历史的车轮滚滚向前,在IT界无论你曾经多么成功,如果不改变的话很快就会被抛在后面,Turbo Pascal也不例外。

随着面向对象和Window 编程的兴起,Turbo Pascal也到了改变的时刻。

做为Lead Architect , 安德斯带领团队开始从DOS转向Window 平台, 并且在编译器中开始支持Object Pascal :一种Pascal的扩展,实现了面向对象的特性。

但是仅仅在Window平台上实现面向对象的Pascal是远远不够的,想让开发人员迅速的开发应用程序,还必须有一个可视化的应用程序框架和类库,这就是Borland 的VCL .

终于在1995年,Borland推出了Window平台上的大名鼎鼎的开发工具: Delphi .

“真正的程序员用VC,聪明的程序员用Delphi”,这句话是对Delphi最经典、最实在的描述 。在我看来 Delphi之所以如此成功,成为VB Killer , 主要有下面几个原因:

1. 编译速度超快, 生成的可执行文件效率很高 : 这当然是安德斯深厚功力的体现

2. VCL (Visual Componet Library) 非常成功, 设计紧凑,优雅,可扩展行很强,相对于复杂,难用的MFC 不知道要高几个档次

3. 在数据库方面的特长非常突出,他的BDE(Borland Database Engine)可以和市面上的所有的数据库连接,对于C/S架构的应用程序开发来说是不二之选。

据说Delphi这个名称有个很有趣的来历, 当时市面上Oracle数据库最流行,Oracle 的意思是神谕,先知(还记得黑客帝国中的那个先知吗)?

Delphi意思是神庙,圣殿, Borland 的工程师把产品叫做Delphi,其实是想体现能和Oracle连接的想法: If you want to talk to Oracle, please go to Delphi.

很多中国程序员都有Delphi情结, 也出现了很多Delphi高手,比如写了《Delphi源码分析》和《大道至简》的周爱民 ,还有现任微信的产品经理张小龙,他1997年用Delphi编写了著名的邮件客户端软件Foxmail 。

1996年,Anders Hejlsberg在Delphi3发布前离开了Borland, 这里有很多原因,包括管理层的变化, 修改Pascal编译器的争执, 更重要的是据Borland内部人讲,Anders认为自己不再是“不可缺少的人”。 当然也和微软展开的大规模挖角行动有关,得知Anders 在Borland “不开心”以后 (这不仅让我想到C罗在2013赛季初走进皇马主 席办公室说 : 主 席先生, 我在这里很不开心" :-) ), Microsoft直接派遣加长型的大轿车到Borland大门口接Anders吃饭,第一次Microsoft开出了年薪百万美元以上的条件, 但是Borland也采用了加薪的手段。

Microsoft并未因此灰心放弃,很快就再次用大轿车接Anders。这次Microsoft提出了年薪两百万美元以上的条件, Borland 挽留Anders 的条件是Delphi销售的提成, 但实际上Anders 早已是百万富翁,更注重的是自由的发展空间,所以当Microsoft决定祭出最后的王牌,由Bill Gates亲自邀约Anders聚餐, 许诺300万年薪和股票,以及一个小组和充分的资源让他尽情发挥, Anders没有办法拒绝了。 (本段选自李维的书籍《Borland 传奇》)

1996年的微软正是如日中天,刚刚发布革命性的Window 95 ,其轰动程度不亚于现在Apple发行iPhone,微软当年对程序员的吸引力,就像如今的Google,facebook那样。

话题扯的远一点,微软财大气粗,在挖人上向来“不择手段” ,非常有气魄, 比如当年微软想大力发展SQL Server , 准备把事务处理领域的大牛Jim Gray(1998年图灵奖获得者) 挖过来的时候,充分的体现了这一点。 Jim Gray不喜欢西雅图阴雨连绵的天气, 只想呆在阳光充足的旧金山, Bill Gates就说, 那我们就在旧金山给他自己建立一个研究所吧,就这样Jim 加入了微软。

Delphi 在Anders 离开以后继续前行,但是整个IT业界开始发生翻天覆地的变化,互联网和Java开始兴起, 软件系统架构开始从C/S向B/S演进, 软件业的竞争开始从开发工具转向平台和中间件(J2EE, .Net, Weblogic, Websphere.....), 而Borland主业仍然是开发工具,虽然后来推出了JBuilder, C#Builder等风靡一时的产品,甚至收购Together 完成了对建模,架构的支持,但总归是抵不过IT的潮流,慢慢的变成了一个二流公司, 再也无法和Microsoft 等公司竞争。

上一张Dephi的截图 :

0?wx_fmt=gif

而Anders在微软如鱼得水,似乎踩准了IT发展的步点,再次登上了人生的又一个巅峰。

Anders 首先开发了Visual J++ , 在微软的Visual Studio中, 相比VC, VB, 这是一个不引人瞩目又非常短命的产品, 原因很简单: 微软想在Java上分一杯羹,但是做的太过分了, 被Sun (可怜的Sun 现在已经被Oracle收购了)告上了法庭。当然结局是微软打败了官司。

J++ 是一种语言,和Java 的语法兼容, 但是以微软的野心,VJ++肯定不仅仅是新一个IDE的开发工具,就像JBuilder,Eclipse 那样, 微软肯定要把它绑定在Windows平台上来获取最大的利益。于是微软就对Java进行了扩展,增加了Delegate, Event, 还提供了一些直接调用Windows API的功能,这样Java在Windows上运行的效率肯定很高,但是就破坏了Write once, run everywhere 的特性。

Sun肯定不干了,一场官司下来,微软被迫停止了VJ++的开发。

不过VJ++ 展示了Anders 的精湛的技术实力,于1999年获得微软 distinguished engineer 称号, 微软也认识到自己必须要抓住网络计算的浪潮,需要要有一个能够抗衡Java的计算平台,这就是后来的.Net.

.Net虽然更多的是一个面向Marketing 的一个概念(相信大部分人都说不清楚.Net到底是什么),但是其技术支撑也让微软在和Java的斗争中扳回一局 ,微软也有了自己的虚拟机 :CLR (Common Language Runtime), 像Java那样,代码不再编译成可执行代码,而是翻译成中间语言,交由虚拟机执行。与JVM不同的是, CLR 支持C#, VB, VC, J# 等多种语言。

作为核心人物和首席架构师, Anders 对.Net作出了巨大的贡献, 尤其是C#语言的设计和实现,让C#成为在微软平台开发的第一选择。

最后,以Anders的近照和他的名言作为结尾:

“程序员是最好的职业”,Anders说:“每两年,CPU的速度要加倍,内存容量是原来的四倍,但是我们的大脑还是原来的大小,很显然,将需要更多的程序员来补充这些。”

0?wx_fmt=gif

长按二维码, 关注"coderising"

加入QQ群:135769418 和真正热爱编程的朋友交流。

0?wx_fmt=jpeg

Cheat Engine 7.5汉化安装全攻略:从下载到实战修改游戏数值 本文详细介绍了Cheat Engine 7.5的汉化安装与游戏数值修改实战技巧。从基础环境配置到高级内存扫描、指针解析与代码注入技术,帮助用户全面掌握游戏数据修改方法。教程涵盖常见问题解决方案,适合从新手到进阶用户学习使用。 阅读详情

相关推荐

Cheat Engine7.5

Cheat Engine7.5

【Cheat Engine7.5】基础教程第一关(STEP1-2)

ce学习基础讲解一

80后大叔爱学习 4417

Cheat Engine 7.5 游戏内存修改与调试工具整合包

这个版本包含完整功能的Cheat Engine 7.5运行环境,支持32位和64位Windows系统游戏的实时内存扫描、数值修改、指针追踪与代码注入。内置调试器可暂停、单步执行、查看寄存器和堆栈;反汇编器与内联汇编器支持直接编辑机器指令;变速器能动态调整游戏运行速度;Direct3D操作模块可用于渲染层干预;还集成SQLite数据库支持、Lua脚本引擎(5.3)、TCC嵌入式C编译器(多架构适配)、VEH异常处理模块、内存分配钩子库及Windows符号服务组件。配套提供官方帮助文档(CHM格式)、教程包(i386版)、独立启动阶段模块、驱动兼容层(dbk32/dbk64)以及多种平台适配的DLL依赖库,满足从入门修改到高级逆向分析的全流程需求。

Cheat Engine 7.5内存修改器 附下载链接

Cheat Engine 7.5(简称CE)是一款功能强大的开源内存修改工具,主要用于修改单机游戏或软件的内存数据,支持用户自定义修改参数、生成外挂工具等。支持精确数值扫描(如血量、金币)、模糊搜索(未知数值变化)、十六进制编辑等,通过筛选内存地址快速定位目标数据。新增,减少对系统资源的占用,提高扫描效率。内置反汇编器、调试器、外挂制作工具,可直接生成修改器脚本或外挂程序。支持Lua脚本语言,允许自动化操作和复杂逻辑的编写。强化对64位系统和插件的支持,兼容Windows 10/11等系统。

m0_66646307的博客 5719

【3D目标检测】MMdetection3d——搭建IS-Fusion环境+nuScenes数据集训练

搭建IS-Fusion环境+nuScenes数据集训练

qq_44703886的博客 2322

实战指南:彻底清除TIA Portal卸载后遗留的SQL Server WinCC实例

本文详细介绍了如何彻底清除TIA Portal卸载后遗留的SQL Server WinCC实例,解决重新安装时的冲突问题。通过控制面板排查、注册表验证、安全卸载操作流程和注册表深度清理等步骤,确保完全移除残留组件,避免系统崩溃。文章还提供了安装环境重建策略和预防措施,帮助工程师高效管理西门子自动化软件。

weixin_30482181的博客 404

聊一聊那些神一样的程序员们(上)

有这样一批IT界的牛人们, 他们做出的那些常人难以企及的开创性工作,常常让我们叹而观止,仅仅用“牛”来形容已经不够了, 得用“神一样的超级程序员” 才能表达敬仰之情,这里...

码农翻身 736

不只是CPU主频:深入解析英飞凌Aurix TC3xx各外设时钟树(CAN、以太网、Flash时序如何配置)

本文深入解析英飞凌Aurix TC3xx系列微控制器的外设时钟树配置,涵盖CAN、以太网和Flash时序的优化方法。通过详细分析时钟系统架构、关键外设配置及多外设协同设计策略,帮助工程师实现高性能汽车电子控制单元(ECU)开发。特别关注系统时钟的灵活配置与EMC优化技巧,提升系统实时性和可靠性。

weixin_29189373的博客 400

茶余饭后:聊一聊那些神一样的程序员们(2)

接上一篇 茶余饭后:聊一聊那些神一样的程序员们 这一篇主要聊一聊安德斯·海尔斯伯格(Anders Hejlsberg ),他没有获得过图灵奖, 在名气上比不上前面几位,但也是另外一个传奇。 其实安德斯还真的和图灵奖有那么一点点联系,故事需要从Pascal 这门曾经大红大紫的语言说起。 凡是学过一点计算机知识的人大概都知道  程序=数据机构+算法 这一著名公式,提出这一公式的就是1

Be yourself and Beyond yourself 2520

手把手教你用Alinx黑金开发板(Spartan-6)驱动ADF4351信号源(附Verilog SPI代码)

本文详细介绍了如何使用Alinx黑金开发板(Spartan-6 FPGA)驱动ADF4351信号源,包括硬件连接、Verilog SPI代码实现及系统调试。通过实战指南,帮助开发者快速掌握FPGA控制ADF4351芯片的技术,适用于射频信号源设计和学习应用。

weixin_30335575的博客 628

STM32H723ZGT6-单ADC极限采样率实战与分辨率权衡

本文通过实战测试,深入探讨了STM32H723ZGT6微控制器中单ADC模块的极限性能。文章详细展示了如何通过CubeMX配置时钟树、ADC参数、定时器触发与DMA,实测得出在16位分辨率下最高稳定采样率约为4.6MHz,而将分辨率降至8位后,采样率可提升至约6.2MHz,并分析了速度与分辨率之间的关键权衡,为高速数据采集项目提供选型与优化参考。

weixin_29240711的博客 297

茶余饭后:聊一聊那些神一样的程序员们

中午吃饭回来, 路上和同事偶尔聊起了IT界的一些牛人们, 他们做出的那些常人难以企及的开创性的工作,常常让我们是叹而观止,仅仅用“牛”来形容已经不够了, 得用“神一样的超级程序员” 才能表达敬仰之情,这里总结一下,可以作为大家茶余饭后的谈资 :-)   先来说说D.E Knuth(高纳德. 克努特), 他最为人知的工作就是经典巨著《计算机程序设计的艺术》, 这本书第一卷《基本算法》 于1968

zhujiaxing666666的专栏 655

[Python图像识别] 五十二.水书图像识别 (2)基于机器学习的濒危水书古文字识别研究

上一篇文章详细讲解如何利用数据增强方法实现图像数据集的扩充,并以濒危水书作为案例讲解。这篇文章将详细讲解基于机器学习的水书图像识别方法,以图像像素统计为特征开展图像分类讲解,这是最基础的方法,也为后续深度学习图像分类描述提供支撑。基础性文章,希望对您有所帮助!让我们开始吧,且看且珍惜。

杨秀璋的专栏 989

聊一聊那些神一样的程序员们(中)

点上面的蓝字关注“码农翻身”。今天再来谈谈另外两个大牛 肯·汤普逊(Kenneth Lane Thompson)、丹尼斯·里奇(Dennis MacAlistair Ri...

码农翻身 604

【3】 灰度变换(1)

第三章(1)【总三】

课题分离 659

卸载python弹框报错:Could not set file security for file ‘D:\Config.Msi\abd5.rbf‘. Error: 5. Verify...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 6477

茶余饭后:聊一聊那些神一样的程序员们 (1)

中午吃饭回来, 路上和同事偶尔聊起了IT界的一些牛人们, 他们做出的那些常人难以企及的开创性的工作,常常让我们是叹而观止,仅仅用“牛”来形容已经不够了, 得用“神一样的超级程序员” 才能表达敬仰之情,这里总结一下,可以作为大家茶余饭后的谈资 :-)   先来说说D.E Knuth(高纳德. 克努特), 他最为人知的工作就是经典巨著《计算机程序设计的艺术》, 这本书第一卷《基本算法》 于19...

ender 471

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

那些神一样的程序员

在MIT的BBS上曾有一个帖子,其中问道:“你觉得谁是最厉害的程序员, 为什么?”虽然大家在回复的帖子中声明最厉害的程序员排名不分先后,然而大多数人仍把Bill Joy列在第一位。Bi...

码农翻身 7025

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

33 | 聊一聊程序员学英语

又到了相对轻松的特别放送时间,这一次,我想聊一聊程序员对于英语的学习。在专栏最开始的 [学习路径] 中就提到了工程师的一些“基础”能力,比如数据结构和算法,当然也包括英语。当时我说,,而且英文是所有进阶的软件工程师应当强化的能力,对全栈工程师来说更甚。但是我在当时并没有展开论述,为什么在中文技术材料如此丰富的今天,在工作环境是以中文为主的情况下,英语的学习依然那么重要。

qq_37756660的博客 1778

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

聊一聊程序员行业关于未来的那些事

1.一些疑惑 最近作者也收到了很多人的咨询,有问大专生的未来的,有问程序员的未来的,有迷茫的,有焦虑的,在这里,突然想写一篇博客,解答一下大家,作者从事软件开发已经有将近7个年头了,从懵懂无知,到迷茫,到奋起拼搏,想把自己的感悟分享大家。 2.入行原因 09年的时候,特别沉迷一款单击游戏《仙剑奇侠传》,然后梦想着有一天能够去做游戏,在高三的时候用自己攒的零花钱,买了人生中的第一本编程书《C语言入门》,出于对计算机编程的热爱,高三下学期高考复习的时间都用来学编程了,然后高考比较失利。。。然后在一所普通院校开

刘洋巴金的专栏 7660

聊一聊程序员为什么都要做自己的产品!

这里的“产品”是广义的,它可以是你精心维护的开源项目,解决了一个特定技术难题,被同行使用和认可;在非AI的时代,优秀程序员和普通程序员之间的差距是巨大的,包括认知思维、技术能力、基本的谈吐等。这个过程,能让你对技术有更深的理解,对市场有更敏锐的洞察,甚至可能直接带来收入,实现某种程度上的“弯道超车”。因此,初级程序员需要主动学习,利用业余时间阅读技术书籍、参加线上课程或者参与开源项目,拓宽自己的技术视野,提升自己的技术能力。开始之前,大家可以先思考一下,在程序员的职业生涯中,一般都是如何提升自己的能力的?

测试开发技术 742
上一篇: 据说99%的初级程序员看完后都不迷茫了
下一篇: 学习数据结构有用吗?
码农翻身
码农翻身 《码农翻身》作者 《码农翻身》作者
博客等级 码龄8年 3万+粉丝 1084原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值