Anggeplah temen gw yang di Amerika itu juga dapetnya C biasa, bukan C++. Soalnya bahasa C++ biasanya kalo dipake buat belajar dasar-dasar pemrograman sih fitur-fitur yang dipakenya cuma fitur-fitur yang ada di C, yang asli dari C++ masih kurang banyak dipake. Lisp & Pascal mungkin agak jarang gw denger sih. Strukturnya yang beda dari C juga bikin gw agak bingung ngebaca source codenya, terutama Lisp. Kalo Pascal sih gw lumayan bisa ngerti pas bacanya, cuma gw nggak bisa ngodingnya karena nggak pernah bikin program pake Pascal.
Oke, jadi kali ini gw mau ngebandingin antara C, C++, C#, & Java. Kenapa empat bahasa ini? Karena ini semua bahasa yang lumayan banyak gw pake. Gw sendiri sering pake PHP & JavaScript juga, tapi itu nggak masuk ke kategori yang sama dengan empat bahasa tadi. Visual Basic juga kadang-kadang gw pake sih, tapi nggak begitu sering. Kalo ngoding pake Visual Studio juga yang gw pake biasanya C# sih.
Sebelumnya mungkin perlu gw kasih tau dulu, C, C++, C#, & Java punya struktur bahasa yang agak mirip. Untuk C++ & C# sih keliatannya udah cukup jelas dari namanya kalo dua bahasa ini turunan dari C.
C termasuk ke golongan bahasa pemrograman yang pake konsep procedural programming. Program yang dibikin pake bahasa C sih jalannya paling kenceng dibandingin dengan program yang sama yang dibikin pake bahasa pemrograman high-level yang lain. Kalo sama bahasa pemrograman low-level kayak assembly sih….kalah cepet lah ya. Di bahasa C kita bisa ngakses langsung alamat memory RAM yang kita mau pake fitur pointer & reference. Karena bisa langsung ngakses mesin, sistem operasi & driver untuk hardware biasanya dibikin pake bahasa C.
Bahasa C itu awal mulanya di pakai untuk jaringan, tapi sekarang berkembang sbg software pembuat aplikasi.
Contoh program sederhana yang akan mencetak kalimat "Azhar!" :
#include
#include
int main(void)
{
printf("Azhar!\n");
return 0;
}
C++ nambahin fitur untuk object-oriented programming di bahasa C, ditambah dengan fitur-fitur lain kayak operator overloading & function overloading. C++ nggak murni object-oriented, berarti kita bisa ngoding pake gaya kodingan bahasa C di C++ karena C++ masih support procedural programming. C++ juga bisa langsung ngakses mesin kayak C, tapi nggak sekenceng C jalannya. Program-program yang ditulis pake C++ sedikit lebih lambat pas dijalanin.
Pemrograman C++, awal mulanya dirancang untuk sistem Unix.
Contoh program sederhana C++ untuk "Azhar" :
#include
int main()
{
std::cout << "Azhar\n";
return 0;
}
Java juga turunan dari C & C++, tapi tanpa fitur pointer. Bedanya dengan C++, Java murni object-oriented. Di sini semua data-data harus dibuat dalam bentuk object. Function main() di Java harus dideklarasiin sebagai method dari satu class, sementara kalo di C++ function main() bisa berdiri sendiri. Kalo di C++ ada fitur multiple inheritance, di Java itu diilangin. Pas ngoding Java juga perlu diinget, satu file source code Java isinya cuma bisa satu class aja & nama filenya harus sama dengan nama class yang ada di dalamnya. Pengecualian untuk class yang dibuat dalam class lain, class ini boleh numpang di file class utamanya. Java sih punya pemikiran WORA (Write Once Run Anywhere), jadi program yang kita tulis satu kali bisa kita jalanin di mana aja selama mesin yang mau ngejalaninnya punya Java Virtual Machine (JVM). C++ juga udah punya fitur ini sekarang sih kalo pake Qt. Kita nulis programnya sekali aja terus tinggal dicompile pake compiler yang sesuai dengan mesin yang mau dipake ngejalaninnya nanti, nggak perlu virtual machine.
C# itu turunan dari C, C++, & Java. Sejauh yang gw tau sih C# juga murni object-oriented kayak Java & nggak support multiple inheritance, tapi C# punya fitur pointer. Fitur pointer di C# nggak begitu disarankan untuk dipake juga sih, jadi ya…begitulah. File source code C# nggak dibatasin satu file buat satu class doang aja tapi, & nama filenya nggak harus sama dengan nama classnya. C# ada ketergantungan sama framework .NET (kalo di OS Windows) atau Mono (kalo di OS lain) sih buat bisa jalannya. Mirip dengan Java yang butuh JVM deh kira-kira
C# itu bahasa pemrograman modern yang berorientasi objek. Secara sintaks C# mirip dengan bahasa-bahasa keluarga C seperti C, C++, dan Java.
Contohnya mencetak "Azhar!" :
using System;
namespace Azhar
{
///
/// Summary description for Class1.
///
class Demo
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Azhar!");
Console.ReadLine();
}
}
}
Singkatnya...
Bahasa c, bahasa awal dari bahasa ini, tidak mendukung class (Object Oriented Programming)
C++, mendukung class, dan syntax2 diperbarui.
C# kembangan dari 2 bahasa diatas, biasanya langsung Object Oriented, seperti java.
thanks infonya gan
ReplyDeletemampir disini gan...tinggal pencet
terima kasih