You know you might be dealing with a `coder' when he/she says:
I'd rather not reinvent the wheel
Name:
Anonymous2015-04-25 15:29
Open a CL REPL and input:
(+ 5 "aaa")
You'll get something like
debugger invoked on a SIMPLE-TYPE-ERROR in thread ...
That, my friend, is a type error. In a unityped languge Common Lisp. And no matter how "dynamic" a language is, it will still be vulnerable to type errors, because not every value supports all possible operations.
Name:
Anonymous2015-04-25 15:53
>>35 It's a real thing, my fella /prog/rider! The Hurry-Cowardcorrespondence, that is. Whether you are aware of it or not, it's controlling your mind.
Name:
Anonymous2015-04-25 16:02
>>41 But why would you do something like that in an actual program? It doesn't make any sense.
Name:
Anonymous2015-04-25 16:10
>>43 Because you can't keep the types of everything in your head, especially if the project is big, or you're refactoring stuff.
For example, once I wrote a function where I mapped another function over a list. Then some time later I decided that this mapping action should be moved to another function lower on the call graph, but I forgot to delete the first occurence. So I was doing a perfectly type-correct map on a list, except I was doing it in twice on different levels in the call graph! A unityped language would've let this slide, and it would explode at runtime, when the execution would've gone down that particular codepath. But with Haskell, I knew of this error before the code was even recompiled, let alone run.
Name:
Anonymous2015-04-25 16:14
>>43 Let's say you have the function foo and the function bar. Is it possible to call foo(bar("anus"))? Or maybe it's possible to call bar(foo("anus"))? They could be totally incompatible, though. But with a non-unityped language, you can know that without looking at their implementations, and without running your code, hell - without even compiling anything. With a "dynamic" craplanguage, on the other hand, you're like a blind man crawling aroung on your knees.
I didn't think I would post seriously in such a /g/-ridden thread, but please refer to On understanding types, data abstraction, and polymorphism[Cardelli, Wegner 85] for a lighter-than-TAPL but thorough treatment on types and why we need them.
Name:
Anonymous2015-04-25 17:33
A type may be viewed as a set of clothes (or a suit of armor) that protects an underlying untyped representation from arbitrary or unintended use. It provides a protective covering that hides the underlying representation and constrains the way objects may interact with other objects. In an untyped system untyped objects are naked in that the underlying representation is exposed for all to see. Violating the type system involves removing the protective set of clothing and operating directly on the naked representation.
Violate my naked anus.
Name:
Anonymous2015-04-25 17:54
>>47 Queers like you will be the first to die on the day of the rope.
Name:
Anonymous2015-04-25 18:03
>>47 Very smooth reading, and at the same time informative and precise without being overly technical. Thanks.
Name:
Anonymous2015-04-25 18:14
Does /prog/ think dynamic typing has its place on some specific applications? I, for one, wouldn't use a statically typed scripting language.
Name:
Anonymous2015-04-25 18:21
>>50 It has its place below 1000 LOC, yeah. Though multi-typed languages can be used there just as well if they're interpreted.
when they try to change the entire language a project is in the second they can't immediately think of how to implement something in the language the project is already in.
Name:
Anonymous2015-05-04 18:38
when they use noob languages instead of something much more appropriate because they "don't want to make it hard for beginners to contribute"
>>71 It's not a meme. He wouldn't ask who you were quoting if you had used the feature correctly.
Name:
Anonymous2015-05-05 19:09
A friend of mine, a well known computer scientist, once said that any properly designed programming language does not need macros. I tend to agree strongly with that sentiments. Macros are hacks.
>>77 People say stuff like that, and then they go on to make parser generators, xml reader writers, coder generators, when they could have leveraged it all from the language itself.