一位传奇的计算机科学家:尼克劳斯·沃斯(Niklaus Wirth)

在计算机科学的历史长河中,有这样一位人物,他的贡献不仅限于创造出一种全新的编程语言,更是深刻地影响了整个软件工程领域的发展方向。他就是瑞士计算机科学家——尼克劳斯·沃斯(Niklaus Wirth)。

图片

图片

  • award (2007): Programming Languages Achievement Award
    奖项 (2007):编程语言成就奖

  • award (1987): Computer Pioneer Award
    奖项 (1987):计算机先锋奖

  • award (1984): Turing Award
    奖项 (1984):图灵奖

  • award (1983): IEEE Emanuel R. Piore Award
    奖项 (1983):IEEE Emanuel R. Piore

尼克劳斯·埃米尔·沃斯(Niklaus Emil Wirth,1934 年 2 月 15 日 - 2024 年 1 月 1 日)是一位瑞士计算机科学家。他设计了多种编程语言,包括 Pascal,并开创了软件工程领域的几个经典主题。1984 年,他获得了图灵奖,该奖被公认为计算机科学领域的最高荣誉,“以表彰他开发了一系列创新的计算机语言”。

Born 出生

Niklaus Emil Wirth 尼克劳斯·埃米尔·沃斯


15 February 1934 15 二月 1934

Winterthur, Switzerland
瑞士 温特图尔

Died 逝世1 January 2024 (aged 89) 2024 年 1 月 1 日(享年 89 岁)

Zürich, Switzerland
瑞士 苏黎世

Citizenship 公民Switzerland 瑞士
Education 教育
  • BS, ETH Zurich (1959)
    苏黎世联邦理工学院理学士 (1959)

  • MSc, Université Laval (1960)
    拉瓦尔大学硕士 (1960)

  • PhD, University of California, Berkeley (1963)
    加州大学伯克利分校博士 (1963)

Known for 闻名ALGOL W, Euler, Pascal, Modula, Modula-2, Oberon, Oberon-2, Oberon-07, Oberon System
Algol O, Yuler, Pascal, Modula, Modula-2, Oberon, Oberon-2, Oberon-07, Oberon 系统
Awards 奖
  • IEEE Emanuel R. Piore Award (1983)
    IEEE Emanuel R. Piore 奖 (1983)

  • Turing Award (1984)
    图灵奖 (1984)

  • SIGPLAN Programming Languages Achievement Award
    SIGPLAN 智能体编程语言成就奖

  • Fellow of the Computer History Museum (2004)
    计算机历史博物馆会员 (2004)

  • Marcel Benoist Prize (1989)
    马塞尔·贝诺伊斯特奖 (1989)

Fields 领域Computer science 计算机科学
Institutions 机构
  • ETH Zurich 苏黎世联邦理工学院

  • Stanford University 斯坦福大学

  • University of Zurich 苏黎世大学

  • Xerox PARC 施乐 PARC

Thesis 论文A Generalization of Algol (1963)
Algol 的概括(1963)
初识沃斯:从苏黎世到斯坦福

1934年2月15日,尼克劳斯·沃斯出生于瑞士温特图尔的一个工程师家庭。从小他就对数学和技术产生了浓厚的兴趣。1959年,苏黎世瑞士联邦理工学院 (ETH Zürich) 电子工程理学学士学位 (B.S.) 学位。1960 年,他获得了魁北克省拉瓦尔大学的理学硕士学位 (M.Sc)。1963 年,获得了加州大学伯克利分校电气工程和计算机科学 (EECS) 博士学位,由计算机设计先驱 Harry Huskey 指导。

编程语言的革新者

从 1963 年到 1967 年,Wirth 在斯坦福大学和苏黎世大学担任计算机科学助理教授。然后在 1968 年,他成为苏黎世联邦理工学院的信息学教授,并在此开启了他辉煌的职业生涯。
1970年,发明了Pascal语言,这是一种面向教学的高级编程语言,它简洁易懂,特别适合于教学目的。Pascal的诞生,标志着计算机科学教育的一个重要转折点,许多后来流行的编程语言都受到了它的启发。
1978年,他又推出了Modula-2语言,这是一种更加强调模块化设计思想的语言。通过引入模块化编程的概念,Modula-2使得大型系统的开发变得更加高效有序。直到今天,许多现代编程语言的设计依然可以从Modula-2中找到影子。
Wirth 是编程语言 Euler (1965)、PL360 (1966)、ALGOL W (1966)、Pascal (1970)、Modula (1975)、Modula-2 (1978)、Oberon (1987)、Oberon-2 (1991) 和 Oberon-07 (2007) 的首席设计师。他还是操作系统 Medos-2(1983 年,用于 Lilith工作站)和 Oberon(1987 年,用于 Ceres 工作站)以及 Lola (1995) 数字硬件设计和模拟系统的设计和实施团队的主要成员。

