Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Is there a detailed structured database of programming languages?
1 point by qwerty456127 on Dec 20, 2018 | hide | past | favorite | 2 comments
Every programming language can be qualified by a vast number of attributes and metrics. E.g. typing discipline, support for every particular programming concept, syntax type, support for particular platforms, execution style, how old it is, how actively is it developed, how prone it is to breaking changes, various popularity metrics, average salary, attitude of employers towards remote jobs, availability of good libraries and frameworks for particular tasks and of intelligent IDEs etc.

Are there any projects trying to systematize this data in a single database you can query? There probably isn't a perfect one that would already have or target to collect all the relevant data but perhaps there is one that can tell about a particular subset of the parameters?



Almost all of those things are very subjective, including even typing discipline. C# has a strong static type system, right? Well, it has dynamic features and is hardly strong compared to, say, Haskell.

Wikipedia has all the hard facts, though not in an easy-to-query format.


> C# has a strong static type system, right? Well, it has dynamic features and is hardly strong compared to, say, Haskell.

Well, we can say that C# is a statically-typed language with reflection, some degree of support for dynamic typing and very limited degree of support for type inference (variable declaration only). I've chosen to omit detalising this in the question but I in fact meant typing discipline can be described with a number of fields/tags rather than one field. Needless to say this kind of description of a language can not be 100% perfect and deterministic so some degree of subjectivity and imprecision is implied as acceptable.

> Wikipedia has all the hard facts, though not in an easy-to-query format

Exactly.

For example I'd like to find out if there is a statically typed language with type inference that supports partial function application, type classes, pattern matching and allows you to include imperative code inside your functions (the only answer I know is Scala yet its type classes implementation is not an integral part of the language).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: