/tech/ - Technology

Technology & Computing


New Reply
Name
×
Sage
Subject
Message
Files Max 5 files32MB total
Tegaki
Password
[New Reply]


Putin's given us the boot! Read about it here: https://zzzchan.xyz/news.html#66208b6a8fca3aefee4bf211


Suck.png
[Hide] (2.2KB, 640x417)
Users of all levels are welcome.
Remember, don't go full autismo like billy-o. Productivity takes priority.

>What is software minimalism?
suckless.org/philosophy
wikipedia.org/wiki/Software_bloat
wikipedia.org/wiki/Lightweight_software
wikipedia.org/wiki/Source_lines_of_code

>Recommended Operating Systems & Linux Distros:
Alpine, Artix, Devuan, Gentoo, Glaucus, Guix, Oasis, NetBSD, OpenBSD, Plan9(front) and Void.

>Useful links
https://nosystemd.org/
https://harmful.cat-v.org/software
https://suckless.org/rocks/
https://wiki.installgentoo.com/index.php/Software_minimalism
https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md
https://github.com/173duprot/harm-less
Replies: >>8227
>>8224 (OP) 
I have just compiled ungoogled-chromium without dbus in Gentoo. Where should I post my ebuild and patches?
Replies: >>8250
Black_Rain_Frog.jpg
[Hide] (30.2KB, 480x480)
Minimalism is a good principle to keep in mind when developing but is close to meaningless outside of that. A large "bloated" program with a high quality source is more valuable to me than a small "minimalist" program with a low quality source, not to mention that very valuable features might exist in "bloated" programs that don't exist in "minimalist" programs, either due to design philosophy or a lack of maturity. You might argue that higher code quality is a consequence of striving for minimalism, but I have yet to see definitive evidence of this, especially across tens of thousands of FOSS projects. Documentation is key.
Replies: >>8229
>>8228
the point is that it is impossible to verify that a bloated program has a high-quality codebase
i agree that minimalist != good but in my experience bloated programs and libraries are almost always bad
KTCpp.png
[Hide] (381.4KB, 1608x1782)
LinusCpp.png
[Hide] (351KB, 838x1843)
I made the first image a long time ago. Thought it might be relevant to the ideas of keeping things simple and small (C compared to C++)
Replies: >>8231
>>8230
C++ features might be unnecessary for Ken Thompson but at least personally those abstractions were pretty useful learning programming. Like i understood function pointers but c++ saved me the trouble of reinventing the vtable.

Also function overloading is pretty fucking nice. So is operator overloading. C++ code is just a lot less tedious to write. Its not a different tradeoff than what python makes and its not like python gets this hate.

And the c++ performance tradeoff really is minimal. Its really splitting hairs to compare with c.
>>8231
>the c++ performance tradeoff really is minimal
Having a standard tens of times larger and producing binaries several times larger with some loss in performance is far from "minimal".
>>8231 
python is for retards everyone that isnt a retard hates it although its definitely the winner for minimal programing since its literally zero effort pseudocode scripting that even 8 years can do with minimal skill, minimal effort and minimal knowledge
Replies: >>8237
>>8231
>and its not like python gets this hate.
Python doesn't pretend to be C, that's a huge difference.
249eeb82028580151d1ab4a38081d8d0f07863f0157f8ae40930eaf96f10a425.jpg
[Hide] (73.1KB, 677x677)
>>8235
>python is for retards
your /g/ mentality of "lower-level programming = more difficult" is wrong
top-tier python, javascript, and lisp programmers get paid more than cpp pajeets because lateral-thinking and abstraction techniques are more valuable, more difficult and require a higher iq than optimizing your x86 asm subroutines or trying to perfectly optimize memory usage in your c code
more expressive languages naturally attract more intelligent programmers, and more intelligent programmers build better software
Replies: >>8241 >>8284
>>8237
>cant into programing or even simple economics
manufacturers have to literally beg for system programmers now because they barely exist anymore retard the psuedo language skiddies with a barrier of entry so low a child could master it ( because it  literally relies on someone else to first make a library for them before they can even write their "new innovative code" ) are everywhere and wanted nowhere
Replies: >>8248
>>8241
Nobody wants system programmers, system programmers are all poor because they are stupid. The only low-level programmers that deserve respect are those who work on designing higher-level languages. Anyone else building software in C, C++, ASM, Rust or anything equivalent is wasting their time, and wasting their employer's time.
Every "proud C programmer" I've met has been a stuttering autist that dove deep into an inane and worthless subject to compensate for their lack of critical thinking ability.
Replies: >>8254
>>8227
Nice.

