3 ms·
Type systems cause programmers to write 300 classes no one references and many duplicates of each other. Dynamic typing allows you to focus on what really matt
by pipeline_peak 4y ago
Type systems cause programmers to write 300 classes no one references and many duplicates of each other.
Dynamic typing allows you to focus on what really matters, not trivial business logic OOP hierarchies that get inevitably ignored.
I feel like in app development, there’s something honest about dynamic typing. You’re focusing on the instance rather than the unnecessary model definition that again, nobody uses and redefined elsewhere anyway.
Tbh, I’ve never used a language like JS professionally. I’m sure a lot of code bases are copied and pasted messes with state dependencies and things that make it so you HAVE to focus on the type. It’s an app language, you’re just not gonna find elegance lol.
I’ve been a C# dev for a while now. I’ve just found that outside of libraries/frameworks/etc how rarely object model code actually gets reused. And I appreciate the cut to the chase aspect of that.
Insert quote about gorilla with banana in forest.
- dgan 4y agoSeems like you mix up classes, and types ... like many others in this thread
- hither_shores 4y agoJava and its consequences have been a disaster for the human race
- pipeline_peak 4y agoI don’t understand, classes are user defined types.
- dgan 4y agothat's the issue: there is no other way to create new types aside from creating a new class in mainstream languages. Those two concepts are separate, and should be treated as such. Types are not Classes, the last is just a lousy "embodiment" of the first
- pipeline_peak 4y agoClasses are composite data types, what you are referring to are primitive data types. A class isn’t necessarily some wrapper around primitive types, they can contain data structures, other type instances, etc. Obviously that eventually leads to an end object containing a primitive, you can’t just have fancy trees of nothingness lol. https://en.wikipedia.org/wiki/Data_type#Classification_of_data_types https://en.wikipedia.org/wiki/Data_type#Classification_of_da...
- kaashif 4y ago> Obviously that eventually leads to an end object containing a primitive, you can’t just have fancy trees of nothingness lol. You absolutely can have types with only one value, e.g. a class with no members. Then you can have a tree type composed of those nothing types, where the information is in the tree structure, not in any primitive value stored anywhere.
- dgan 4y agoAgain, I was referring to user defined types (not primitive types), which are not classes.
- pipeline_peak 4y ago> A class specified by the keyword class, is a user defined type that contains both data members and member functions... http://www.cs.fsu.edu/~cop3014p/lectures/ch8/index.html http://www.cs.fsu.edu/~cop3014p/lectures/ch8/index.html
- dgan 4y ago? Okey? module Example type mytype val id: mytype -> mytype end = struct type mytype = { position:(int * int) } type othertype = int let id self = self end ``` How many classes I have defined? Exactly zero. How many types I have defined? Definetely not zero. One of these types is secretly equivalent to a primitive type, while the other is not, and none of this is known to users of these types. I am not sure why keep trying to show "class = type". It is wrong, those are different concepts. I don't care what c++ says