By design, C gives the programmer relatively direct access to the features of the typical CPU architecture, customized for the target instruction set.
Dengan desain, fitur C dengan jelas mencerminkan kemampuan CPU yang ditargetkan.
It has become one of the most widely used programming languages, with C compilers available for practically all modern computer architectures and operating systems.
C juga banyak dipakai oleh berbagai jenis platform sistem operasi dan arsitektur komputer, bahkan terdapat beberepa compiler yang sangat populer telah tersedia.
The program prints "hello, world" to the standard output.
Programnya mem-print "hello, world" ke output standar, yang biasanya berupa terminal atau tampilan layar.
The origin of C is closely tied to the development of the Unix operating system, originally implemented in assembly language on a PDP-7 by Dennis Ritchie and Ken Thompson, incorporating several ideas from colleagues.
Asal-usul C terkait erat dengan pengembangan sistem operasi Unix, yang awalnya diimplementasikan dalam bahasa assembly pada PDP-7 oleh Dennis Ritchie dan Ken Thompson, menggabungkan beberapa ide dari rekan-rekannya.
Eventually, they decided to port the operating system to a PDP-11.
Akhirnya, mereka memutuskan untuk mem-porting sistem operasi ke PDP-11.
The original PDP-11 version of Unix was also developed in assembly language.
Versi asli Unix PDP-11 juga dikembangkan dalam bahasa assembly.
Thompson wanted a programming language for developing utilities for the new platform.
Thompson menginginkan bahasa pemrograman untuk mengembangkan utilitas untuk platform baru.
The official description of BCPL was not available at the time, and Thompson modified the syntax to be less 'wordy' and similar to a simplified ALGOL known as SMALGOL.
Deskripsi resmi BCPL belum tersedia pada saat itu[14] dan Thompson memodifikasi sintaksisnya agar tidak terlalu bertele-tele, dan mirip dengan ALGOL sederhana yang dikenal sebagai SMALGOL.[15]
He called the result B, describing it as "BCPL semantics with a lot of SMALGOL syntax".
Dia menggambarkan B sebagai "semantik BCPL dengan banyak sintaksis SMALGOL".
Like BCPL, B had a bootstrapping compiler to facilitate porting to new machines.
Seperti BCPL, B memiliki kompiler bootstrapping untuk memfasilitasi porting ke mesin baru.[15]
Ultimately, few utilities were written in B because it was too slow and could not take advantage of PDP-11 features such as byte addressability.
Namun, hanya sedikit utilitas yang akhirnya ditulis dalam B karena terlalu lambat, dan tidak dapat memanfaatkan fitur PDP-11 seperti kemampuan pengalamatan byte.
In 1971 Ritchie started to improve B, to use the features of the more-powerful PDP-11.
Pada tahun 1971, Ritchie mulai menyempurnakan B, untuk memanfaatkan fitur PDP-11 yang lebih bertenaga.
A significant addition was a character data type.
Tambahan yang signifikan adalah tipe data karakter.
Thompson started to use NB to write the Unix kernel, and his requirements shaped the direction of the language development.
Thompson mulai menggunakan NB untuk menulis kernel Unix, dan persyaratannya membentuk arah pengembangan bahasa.[15][16] Hingga tahun 1972, tipe yang lebih kaya ditambahkan ke bahasa NB: NB memiliki array int dan char.
NB had arrays of int and char, and to these types were added pointers, the ability to generate pointers to other types, arrays of all types, and types to be returned from functions.
Pointer, kemampuan untuk menghasilkan pointer ke tipe lain, semua tipe array, dan tipe yang akan dikembalikan dari fungsi semuanya juga ditambahkan.
Arrays within expressions were effectively treated as pointers.
Array dalam ekspresi menjadi pointer.
A new compiler was written, and the language was renamed C. The C compiler and some utilities made with it were included in Version 2 Unix, which is also known as Research Unix.
Kompiler baru telah ditulis, dan bahasanya diganti namanya menjadi C.[8] Kompiler C dan beberapa utilitas yang dibuat dengannya disertakan dalam Unix Versi 2, yang juga dikenal sebagai Research Unix.
At Version 4 Unix, released in November 1973, the Unix kernel was extensively re-implemented in C. By this time, the C language had acquired some powerful features such as struct types.
Pada Versi 4 Unix, dirilis pada bulan November 1973, kernel Unix diimplementasikan kembali secara ekstensif di C.[8] Pada saat ini, bahasa C telah memperoleh beberapa fitur canggih seperti tipe struct.
Earlier instances include the Multics system (which was written in PL/I) and Master Control Program (MCP) for the Burroughs B5000 (which was written in ALGOL) in 1961.
Contoh sebelumnya termasuk sistem Multics (yang ditulis dalam PL/I) dan Master Control Program (MCP) untuk Burroughs B5000 (yang ditulis dalam ALGOL)
In and around 1977, Ritchie and Stephen C. Johnson made further changes to the language to facilitate portability of the Unix operating system.
Sekitar tahun 1977, Ritchie dan Stephen C. Johnson membuat perubahan lebih lanjut pada bahasa untuk memfasilitasi portabilitas sistem operasi Unix.
In 1978 Brian Kernighan and Dennis Ritchie published the first edition of The C Programming Language.
Pada tahun 1978, Dennis Ritchie dan Brian Kernighan menerbitkan edisi pertama dari buku yang berjudul The C Programming Language.
In 1990 the ANSI C standard (with formatting changes) was adopted by the International Organization for Standardization (ISO) as ISO/IEC 9899:1990, which is sometimes called C90.
Pada 1990, versi ANSI C diadopsi oleh Organization for Standardization (ISO) dengan sedikit perubahan dengan nama ISO/IEC 9899:1990.
Each library typically has a header file, which contains the prototypes of the functions contained within the library that may be used by a program, and declarations of special data types and macro symbols used with these functions.
Setiap pustaka mempunyai sebuah file header, yang berisi prototipe fungsi yang terkandung di dalam perpustakaan yang dapat digunakan oleh suatu program, dan deklarasi tipe data khusus dan simbol makro yang digunakan dengan fungsi ini.
C is widely used for systems programming in implementing operating systems and embedded system applications.
C digunakan luar untuk pemrograman sistem dalam mengimplementasikan sistem operasi dan pengaplikasian sistem tertanam.
The code generated by compilation does not demand many system features, and can be invoked from some boot code in a straightforward manner – it is simple to execute.
Ini untuk beberapa alasan: Kode yang dihasilkan setelah kompilasi tidak menuntut banyak fitur sistem, dan dapat dipanggil dari beberapa kode boot secara langsung - itu sederhana untuk dijalankan.
The C language statements and expressions typically map well to sequences of instructions for the target processor, and consequently there is a low run-time demand on system resources – it is fast to execute.
Pernyataan dan ekspresi bahasa C biasanya memetakan dengan baik ke urutan instruksi untuk prosesor target, dan akibatnya ada permintaan run-time yang rendah pada sumber daya sistem - ini cepat untuk dijalankan.
The language makes it easy to overlay structures onto blocks of binary data, allowing the data to be comprehended, navigated and modified – it can write data structures, even file systems.
Bahasanya membuatnya mudah untuk melapisi struktur ke blok data biner, memungkinkan data untuk dipahami, dinavigasi dan dimodifikasi - ini dapat menulis struktur data, bahkan file sistem.
C has a mature and broad ecosystem, including libraries, frameworks, open source compilers, debuggers and utilities, and is the de facto standard.
C memiliki ekosistem yang sangat matang dan luas, termasuk kompiler sumber terbuka, debugger dan utilitas, dan merupakan standar de facto.
It is likely the drivers already exist in C, or that there is a similar CPU architecture as a back-end of a C compiler, so there is reduced incentive to choose another language.
Kemungkinan driver sudah ada di C, atau ada arsitektur CPU yang mirip dengan back-end kompiler C, jadi ada pengurangan insentif untuk memilih bahasa lain.
The C++ programming language (originally named "C with Classes") was devised by Bjarne Stroustrup as an approach to providing object-oriented functionality with a C-like syntax.
C++ pada awalnya disebut sebagai "C dengan Kelas" (C With Classes) dan diciptakan untuk memiliki fitur pemrograman berorientasi objek.
ISO C Working Group official website ISO/IEC 9899, publicly available official C documents, including the C99 Rationale "C99 with Technical corrigenda TC1, TC2, and TC3 included" (PDF).
Situs web resmi ISO C Working Group ISO/IEC 9899, dokumen resmi C, termasuk C99 Rationale "C99 with Technical corrigenda TC1, TC2, and TC3 included" (PDF).
Frequently Asked Questions A History of C, by Dennis Ritchie C Library Reference and Examples
(3.61 MB) comp.lang.c Frequently Asked Questions A History of C, oleh Dennis Ritchie Programming C di Wikibooks