There are multiple free code hosting sites: gitgud, codeberg, gitlab and SourceHut (Bitbucket and Github are also available if you need something that's enterprise quality). You could also make a free site at NeoCities and copy+paste your code there.
Replies: >>8253
>>8250
>make a free site at NeoCities and copy+paste your code there.
Who the fuck does that? Might as well start a blog and write your code on formatted blog posts, retard.
Replies: >>8254
>>8248
>nobody
See embedded, kernel and other popular software.
>>8248
>>8253
On one hand, I want to take credit for my work. On another, by posting here I fucked myself over and I don't want to deanonymize myself.
>>8237
You can't name one(1) good software written in them. Where are those high iq lispers? Are they here with us right now?
Replies: >>8295
>>8284
>You can't name one(1) good software written in them.

Different anon but Lisp dialects have been used to make good software:
>StumpWM. a clone of Ratpoison that's programmed and configured in CL. A vid: https://inv.riverside.rocks/watch?v=jlF1N0R24cA
>GNU Emacs. minus the kernel that's written in C
>Crash Bandicoot used GOOL. Link: https://all-things-andy-gavin.com/2011/03/12/making-crash-bandicoot-gool-part-9/
>Jak and Daxter used GOAL. Also, see https://opengoal.dev
>"Racket on the Playstation 3? It's Not What you Think!": https://invidious.kavin.rocks/watch?v=oSmqbnhHp1c
>https://github.com/nasa/pvslib
>https://www.grammarly.com/blog/engineering/running-lisp-in-production/
>https://github.com/azzamsa/awesome-lisp-companies/
>https://clojure.org/community/companies (Out of all lisp dialects, Clojure and ClojureScript are probably the easiest to get approved in a corporate environment).
>Perhaps this will be made some day in the future? https://project-mage.org
I would have also listed GNU Guix (the package manager) and GNU Shepherd but I haven't used then. Portage (written in Python) is good but slow (although I can't defend Python or JS as a language very much).
Replies: >>8296 >>8297 >>8325
>>8295
>Out of all lisp dialects, Clojure and ClojureScript are probably the easiest to get approved in a corporate environment
Clojure-anything must suck terribly then.
>>8295
There's also the Nyxt web browser (though it uses either webkit or webengine, like most browsers), and the Mezzano operating system, and that's only a current operating system, because there were multiple in the past. Really, it's not comparable to most of the languages that people use. Common Lisp has been successfully used for pretty much everything, and that history is not invalidated by the fact that it never caught on, because, because people are too stupid and lazy to learn something that is actually different, and also won't learn anything for any reason other than being a wagie.

And the tech industry doesn't care about quality, and especially about how extensible and customizable their programs are. They will always look for people that know things that are either already popular, or at least similar to something that is already popular. Or maybe some meme new language that gets shilled enough for people to fall for it.
Replies: >>8298 >>8325
>>8297
>Common Lisp has been successfully used for pretty much everything
Should have said Lisp in general.
>>8231
>C++ code is just a lot less tedious to write
This. Roughly-speaking, it's superior to C in most practical ways for anything non-trivial in scope. C primarily enjoys it's position as the defacto systems language simply by dint of it's accidental, entirely unintentional ABI.

The productivity of C++ is vastly higher for big projects in my experience, is better type-checked, and much easier to maintain. It's easily within 5% of the performance of C in practically every case (except when munging disparate data all together, where it's demonstrably faster than C via templates).
Replies: >>8305
>>8302 
the abi of any system would be identical for any compiled languages because it has nothing to do with the language

most of c++ is just trivial handholding and useless gimmicks you can do with a preprocessor or will never / should never use like strings, once you start pretending like char* is an object then youre already on the road to hell, and there isnt a performance difference its the same language, the fact that it exists just shows c++ promotes shitty abstract code that translates horribly bad unless you do what all the benchmark clowns do and compile c code using a c++ compiler
Replies: >>8306 >>8310
>>8305
String handling is literally one of the few areas where C++ just objectively blows C out of the water.   Zero terminated strings has time and again been proven wrong except for the fact that it can be done with a simple object-less interface. 

I guess in C++ you got reference counts that aren't strictly needed but its such a small cost compared to something algorithmically bad.
Replies: >>8309 >>8310
>>8306 
there are no strings in c because strings dont exist thats the point, its just a character array, the 'string' type is fictitious its supposed to be implemented by the programmer just like every other data structure, eg
struct{ char *ptr, size_t size }  for generic string
struct{ char *ptr, size_t len, size_t index } for scanning or  indexing without zero
struct{  char lines, char *words, int linec ... } for parsing/editing text, in reality it would be made using typedefs of the previous ones
etc.
having a language implement the 'string' type is fucking idiotic since byte arrays are literally the most fundamental and flexible part of data structures, this is only acceptable for shitty scripting languages where you cant make data structures
Replies: >>8310 >>8311
>>8305
>you can do with a preprocessor
The problem is there is no good language/type aware preprocessor for C.
>>8309
This. While at it, >>8306 can complain about the lack of hash maps, linked list and other shit that aren't in libc. It is more "productive" than C as someone else wrote code you need. If that is what is good, there are tons of libraries for string and other data types. At worst, some glue code will be needed.
Replies: >>8311
>>8309
> string.h
What am i supposed to say when you're arguing from some bizarro fucking dimension where up is down? And somehow your pygmy little insect brain is gonna rationalize and act like you were never wrong.

