C (програмски јазик): Разлика помеѓу преработките

[проверена преработка][проверена преработка]
Избришана содржина Додадена содржина
с r2.7.1) (Робот: Додава war:C (linggwahe hin pagprograma)
статијава беше хаос (0/10) , сеуште не е во добра состојба(5/10) , но барем содржи наводи , мултимедија и параграфи(срамота е да нема!)
Ред 1:
{{внимание}}
{{Без извори|датум=октомври 2009}}
{{Infobox programming language
| name = C
| paradigm = структуриран , процедурален
| logo = [[File:The C Programming Language 1st edition cover.jpg|200px|alt=Корица на "The C Programming Language".]]
| caption = корица на "The C Programming Language"
| year = 1972<ref name="dottcl_2">{{cite web |url=http://cm.bell-labs.com/cm/cs/who/dmr/chist.html |title=The Development of the C Language|quote=Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort. |author=Dennis M. Ritchie|year=1993 |month=јануари |accessdate=1 јануари 2008}}</ref>
| designer = [[Денис Ричи]]
| developer = Денис Ричи и Bell Laboratories
| latest release version = C11
| latest release date = декември 2011
| turing-complete = да
| implementations = [[Clang]], [[GNU Compiler Collection|GCC]], [[Intel C++ Compiler|Intel C]], [[MSVC]], [[Pelles C]], [[Watcom C compiler|Watcom C]]
| influenced_by = [[B (programming language)|B]] ([[BCPL]], [[Combined Programming Language|CPL]]), [[ALGOL 68]],<ref name="dottcl">{{cite web |url=http://cm.bell-labs.com/cm/cs/who/dmr/chist.html |title=The Development of the C Language|quote=The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of. |author=Dennis M. Ritchie|year=1993 |month=јануари |accessdate=1 јануари 2008}}</ref> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]]
| influenced = [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[BitC]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Seed7]]
}}
'''Програмскиот јазик Ц (C)''' е релативно нов програмски јазик. Тој е програмски јазик кој ги одбележа осумдесеттите и деведесеттите години на минатиот век. Ц е најраширен програмски јазик на светот. Тој е едноставен и елегантен програмски јазик кој ја пополнува празнината меѓу вишите програмски јазици и асемблерите (assembler) бидејќи ги комбинира особеностите на вишите програмски јазици со функционалноста на асемблерите. Поради тоа Ц можеме да го наречеме јазик што ги обединува својствата и на вишите програмски јазици и на асемблерите.
 
Ред 7 ⟶ 22:
Генеологијата на програмскиот јазик Ц е следнава. Како и за сите други структуирани програмски јазици, така и за програмскиот јазик Ц може да се каже дека негов најдалечен предок е програмскиот јазик ALGOL 60. ALGOL-от 60, како што кажува и неговото име, бил развиен во 1960 година од страна на повеќе национални групи. Тој настанал само неколку години по програмскиот јазик FORTRAN. При создавањето на овој јазик било посветено големо внимание на неговата синтакса, модуларната структура и многу други нешта за кои денес се смета дека се современи и полезни. За жал, овој програмски јазик не бил никогаш општо прифатен од програмерите, веројатно поради неговата преголема генералност, апстрактност и опширност.
 
== Историја ==
=== Почеток ===
Во 1963 година на универзитетот во Кембриџ развиен е програмски јазик CPL (Combined Programming Language). Овој јазик претставува обид програмскиот јазик ALGOL 60 да се поедностави и доведе до разумна мера. Но и овој програмски јазик бил преопширен и пресложен, па како таков и тежок за учење и примена.
 
Ред 15 ⟶ 32:
 
Според тоа, генеологијата на програмскиот јазик Ц е следнава: '''ALGOL 60 > CPL > BCPL > B > C.'''
=== Понатамошно развивање ===
 
Програмскиот јазик Ц бил конструиран првенствено за потребите на развој и пренос на оперативниот систем ЈУНИКС од еден вид компјутер на друг. Овој оперативен систем бил напишан во асемблер за PDP 11, а Денис Ричи го преобработил неговото јадро (kernel) со помош на програмскиот јазик Ц. На тој начин оперативниот систем станал полесно пренослив на други компјутери.
 
Ред 22 ⟶ 39:
Од PDP 11 Ц се проширил на мини компјутерите, а потоа и на микро компјутерите. Тој е основно орудие на многу познати програмерски куќи како што сe: Ashton Tate, Microsoft, Digital Research, DEC, AT&T итн.
 
== Карактеристики ==
Преносливоста на Ц, за која многу се зборува, е реалност на ниво на пренос на програми што инаку би се пренесувале како асемблерски програми. За апликативни програми преносливоста на јазиците, како што се [[Паскал]] (Pascal) и FORTRAN е поголема поради големиот степен на нивната стандардизација. <ref>[[http://catb.org/esr/writings/taoup/html/ch04s02.html Компактност на C и Python; "Among general-purpose programming languages, C and Python are semi-compact;"]]</ref>
 
Јазикот Ц ја поседува компактноста карактеристична за програмските јазици конструирани од еден човек. Такви програмски јазици се веќе споменатите B и BCPL и програмските јазици како [[Паскал]], Lisp, APL и други. За разлика од нив програмските јазици што се конструирани од страна на тимови со повеќе автори како што се PL/1, ADA, ALGOL 60 и други, не се компактни и често пати се пресложени.
Ред 31 ⟶ 49:
Клучни зборови во Ц според стандардот ANSI се: '''auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while ...''' Програмскиот јазик Ц е '''case sensitive''' односно тој прави разлика помеѓу малите и големите букви. '''While''' не е исто што и '''while'''.
 
И во двете верзии може да се забележи дека Ц ги содржи само основните наредби и дека нема вградени влезно-излезни (I/O) наредби <ref>Like many other programming languages, C programs read in (input) or write out (output) characters: [http://pages.cs.wisc.edu/~markhill/cs354/Fall2008/notes/C.io.html C I/O функции]</ref> и наредби за ракување со низи знакови. Философијата на Ц е таква што сите посложени наредби се реализираат со помош на основните наредби и како функции (fuction) се чуваат во таканаречените библиотеки на функции (function library). Со секој преведувач на Ц (C compiler) се испорачуваат и повеќе библиотеки на разни видови функции.
 
Програмите во Ц се состојат од низи блокови кои се организираат како функции. Според тоа, пишувањето на програмите се сведува на пишување поедини функции и нивно вклопување. При тоа, сите функции се рамноправни со тоа што една мора да го има името main(). Тоа е функцијата од која отпочнува програмата.
Ред 38 ⟶ 56:
 
Покрај другото, моќта на Ц е и во овозможување на работа со покажувачи (pointers). Покажувачите, најпросто речено, соодветстуваат со мемориски адреси. Многу машински инструкции работат директно со реалните мемориски адреси, па примената на покажувачите овозможува ефикасно преведени програми.
 
== Наводи ==
{{наводи}}
{{Програмски јазици}}
 
[[Категорија:Програмски јазици]]