分享
 
 
 

Inprise/Borland副总裁评论C#

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Do We Need Another Programming Language?

Abstract:Microsoft recently introduced a new language called C#. More languages have appeared in recent years. Do we really need another programming language?

Wednesday, August 9, 2000

Scotts Valley, CA

On June 26, 2000 Microsoft introduced the language reference for a new programming language, C# (pronounced "See Sharp"). The chief designer of C# is none other than our dear friend Anders Hejlsberg, Distinguished Engineer in the Developer Division at Microsoft. C# combines features from C, C++, Visual Basic, Delphi, Java, and adds a few extra green crystals. You might be asking yourself, "Does the world need another programming language?"

I'm reminded of a television commercial about Prunes. The commercial asked the question, are three enough? are six too many? You might ask the same question about programming languages. How many do we need? Do we have enough languages? Should developers create new languages? Should programmers add new language extensions to existing languages? My answers to all of the questions are: not sure, not sure, lots, no, yes, and yes.

Programming languages (and the compilers, debuggers, and other tools) help developers build the software that takes advantage of business opportunities and solve real problems. Years ago a new programming language, PL/I (Programming Language One), from IBM combined the best features of FORTRAN, COBOL, ALGOL 60, LISP, assembly language, and current programming language research. PL/I was supposed to be the perfect language for both business and scientific programming. It was sometimes called the "kitchen sink" of languages, it had everything. Yet, we have seen many new programming languages appear during the short history of our computer industry.

New programming languages, and extensions to existing programming languages keep our craft, our industry, and our imaginations alive. Imagine if we were still programming everything in assembly language (I know, some of you still do). Imagine if we were still using Fortran for systems programming. What if we were building web applications and web pages with COBOL and COBOLscript? Would the developer's world be a better place? Would we be more productive? Would we be able to go home at 5pm every night? What would we do without types, strings, structures, objects, packages, loops, runtime libraries, garbage collection, pointers, functions, parameters, dynamic arrays, recursion, exceptions, inheritance, interfaces, templates, and the rest?

As a language junkie, I have watched the arrival of a new programming language with the enthusiasm of a child tasting their first bowl of ice cream. I have stayed up late at night reading through the language specification and programmers reference manuals. I have read all of the magazine articles, books, and newsgroups for information about new languages. I have waited, with anticipation, for tools and industry infrastructure to support the new language. By now you must know that I am really crazy. But I can't help myself. I love being a programmer. Having lots of programming languages in my bag of tricks is just one part of being a good programmer.

I met Microsoft's announcement of C# with excitement. I also enjoyed the C# announcement on a personal level because Anders was a big part of the language. Anders will always be a member of the extended Borland family. C# has many influences from Anders' work at Borland on Turbo Pascal and Delphi. My congratulations go out to Anders and his team. I look forward to reading more information about C# in the future.

Author's Note: This article does not reflect any

forward looking plans or statements about Borland products,

future support for any languages, platforms, etc.

My List Of Popular Programming Languages

Many popular programming languages have appeared over the years. Of course the word "popular" is a very subjective term. What defines the popularity of a programming language? Is this like a beauty contest, a popularity contest? I won't try to come up with a criteria for selection to this list. I've based my choices on 30+ years of computing experience, anecdotal evidence of language use, language listings on the internet, in magazines and books, and feedback from my peers. You can also add your comments to the thread associated with this article. I've listed each language with its year of introduction and notable features.

My popular programming language list is not a complete listing of languages - compiled, interpreted, scripted, or otherwise. I will leave complete and updated language lists to others on the internet. I have provided some links to other sources of langugage histories and lists. I will consider updating this article at a moments notice based on feedback, clearer thinking, and continued reflection. With new languages being created all the time, this article represents a moment in time.

Year

Language

Features

1957

FORTRAN "IBM Mathematical FORmula TRANslating System" by John Backus, et al, IBM

logical if, do loop, data types included logical, integer, real, double-precision.

1958

LISP "LISt Processing language" by John McCarthy, MIT

List structure for symbolic expressions and other information, small set of operations expressed as functions (car, cdr, cons), conditional expressions, dynamic scoping, lambda expressions for naming functions, symbolic expressions instead of numeric expressions, recursion, LISP programs stored as LISP data, garbage collection.

1960

COBOL "COmmon Business Oriented Language" by the CODASYL Committee.

separate data and code sections, structured types (arrays and records), long variable names. numeric and string data types, strong typing.

1960

ALGOL "ALGORithmic Language" (original specification in 1958), ALGOL 68 (1968)

First language with a formal grammar (BNF). Data types, compound statements, identifiers of any length, multi-dimensional arrays, block structured allocation and visibility, parameter passing: call-by-value, call-by-name, recursive procedures, stack-dynamic arrays, symbol tables, stack evaluation of arithmetic, garbage collection. No I/O (I/O was left to the implementor).

1964

BASIC "Beginner's All-purpose Symbolic Instruction Code" by John G. Kemeny and Thomas E. Kurtz, Dartmouth College

Included language features from ALGOL and FORTRAN. Interpreted language, no distinction between integers and floating point, dynamic string storage, IF..THEN, and GOSUB statements. Used line numbers for all statements.

1965

SIMULA by Kristen Nygaard and Ole-Johan Dahl, Norwegian Computing Centre

First object-oriented language. Based on Algol. Added classes, reference variables (pointers to objects), pass by reference, char, text, I/O, and coroutines.

1967

PL/I by IBM

concurrent tasks, run-time exceptions, recursive procedures, pointers as a data type, array slices. programming language for systems and applications programming.

1971

Pascal by Niklaus Wirth, ETH

case statement, type safety, enumeration type.

1972

Smalltalk by Alan Kay et al, Xerox Parc

pure object-oriented, message passing metaphor, dynamic typing, reflection, integral graphics environment, large library.

1972

C by Dennis M. Ritchie, AT&T Bell Labs

Terse, low-level and permissive. macro pre-processor. Library routines provide for input, output, and operating system calls.

1976

SQL "Structured Query Language" by IBM

basic language constructs for defining and manipulating tables of data.

1979

Ada by Jean Ichbiah's team at CII Honeywell [note: US Department of Defense received 15 language proposals. Four finalists were chosen: Cii-Honeywell Bull, Intermetrics, SofTech, and SRI International]

Pascal descendant language. Added packages, exception handling, generics (templates), tasks, hardware access, strong typing, data abstraction, sub types and derived types, operator overloading, if-then-elsif-endif, case-is-when-endcase, loop-exit-endloop, goto. Parameters can be in, out and inout.

1983

C++ by Bjarne Stroustrup, AT&T Bell Labs (now called AT&T Labs)

A superset of C. Added type checking (prototypes), function overloading, operator overloading, references, classes, inheritance, polymorphism, templates, exception handling, runtime type information, streams for I/O.

1985

Object Pascal by Apple Computer and Nicklaus Wirth

Added objects to Pascal.

1987

PERL, by Larry Wall

interpreted language, strong text matching functions, procedural and object oriented, abstract database interface(DBI), open sourced.

1991

Visual Basic by Microsoft

added properties and events to Basic.

1993

Delphi by Borland

added PME (properties, methods, events), exceptions, etc to Object Pascal

1995

Java, by Sun Microsystems

Small-instruction set, object-oriented, interpreted language, runs on top of a virtual machine, garbage collection, interfaces.

1995

Javascript by Netscape

Scripting language for client and server side HTML. Similar to C syntax. Variables are case sensitive, variables can change type, rich object library.

A Few Other Notable Languages

There are many other notable languages. These languages are covered on numerous web sites. Besides the languages listed above, it is worth noting a few of the thousands of programming languages that have been created over the years that were notable in their own way. I could have listed a few more here as well. I may make further additions in the future.

PlanKalKuel (1945) by Konrad Zuse - first programming language - one data type-bool (1 bit). Objects are built up from arrays of bits.

Short Code (1949) by John W. Mauchly - first programming language used on an electronic device.

APL "A Programming Language" (1962) by Kenneth E. Iverson. The APL language includes a set of symbols (letters, numbers, punctuation, algebra, and special shapes), a very simple set of rules, and a large function library. Data can be either numeric or text.

SNOBOL (1964) by David J. Farber, Ralph E. Griswold, and F.P. Polensky - Bell Labs. Featured string manipulation, used for pattern matching.

Logo (1967) by Wallace Feurzeig, Daniel Bobrow, et al Bolt, Beranek, & Newman and Seymour Papert, MIT . A dialect of LISP featuring interactivity, modularity, extensibility, flexibility of data types. Logo is best known for its "turtle graphics."

Prolog "Programming in Logic" (1971) by Alain Colmerauer, Robert Kowalski, and Phillipe Roussel. Designed for natural language processing applications. Control structure was depth-first search with backtracking.

Modula-2 (1978), Modula-3, Oberon (1988) - Niklaus Wirth, ETH - continues the refinement of Pascal. Modula added the "module" to encapsulate functions, procedures, and data structures. Modula also included single processor (sequential) concurrency and hardware access. Oberon added inheritence, extensible record types, multi-dimensional open arrays, garbage collection. Oberon eliminated variant records, enumeration types, subranges, lower array indicies, and for loops.

CommonLisp (1981) by DARPA (Defense Advanced Research Projects Agency) and a group of companies and educational institutions - lexically scoped (default), can be dynamically scoped, data structures, closures, multiple values, types using declare and a variety of numerical types.

Eiffel (1985) by Bertrand Meyer and ISE - Language includes design by contract, assertions, and statically typed/dynamically bound objects.

Python (1991) by Guido van Rossum. Interpreted object-oriented language. The language includes modules, exceptions, dynamic typing, very high level dynamic data types, and classes.

Over 2000 Programming Languages and Counting

There are too many languages to write about in this article. The list of known programming languages is over 2000 and growing. There are many sources of programming language information on the Internet. Below you'll find a few of these links.

Open Directory - Computers Programming Languages

Review of Existing Languages

The WWW Virtual Library Computing, Programming Languages

The Retrocomputing Museum

Language list

Weird Programming Languages

Programming Languages, Past Present and Future by J.A.N Lee

Object-Oriented Programming Regaining the Excitement by Andrew P. Black

The Language List - Version 2.4, January 23, 1995

Be Well, Stay Challenged, and Have Fun!

David Intersimone "David I"

davidi@borland.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有