相似的编程语言是否存在侵权?
以C#和Java为例,C#作为微软对抗当时的Sun公司的产物,和Java语言存在很大相似性,这是否存在侵权?
如果这算侵权,那么大部分编程语言就不用活了,都是侵权!! 编程语言本身通常不受版权法的保护,因为它们被视为“思想”或“算法”,而不是具体的表达形式。如果是抄袭一种编程语言的源代码,用另外一种语言实现,这是侵权,但是设计一门和已有语言类似的编程语言,这不算侵权。
不同编程语言风格
编程语言千千万,每种语言都有自身独特的魅力。一种优秀的编程语言,总有一批编程语言继承其优秀的设计,相信你们总能看到一些编程语言风格相似的地方。
一句话总结
- C语言简洁自然、灵活又可怕。
- C++是C的超集,类型严格,泛型模板强大至极,博大精深很难摸透。
- Java是更安全的C++,跨平台中间件的老大哥。
- C#为对抗Java而生,是Java的调皮版,延续不少C++优秀的特性。
- JavaScript继承C语言简洁自由风格,引擎高效代码易写,是交互式网页脚本的首选,Node.js诞生让它成为服务器客户端全栈语言。
- PHP 整体语法和C语言很像,除了变量前面需要加$符号。
B/NB/C语言的相似演进故事
C语言是从B语言发展而来,B语言基于BCPL语言。
B语言
- B语言最早是Ken Thompson 和 Dennis Ritchie 于 1969 年左右在贝尔实验室开发的一种编程语言,主要基于BCPL语言,当时Thompson在Mulcs项目中使用的语言。
/* The following program will calculate the constant e-2 to about
4000 decimal digits, and print it 50 characters to the line in
groups of 5 characters. The method is simple output conversion
of the expansion
1/2! + 1/3! + ... = .111....
where the bases of the digits are 2, 3, 4, . . . */
main() {
extrn putchar, n, v;
auto i, c, col, a;
i = col = 0;
while(i<n)
v[i++] = 1;
while(col<2*n) {
a = n+1;
c = i = 0;
while (i<n) {
c =+ v[i] *10;
v[i++] = c%a;
c =/ a--;
}
putchar(c+'0');
if(!(++col%5))
putchar(col%50?' ': '*n');
}
putchar('*n*n');
}
v[2000];
n 2000;
B语言和C语言的区别
- B语言作为C语言前身,来自BCPL语言,B语言和C语言最大的不同是,它是无类型的,在其他方面,例如变量、表达式和运算符等等都和C语言有很大相似性。
B语言的祖先BCPL
- BCPL(Basic Combined Programming Language)语言起源于1967年,由英国剑桥大学的Martin Richards开发,是复杂的CPL的简化版。这种语言被设计用于编写简单小巧编译器的代码,并且在当时被认为是一种简洁、高效且易于移植的编程语言,后来也被用于编写早期的操作系统。BCPL语言是在早期编程语言如Algol 60和Fortran等基础上发展起来的,旨在提供一个更为简洁和实用的编程环境。
- BCPL语言的特点包括其简洁的语法、强大的数据处理能力以及跨平台兼容性。这种语言在20世纪60年代末和70年代初在剑桥大学和其他学术机构中得到了广泛的应用,并对后来的编程语言如B和C产生了深远的影响。事实上,B语言是BCPL语言的简化版本,而C语言又是基于B语言发展而来的。因此,可以说BCPL语言为现代编程语言的发展奠定了基础。
NB语言
- B语言最早用于PDP-7等一些老式固定类型的电子设备上没有问题,但在PDP-11上却是个令人头疼的事情,因为它有不同的类型。Ritchie从1971年开始着手加入有类型,逐渐变成了所谓的"New B"语言,很快就变成如今所讲的C语言。事实上,在B语言之前,例如Fortran就有类型系统,只不过C语言又将类型系统加到B语言上,解决当时系统遇到的问题。
C语言之父写的C语言历史
- 关于C语言之父写的C语言历史,故事细节太多,请直接访问:C历史 (bell-labs.com)
若文章对您有帮助,欢迎关注 程序员小迷 。助您在编程路上越走越好!
微风不燥,阳光正好,你就像风一样经过这里,愿你停留的片刻温暖舒心。
我是 程序员小迷 (致力于C、C++、Java、Kotlin、Android、iOS、Shell、JavaScript、TypeScript、Python等编程技术的技巧经验分享),若作品对您有帮助,请关注、分享、点赞、收藏、在看、喜欢,您的支持是我们为您提供帮助的最大动力。