Path: csiph.com!weretis.net!feeder6.news.weretis.net!news.misty.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: Derek Jones Newsgroups: comp.compilers Subject: Re: Programming language similarity Date: Mon, 25 Apr 2022 19:35:43 +0100 Organization: Compilers Central Lines: 41 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <22-04-018@comp.compilers> References: <22-04-012@comp.compilers> <22-04-014@comp.compilers> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="90391"; mail-complaints-to="abuse@iecc.com" Keywords: design Posted-Date: 25 Apr 2022 14:53:24 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Content-Language: en-US In-Reply-To: <22-04-014@comp.compilers> Xref: csiph.com comp.compilers:2984 Fernando, > Your repository is very nice! Can I use the "language info" part in the class > on programming language paradigms? It will be nice to give students some idea Please do. The code is under a GPL license. > about the number of keywords in different programming languages, for > instance. I was surprised by the diversity of words used. > By the way, perhaps you should consider also comparing the languages with > regards to the static and the dynamic aspects of their type systems, e.g.: > typing discipline (static, dynamic, gradual?), type verification (inference, > annotations, mixed?), type enforcement (weak, strong), static type equivalence > (nominal, structural, mixed?), etc. That might lead to very different trees. I looked into building a tree based on allowed implicit types, with the hope of coming up with a measure of strong/week typing. A list of implicit conversions performed by a language seems like a good start. But this approach makes Fortran 77 look like it's strongly typed; there are fewer implicit conversions than other languages because it supports fewer types, e.g., no enums or pointers. C's relatively large number of integer types, and the corresponding implicit conversions, make it look weakly typed compared to languages with fewer integer types (and hence fewer implicit conversions). The list of characteristics you list might be combined in some meaningful way, such that a type 'distance' tree could be constructed. Lots of careful reading of language specifications would be needed to figure out the details. > About that: I don't know of other studies. There is the article on Wikipedia > (Programming Languages Comparison), but it does not cite a paper with a > comparative study. Some of the Yes/No classifications on this page are somewhat surprising (at least to me) https://en.wikipedia.org/wiki/Comparison_of_programming_languages