Bagian ejb2/xdocklet nya gak penting.
Cuma mo make point bahwa... emang codegen gak selalu painful dibanding
handcode... dan emang codegen bisa disempurnain dan gak require manual
modification...  Tapi bukan itu alesan codegen dijauhin.

*"Codegen"* itu gak bad*. "Needing a codegen"* itu yang bad... karna
indicates codenya painful.. yang mesti dibius pake codegen... tanpa ngobatin
source of the pain..
Cuma mindahin pain nya dari tangan ke mesin... Regardless of sesempurna apa
codegennya.

2008/12/17 sm96 <syaiful.mukh...@gmail.com>

>   yah, soal ejb2 dah pada tahu lah...
> tapi xdoclet tidak identik dengan ejb2 kan...
> pake xdoclet bukan berarti pasti pake ejb2 kan.
> dan codegen gak cuma xdoclet aja kan.
> kalo cuma ngomong xdoclet,
> dah pada tau kan nasibnya kayak gimana skrg.
> (kecuali yg belum tau).
> karena codegen itu penting utk banyak hal,
> dimana utk solusi2 tertentu ternyata tidak harus
> coding by hand.
>
> 2008/12/15 Hendry Luk <hendrym...@gmail.com <hendrymail%40gmail.com>>:
>
> > Ato simply put.. API yg requires codegen baru bisa dipake dengan nyaman
> > biasanya berarti APInya terlalu noisy dan ribet. Mau insert 1 row ajah
> mesti
> > nulis dulu 3 classes dan 10 methods... dan baca 10 chapter textbook.
> >
> > Framework yg DRY dan gak leaky-abstraction, gak butuh codegen at first
> > place... Dan personally banyak orang yg prefer ini.
> >
> > Tapi kadang2 codegen dibutuhin gara2 limitation dari static language,
> > terlalu limited buat produce fluent interface (e.g. NHQG). Disini codegen
> > cuma buat shut the compiler up.
> >
> > 2008/12/15 Hendry Luk <hendrym...@gmail.com <hendrymail%40gmail.com>>
> >>
> >> Maksud gw bukan itu... Bukan code gen bikin repetition...
> >> Tapi design EJB2 itu butuh banyak noise n repetition, makanya butuh
> >> codegen kayak xdocklet buat ease the pain.
> >>
> >> Padahal disini xdocklet sebenernya gak lebih dari quick hack buat get
> >> around the underlying problem... yaitu design API EJB2 yg ridiculously
> >> verbose, unreadable, n repetitive.
> >>
> >> Disini yg gw maksud "manfaat" codegen yg illusive. Emang codegen
> ngebantu
> >> banget daripada mesti nulis pake tangan, tapi tetep lebih baik API
> designnya
> >> yg dibenerin supaya gak noisy dan human friendly.. dimana lo gak butuh
> lagi
> >> codegen. Kayak yg dah dibenerin di ejb3.
> >>
> >> Tapi codegen juga sebenernya banyak dipake buat tujuan bener. Gw gak tau
> >> napa banyak comment yg undermining codegen di java. Padahal NHQG
> (NHibernate
> >> Query Generator) itu contoh codegen yg bener2 ngebantu banget di .net.
> >>
> >> Contohnya, ini query Many-To-Many di nhibernate:
> >> User usr = User.FindOne(
> >> Where.User.Name == "Hendry" &&
> >> Where.User.Roles.With().Name == "Administrator"
> >> );
> >>
> >> Strong type... far better daripada HQL.
> >> Dan (di c# 2) ini cuma possible dengan code-generator buat autogenerate
> >> class "Where" beserta setiap subclassnya buat tiap entity (e,g,
> >> Where.User.Roles).
> >>
> >> nb: di c# 3 ini udah deprecated direplace linq
> >>
> >>
> >> 2008/12/15 sm96 <syaiful.mukh...@gmail.com<syaiful.mukhlis%40gmail.com>
> >
> >>>
> >>> ini juga satu factor kelemahan yg terlalu dibesar-besarkan.
> >>> padahal sebenarnya bisa-bisa saja DRY diterapkan di code generator
> >>> manapun.
> >>> hanya karena, developer pemakai code generator pengen cepetnya aja,
> >>> sehingga gak terlalu mikirin masalah DRY.
> >>> jika penggunaan code generator sudah optimal, duplikasi apa lagi yg
> >>> masih harus dipermasalahkan? berarti masalah duplikasi itu yang harus
> >>> diresolve
> >>> di sisi code generatornya.
> >>> ekstrimnya, apakah kita gak mau mengulang2 ngetik statement
> >>> macam 'public class XXXX.. extends YYYY implements ZZZZ'
> >>> ini masuk DRY apa bukan? jelas bukan dong?
> >>> tapi code generator bisa dibikin dengan menerapkan DRY didalamnya.
> >>> Kalau masih ada yg menganggap code generator 'jatuh' karena
> >>> 'melanggar' prinsip DRY,
> >>> apa itu berarti developer2 ini gak mahir pake code generator.
> >>>
> >>> 2008/12/11 Hendry Luk <hendrym...@gmail.com <hendrymail%40gmail.com>>:
> >>>
> >>> > Masalahnya bukan code generator vs tanpa code generator. Tapi code
> >>> > generator
> >>> > vs code yg DRY dan low noise yg gak butuh generator at first place.
> >>> >
> >>> > Alasan xdocklet di ejb2 kan gara2 banyak butuh duplication n code
> noise
> >>> > dimana2 :(
> >>> >
> >>> > 2008/12/9 sm96 <syaiful.mukh...@gmail.com<syaiful.mukhlis%40gmail.com>
> >
> >>> >>
> >>> >> kesalahan terbesar pada penggunaan code generator adalah,
> >>> >> setelah code digenerate, trus dimodifikasi code hasil generate tsb.
> >>> >> padahal jika konsisten dalam penerapan cara ini, mesti code
> >>> >> generatornya
> >>> >> yang disempurnakan, disertai dengan konfigurasi yang disempurnakan
> >>> >> juga.
> >>> >> bukan berarti code generator adalah sekali generate masalah langsung
> >>> >> beres.
> >>> >> kalo ada masalah, code generator yg disempurnakan sedemikian rupa,
> >>> >> sehingga pada saat generate code yg diperlukan, tidak memakan waktu
> yg
> >>> >> lama.
> >>> >> dipikirkan juga, bahwa code yg sudah digenerate juga tidak perlu
> >>> >> digenerate ulang.
> >>> >>
> >>> >> pada menyadari atau tidak, proses compiler, interpreter, codeweaver,
> >>> >> bytecode enhancer,
> >>> >> bytecode engineering, sebenarnya ini termasuk juga dalam kategori
> code
> >>> >> generator.
> >>> >> hanya saja untuk kasus ini, code yang dihasilkan, tidak pernah
> >>> >> diubah-ubah
> >>> >> lagi,
> >>> >> dan tinggal dieksekusi. netbeans, sudah bertahun menerapkan cara
> >>> >> seperti
> >>> >> ini,
> >>> >> form design aslinya selalu disimpan dalam file formatnya khusus,
> untuk
> >>> >> kemudian
> >>> >> digenerate menjadi code java, dimana didalam source code tsb selalu
> >>> >> ada
> >>> >> pesan
> >>> >> 'Generated Code' ditambah lagi pesan "WARNING: Do NOT modify this
> >>> >> code. The content of this method is
> >>> >> * always regenerated by the Form Editor."
> >>> >>
> >>> >> 2008/12/8 Hendry Luk <hendrym...@gmail.com <hendrymail%40gmail.com>
> >:
> >>> >>
> >>> >> > xdocklet sempet jadi mainstream di EJB2.... totally agree,
> >>> >> > ridiculously
> >>> >> > painful.
> >>> >> >
> >>> >> > 2008/12/5 Ifnu <ifnub...@gmail.com <ifnubima%40gmail.com>>
> >>> >> >>
> >>> >> >> Software semacam codesmith ini sepertinya tidak populer di dunia
> >>> >> >> Java,
> >>> >> >> kalaupun ada sepertinya juga tidak laku.
> >>> >> >>
> >>> >> >> Di netbeans ada Visual Web Pack, ga banyak juga yang pake, ;).
> Ada
> >>> >> >> juga mobility pack, disana ada visual midlet, ga banyak juga yang
> >>> >> >> pake. Cuma Matisse aja yang desain halaman yang banyak dipake,
> trus
> >>> >> >> di
> >>> >> >> matisse ada databinding dengan beans binding, eh banyak yang ga
> >>> >> >> pake
> >>> >> >> juga ;)
> >>> >> >>
> >>> >> >> Ini adalah nature dari aplikasi java yang kebanyakan aplikasi
> >>> >> >> enterprise, dan sekaligus egoistis programmer java yang alergi
> >>> >> >> dengan
> >>> >> >> full code generation.
> >>> >> >>
> >>> >> >> Banyak yang bilang code generation itu cuma awalnya yang enak,
> >>> >> >> ketika
> >>> >> >> kita mau costumize, banyak juga work around yang harus dicari.
> Pada
> >>> >> >> akhirnya sama saja, ;).
> >>> >> >
> >>> >> >
> >>> >>
> >>> >> --
> >>> >> syaiful.mukhlis
> >>> >> gtalk:syaiful.mukh...@gmail.com <syaiful.mukhlis%40gmail.com>
> >>> >
> >>> >
> >>>
> >>> --
> >>> syaiful.mukhlis
> >>> gtalk:syaiful.mukh...@gmail.com <syaiful.mukhlis%40gmail.com>
> >>
> >
> >
>
> --
> syaiful.mukhlis
> gtalk:syaiful.mukh...@gmail.com <syaiful.mukhlis%40gmail.com>
>  
>

Kirim email ke