Objective-C的历史

7系列ZYNQ硬件调试:Vitis无法识别ARM DAP的排查与解决 本文详细分析了Xilinx 7系列ZYNQ芯片在Vitis开发环境中无法识别ARM DAP的常见问题及解决方案。从硬件设计检查(电源系统、时钟电路)、JTAG连接诊断到软件环境排查,提供了全面的调试指南。特别针对ARM DAP初始化失败的情况,给出了实用的排查步骤和预防措施,帮助开发者快速定位和解决类似问题。 阅读详情
 Before learning the intricacies of a new programming language it is often worth taking a little time to learn about the history and legacy of that language. In this chapter of Objective-C 2.0 Essentials we will provide a brief overview of the origins of Objective-C and the business history that ultimately led to it becoming the programming language of choice for both Mac OS X and the iPhone.

Contents

[hide]
The C Programming Language

Objective-C is based on a programming language called, quite simply, C. The origins of the C programming language can be traced back nearly 40 years to two engineers named Dennis Ritchie and Ken Thompson working at what is now known as AT&T Bell Labs. At the time, the two were working on developing the UNIX operating system on PDP-7 and PDP-11 systems. After attempts to write this operating system using assembly language (essentially using sequences of instruction codes understood by the processor), it was decided that a higher level, more programmer friendly programming language was required to handle the complexity of an operating system such as UNIX. The first attempt was a language calledB. The B language, which was based on a language called BCPL, was found to be lacking. Taking the next initial from theBCPL name, the C language was created and subsequently used to write much of the UNIX operating system kernel and infrastructure. As far as we can tell,C was so successful that new languages named P and L never needed to be created.

The Smalltalk programming Language

The C programming language is what is known as a procedural language. As such, this means that it lacks features such as object oriented programming. Object oriented programming advocates the creation of small, clearly defined code objects that can be assembled and reused to create more complex systems.

An early attempt at an object-oriented programming language was developed by a team including Alan Kay (who later went to work for Apple) and Dan Ingalls at Xerox PARC (Palo Alto Research Center) in the 1970s. This language is known as Smalltalk.

C meets Smalltalk

An interesting history lesson so far, but what does this have to with Objective-C? Well, in the 1980s, two developers named Brad Cox and Tom Love extended the C programming language to support the object oriented features of Smalltalk. This melding of languages ultimately culminated in the creation of Objective-C. Objective-C was subsequently adopted by the Free Software Foundation and released under the terms of the GNU Public License (GPL).

Objective-C and Apple

To understand how Objective-C, a language based on two 40 year old programming languages, ended up being the language of choice on Mac OS X and the latest cutting edge smartphones from Apple it is necessary to move away from technology for a while and talk about business.