系统化的思维:算法+数据结构=程序

除了编程语言之外,沃斯教授还提出了“算法+数据结构=程序”这一著名公式,强调了程序设计的本质在于逻辑思维能力的培养。这一理念不仅为软件开发提供了理论指导,也促进了计算机科学学科体系的完善和发展。

沃斯定律

1995 年,他推广了现在称为沃斯定律的谚语。在他 1995 年的论文《精益软件的呼吁》中,他将以下内容归功于 Martin Reiser,并将其解释为:"Software is getting slower more rapidly than hardware becomes faster",软件性能下降的速度比硬件提升的速度要快。

对教育的贡献

沃斯教授一生致力于计算机科学的教学与研究工作,他撰写了多本经典教材,如《Algorithms + Data Structures = Programs》和《Software Engineering Principles》等,这些书籍不仅成为了众多程序员学习的圣经,也对推动计算机科学教育的发展起到了重要作用。

Niklaus Wirth 尼克劳斯·沃斯生平大事记

2021年

    50 years of Pascal. Commun. ACM 64(3): 39-41 (2021)
    帕斯卡 50 周年。Commun. ACM 64(3):39-41 (2021)

2012年

    Programming Languages - Past Achievements and Future Challenges. ACM-TURING 2012: 12:1
    编程语言 - 过去的成就和未来的挑战。ACM-TURING 2012:12:1

2010

    Computer Science: A Historical Perspective and a Current Assessment. The Future of Software Engineering 2010: 151
    计算机科学:历史视角和当前评估。软件工程的未来 2010:151

2008

    Grundlagen und Techniken des Compilerbaus (2. Aufl.). Oldenbourg 2008, ISBN 978-3-486-58581-0, pp. I-XI, 1-191
    编译器构造的基础和技术(第 2 版)。奥尔登堡2008 年,ISBN 978-3-486-58581-0,第 I-XI 页,1-191 页
    
    A Brief History of Software Engineering. IEEE Ann. Hist. Comput. 30(3): 32-39 (2008)
    软件工程简史。IEEE Ann. Hist. Comput. 30(3):32-39 (2008)

2007年

    Modula-2 and Oberon. HOPL 2007: 1-10

2006年

    Good Ideas, through the Looking Glass. Computer 39(1): 28-39 (2006)
    创意奇境。计算机 39(1):28-39 (2006)

2003年

    Hardware/software co-design then and now. Inf. Process. Lett. 88(1-2): 83-87 (2003)
    硬件/软件的过去和现在共同设计。Inf. Process. Lett. 88(1-2):83-87 (2003)

    The Essence of Programming Languages. JMLC 2003: 1-11
    编程语言的本质。JMLC 2003:1-11

2002年

    Computing science education: the road not taken. ITiCSE 2002: 1-3
    计算机科学教育:未走的路。ITiCSE 2002:1-3

    Pascal and Its Successors. Software Pioneers 2002: 108-119
    帕斯卡及其继任者。软件先驱 2002:108-119

    The Programming Language Pascal (Reprint). Software Pioneers 2002: 121-148
    编程语言 Pascal(重印)。软件先驱 2002:121-148

Program Development by Stepwise Refinement (Reprint). Software Pioneers 2002: 149-169
    由 Stepwise Refinement 程序开发(重印)。软件先锋 2002:149-169

2001年

    Embedded Systems and Real-Time Programming. EMSOFT 2001: 486-492
    嵌入式系统和实时编程。EMSOFT 2001:486-492

