{"id":19685459,"url":"https://github.com/kislerdm/demo_factorial","last_synced_at":"2026-04-10T00:13:34.434Z","repository":{"id":99103316,"uuid":"406549007","full_name":"kislerdm/demo_factorial","owner":"kislerdm","description":"Demo factorial calculation app in different programming languages","archived":false,"fork":false,"pushed_at":"2022-05-07T14:36:27.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-23T01:11:29.602Z","etag":null,"topics":["bash","cpp","dart","demo","factorial","golang","haskell","java","javascript","kotlin","python","ruby","rust"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kislerdm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-14T23:22:25.000Z","updated_at":"2023-06-15T18:22:43.000Z","dependencies_parsed_at":"2023-06-03T20:15:28.839Z","dependency_job_id":null,"html_url":"https://github.com/kislerdm/demo_factorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kislerdm%2Fdemo_factorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kislerdm%2Fdemo_factorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kislerdm%2Fdemo_factorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kislerdm%2Fdemo_factorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kislerdm","download_url":"https://codeload.github.com/kislerdm/demo_factorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240993546,"owners_count":19890418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","cpp","dart","demo","factorial","golang","haskell","java","javascript","kotlin","python","ruby","rust"],"created_at":"2024-11-11T18:22:05.691Z","updated_at":"2025-12-30T19:05:10.430Z","avatar_url":"https://github.com/kislerdm.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demo Application to calculate [Factorial](https://en.wikipedia.org/wiki/Factorial) in Various Programming Languages\n\n## Program Objective\n\nTo calculate the [factorial](https://en.wikipedia.org/wiki/Factorial) value given the user's input from STDIN. The result is being output to STDOUT.\n\n### Program Architecture\n\n```bash\nCycle:\n    └──\u003e Input interface (STDIN)\n            └──\u003e Core logic\n                    └──\u003e Output interface (STDOUT)\n```\n\n## How to Run\n\nRun to see the list of options for programs executions (requires [GNU make](https://www.gnu.org/software/make/)):\n\n```bash\nmake help\n```\n\nRun to execute the programs ([docker](https://www.docker.com/) is required):\n\n```bash\nmake run LANG=##SPECIFY_THE_LANGUAGE##\n```\n\nFor example to execute a golang program, run:\n\n```bash\nmake run LANG=go\n```\n\n## List of Languages\n\n|Language|Codebase|[Stackoverflow Popularity](https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-programming-scripting-and-markup-languages) [%]|\n|-|-|-:|\n|[javascript](https://www.javascript.com/)|[code](./javascript/main.js)|64.96|\n|[python](https://www.python.org/)|[code](./python/main.py)|48.24|\n|[java](https://www.java.com/)|[code](./java/main.java)|35.35|\n|[bash/shell](https://www.gnu.org/software/bash/)|[code](./bash/main.sh)|27.13|\n|[C++](https://www.cplusplus.com/)|[code](./cpp/main.cpp)|24.31|\n|[php](https://www.php.net/)|[code](./php/main.php)|21.98|\n|[go](https://golang.org/)|[code](./go/main.go)|9.55|\n|[kotlin](https://kotlinlang.org/)|[code](./kotlin/main.kt)|8.32|\n|[rust](https://www.rust-lang.org/)|[code](./rust/main.rs)|7.03|\n|[ruby](https://www.ruby-lang.org/en/)|[code](./ruby/main.rb)|6.75|\n|[dart](https://dart.dev/)|[code](./dart/main.dart)|6.02|\n|[haskell](https://www.haskell.org/)|[code](./haskell/main.hs)|2.12|\n\n## Lines of Code\n\nRun to analyse LoC (requires [cloc](https://github.com/AlDanial/cloc)):\n\n```bash\ncloc . --exclude-lang=Dockerfile,make,Markdown\n```\n\n```bash\n-------------------------------------------------------------------------------\nLanguage                     files          blank        comment           code\n-------------------------------------------------------------------------------\nC++                              1              5              4             48\nBourne Shell                     1              4              4             39\nGo                               1              5              4             39\nPHP                              1              4              4             39\nJavaScript                       1              5              4             38\nRust                             1              4              4             34\nDart                             1              4              4             33\nRuby                             1              4              4             32\nJava                             1              5              4             28\nKotlin                           1              3              4             27\nPython                           1             15             12             21\nHaskell                          1              5              4             18\n-------------------------------------------------------------------------------\nSUM:                            12             63             56            396\n-------------------------------------------------------------------------------\n```\n\nIt can be noticed from the table, that `haskell` requires the least amount of expressions/code to solve the problem, `C++` on the other hand, requires the most amount of code among all compared languages. The figure for `python` is another confirmation of why the language is so popular among the community members - it's very easy to express your solution in a few lines of code. And it's not only that, the expressions are very human-readable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkislerdm%2Fdemo_factorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkislerdm%2Fdemo_factorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkislerdm%2Fdemo_factorial/lists"}