Dynamic typing just relax you at coding and compiling moment. The type interferacing is done at runtime. The pro is less formal coding especially on algorithms and cons that data structures must be documented outside the code unless language supports type specifing.
Just read about haskell it will give you the wisdom (google "learn haskell for great good"), for example haskell is static typed but it also gives you power of algorithm eloquence like you would write in dynamic language, just at some point in code you must specify what types you are actually using in your solution. On 19 Wrz, 23:19, Dennis Haupt <d.haup...@googlemail.com> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > hi community, > > clojure is dynamically typed, so i thought here i might find some good > reasons for that. what can you do if you sacrifice compile time type > safety? > > an advantage i see is very, very concise code since you have no type > annotations at all. the downside is that exactly this code might be > unreadable - because you just have no idea what it uses and what it > does without tests or documentation. > > another advantage are macros or macro-like constructs at compile time, > for example: > "resultset.columnname" > here, "columnname" could be translated to > "resultset.getObject("columnname")". > you could even go a step further and use the column names as local > variables. > again, conciseness to the max. > > what else is there? is it worth sacrificing type safety? and is there > no way to combine both? > > - -- > > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v2.0.14 (MingW32) > Comment: Using GnuPG with Mozilla -http://enigmail.mozdev.org/ > > iQIcBAEBAgAGBQJOd7HzAAoJENRtux+h35aGPfwP/iwwAdhTDfCmTzmMnp6QYnjf > PEz+DDr7RxnCpTI/ptL73lSeFs2ctQGllzWgf6I2tZU+yB06ReGu/piIIZW/Z+sx > 3TtIK+w9r3Jzz8lI0AljM5kfo+Zo/1OBgVaGkxon1NPbhZBnH0FpfeU43H7FnuhA > 7bOu3HceOf8ju8fNNQmS+LLoueQJBEaRNn/tWkk5a/y1Ipg5hbETe/YL1+VnpAMg > xyIRkfDFwtIlnZ8+0IMpdusI7PBOj+v9VINtSkAUkZptz9wvSFj4JghXU6Mw8dUp > ATZSWGgdXZUrihNQ90K7OlIBG3xFrGiddSO5Gphe+PQFOwxaAf9x3z1opXVYJqt/ > 7u64JHdqTQkBe4TUSEh5024CdgpLIRvXh54fthl84yjfGeodvibdEwCwg6NSF80o > vl5XzeAuB/xaDkvlAE6aq2peh8+foJAxiiWoc+pKZOxYMm1lwKWTbYnnp0Slr8ym > 6CB2dAX+vF/FIV3ctJvJJYcELX/ydTp0p3RoARtHD8QNebRjTlZ2VqLQqRdF1a4b > Nc6tZUAmx1+zYLE+YavBIbgXwssw07MMtJfsyL4tIoX6+q7oQtsdPcVV+4/HvmcX > 6d3bzdCHYod6lLcbZvBhm70DUUrxTMdF73VCvNMUwpPq9OvhRd650puMQwC+/zoK > Pob2xj0YER0b1UHNKVFS > =jV+l > -----END PGP SIGNATURE----- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en