2000年

    From Programming Language Design to Computer Construction. The School of Niklaus Wirth 2000: 21-30
    从编程语言设计到计算机构建。尼克劳斯·沃斯学院 2000:21-30
    
    The Development of Procedural Programming Languages: Personal Contributions and Perspectives. JMLC 2000: 1-10
    过程编程语言的发展:个人贡献和观点。JMLC 2000:1-10

1999年

    Algorithmen und Datenstrukturen - Pascal-Version (5. Aufl.). Leitfäden der Informatik, Teubner 1999, ISBN 978-3-519-22250-7, pp. 1-320

1998年

    Hardware Compilation: Translating Programs into Circuits. Computer 31(6): 25-31 (1998)
    硬件编译:将程序转换为电路。计算机 31(6):25-31 (1998)

1996年

    Grundlagen und Techniken des Compilerbaus. Addison-Wesley 1996, ISBN 978-3-89319-931-0, pp. I-IX, 1-195
    编译器构造的基础知识和技术。艾迪生-卫斯理1996 年,ISBN 978-3-89319-931-0,第 I-IX 页,1-195 页
    
    Compiler construction. International computer science series, Addison-Wesley 1996, ISBN 978-0-201-40353-4, pp. I-XI, 1-176
    编译器构造。国际计算机科学系列,Addison-Wesley1996,ISBN 978-0-201-40353-4,页。I-XI, 1-176
    
    Tasks versus Threads: An Alternative Multiprocessing Paradigm. Softw. Concepts Tools 17(1): 6-12 (1996)
    任务与线程:另一种多处理范式。软件。概念工具 17(1):6-12 (1996)
    
    The Language Lola, FPGAs and PLDs in Teaching Digital Circuit Design. Ershov Memorial Conference 1996: 2-20
    数字电路设计教学中的语言 Lola、FPGA 和 PLD。1996 年埃尔绍夫纪念会议:2-20

1995年

    Digital circuit design for computer science students - an introductory textbook. Springer 1995, ISBN 978-3-540-58577-0, pp. I-XIII, 1-204
    计算机科学学生的数字电路设计 - 一本入门教科书。施普林格1995 年,ISBN 978-3-540-58577-0,第I-XIII、1-204

    A Plea for Lean Software. Computer 28(2): 64-68 (1995)
    精益软件的呼吁。计算机28(2):64-68 (1995)

1994年

    Programmieren in Oberon - das neue Pascal. Addison-Wesley 1994, ISBN 978-3-89319-657-9, pp. I-XXI, 1-338

    Gedanken zur Software-Exlosion. Inform. Spektrum 17(1): 5-10 (1994)
    A Laboratory for a Digital Design Course Using FPGAs. FPL 1994: 385-396
    使用 FPGA 的数字设计课程实验室。FPL 1994:385-396

1993年

    Recollections about the Development of Pascal. HOPL Preprints 1993: 333-342
    关于帕斯卡发展的回忆。HOPL 预印本 1993:333-342

1992年

    Project Oberon - the design of an operating system and compiler. Addison-Wesley 1992, ISBN 978-0-201-54428-2, pp. I-XI, 1-548
    Oberon 项目 - 操作系统和编译器的设计。Addison-Wesley1992 年,ISBN 978-0-201-54428-2,页。I-XI, 1-548
    
    Programming in Oberon - steps beyond Pascal and Modula. ACM 1992, ISBN 978-0-201-56543-0, pp. I-XVI, 1-320
    在 Oberon 中编程 - 超越 Pascal 和 Modula。ACM1992,ISBN 978-0-201-56543-0,页。I-XVI,1-320

1991年

    Pascal user manual and report - ISO Pascal standard, 4th Edition. Springer 1991, ISBN 978-0-387-97649-5, pp. I-XVI, 1-266
    Pascal 用户手册和报告 - ISO Pascal 标准,第 4 版。施普林格1991 年,ISBN 978-0-387-97649-5,第I-XVI,1-266

    Differences between Oberon and Oberon-2. Struct. Program. 12(4): 175-178 (1991)
    Oberon 和 Oberon-2 之间的区别。结构。程序。12(4):175-178 (1991)

    The Programming Language Oberon-2. Struct. Program. 12(4): 179-196 (1991)
    编程语言 Oberon-2。结构。程序12(4):179-196 (1991)

    Reply to "Type-Extension Tests Can Be Performed In Constant Time". ACM Trans. Program. Lang. Syst. 13(4): 630 (1991)
    回复 “Type-Extension Tests Can be Perform In Constant Time”Lang. Syst. 13(4):630 (1991)

