Apa kebalikan dari abstraksi? [Tutup]


19

Seperti yang saya pahami, abstraksi adalah istilah yang kita gunakan ketika lebih banyak makna diciptakan dari sesuatu yang lebih sederhana tanpa mengubahnya. Ini berasal dari kata kerja latin abstrahere (untuk 'menarik diri'). Sebagai contoh, teks hanyalah salah satu abstraksi dari data biner — seperti halnya bitmap. Jadi, di komputer, teks dan bitmap ada di atas (diimplementasikan dalam hal) data biner.

Pertanyaan saya adalah: apa istilah yang berlawanan? Jika saya ingin mengetahui kemungkinan hal-hal yang lebih mendasar yang bitmap dapat diimplementasikan dalam hal selain data biner — hal-hal seperti ubin untuk mosaik atau tambalan kain untuk selimut kain perca — apa yang saya minta? Apakah ada kata untuk itu?

Abstraksi memiliki konotasi generalisasi dan proses kebalikannya adalah spesialisasi. IDK apakah itu membantu.


7
Ini mungkin lebih cocok di English.SE.
Péter Török

3
Dalam beberapa kasus kesederhanaan. Saya telah melihat banyak abstraksi mengerikan yang hanya membuat segalanya lebih rumit;
William

Saya pikir konsep ini tidak memiliki kata yang memuaskan. Mari kita koin satu jadi: "abstraksi"
Conor Cosnett

Jawaban:


8

Penerapan.

Abstraksi adalah kata-kata pendek, adalah proses mental untuk memperoleh (mengurangi) model hal dunia nyata, dan "memadatkan" menjadi sebuah konsep atau gagasan.

Jadi yang sebaliknya adalah mengambil konsep atau ide, dan mengubahnya, menjadi dunia nyata ;-)


2
Saya tidak tahu apakah saya akan menyebutnya kebalikan dari konsep pelengkap. Seperti pada, setiap kali Anda memiliki abstraksi dalam pemrograman, Anda juga memiliki implementasi yang abstraksi bersembunyi. Namun, sepertinya itulah yang ditanyakan.
jhocking

@jhocking Rem & akselerator mobil bertolak belakang, namun juga saling melengkapi. Bersulang.
umlcat

"manifestasi" dari abstraksi halus dari dunia Platonis ke realitas fisik (belaka)
Conor Cosnett

41

Biasanya

Konkretisasi - Seperti dalam kelas C ++ Beton

dan dalam beberapa kasus:

Spesialisasi - Seperti dalam Spesialisasi Template C ++

Ditambahkan 12-Juni-2012 : Ini adalah istilah yang indah:

Reifikasi - Seperti dalam beberapa bahasa pemrograman


6
Meskipun saya tidak setuju dengan penggunaan 'konkretisasi' - ini sedikit kata yang rumit ... bukankah 'konkretasi' akan lebih baik? thefreedictionary.com/concretion
HorusKol

1
Konkret pasti.
Zachary Yates

Apakah itu diatur dalam beton kemudian, setelah konkresi? Hanya bertanya :-)
JensG

5

Dalam konteks pemrograman pengurangannya .

Reduksionisme

Seperti dalam: "Saya telah mengurangi masalah menjadi istilah yang paling sederhana."


4

"Beton" adalah kebalikan dari "abstrak", jadi kebalikan dari "abstraksi" secara logis adalah "konkretisasi". Namun, sebenarnya tidak ada pertentangan yang berarti karena Anda umumnya hanya berbicara tentang abstraksi dan jarang berpikir sebaliknya.


3

Mari kita mulai dari awal. Pertama-tama, apa itu abstraksi?

Masalah / Motif

Ketika Anda memprogram, Anda seringkali harus memecahkan masalah yang sangat khusus.

Motif utama untuk abstraksi adalah ketika Anda mungkin menemukan diri Anda pada situasi di mana program Anda menangani seluruh masalah sebagai satu unit, dengan banyak kekhasan kecil yang terpisah yang membutuhkan perhatian dan pemahaman. Masalahnya di sini adalah sulit bagi manusia untuk menangani data dalam jumlah besar sekaligus.

Solusinya: Abstraksi

Agar Anda dapat memahami apa yang Anda butuhkan untuk mengimplementasikan ide Anda, Anda mengekstrak solusi terperinci menjadi abstraksi yang disederhanakan .

Sebagai contoh, mari kita lihat ORM (Object-Relational Mapping), di mana SQL diabstraksi menjadi objek.

Untuk memasukkan item baru ke database tanpa abstraksi, seorang programmer harus tahu SQL. Jadi untuk memasukkan item baru, seorang programmer perlu mengingat sintaks SQL untuk memasukkan item baru ke dalam tabel:

INSERT INTO Items (field1, field2) VALUES (value1, value2)

Tetapi dengan abstraksi, programmer hanya perlu menyadari gagasan tentang apa yang ingin dia lakukan. Abstraksi berorientasi objek mungkin terlihat seperti:

Item item = new Item(value1, value2)

Anda bahkan dapat melangkah lebih jauh dan memikirkan fakta bahwa SQL itu sendiri adalah abstraksi besar untuk banyak struktur dan algoritma penyimpanan data yang canggih, yang sepenuhnya ada di ujung jari Anda untuk harga belajar bahasa deklaratif sederhana.


Kebalikan dari Abstraksi

Berdasarkan apa yang sekarang kita definisikan bahwa abstraksi benar-benar semua tentang membuatnya cukup untuk hanya mengetahui konsep klasik yang ada, kita dapat dengan mudah menyimpulkan bahwa kebalikan dari abstraksi sebenarnya adalah esoterika , di mana penggunaan atau pemahaman mensyaratkan memiliki semacam pengetahuan khusus tentang kekhasan subjek.


1

"Distraction" - seperti dalam apa yang terjadi ketika sepotong kode tidak dapat dipahami tanpa menyadari banyak detail tangensial dari apa yang sebenarnya terjadi ketika dijalankan.


0

Abstraksi memang berasal dari abs-trahere dan saya akan mengatakan yang terbaik diterjemahkan sebagai "draw from" (meskipun terjemahan literalnya akan menjadi de-traksi). Saya sudah mencoba menjelaskannya dalam posting blog .

Abstraksi adalah proses menggambar esensi dari sesuatu yang konkret. Hal-hal konkret biasanya sangat kompleks. Misalnya, jika Anda melihat kursi terdekat yang dapat Anda lihat, ada banyak detail, yang sebenarnya merupakan hal itu. Bahannya, strukturnya, bentuknya, dan sebagainya. Tetapi tidak satu pun dari hal-hal ini yang benar-benar penting . Yang penting adalah, Anda bisa duduk di atasnya.
"Abstrak" Anda tentang sesuatu adalah apa yang Anda lihat, ketika Anda melihatnya. Ketika Anda melihat kursi itu, Anda melihat sebuah kursi. Seorang pegulat mungkin malah melihat senjata sebagai gantinya.

Jadi hasil dari abstraksi adalah esensi dari sesuatu dari perspektif yang diberikan.

Dalam kasus bitmap atau teks, abstraksinya adalah, bahwa Anda menganggap nilai tertentu sebagai sesuatu yang memenuhi tujuan tertentu. Bergantung pada bahasa pemrograman yang Anda miliki, Anda dapat mewakili pemikiran Anda dalam semantik bahasa.
Tetapi bagi Anda, itu tidak terlalu penting, apakah data yang mendasarinya "biner". Ini akan bekerja dengan baik juga jika dibaca secara real time dari gulungan kertas yang dipasangi kertas, yang memiliki data yang dikodekan dengan pola meninju lubang 13 bit. Kamu tidak terlalu peduli.
Tentu saja menerapkan bitmap konkret menggunakan data biner yang tersimpan dalam memori memiliki beberapa keuntungan yang jelas dan kebanyakan orang akan lebih menyukainya. Namun, masih ada sejumlah cara untuk benar-benar menyandikan informasi bitmap misalnya. Dan bahkan mungkin masuk akal untuk menggunakan pendekatan yang berbeda satu sama lain. Tetapi kecuali untuk potongan kecil kode, yang memilih representasi berdasarkan sejumlah kendala, Anda tidak ingin memiliki pengetahuan tentang sifat konkret dari bitmap. Anda hanya peduli tentang apa yang penting dari sudut pandang Anda. Dalam contoh ini, mungkin sejumlah metode untuk memanipulasi data piksel.

Karena abstraksi sebenarnya adalah gagasan pertama dan terpenting (seperti dalam model ideal sesuatu), yang sebaliknya mungkin disebut "inkarnasi". Karena pemrograman jarang merupakan hal duniawi, orang mungkin pergi dengan "implementasi", sementara abstraksi sering direpresentasikan sebagai antarmuka.
Konkretisasi seperti yang dikatakan oleh @Lior, juga merupakan kata yang sangat cocok, meskipun lebih berfokus pada cara (yaitu memberikan sesuatu yang konkret - yang tentu saja tidak bisa dihindari) daripada tujuan yang sebenarnya (yaitu untuk mengimplementasikan ide).


0

Abstraksi adalah proses menghapus spesifik untuk menggeneralisasi sesuatu. Jika abstraksi adalah penghapusan spesifik, maka mungkin kebalikan dari abstraksi adalah spesifikasi.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.