How many SLOC is your FoC project, at the moment?
# thinking-together
u
How many SLOC is your FoC project, at the moment?
e
compiler=26k, runtime JS=31k, runtime AS=35k, samples=20k, docs=10k, but i don't have a tool that discounts comments so i demoted it to under 100k.
doesn't seem to be a way to change your vote in the poll system.
k
Clicking the number a second time toggles it off.
I feel the need for an apologia for my response, given how much I talk about LoC as liability rather than asset: * It's for a whole computer that can run in isolation. So I'm counting all dependencies. * Most of it is in machine code, where LoC = static processor instructions. * Conservatively 2/3rds of it is tests. Anyways, it's bumping up on 50kLoC now, but I won't be surprised if it eventually exceeds 100k.
🍺 1
e
@Kartik Agaram thanks for the tip. Also, i consider LOC a very bad unit of measurement for comparison purposes because some languages like LISP, APL, and FORTH are more horizontally oriented, and so i use word instead of lines. Words compares code sizes much more accurately. Yes people are not used to thinking in terms of words, but line count drastically undercounts more combinatorial languages. 100 lines of APL might include the name number of words (tokens) as 300 lines of C.
👍 3
c
Ahem ... yeah so I used cloc and tally-up only the actual code (e.g. no shell, latex, makefile ...) and I'm at 289682 ... (not including dependencies) 😱
😱 1
🤣 1
😶 1
k
I'd love to hear more about your project, @CocoaGeek. You should do a top-level post on it.
1
e
@Kartik Agaram The project in question is called F1zz, at https://f1zz.org/ As far as i have been able to determine it is a language project that combines machine learning, knowledge systems, and supports distributed systems unlike PROLOG which was for a single machine. I think it beats the pants off PROLOG, but i wouldn't call it a general purpose language. He is an expert in robot navigation.
❤️ 2
c
Thanks @Edward de Jong / Beads Project for the kind words. Yeah, it's definitely not general purpose, although I did recently add some support for mixing imperative style with logic style. Also, I won't call myself an expert in robot navigation ;)
z
For Yazz Pilot the core files are around 10k lines, but most of the product is built as plug in components, so should we include those?
e
@CocoaGeek i was working in Japan around the time they were running their gigantic "5th generation computer language project", which was for Japan one of their larger software projects (over 100 million in funding in those days would be like a 500 million now). They failed miserably because the leader of the project was too enamored of PROLOG at the level it was at, and could not see the limitations of that system as it was at that time. It didn't translate well into useful technology that they could apply in the key areas they were working in, and Japan in terms of software development was dead in the water until Playstation and Nindendo revitalized their fortunes. Today, Japan's games are among the best made. But anyway I like how you have created higher level constructs for storing knowledge, and tiered the information, and of course handling multiple machines at once, each of which can communicate with each other, is 10 times harder to program than a single machine which was all PROLOG supported.
@Zubairq yes include the plug-ins because they are part of the direct system a person would use. But don't count multiple variations of the same thing. This how NPM can claim a million modules, because people have forked something and added one tiny thing, and now it is in the catalog. NPM has too many modules IMHO.
👍 2
c
mutils(my shared lib)=7500 zep(editor)=20K nodegraph=2K audio=5K jorvik(main app)=15K Total=49.5K
Shared/OS libraries (not mine) = 1.5Million lines of C/C++
... or course, I am probably using only a small proportion of those.
z
@Edward de Jong / Beads Project I guess I wouldn’t even know how to count all the lines including components. I think for me the real metric of the system is how much the core components change over time as you find new use cases. I think the yazz pilot core changes less and less every month and the data structures are pretty static (tables in SQLite) . Maybe this should be a discussion about how each project is architected instead?
c
Agreed though, lines of code is just a 'how much of my personal time have I spent/wasted on this project' kind of metric 😉
👍 1
z
@Chris Maughan thanks I’ll try that tool later. I hope it works on nodejs with dynamically loaded code though.
Also I view lines of code as a double edged sword. On the one hand they are like adding kgs of weight to an airplane. But on the other hand if they are essential complexity (like a jet Engine) then they are useful. So I a always trying to slim down yazz Pilot, and now really scared too, as it may be like 50000 loc
c
@Edward de Jong / Beads Project Japan's 5th generation is legendary even if ill-fated! It must have been something to see it happen (that was just before my time).