1990年

    MODULA-2 and object-oriented programming. Microprocess. Microsystems 14(3): 149-152 (1990)
    MODULA-2 和面向对象编程。微过程。微系统14(3):149-152 (1990)

    Ceres-Net: A Low-cost Computer Network. Softw. Pract. Exp. 20(1): 13-24 (1990)
    Ceres-Net:一种低成本的计算机网络。软件。实践。实验20(1):13-24 (1990)

1989年

    The Oberon System. Softw. Pract. Exp. 19(9): 857-893 (1989)
    Oberon 系统。软件。实践。实验19(9):857-893 (1989)


    Designing a System from Scratch. Struct. Program. 10(1): 10-18 (1989)
    从头开始设计系统。结构。程序。10(1):10-18 (1989)

1988年

    Programming in Modula-2, 4th Edition. Texts and Monographs in Computer Science, Springer 1988, ISBN 978-3-540-50150-3, pp. 1-182
    Programming in Modula-2, 第 4 版。计算机科学中的文本和专著,施普林格1988 年,ISBN 978-3-540-50150-3,第 1-182 页

    Oberon: A system for workstations. Microprocess. Microprogramming 24(1-5): 3-8 (1988)
    Oberon:用于工作站的系统。微过程。微编程 24(1-5):3-8 (1988)

    From Modula to Oberon. Softw. Pract. Exp. 18(7): 661-670 (1988)
    从 Modula 到 Oberon。软件。实践。实验18(7):661-670 (1988)

    The Programming Language Oberon. Softw. Pract. Exp. 18(7): 671-690 (1988)
    编程语言 Oberon。软件。实践。实验18(7):671-690 (1988)
 
    Type Extensions. ACM Trans. Program. Lang. Syst. 10(2): 204-214 (1988)
    键入 Extensions。ACM Trans. Program. Lang. Syst. 10(2):204-214 (1988)

1987年

    Extension of record types. ACM SIGCSE Bull. 19(2): 2-9 (1987)
    记录类型的扩展。ACM SIGCSE 公牛。19(2):2-9 (1987)

    Hardware Architectures for Programming Languages and Programming Languages for Hardware Architectures. ASPLOS 1987: 2-8
    编程语言的硬件体系结构和硬件体系结构的编程语言。ASPLOS 1987:2-8

1986年

    Microprocessor Architectures: A Comparison Based on Code Generation by Compiler. Commun. ACM 29(10): 978-990 (1986)
    微处理器架构:基于编译器代码生成的比较。Commun。ACM 29(10):978-990 (1986)

1985年
    Algorithms and data structures. Prentice Hall 1985, ISBN 978-0-13-022005-9, pp. 1-288
    算法和数据结构。Prentice Hall1985 年,ISBN 978-0-13-022005-9,第 1-288 页
 
    Pascal user manual and report: rev. for the ISO Pascal standard, 3rd Edition. Springer 1985, ISBN 0387960481, pp. I-XVI, 1-266
    Pascal 用户手册和报告:ISO Pascal 标准修订版,第 3 版。施普林格1985 年,ISBN 0387960481,第 1 页。I-XVI,1-266

    Programmieren in Modula-2. Texts and Monographs in Computer Science, Third Corrected Edition, Springer 1985, ISBN 3-540-13301-1, pp. 1-140
    Programmieren in modula-2.计算机科学中的文本和专著,第三校正版,施普林格1985 年,ISBN 3-540-13301-1,第 1-140 页
 
    From Programming Language Design to Computer Construction. Commun. ACM 28(2): 159-164 (1985)
    从编程语言设计到计算机构建。Commun。ACM 28(2):159-164 (1985)

1983年

    Programming in Modula-2, Second Corrected Edition. Texts and Monographs in Computer Science, Springer 1983, ISBN 978-3-642-96759-7, pp. 1-165
    Programming in Modula-2, Second Corrected Edition(在 Modula-2 中编程,第二修正版)。计算机科学中的文本和专著,施普林格1983 年,ISBN 978-3-642-96759-7,第 1-165 页

    Program Development by Stepwise Refinement (Reprint). Commun. ACM 26(1): 70-74 (1983)
    由 Stepwise Refinement 程序开发(重印)。Commun。ACM 26(1):70-74 (1983 年)

