奇思妙想

2024年 4月 15日

面向对象鼻祖Simula的诞生

Simula 是一种早期的高级编程语言,它对后来的编程语言产生了深远的影响,特别是在面向对象编程(OOP)方面。Simula 的设计者是挪威计算机科学家奥利·约翰·达尔(Ole-Johan Dahl)...

进一步了解
2024年 4月 15日

Smalltalk语言是何物?

Smalltalk语言的前身可以追溯到Flex系统,这是由Alan Kay最早提出的。在随后的发展中,Smalltalk逐渐演化,并出现了Smalltalk-72和Smalltalk-76等版本。最终...

进一步了解
2024年 4月 15日

Simula和Smalltalk有什么区别?

这两者都比C语言诞生还早,它们都是对面向对象编程语言研究的产物。Simula更静态,倡导编译期决定,因此C++和Simala更亲近,而Smalltalk更注重消息动态发送,不在乎编译期是否绑定,在此思...

进一步了解
2024年 4月 15日

头文件并不是编译单元?

经常写C/C++代码的人,会注意到,编译器提示的日志基本不会包含.h的编译,除非是.h有报错才会提示.h的讯息。这是因为,C/C++的编译单元是源代码.c或.cpp, 而非.h. .h只是辅助.c/....

进一步了解
2024年 4月 15日

如何包含头文件最多只有一次?

早期,标准的C语言采用#ifndef/#define的模式让头文件永远只能被包含一次,避免重复。事实上,这种写法更多是利用了条件编译宏,如果不小心将不同头文件用了同一个宏判断,会出现稀奇古怪的错误。O...

进一步了解