Live data from Hacker News

Learn C

medium.com

11–20 of 182 posts

Re: Learn C

#11
post #4

This is a fair point, but it brings to mind another point I didn't really understand till the last couple of years. Learning about how compilers work is just as important. Building a small lisp compiler was a life-changing experience for me in terms of going one level deeper, as much as understanding C was. For those who've never written lisp before, the reason I recommend a lisp compiler is that lisp compilers are t…

I totally agree; actually a small, incomplete Scheme interpreter (which may be used to develop a lisp compiler later on) can be easily created in few hours (depending on used language) [0], without any prior experience. It's surely not as deep learning experience as building a compiler, but I think it's still worthwhile.

[0] http://norvig.com/lispy.html

Re: Learn C

#12
post #7

How does a musician without any formal CS education and a admitted lack of understanding of some very fundamental software things, such as pointers and memory, land a San Francisco dev job? I thought those jobs were in very high demand

You'd be surprised at how far "not an asshole, actively learns, and is good at programming" can get someone.

Re: Learn C

#13
I made Holy C, a dialect that is incompatible. I made a compiler. I gradually added more features.

It has postfix typecasting.

It has better operator precedence rules.

God says... writings authority fathers' dir offer wondrous enquire collectively easeful edify Passion lengthened smart filename GUTENBERG-TM command-line Shakespeare Armenia delights ho_ho_ho grievously adorning diversely fouls natural If_had_my_druthers admonish respect chewing Greece stretch bin bloom sweetness sentences see' thirsts Small fees THE aquatic sleepest solstices mimic sharper search needeth I'm_bored indignant toward play sign constituted seldomness woke regenerated aforetime Panama gathered Awake Euodius tearful conveying touchedst intently derision subduing partaker excited goods nourish observeth ranked emptinesses gainsayer so_he_sess readers' Him attributing interpret disease gain DISCLAIMER confirmed questioning fig-tree said consolations licensed bickering pieces thinks chest Neptune what_a_nightmare pilgrimage skies _ pursues correct dissolution tree manifoldness falling nourishments small forceth patched C eluding celibacy multitude Sudden shunning MS whirlings If rejoicest countenance pertained doting approveth Vatican_City seductive middle shared window curing ascend inhabitants consumest useful

http://www.templeos.org/Wb/Doc/HolyC.html

Re: Learn C

#14

We need less code written in C, not more. We already have a problem with a massive, unreliable, insecure ecosystem of legacy C code that is hard to escape; writing more software in C makes that problem worse. Most software is written to solve high-level problems. Using a high-level language is sensible, time-saving, budget-saving, improves portability, and saves on headaches later. The same rule that applies to COBOL…

My point is there are fundamental computing concepts that you can pick up by learning C. In a world of high-level, low-LOC languages you can get by without learning those concepts, but it serves your and the ecosystem's best interest to learn them.

Re: Learn C

#15
post #4

This is a fair point, but it brings to mind another point I didn't really understand till the last couple of years. Learning about how compilers work is just as important. Building a small lisp compiler was a life-changing experience for me in terms of going one level deeper, as much as understanding C was. For those who've never written lisp before, the reason I recommend a lisp compiler is that lisp compilers are t…

I do recomend SICP .

Re: Learn C

#16
post #4

This is a fair point, but it brings to mind another point I didn't really understand till the last couple of years. Learning about how compilers work is just as important. Building a small lisp compiler was a life-changing experience for me in terms of going one level deeper, as much as understanding C was. For those who've never written lisp before, the reason I recommend a lisp compiler is that lisp compilers are t…

"lisp compilers are the simplest to write"

I think Forth may have that honor, and people have done some pretty amazing things with simple Forth implementations. I do agree, though, that writing a simple Lisp compiler is a worthwhile exercise, and the Lisp In Small Pieces is a book everyone should have on their shelf.

Re: Learn C

#17

We need less code written in C, not more. We already have a problem with a massive, unreliable, insecure ecosystem of legacy C code that is hard to escape; writing more software in C makes that problem worse. Most software is written to solve high-level problems. Using a high-level language is sensible, time-saving, budget-saving, improves portability, and saves on headaches later. The same rule that applies to COBOL…

its not about writing new code in C. Its about learning how you prefered language is implemented. Learn your tools , its really important.

Re: Learn C

#18
post #7

How does a musician without any formal CS education and a admitted lack of understanding of some very fundamental software things, such as pointers and memory, land a San Francisco dev job? I thought those jobs were in very high demand

You'd be surprised at how far "not an asshole, actively learns, and is good at programming" can get someone.

I'd replace 'good at programming' with 'proven ability to ship'. Most of the time it's values way over a decent codebase from what I can see. Which is often fair enough!

Re: Learn C

#19

We need less code written in C, not more. We already have a problem with a massive, unreliable, insecure ecosystem of legacy C code that is hard to escape; writing more software in C makes that problem worse. Most software is written to solve high-level problems. Using a high-level language is sensible, time-saving, budget-saving, improves portability, and saves on headaches later. The same rule that applies to COBOL…

I wouldn't say this article is recommending that you go out and program in C full-time. Many people have learned Lisp (and are better programmers for it), but few actually use it at their day job.

Re: Learn C

#20
post #7

How does a musician without any formal CS education and a admitted lack of understanding of some very fundamental software things, such as pointers and memory, land a San Francisco dev job? I thought those jobs were in very high demand

Sometimes social skills are more important than technical prowess.
Post reply on HN