The impracticality of c & projects - Programming On Unix

Users browsing this thread: 2 Guest(s)
z3bra
Grey Hair Nixers
C is a special language. It's one of the oldest programming language, it's low level and used everywhere.
It's especially true in the unix world, where even the filesystem is shaped around it (/lib, /include, environment variables, ...).

But C is hard. And not only because of the syntax. Nobody really care about the syntax, it's just another set of keywords to get used to.
C is hard because of it's pedantism, and its mulitple way to screw things up.
When you write in C, you're coding without a safety net. You get no out-of-bound error checking, you can overwrite anything in memory, you can't "catch" errors, or fix them "later".
When you make a mistake, the program either crash or misbehave (remember heartbleed or shellshock?)

Most scary bugs happens in code written in C, and everytime it does, freshmen be like: "That'd never happen with haskell".
Still, most softwares are written in C. Coreutils, libressl, nginx, linux, systemd, gpg, ... You name it.

C is, and will remain the most used language IMO, because of the freedom it gives you when you write. The syntax doesn't matter, you can manipulate the memory however you want, you're assured that the environment will be setup for it, and there are a shitons of tools to work with it.

Because of its simplicity, you can create complex data structures, shape it however you want, and manipulate it to your likings. But some programmers don't like this "freedom" (as in, you're free to make bugs), and thus prefer languages that will prevent you from making errors. Some people just don't need the freedom C gives, and it's perfectly fine. But some people prefer shitting over it without even trying to understand why C is used this much. Just ignore these people.

So to answer your first question: NO. C isn't impractical for modern languages. It's just better suited for some project, like any language.

For your second question... Dude, play with wmutils however you want! I'm just affraid you won't be able to have a lot of fun with it, because of how simple the tools are.
If you want to play with a few projects, I'd suggest 2bwm. It's well written, and has a huge potential to implement new features.

A good way to play with it is to take the Euler project, and go as far as you can. exercises 1 to 8 are a good start. You could then start rewriting some of your shell scripts in C to optimise the perfs and similar things.
After you're done with it, just search for cool libraries and create tools using them (termbox, inotify, libcaca, ...).

Also, read other's people code, it's the best learning source.

BONUS

PS: as for the last line:
(23-08-2015, 09:41 PM)Houseoftea Wrote: Also inb4 venam closes this ;)

That's lame.


Messages In This Thread
RE: The impracticality of c & projects - by cjm - 23-08-2015, 10:42 PM
RE: The impracticality of c & projects - by z3bra - 24-08-2015, 07:38 AM
RE: The impracticality of c & projects - by venam - 24-08-2015, 08:54 AM
RE: The impracticality of c & projects - by movq - 24-08-2015, 01:37 PM
RE: The impracticality of c & projects - by z3bra - 24-08-2015, 02:32 PM
RE: The impracticality of c & projects - by apk - 24-08-2015, 07:02 PM
RE: The impracticality of c & projects - by srp - 01-09-2015, 02:02 PM
RE: The impracticality of c & projects - by srp - 02-09-2015, 10:23 AM
RE: The impracticality of c & projects - by z3bra - 02-09-2015, 12:13 PM
RE: The impracticality of c & projects - by apk - 10-09-2015, 05:18 PM
RE: The impracticality of c & projects - by srp - 10-09-2015, 08:10 PM
RE: The impracticality of c & projects - by apk - 11-09-2015, 01:06 AM
RE: The impracticality of c & projects - by dtnt - 11-09-2015, 06:20 AM
RE: The impracticality of c & projects - by z3bra - 21-09-2015, 09:03 AM
RE: The impracticality of c & projects - by cjm - 21-09-2015, 09:09 PM