1982年

    Programming in Modula 2. Springer 1982, ISBN 3-540-11674-5
    在 Modula 2 中编程。施普林格1982 年,ISBN 3-540-11674-5

1981年

    LILITH: A personal computer for the software engineer. Advanced Course: Microcomputer System Design 1981: 349-397
    LILITH:软件工程师的个人电脑。高级课程:微型计算机系统设计 1981:349-397
 
    Lilith: A Personal Computer for the Software Engineer. ICSE 1981: 2-16
    Lilith:软件工程师的个人电脑。国际科学学院 1981:2-16

    Pascal-S: A Subset and its Implementation. Pascal - The Language and its Implementation 1981: 199-259
    Pascal-S:子集及其实现。帕斯卡 - 语言及其实现 1981:199-259
 
    The Programming Language Ada Reference Manual, Proposed Standard Document, United States Department of Defense. Lecture Notes in Computer Science 106, Springer 1981, ISBN 3-540-10693-6
    编程语言 Ada 参考手册,拟议标准文件,美国国防部。计算机科学讲义 106,施普林格1981 年,ISBN 3-540-10693-6

1979年

    The Module: A System Structuring Facility in High-Level Programming Languages. Language Design and Programming Methodology 1979: 1-24
    模块:高级编程语言的系统结构工具。语言设计与编程方法论 1979:1-24
 
    A Personal Computer Based on a High-Level Language. Language Design and Programming Methodology 1979: 191-194
    基于高级语言的个人计算机。语言设计与编程方法 1979:191-194
    
    A Personal Computer Designed for Use with a High-Level Language. Microcomputing 1979: 115-134
    设计用于高级语言的个人计算机。微计算 1979:115-134

1978年

    Interlude on signals and semphores revisited. author's response. Commun. ACM 21(7): 592 (1978)
    重新审视信号和 semphores 的插曲。作者的回应。Commun。ACM 21(7):592 (1978)

1977年

    Compilerbau - Eine Einführung. Teubner 1977, ISBN 3-519-02338-5
    编译器构造 - 简介。Teubner1977 年,ISBN 3-519-02338-5

    Toward a Discipline of Real-Time Programming. Commun. ACM 20(8): 577-583 (1977)
    迈向实时编程学科。公社。ACM 20(8):577-583 (1977)

    What Can We Do about the Unnecessary Diversity of Notation for Syntactic Definitions? Commun. ACM 20(11): 822-823 (1977)
    我们能做些什么来应对句法定义中不必要的符号多样性呢?公社。ACM 20(11):822-823 (1977)

    Modula: a Language for Modular Multiprogramming. Softw. Pract. Exp. 7(1): 3-35 (1977)
    Modula:一种用于模块化多程序编程的语言。软件。实践。实验7(1):3-35 (1977)

    The Use of Modula. Softw. Pract. Exp. 7(1): 37-65 (1977)
    Modula 的使用软件。实践。实验7(1):37-65 (1977 年)
   
    Design and Implementation of Modula. Softw. Pract. Exp. 7(1): 67-84 (1977)
    Modula 的设计和实施。软件。实践。实验7(1):67-84 (1977)

1976年

    Comment on a note on dynamic arrays in PASCAL. ACM SIGPLAN Notices 11(1): 37-38 (1976)
    对 PASCAL 中动态数组的注释进行注释。ACM SIGPLAN 通知 11(1):37-38 (1976)

1975年

    Pascal User Manual and Report, Second Edition. Springer 1975, ISBN 3-540-90144-2
    Pascal 用户手册和报告,第二版。施普林格1975 年,ISBN 3-540-90144-2

    Pascal User Manual and Report, Second Edition. Lecture Notes in Computer Science 18, Springer 1975, ISBN 3-540-07167-9
    Pascal 用户手册和报告,第二版。计算机科学讲义 18,施普林格1975 年,ISBN 3-540-07167-9

    An Assessment of the Programming Language Pascal. IEEE Trans. Software Eng. 1(2): 192-198 (1975)
    编程语言 Pascal 的评估。IEEE Trans. Software Eng. 1(2):192-198 (1975)
 
    An assessment of the programming language PASCAL. Reliable Software 1975: 23-30
    编程语言 PASCAL 的评估。可靠的软件 1975:23-30

