Re: [linux-programming] buku bagus di bidang computational theory

2009-12-27 Terurut Topik eko hermiyanto
Saya sangat setuju sekali dengan pendapat bapak. Tetapi SICP sangatlah
advance(paling tidak bagi saya), dan bagi yang ingin mempelajari
functional programming dalam tingkat awal, silakan membaca:
1. How to Design Program
2. A little MLer
3. Schemers Series

> SICP merupakan buku yang bagus untuk memahami functional programming.
> One of the best.

Benar sekali. Tetapi bagaimanapun juga, computational theory pada
dasarnya adalah applied mathematics bukan, sama halnya seperti
statistics dan dynamics? Tetapi, Introduction to Algorithms sangat
pantas untuk dibaca.

> Art of Computer Programming (Knuth), menurut saya terlalu "mathematics".
> Untuk belajar algorithm, lebih baik menggunakan Introduction to
> Algorithms (Cormen/MIT).

Belinya dimana ya pak? Kinokuniya adakah? Atau perlu memesan bukunya
langsung? Dan juga harganya berapa ya pak?

> Buku yang saya sedang baca "Coders At Work" itu juga bagus. Buku ini berisi
> interviews dengan top programmer, dan menarik sekali mengikuti cara berpikir
> mereka dalam menghadapi masalah.

Dengan hormat,
Eko Hermiyanto

-- 
Berhenti langganan: linux-programming-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis



[linux-programming] buku bagus di bidang computational theory

2009-12-27 Terurut Topik eko hermiyanto
Teman-teman,

Saya ada beberapa buku yang bagus banget tentang programming,
computational theory, symbolic expression dan symbolic computation,
dan juga artificial intelligence:
1. How to Design Program
Buku ini adalah buku tentang computational theory yang paling elegant
yang pernah saya baca. Saya begitu mencintai buku ini. Dengan buku
ini, kita akan belajar me-design program. Buku ini juga tersedia
online, silakan googling sendiri.
2. Computer Science Logo Style
Setelah mempelajari How to Design Program, maka buku ini akan jadi
buku kedua yang pas. Buku ini sebenarnya ada 3 volume. Buku ini juga
tersedia online, tetapi alamatnya mohon googling sendiri yah.
3. Schemers Series
Seri ini ada tiga buku, yaitu A Little Schemer, A Seasoned Schemer,
dan A Reasoned Schemer. Seri ini akan menjadi makanan ketiga yang
sangat lezat.
4. The Little MLer
Seri ini akan menjadi makanan keempat yang menyehatkan, percayalah.
5. A Little Java A Few Patterns
Banyak orang membenci Java(walaupun juga banyak yang mencintai bahasa
tersebut). Tetapi percayalah, dengan buku ini kita akan mengetahui
keindahan Java. Tetapi harap mohon dimengerti bahwa buku ini bukanlah
tentang Java, tetapi tentang konsep programming yang menggunakan Java
sebagai tool.
6. Squeak: Learn Programming with Robots
Ingin bersenang-senang, bacalah buku ini. Selain itu, buku ini akan
membuka sebuah dunia sebagai sesuatu hal yang baru bagi kita.

Dan seri kedua adalah mengenai eksplorasi dunia ini dalam konteks
computational theory:
1. Turtle Geometry: The Computer as a Medium for Exploring Mathematics
2. Investigations in Algebra: An Approach to Using Logo
3. Learning Mathematics and Logo

Buku-buku ini adalah buku dengan kesulitan tingkat medium:
1. Scheme and the Art of Programming
Scheme, dalam opini saya adalah salah satu bahasa yang paling elegan
di dunia ini(tetapi harap diingat bahwa ini adalah opini saya pribadi
dan oleh karena itu sangatlah subjektif). Dengan buku ini, kita akan
bisa mempelajari Scheme sebagai sebuah bahasa dan bukan hanya sebagai
tool untuk mempelajari konsep-konsep computational theory.
2. C Programming Language
Bahkan, pencipta OpenBSD sendiri berkata bahwa buku ini adalah
satu-satunya yang perlu kita baca untuk mengetahui konsep-konsep yang
ditawarkan oleh C(seperti pointer). Tetapi tentu saja, saya sendiri
juga tidak begitu setuju dengan beliau(tetapi saya yakin ini karena
daya pikir saya yang terbatas dibandingkan dengan beliau).

