Kako je nastao jezik C++


1979 godine mladi inžinjer iz Bell (sada AT&T) Laboratorija, Bjarne Stroustrup, počeo je eksperimentirati sa dodacima za C, da pronadje bolji alat za implementaciju velikih projekata. U tim danima, prosječan projekat sastojao se od 10 000 linija koda (LOC). Sa dodavanjem klasa C-u rezultirajući jezik «C sa klasama» mogao je ponuditi bolju podlogu za standardizaciju C++-a.

U 1989 formiran je American National Standards Institution (ANSI) za standardizaciju C++-a. Oficijelno ime komiteta je bilo X3J16, a kasnije je promjenjeno u J16. Komitet za standardizaciju pisao je standard postepeno, te je proširivao standard kako se je jezik razvijao.

Kao polaznu tačku standarda C++ komitet je koristio C programski jezik od Kernighan i Ritchie. ANSI C++ komitet je koristio C++ Reference Manual (ARM) od Ellis i Stroustrup kao bazni dokument.  ARM je obzbjedjivao jasanu i detaljnu startnu tačku za rad komiteta. Politika komiteta nije bila da na brzinu donese standard koji bi bio polovičan i prevazidjen u narednom periodu. Umjesto toga, politika je bila da se od korisnika programera dobijaju sve promjene te da standard proizađe na osnovu zahtjeva C++ zajednice. Nadalje, komitet je također inicirao intenzivnu modifikaciju i promjene na jeziku, poput runtime type information (RTTI) i novoj notaciji za konverziju.

S vremenom, stotine hiljada ljudi koristi C++. Kompajleri su bili dostupni skoro na svim platformama. Na novom C++ kreirane su biblioteke, poput MFC i OWL .

Na komitet se vršio veliki pritisak, a kako se jezik razijao postepeno se razvijao u nekoliko smjerova jer su organizacije dodavale nove osobine jeziku, koje su posudjuvale iz drugih jezika, dok su druge željele da po svaku cijenu C++ bude efektivan i jasno prepoznatiljiv jezik.

Na samom vrhu osobina koje C++ treba standardizirati je njegova kompatibilnost sa C, uključujući podršku 8 različitih nijansi integer tipa, pokazivače,globalne funkcije i mnoge druge osobine koje nisu egzaktno bile kompatibilne sa objektno orijentisanim programiranjem.

C++ standardizacija je spojila internacionalne instutucije u kojima su nacionalna standardizacijska tijela iz cijelog svijeta bila uključena. Na kraju se ve odigralo u narednim važnim datumima za C++.

Važni datumi:

1979 Maj, Bjarne Stroustrup iz AT&T Bell Labs počeo raditi na C s klasama.
1982 Januar, prvi vanjski dokument o C sa klasama.
1983 Decembar , C++ dobio ime.
1984 Januar, prvi C++ priručnik.
1985 Oktobar, C front Release 1.0 (prva komercijalna knjiga)
1985 Oktobar The C++ Programming Language [Stroustrup]
1987 Februar, C front Release 1.2
1987 Decembar, GNU C++ release (1.13)
1988 Juni, Prvi Zortech C++ release
1989 Juni, C front Release 2.0
1989 Decembar ANSI X3J16 sastanak (Washington, DC)
1990 Mart, prvi ANSI X3J16 tehnički sastanak (Somerset, NJ)
1990 Maj, prvi Borland C++ release
1990 Maj, The Annotated C++ Reference Manual (ARM) [Ellis, Stroustrup]
1990 Juli, Prihvaćeni šabloni (Seattle, WA)
1990 Novembar, Prihvaćeni ‘izuzeci’ (Palo Alto, CA)
1991 Juni, The C++ Programming Language (druga edicija) [Stroustrup]
1991 Juni prvi ISO WG21 sastanak (Lund, Schweden)
1991 Oktobar, Cfront Release 3.0 (uključujući šablone)
1992 Februar prvi DEC C++ release (uključujući šablone i izuzetke)
1992 Mart, prvi Microsoft C++ release
1992 Maj, prvi IBM C++ release (uključujući šablone i izuzetke)
1993 Mart, prihvaćeno Run-time type identification (Portland, OR)
1993 Juli, prihvaćeni Namespaces (Munich, Germany)
1995 Apr, prvi javni dokument ANSI/ISO standard
1996 Decembar, drugi Javni dokument ANSI/ISO standard
1997 Novembar, Finalni dokument internacionalni standard (FDIS) za C++
1998 Juli, Internacionalni standard (ISO/IEC 14882:1998, “Programski jezik — C++”)

About Bahrudin Hrnjica

PhD in Mechanical Engineering, Microsoft MVP for .NET. Likes .NET, Math, Mechanical Engineering, Evolutionary Algorithms, Blogging.

Posted on 14/09/2006, in C/C++, Programiranje and tagged . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s