1974年

    On the Composition of Well-Structured Programs. ACM Comput. Surv. 6(4): 247-259 (1974)
    关于结构良好的程序的组成。ACM 计算。Surv.6(4):247-259 (1974 年)

    Systemprogramming aus der Sicht der Universität. Programming Methodology 1974: 192-202

    On the Design of Programming Languages. IFIP Congress 1974: 386-393
    关于编程语言的设计。IFIP 大会 1974:386-393

1973年

    An Axiomatic Definition of the Programming Language PASCAL. Acta Informatica 2: 335-355 (1973)
    编程语言 PASCAL 的公理定义。信息学报 2:335-355 (1973)

1971年

    The Programming Language Pascal. Acta Informatica 1: 35-63 (1971)
    编程语言 Pascal.信息学报 1:35-63 (1971)
 
    Program Development by Stepwise Refinement. Commun. ACM 14(4): 221-227 (1971)
    通过 Stepwise Refine 进行程序开发。Commun。ACM 14(4):221-227 (1971)

    The Design of a PASCAL Compiler. Softw. Pract. Exp. 1(4): 309-333 (1971)
    PASCAL 编译器的设计。软件。实践。实验1(4):309-333 (1971)

1969年

    On multiprogramming, machine coding, and computer organization. Commun. ACM 12(9): 489-498 (1969)
    关于多重编程、机器编码和计算机组织。Commun。ACM 12(9):489-498 (1969)

1968年

    PL360, a Programming Language for the 360 Computers. J. ACM 15(1): 37-74 (1968)
    PL360,一种用于 360 计算机的编程语言。J. ACM 15(1):37-74 (1968)
    Corrigendum: "PL360, a Programming Language for the 360 Computers". J. ACM 15(3): 489 (1968)
    勘误表:“PL360,一种用于 360 度计算机的编程语言”。J. ACM 15(3):489 (1968)

1966年

    EULER: a generalization of ALGOL and it formal definition: Part 1. Commun. ACM 9(1): 13-25 (1966)
    EULER:ALGOL 的推广及其正式定义:第 1 部分。Commun。ACM 9(1):13-25 (1966 年)
 
    EULER: a generalization of ALGOL, and its formal definition: Part II. Commun. ACM 9(2): 89-99 (1966)
    EULER:ALGOL 的推广及其正式定义:第二部分。Commun。ACM 9(2):89-99 (1966)

    A note on "Program structures for parallel processing". Commun. ACM 9(5): 320-321 (1966)
    关于 “Program structures for parallel processing” 的说明。Commun。ACM 9(5):320-321 (1966)
 
    A contribution to the development of ALGOL. Commun. ACM 9(6): 413-432 (1966)
    对 ALGOL 的发展做出贡献。Commun。ACM 9(6):413-432 (1966)

1965年

    Algorithm 249: outreal N [15]. Commun. ACM 8(2): 104 (1965)
    算法 249:outreal N [15]。Commun。ACM 8(2):104 (1965)

    Automatic grading programs. Commun. ACM 8(5): 275-278 (1965)
    自动评分程序。Commun。ACM8(5):275-278 (1965)

    Algorithm 265: find precedence functions [L2]. Commun. ACM 8(10): 604-605 (1965)
    算法 265:查找优先函数 [L2]。Commun。ACM 8(10):604-605 (1965)

1964年

    Certification of algorithm 146: Multiple integration. Commun. ACM 7(5): 296 (1964)
    算法 146 认证:多重集成。Commun。ACM 7(5):296 (1964)

1963年

    A syntactic description of BC NELIAC. Commun. ACM 6(7): 367-375 (1963)
    BC NELIAC 的句法描述。Commun。ACM 6(7):367-375 (1963)

    A generalization of ALGOL. Commun. ACM 6(9): 547-554 (1963)
    ALGOL 的推广。Commun. ACM 6(9):547-554 (1963)

参考来源:

尼克劳斯·沃斯 - 维基百科,自由的百科全书 --- Niklaus Wirth - Wikipedia

https://dblp.org/pid/w/NiklausWirth.html#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值