In the 1980s Steve Jobs and Steve Wozniak founded Apple Computer. After many years of success, Steve Jobs hired a marketing wizard from PepsiCo called John Sculley to help take Apple to the next level of business success. To cut a long story short, a boardroom battle ensued and Steve Jobs got pushed out of the company (for the long version of the story pick up a used copy of John Sculley's bookOdyssey: From Pepsi to Apple) leaving John Sculley in charge.

After leaving Apple, Jobs started a new company called NeXT to design an entirely new generation of computer system. The operating system developed by NeXT to run on these computers was called NeXTstep. In order to develop NeXTstep, NeXT licensed Objective-C. NeXT subsequently joined forces with Sun Microsystems to create a standardized version of NeXTstep named OPENstep which the Free Software Foundation then adopted as GNUstep.

During the 1990s, John Sculley left Apple and a procession of new CEOs came and went. During this time, Apple had been losing market share and struggling to come out with a new operating system to replace the aging MacOS. After a number of failed attempts and partnerships, it was eventually decided that rather than try to write a new operating system, Apple should acquire a company that already had one. During Gil Amelio's brief reign as CEO, a shortlist of two companies was drawn up. One was a company called Be, Inc. founded by a former Apple employee named Jean-Louis Gassée, and the other was NeXT.

Ultimately, NeXT was selected and Steve Jobs once again joined Apple. In another boardroom struggle (another long story as outlined in Gil Amelio's bookOn the Firing Line: My 500 Days at Apple) Steve Jobs pushed out Gil Amelio and once again became CEO of the company he had founded all those years ago.

The rest, as they say, is history. NeXTStep formed the foundation of what became Mac OS X, bringing with it Objective-C. Mac OS X was subsequently modified to provide the operating system for the spectacularly successful iPhone.

避开这些坑!STM32H750 IAP升级实战:从Bootloader设计到APP接收的完整避坑指南 本文深入探讨STM32H750 IAP升级的完整避坑指南,从Bootloader设计到APP接收的全流程实践。特别针对QSPI Flash运行限制、SRAM跳转机制和固件校验等核心问题,提供工业级解决方案,帮助开发者提升升级成功率和系统稳定性。 阅读详情

相关推荐

STM32 使用rtthread的DMA 串口发送失败

在一次使用RTthread的DMA 串口发送时,持续性通过DMA 发送串口数据时,偶发发送过程中后续数据包无法正常发送出去,后经查,发现为RT-Thread的串口中断处理有瑕疵,后做出修改。另,为了更方便的排查为题,建议修改。左为修改前,右为修改后。

qq_39294918的博客 1108

Objective-c语言的历史及简介

Objective-C语言是一种通用的、面向对象编程的语言,Smalltalk风格消息传送到C编程语言。它是使用苹果OS X和iOS操作系统及各自的API,Cocoa 和 Cocoa Touch的编程语言。      Cocoa和Objective-C是苹果公司OS X和iOS操作系统的核心。虽然OS X(尤其是iOS)出现的时间的相对较晚,但是Objective-C和Cocoa的推出则已有时日

dark_baron的专栏 1469

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

Objective-C发展历史

Objective-C发展历史 苹果图标由来: 被咬了一口苹果的LOGO是为了纪念计算机科学的创始人阿兰· 麦席森· 图灵。当年图灵由于身为同性恋者,被强行 “治疗”,在被迫注射大量雌性激素后,不堪屈辱,吃沾染氰化钾的苹果自尽,他死去的桌边还剩下半个苹果,时年42岁 1,1976,Apple创立。Steve Wonzniak史提夫 沃兹尼克 和 Steve Job...

weixin_30423977的博客 548

波束形成算法:LCMV实现(MATLAB)

阵列信号处理,波束成形,

weixin_43601588的博客 1万+

华为设备OSPF配置全流程:从邻居关系到区域划分实战指南

本文详细介绍了华为设备上OSPF协议的完整配置流程,从基础概念到实战操作,包括邻居关系建立、多区域划分及高级特性配置。特别针对华为设备的特有语法和验证命令进行了重点讲解,帮助网络工程师快速掌握OSPF在华为环境中的部署与优化技巧,提升网络配置效率。

weixin_29299807的博客 251

Objective-C发展史简介

Objective-C的语言简介 Objective-C是面向对象的语言 由布莱德·考克斯(Brad Cox)基于Smalltalk改进而来
 遵从ANSI C标准C语法,同时使用了Smalltalk的方法 在运行时可以灵活处理所有事情
,运行时(runtime)非常灵活: Dynamic Binding 动态绑定 ...

Yj007007的博客 537

SoapUI 5.0 模拟WebService接口实战:从WSDL文件到Mock服务端完整流程

本文详细介绍了如何使用SoapUI 5.0模拟WebService接口,从解析WSDL文件到搭建完整的Mock服务端流程。通过实战案例和效率技巧,帮助开发者快速掌握接口模拟技术,提升开发与测试效率。

weixin_26833139的博客 407

iOS -- 查看系统版本(objective-c)

我们在写iOS SDK的时候想知道当前手机的系统版本,怎么才能够使用手机系统版本,以下方法可以拿到手机系统版本。 objective-c : [[UIDevice currentDevice].systemVersion doubleValue] 可以拿到当前手机系统版本。你可以直接打印以下该函数看输出的结果就知道怎么使用了。 ——Rocky

阳仔博客 4632

国科GK7202V300芯片开发避坑指南:从uboot编译到SDK配置的12个实战问题解决

本文针对国科GK7202V300芯片开发过程中的常见难题,提供从uboot编译、SDK配置到系统部署的实战解决方案。详细解析了开发环境搭建、内核编译、驱动模块加载、根文件系统构建及烧写部署等12个关键环节的避坑指南,帮助开发者高效解决编译错误、配置冲突等典型问题,提升开发效率。

sunny的博客 235

TC3XX - MCAL知识点(二十九):FLS MCAL配置及代码实战(英飞凌DFLASH)

FLS驱动程序为DFlash 0的初始化、读取、写入和擦除提供了定义良好的配置和标准服务。除此之外,我们还提供一些非autosar服务示例 Fls_17_Dmu_CompareWordsSync、Fls_17_Dmu_CancelNonEraseJobs、Fls_17_Dmu_VerifyErase,LFls_17_Dmu_VerifySectorErase、Fls_17_Dmu_GetNotifCaller等。用户通过FLS驱动程序获得对底层DFlash0的封装访问。

梦想技术家 2364

objective-c的语法详解(objective-c的历史)

现在开始做iphone应用,开始接触objective-c语言。对于经历过VC,java的我来说,objective-c的语法给了很多新鲜感。现在就由最基础的方式来学习objective-c吧。在网上找到一篇介绍Objective-C历史的文章,现翻译后的内容如下。 在介绍一个新的错综复杂的编程语言之前,我们很值得花一部分时间来了解语言的历史和它的价值。在这一章节(Objective-C

sunhangok的专栏 1632

AMS TMF8820/21/28 SPAD 掩码和模式选择

为了实现最快的测距周期,将报告周期设置在测距周期以下的毫秒,以确保不会有等待时间。除了8X8固定了pixel的位置意外,其他模式客户可以设计自己的spad掩码,并将spad单独分配给通道。对于这些spad掩码,有一些约束。左下角提示红色代表光学中心,绿色方框表示单个spad,每个MP里可能有2X3个spad,也有2X5个spad,也有3X6+3个spad,这部分适配光学,最大的程度的利用spad区域。以下是几种预定义的spad掩码,非常灵活的配置,来适配各种3X3,4X4,8X8的模式选择。

dream it possible 701

Objective-C 和Apple的历史往事

遗忘在时光之中的读书笔记 C程序设计语言是AT&T 贝尔实验室的Dennis Ritchie 在20世纪70年代早期首创。 UNIX操作系统几乎全部由C语言开发,UNIX的普及也推广了C语言 Brad J.Cox 在20世纪80年代早期设计了Objective-C语言,它以一种叫做Smalltalk-80的语言为基础。 Objective-C是对C语言的扩展,支持了对象的创建和操作。 1985年乔布斯离开苹果后创建了NeXT公司,该公司在1988年获得了Objecti-C的语.

UP的博客 424

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Objective-C 内存管理的历史和参考资料

原文:Objective-c 内存管理的历史和参考资料 对于像我这样自学IOS开发的初学者,网上有很多资料,很多教程,但是过于多的资料也使初学者无法筛选合适自己的。并且Objective-c也经历了几个阶段的演变,初学者有时更加会觉得迷茫了。本文总结一下Objective-c在内存管理上的一些问题,整理一些合适的资料。 早期:引用计数...

weixin_33895516的博客 108

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Objective-C小白入门:什么是Objective-C

Objective-C 咳咳,今天我是你的私教美少女朵朵,开始上课。 接触一门新语言,先要了解它的历史。 Objective-C 是一种简单的计算机语言,设计为可以支持真正的面向对象编程。Objective-C 通过提供类定义,方法以及属性的语法,还有其他可以提高类的动态扩展能力的结构等,扩展了标准的 ANSI C 语言。类的语法和设计主要是基于 Smalltalk,最早的面向对象编程语言之一。 如果你以前使用过其他面向对象编程语言,那么下面的信息可以帮助你学习 Objective-C ...

程序媛乐园 5248

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

五语言学习系列 C,C++,Objective-C,Java,C# (一)历史

C:由AT&T贝尔实验室的Dennis Ritchie于1972年创建的,是专为开发者设计的语言。 C++:在C基础上,1983年又由贝尔实验室的Bjarne Strou-strup推出了C++。 Objective-C:1986年由Brad J.Cox设计,在C语言的基础上加了一层,相当于对C的扩展。 Java:由Sun Microsystems公司于1995年5月推出的Java程...

weixin_33711647的博客 112

黑马程序员——Objective-C介绍

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.历史        Cocoa和Objective-C是苹果公司OS X和iOS操作系统的核心。虽然OS X(尤其是iOS)出现的时间相对较晚,但Objective-C和Cocoa的推出则已有时日。早在20世纪80年代初,Brad Cox为了融合流行的、可以移植的C语言和优雅的Sma

Anne_lov的博客 1142

为什么很多大公司继续使用 Objective-C,不用 Swift

为什么很多大公司继续使用 Objective-C,不用 Swift 我觉得这个问题最核心的原因就一点:历史包袱。 猿题库算是比较新兴的应用了,代码量级也是 10 万的级别。很多稍微有些年头的应用,代码行数超过百万行其实是挺常见的,上次和去哪儿网的一个朋友聊天,他说去哪儿的 iOS 端有超过百万行代码。这么大体量的代码,公司可能把业务都停下来,让...

aaa1231722的博客 289

Objective-C 与 C++ 的区别

一 下面总结一下 Objective-C 与 C++ 的区别: 1, 两者最大的相同便是: 都是从 C 演化而来的面向对象语言, 两者都兼容标准 C 语言. 2, 两者最大的不同便是: Objective C 提供了运行期动态绑定机制, 而 C++ 是编译时静态绑定, 并通过嵌入类(多重继承)和虚函数(虚表)来模拟实现. Objective C 在语言

ji5ji的专栏 1万+

Objective-C语言的操作系统

Objective-C是由Brad Cox在1980年代初期创建的,是一种基于C语言的面向对象编程语言。它将Smalltalk语言的面向对象特性引入到C语言中,使得开发者能够用更高层次的抽象来进行程序设计。1988年,NeXT(由史蒂夫·乔布斯创立)开始使用Objective-C用于其NeXTSTEP操作系统,后来成为苹果公司macOS和iOS的主要开发语言。

2501_90425748的博客 419

java和objective哪个好学_为什么说Objective-C很难学?

作为一个网络上的活跃分子,使用Objective-C的开发者,我收到了许多围绕Objective-C的提问。这些问题在人们学习Objective-C或者尝试开发app的时候会不断跳出来,而且其中的某些问题可能笼统如“Objective-C看起来太难了”也会细致若“那个‘-’是干嘛用的啊?”。我要说的是这些其实都是好问题,那么接下来我就和大家探讨一下:相对于Ruby或Java,为什么某些程序员对转投...

weixin_42421824的博客 611

Objective-C语言的计算机基础

随着计算机技术的发展,编程语言也不断演变。Objective-C是一种历史悠久且极具影响力的编程语言,特别是在苹果生态系统中,它是开发macOS和iOS应用程序的主要语言之一。本文将从几个方面探讨Objective-C的计算机基础,包括历史背景、语法特性、内存管理、面向对象编程以及在实际开发中的应用。

2501_90435663的博客 324
上一篇: Objective-C 2.0概要
下一篇: 在Mac OS X上安装Xcode以及编译Objective-C
NickTang
博客等级 码龄24年 261粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值