jsource
ancient-c-compilers
Our great sponsors
jsource | ancient-c-compilers | |
---|---|---|
18 | 1 | |
631 | 20 | |
2.7% | - | |
9.7 | 10.0 | |
2 days ago | over 9 years ago | |
C | C | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsource
-
Crafting Self-Evident Code with D
The one other example I know that morphs the language to that extent and to the detriment of readability by C programmers is the J interpreter[1,2]. But, once again, nobody (that I’ve read) claims it’s good or clear C. (Good C for those who speak J, maybe; I wouldn’t know.)
For a way to morph C syntax that does make things better, see libmill[3].
[1] https://code.jsoftware.com/wiki/Essays/Incunabulum
- Show HN: Gemini client in 100 lines of C
-
Want cleaner code? Use the rule of six
No, it was rhetorical, because it's obviously (to an APL-family programmer), not bad!
Your cultural prejudice is showing. There are good reasons APL is written the way it is, and this example is simply bringing those benefits to C by writing it in the dense APL style. There are other APL derivatives, like J[1] that are written the same way. These projects are well-maintained. They aren't collapsing under a load of technical debt. The style works. To them, it's clean code.
-
Jd
You can view the code, but is not open source: https://github.com/jsoftware/jsource/blob/master/license.txt
-
Someone earlier linked to Arthur Whitney's style of coding in the comments. Can we discuss this further? I am disturbed by what I saw.
This is the same dense style used in J.
-
Why does old C code often declare functions or global variables in the scope it's used, rather than at the top of a source file or a header file?
All-in-all this example doesn't seem too bad. It's clear what happens and is easy to follow. If you wan't to see something remarkably terribly, check out Whitney style. It's used in APL/J/K family interpreters. Keep in mind, financial institutions run that code.
- Ask HN: Examples of Unusual Code Formatting Styles?
-
if you code in J for 6 months, you will no longer think in loops, and if you stay with it for 2 years, you will see that looping code was an artifact of early programming languages, ready to be displayed in museums along with vacuum tubes
good first issue
ancient-c-compilers
-
Why does old C code often declare functions or global variables in the scope it's used, rather than at the top of a source file or a header file?
Yeah, it's like night and day when you compare very old C projects to modern ones, like the Linux kernel. The one I shared isn't even too bad; this code feels really prehistoric. It's a link to the source of a few compilers just as C was getting features like structs.
What are some alternatives?
tinygrad - You like pytorch? You like micrograd? You love tinygrad! ❤️ [Moved to: https://github.com/tinygrad/tinygrad]
b-decoded - arthur whitney's b interpreter translated into a more traditional flavor of C
kdb - Companion files to kdb+ and q
ZLib - A massively spiffy yet delicately unobtrusive compression library.
data_jd - Jd
boot - Build tooling for Clojure.
teco - TECO - Text Editor and COrrector, an old classic, reimplmented in Pascal
j - j language (Ken Iverson & Roger Hui) from https:/jsoftware.com
j - various toys in j
tinygrad - You like pytorch? You like micrograd? You love tinygrad! ❤️
handsonscala - Discussion and and code examples for the book Hands-on Scala Programming
emacs-release - A history of Emacs releases, under version control