4 ms·
Thanks, I almost posted the same. One of the things that makes our field so great is the ability to learn independently, be productive and accomplish cool thing
by BoiledCabbage 8y ago
Thanks, I almost posted the same. One of the things that makes our field so great is the ability to learn independently, be productive and accomplish cool things without needing formal study. But it's also one of it problems where people can be great engineers but as aren't necessarily familiar with long discusses concepts or ideas. Even CS education frequently won't cover them because they aren't practical nor the main focus of theory.
90 percent of us on here have an intuitive understanding of these concepts but not having formal language, definitions and knowledge of really causes less efficient communication and the frequent re-invent the wheel syndrome.
Maybe the answer is software engineering becoming a more popular major separate fom CS, or maybe its introducing more classes on it. Or maybe it's a separate major or learning track on data modeling, programming languages, applying them problem solving, validation, data communication.
As a random example, half the debates on static vs dynamic typing - is muddied by explicit vs more implicit (ala Haskell) typing.
Heck most of us probably couldn't really give an authoritative definition of a schema, but we know it when we see it.
Examples for something to be a schema does it have to be in a separate document or in code. Does it have to be explicit or can it be implicit? Does it have to be statically checkable or do run time semantic checks count? Is there a complexity bound on validating against a schema (syntactic vs semantic checking may take very different run times)? Can a schema be defined as "whatever data structure and content is need to make this program X over here run"? Why? Why not?
Not having rigorous definitions here makes conversations in this spaces usually end up as people reusing the same word with different interpretations / meanings and disagreeing without realizing why.
I don't know how we do better. And absolutely acknowledge I suffer from doing it just as much as anyone else.