Shame on me for responding i guess since facts are out the window.

>>8310
Yes retard. Having a map class is good. I shouldn't reinvent the hammer every time i goes punch some nails. Having an STL written by autists smarter than me is a godsend.

You can not be in school doing algorithms forever.  At some point you get a job and your purpose is to transform requirements in to code. One isn't stupid for letting Bjarne write the algorithms.
>>8311
yeah talk about peabrain, you clearly never wrote shit in c loser, string.h is not a string implementation you retarded clown theres no string type definition, in c a string just means char* you loser, ie character arrays ieie.byte arrays hence the mem functions being in string.h and the rest having the n bytes parameter, strings as a data structure dont exist and have to be implemented yourself idiot string.h is useless other than for building the actual string implementation which requires way more than that puny byte library, unlike std::string which is a full string implementation with a string type, template and methods for text manipulation already defined
>>8311
>shouldn't reinvent the hammer every time
Nobody says you need to. That doesn't make a language itself good. Do you want every program in the world bundled into your STL?
Also >string.h
>>8295
I know those programs and used stumpwm and emacs (>>8297 nyxt too but not for long) but i wasn't asking you, i was asking him spesifically. I have no issue with python or lisp (js just sucks), i have a issue with that spesific poster. Fucking low IQ nigger thinks being contrarian in /g/ makes him smart. When noone replies to people like that without a question(they can't ever answer) they think noone replied because their takes and grounded soo you ask one or two questions to them then they leave.

>>8297
It was quite buggy 2 years ago but pretty sure i will eventually chance to nyxt from qutebrowser(yes, python), suckless history is soo fucking smart i can't believe every browser ever doesn't have that by default.
Replies: >>8326
>>8325
I am a stupid faggot, it wasn't suckless history, it was "lossless history".
>>8311
What if I told you I spent a good portion of both my private and professional life developing and refining algorithms?  Do you think all the shit you copypaste out of books and websites only ever came from your fellow IIT graduates?
This thread reeks of halfchan /g/ retards. Get the fuck out.
Back to the topic of minimalism, I had this idea of bootstrapping a minimal linux userland without any GNU tools. I was (partially) successful by using projects from the BSD/Android worlds:

-- toybox:		provides a shell (sh) + coreutils (cp,ls,mv,mkdir...etc) + gunzip/bunzip
-- oksh:		OpenBSD ksh ported to linux, much more powerful than toybox sh
-- sbase:		from suckless.org, provides expr and tr which are missing from toybox
-- bsdgrep:		FreeBSD grep ported to linux
-- oyacc:		OpenBSD yacc ported to linux
-- awk:			the "One True Awk" (build with oyacc instead of GNU bison)
-- curl:		alternative to wget (and toybox wget which doesn't work)
-- zig cc/c++:	the Zig compiler bundles clang, letting you compile C/C++ without an SDK
-- pdpmake:		general POSIX make tool with some GNU extensions
-- jlibtool:	alternative to libtool (not properly tested yet)
-- minlzma:		provides minlzdec for decompressing xz archives
-- cedit:		zero dependency TUI editor similar to nano

Those should be enough to build a fair amount of (non-complex) software, but anything else requires GNU tools. For example zig doesn't expose a linker command (ld), if I tried compiling mold or lld as an alternative I would need CMake, which doesn't compile with zig c++ (clang). A lot of software (regrettably) needs GNU autotools, which need perl, which doesn't compile without GNU Make and GCC...
While I'm pleasantly surprised that so many non-GNU tools exist for linux, I was hoping that they would have more of the functionality provided by their GNU counterparts. But I'm sure they'll get there someday.
Replies: >>12074 >>12079
>>12069
While I get most GNU software is bloated, is there any reason why?
Replies: >>12075
>>12074
>why?
The main reason for me is the L/GPL. I can't e.g. statically link GCC and distribute it, or statically link my program to glibc and release it, because that would be against the license... Other reasons include bloat, difficulty of compilation, "debatable" standards conformance, and monopoly over the FOSS world. GNU software harms the software development ecosystem as much as it benefits it, so I'm looking for alternatives.
Replies: >>12079
>>12069
>curl
Use tnftp.
>>12075
Poor code quality is also a common issue with GNU programs.
>>8311
> I shouldn't reinvent the hammer every time
You invent it once and then you use it every time you need it. Are you just deleting your code after every use?
[New Reply]
36 replies | 5 files
Connecting...
Show Post Actions

Actions:

Captcha:

Select the solid/filled icons
- news - rules - faq -
jschan 1.4.1