Buku-buku yang teramat sangat advance, dan mohon dimengerti bahwa saya
sendiri juga belum selesai membaca buku-buku berikut ini:
1. Structure and Interpretation of Computer Programs
Buku ini adalah buku yang paling legendaris dalam dunia computational
theory(sejauh yang saya tahu). Tetapi alamak susahnya minta ampun.
2. Essentials of Programming Languages
Hmmm.. terus terang saya baru sampai bab pertama.. Untuk saat ini saya
nyerah dulu deh.
3. The Art of Computer Programming
Diskusi mengenai algorithm, try it, karena buku ini juga legendaris.

Well, buku-buku tersebut bisa dibaca sambil dipraktekan di komputer.
Tetapi saya menganggap computational theory adalah applied
mathematics, jadi saya menggunakan kertas dan bolpoin untuk melakukan
kegiatan programming day to day(walaupun banyak juga yang saya
kerjakan dengan komputer), dengan pengecualian untuk kasus yang
berhubungan dengan Geometry, saya lebih suka memakai komputer.

Bagaimana dengan komputer yang diperlukan? Sebuah mesin X86 dengan
Linux sudah lebih dari mencukupi karena kompiler dan interpreter untuk
tool-tool diatas tersedia di Linux. Tetapi tentu saja teman-teman bisa
memakai mesin dan OS yang lain(Plan9 misalnya, tetapi saya tidak tahu
apakah semua implementasinya tersedia di Plan9 atau tidak)

Bagi yang di Jakarta bisa datang ke rumah saya kalau mau iseng-iseng
membaca buku-buku itu. Bisa juga meminjam buku itu, tetapi tinggalkan
saya buku juga yah, tapi diharapkan jangan buku yang berhubungan
dengan komputer kalau bisa(saya lebih suka baca Novel.. hehehehehe).


Dengan hormat,
Eko Hermiyanto

-- 
Berhenti langganan: linux-programming-unsubscr...@linux.or.id
Arsip dan info: http://linux.or.id/milis



[linux-programming] mengenai pointer di C

2007-06-18 Terurut Topik Eko Hermiyanto
Selamat siang,

Di C ada konsep variable(seperti juga di bahasa-bahasa lain). Variable
tersebut mempunyai nilai yang bersemayam di alamat memory tertentu. Kita
bisa mendapatkan dan memanipulasi nilai variable tersebut dengan
langsung assign nilai baru kepada variable itu.

Nah, selain cara diatas kita bisa mendapatkan dan memanipulasi variable
dengan pointer. 

Yang ingin saya tanyakan adalah kalau kita bisa memanage variable dengan
cara assigning variable biasa, kenapa kita harus memakai pointer.

Dibawah ini adalah kode-kode yang memakai pointer:
#include 

int calculation(int *firstNumber, int *secondNumber) {
  return(*firstNumber * *secondNumber);
}

int main() {
  int age = 23;
  int* agex = &age;
  int ctr;
  int* ctrx = &ctr;
  for(*ctrx = 0; *ctrx < 10; *ctrx = *ctrx + 1) {
printf("%d\n", *agex);
*agex = *agex + 1;
  }
  int first = 10;
  int second = 100;
  int value = calculation(&first, &second);
  printf("%d\n", value);
  return(0);
}

Bukankah kode-kode diatas(yang hanya melakukan operasi sangat sederhana)
bisa dengan mudah dah terang kalo tanpa pointer? Mohon pencerahannya.


Thanks,
Eko Hermiyanto


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis