Welcome to our New Forums!

Our forums have been upgraded and expanded!

Recommended Programming Books

serpentwalker666

Well-known member
Joined
Oct 24, 2017
Messages
1,275
Hello, I had been studying with the very little time I have a few books on programming. There's a few different books I wanted to recommend to anyone in a similar situation where they are reading software documentation and studying programming languages.

Object Oriented Programming in C++
- by Robert Lafore

This one specifically is very good for learning C++ and going from there in understanding object oriented programming. The explanations and practice exercises are extremely useful and easy to follow along too.

Haskell Programming from First Principles
- by Christopher Allen and Julie Moronuki

This book is a great introduction to Haskell and goes from the very basics into some very well defined explanations and exercises. I'd also recommend Real World Haskell, but I have not read enough of it yet to properly recommend, but it's absolutely worth checking out.

ANSI Common Lisp
-by Paul Graham

This book is essentially the capstone to everything Common Lisp and helps with learning lisp-like synta and language. If you have to read or ever learn common lisp, this is the one book out of many that is worth it.

The C++ Programming Language, 4th Edition
- by Bjarne Stroustrup

This is a very heavy book in terms of how much is explained and shown. This is about as in depth as it gets in understanding C++. One is better off looking at this one and reflecting on it periodically as it is very hard to wrap your head around, and it makes senses the more you learn as you go down the process of learning programming and languages.

Design Patterns: Elements of Reusable Object-Oriented Software
-by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides

Also known as the Gang of Four book, it's another good mention. Definitely something to check out.


C Programming Language, 2nd Edition
-by Brian W. Kernighan, Dennis M. Ritchie

This is a second edition C Programming book. Not much I think I can add here, well worth the read or look over.

Compilers: Principles, Techniques, and Tools, is another notable mention, but I have to read further into it so see if it's worth a recommendation. It's also known as the "Dragon Book".

(Note: This is just a small list of what books I'd recommend to start with. There will be more added when I have time, I barely have time to check the forums lately unfortunately. All these titles are easily found in pdfs and internet archive on the internet as well, I can't link to them for the obvious reasons)

Definitely let me know what you think, I want to hear some feedback.
 
Beautiful, personally I think there should be more accent on Computer Science concepts rather than programming languages since they are just tools with common behaviour. Pseudocode, DSA, OOP, Networking, Memory Management..if the concepts are down, the language is just a matter of hours.
 
ramses13th said:
Beautiful, personally I think there should be more accent on Computer Science concepts rather than programming languages since they are just tools with common behaviour. Pseudocode, DSA, OOP, Networking, Memory Management..if the concepts are down, the language is just a matter of hours.

You have a very good point. I'll make another post about recommended computer science books once I get to reading a few.
 
serpentwalker666 said:
ramses13th said:
Beautiful, personally I think there should be more accent on Computer Science concepts rather than programming languages since they are just tools with common behaviour. Pseudocode, DSA, OOP, Networking, Memory Management..if the concepts are down, the language is just a matter of hours.

You have a very good point. I'll make another post about recommended computer science books once I get to reading a few.

Awesome, can't wait! In the meantime, I just want to recommend this pathway: https://roadmap.sh/computer-science
 
I agree with what ramses13th said.
Albeit some of the books you listed can give some general and cross-language knowledge, like the Gang of four's book for patterns, object oriented books for OOP and Haskell for Functional Programming, languages should be learned specifically for the kind of work or projects that you are going to do. They shouldn't be used to learn computer science field in general.

But then, it really depends on your goals. You don't really need to know advanced algorithms or Turing completeness to make a website or other applications.

Computer science is quite big, and the more you focus on an aspect, the bigger becomes.

Anyway, since the topic is focused on programming languages, I would also put Clean Code and Clean Architecture, by Robert C. Martin.
There are endless books, but remember to follow theory with practice.

Also, Rust is quite an interesting language. Take a look.
 
serpentwalker666 said:
Definitely let me know what you think, I want to hear some feedback.
Let me guess: your entire introduction to and experience with computers has only been through Unix and Unix-like systems. The references you gave are the bread and butter of legacy Unix programming and academic swamps.
Learning C and C++ in 2023 is like a car mechanic learning how to work with carburetors and 2-stroke diesel engines today.
Unfortunately this field has literally no conception or sense of history so it's stuck in the 1980s. A book about compilers written in 1986 being referenced and even revered today is a testament to how stalled and complacent this field is. Any other scientific field or engineering discipline would laugh if someone was espousing 1980s particle physics or 1980s car design today. I laugh at Unix junkies and their 1970s paradigms.

You probably don't want to read about programming languages, but about programming. Programming languages are worth less than dirt at this point. There are thousands upon thousands of them and they are all the exact same thing with snowflake syntax tweaks. The programming "language" metaphor itself is showing its age and weaknesses now.


I could list 10 more resources, each just as enlightening. The point is to find them yourself.

Unix is a religion. Exit unix echo chambers and do real research. Apply the scientific method to your study of computers. You're doing medieval peasant field work, while I'm doing in-space manufacturing.
 
शक्तिमान ६६६ said:
serpentwalker666 said:
Definitely let me know what you think, I want to hear some feedback.
Let me guess: your entire introduction to and experience with computers has only been through Unix and Unix-like systems. The references you gave are the bread and butter of legacy Unix programming and academic swamps.
Learning C and C++ in 2023 is like a car mechanic learning how to work with carburetors and 2-stroke diesel engines today.
Unfortunately this field has literally no conception or sense of history so it's stuck in the 1980s. A book about compilers written in 1986 being referenced and even revered today is a testament to how stalled and complacent this field is. Any other scientific field or engineering discipline would laugh if someone was espousing 1980s particle physics or 1980s car design today. I laugh at Unix junkies and their 1970s paradigms.

You probably don't want to read about programming languages, but about programming. Programming languages are worth less than dirt at this point. There are thousands upon thousands of them and they are all the exact same thing with snowflake syntax tweaks. The programming "language" metaphor itself is showing its age and weaknesses now.


I could list 10 more resources, each just as enlightening. The point is to find them yourself.

Unix is a religion. Exit unix echo chambers and do real research. Apply the scientific method to your study of computers. You're doing medieval peasant field work, while I'm doing in-space manufacturing.

Unix and Unix like operating systems are dated, but they are not going anywhere for a very long time.

You're view of this subject is a bit unrealistic. So much regarding computing will need to change, and much work will need to be done that will take a very long time.

When I said I wanted feedback. It wasn't dealing with assumptions and like this is some sort of competition about what is better or worse to then default to harsh and pretentious remarks.

I don't know why you felt the need to approach this topic like you have, but I don't understand or appreciate it.

Yeah, I am deep into OpenBSD, DragonflyBSD, and Linux operating systems. Because there is no viable alternatives at this point in time that are more secure or properly developed to a decent usable extent.

That's the reality... Yes this should change, and I do feel Unix and Unix like will be a thing of the past as other aspects of computer science change and develop.

To say C++ and C are dated, is accurate. Yet you go and post an article about the thoughts of the creator of FORTRAN..

I don't get it. Really don't understand why you came at this post like this. No need for it whatsoever..
 
ramses13th said:
serpentwalker666 said:
ramses13th said:
Beautiful, personally I think there should be more accent on Computer Science concepts rather than programming languages since they are just tools with common behaviour. Pseudocode, DSA, OOP, Networking, Memory Management..if the concepts are down, the language is just a matter of hours.

You have a very good point. I'll make another post about recommended computer science books once I get to reading a few.

Awesome, can't wait! In the meantime, I just want to recommend this pathway: https://roadmap.sh/computer-science

I went over this a bit ago, just didn't have time to reply. Very good road map and a great recommendation. Thank you.
 
Hidden Warrior said:
I agree with what ramses13th said.
Albeit some of the books you listed can give some general and cross-language knowledge, like the Gang of four's book for patterns, object oriented books for OOP and Haskell for Functional Programming, languages should be learned specifically for the kind of work or projects that you are going to do. They shouldn't be used to learn computer science field in general.

But then, it really depends on your goals. You don't really need to know advanced algorithms or Turing completeness to make a website or other applications.

Computer science is quite big, and the more you focus on an aspect, the bigger becomes.

Anyway, since the topic is focused on programming languages, I would also put Clean Code and Clean Architecture, by Robert C. Martin.
There are endless books, but remember to follow theory with practice.

Also, Rust is quite an interesting language. Take a look.

You have a very good point, I appreciate your outlook on this, yes narrowing down is definitely important as computer science is a large field with many different paths. I will have to make another post eventually which is more developed and refined.

Rust is definitely a great language. I'll have to include it in future posts.
 
I said this before but maybe just maybe I believe Anonymous hackers might be working for JoS
 
The Phantom Stranger said:
I said this before but maybe just maybe I believe Anonymous hackers might be working for JoS

I highly doubt this personally. Anonymous has an agenda and we do not align with their aims.
 
serpentwalker666 said:
The Phantom Stranger said:
I said this before but maybe just maybe I believe Anonymous hackers might be working for JoS

I highly doubt this personally. Anonymous has an agenda and we do not align with their aims.

hmm. maybe. but anonymous itself is a leaderless group from what i've seen. some part of anonymous might have one agenda while others might not. its like the left hand doesn't know what the right hand is doing. they are all very independent. the reason i say they might know is because, from what i've seen, they definitely are 100% aware of the conspiracies taking place and of the jewish role in them. and if they have access to top secret government files, and stuff, along with other stuff, i don't think its too hard for atleast some of them to figure out that aliens are in fact real and harming us. like it shouldn't be so hard for them to put the pieces together to figure out what's going on. and the gods lead people to the truth when they are the most open to it.

What is their agenda that you speak of and what are the aims that we don't align with?
 
The Phantom Stranger said:
serpentwalker666 said:
The Phantom Stranger said:
I said this before but maybe just maybe I believe Anonymous hackers might be working for JoS

I highly doubt this personally. Anonymous has an agenda and we do not align with their aims.

hmm. maybe. but anonymous itself is a leaderless group from what i've seen. some part of anonymous might have one agenda while others might not. its like the left hand doesn't know what the right hand is doing. they are all very independent. the reason i say they might know is because, from what i've seen, they definitely are 100% aware of the conspiracies taking place and of the jewish role in them. and if they have access to top secret government files, and stuff, along with other stuff, i don't think its too hard for atleast some of them to figure out that aliens are in fact real and harming us. like it shouldn't be so hard for them to put the pieces together to figure out what's going on. and the gods lead people to the truth when they are the most open to it.

What is their agenda that you speak of and what are the aims that we don't align with?

You'll notice about anonymous some subliminal and subtle things at first. The masks being used, the person that it represents. The movie V for Vendetta, the 1605 gunpowder plot, the anarchist themes in the movie, how this relates to anonymous and how there is no pattern to their motives, how they do not represent justice necessarily, just whatever motives or agenda they can get behind and be in enough agreement with.

Anonymous adopting this mask and having a very communist approach of no individuality under the guise of protecting oneself. Sayings such as "We are Legion" and various other examples.

Many of the libertarian, socialist things with Anonymous like accusing and acting in favor of these things, it's aloti could elaborate on but you get what I mean.

It's not clear right away. But the more you read and learn about them the connection becomes apparent that they are just another strange cult like group that just adapts and does whatever just because. Also relates to the anarchist and communist undertones they tie into.

While they may be unintentionally falling victim to this, I doubt some aren't aware of the agenda and the role they play. I feel they are intelligent enough to see that.

Most people capable enough to be in such a group would be able to see the connections and know what it stands for.
 
[I'm posting this despite leaving the forums about 2-3 months ago. As I find this topic fascinating]

I'm not a programmer, nor a language expert in such field. In fact I'm downright going WTF is programming. I'm just a person who uses the computer a lot and researches a lot from time to time. Perhaps 10 years ago when I would spend like 8-10 hours researching stuff maybe I drowned out my simplicity. I do posses a "vomiting" aspect in my astrological chart in wanting to "vomit" my feelings, thoughts, and day unto someone especially considering I'm just by myself a lot and very limited social capacity, gift of gab as Wayman Stewart put it in his astro blog.

I know basically it's the act of making something stupid do something. As the one rule programmers should learn is computers are fucking retarded things, that which require in-depth carefulness in programming i.e. debug etc.etc.

For example in 2013 a person shut down various websites during web 2.0 rise up due to removing their open-source, free mini code about 12 lines of code and shut down a chunk of facebook and other websites.

I noticed over the last few years especially since I got involved with studying computer science topics as I have a prominent Aquarian principle I'm not a techhead on purchasing tech but evolving tech in my mind. I hate to Herman Rosenblatt meme myself I know it's not real because it was in my mind.

But I spend an exorbitant amount of time thinking things through particularly improving technology. For example imagine having an atomically/molecular perfect Z80 chip to mess around with fixing it up improving it learning to multi-core, multi-thread in essence a device by which I can "print"/"replicate" this chip and improve it. Global Humanities Databanks. Imagine taking technology and working with the Gods with it and improving it.

For the Sanskrit named person with the almost Asus RoG combat unit cyborg.

What are your thoughts on people who program in Binary(pre-machine-code think punch card computers), Assembler, and Machine code?

For example ChibiAkuma's: https://www.chibiakumas.com/ - A deep dive into programming. I'm aware it's not relatable to modern Assembler usage but it gives great insight into systems of the past so you can work on the present.

For example: Z80/eZ80 Zilog: Uses 4 jumps; 4, 3, 2, and 1 byte jumps so you can grab a program and slough off 3 bytes of data per jump to 1 byte jumps and cut off dozens of B.

For example: GRC: Steve Gibson's website: Gibson Research Center: He made a windows program at about 27kb of assembler.

There is also the removed website or should I say missing webpage from an OSdev developr. Whereby member Michael(recall?) Cooper made MSB-OS; Magic School Book Operating System. He designed it completely as an old school Pentium-3, Bocks virtual emulator so people can program in Machine Code which he states Assembler hides stuff by pnemonically clustering certain values and not allowing you to shave off more bytes of data.

Apparently the secret to programming in machine language is not in Hexadecimal but in Decimal, despite possessing a Hex/Dec switch.

And on top of that the Machine Editor as he calls it launches commands in real-time so you can fire off 300, 101, 067, 001, 839. Apparently he left it at 3-digit max programming calls I don't recall seeing any 4-digit but there could have been the Operating system webpage on his website is broken or missing so it's gone from the internet.

Only negative thing about Mr.Cooper is he believes in mainstream bunk history which says WW2 juben and gypen were moidered over 6 gorillian.

Except for a small middle finger to history. His operating system was interesting.(As interesting as a person who made a javascript/java operating system back in 2012 and someone a few weeks ago as of the time of this post. On Phoronix asked "Can you upload it so I can download it and play with it?" and the guy was like sorry it's probably bitrotted by now.) Non the less the person was impressed especially considering how virulent java/javascript is.

Anyways digressing back to msbOS it isn't a standard O.S. whereby you use it for concrete practical properties but it seemed more like a training or education system. Albeit I can see someone programming nearly at the metal or outright in binary an O.S.

It reminds me of reading back in 2013 or so of legendary programmers who would understand Assembly so deeply they were Programming Wizards, like the Wizard definition a high-level magi user. Well in this case a high-level programming user. Hell in some cases these people would program in their head and type it down or speak to a person and tell them word for word what to do.

Unfortunately it seems like there is TOO much programming languages. I understand a programming language is a misnomer and not really for "programming" per say. Some of them do databases, documenting(like LaTex), and a whole host of myriad properties.

Just recently Linux was inundate with Rust relatively a few years ago due to surprising performance sometimes seconds or hundreds of milliseconds shaved off as far as I'm aware even a few low microsecond even in some extreme cases shaving off a few nanoseconds of time on computer programs. Apparently even security wise and with the memory protective property of Rust even some compilers and front-ends/back-ends/mid-ends were being redesigned in Rust.

I've often wondered why the fuck they continue to use Linux clunker. I respect Torvald excellent Human Linux is his baby literally with a middle finger in the air like Kid Rock or something.

But unfortunately they continued to use poverty issue. Linux is poor, no one wants to use that shit on the desktop it has gotten better but "The year of Linux". It gets old, I wish Torvald didn't burden himself with the contraction like Sudo, cmp, slt, etc.etc.

Why in the hell did Torvald listen to Unix which was created on a computer that was old and outdated. Hell the company Bell was so cheap and stupid they never wanted to buy the computer which would have given them breathing room and made long text.

I understand contractions are good and positive very magickal KISS policy. But it seems like Microsoft's Dos and present highly stretched dos system handles it better.

Unfortunately it seems like the entire open-source system is crude. I recall a member saying is OS NSy and someone said yes. I fail to see how delivering free slavery with no financial return is good. I'm not saying capitalize(capitalism) open-source just saying look at the myriad of people delivering stuff to Linux/BSD/Unix and receiving no compensation unless they work for a company.

I see the old spirit internet 1.0 FREEdom but it's become more like FREEdumb. I think the attitude of everything needs to be monetized is silly and an extreme talk of holy shit capitalism is nothing more than mammonism at it's core. But I'd like to compensate people for work. Hell some people have donations and whatnot and people pay a lot.

A happy medium you know. Get something out of it but not be a slave creating free stuff to enslave other people.

Maybe crypto or financial returns.

Honestly it gets to the point of "Why doesn't Linus Torvald and company. Remake Linux from the ground up?". And not just in some fancy languages or Rust/C etc.etc. no near the metal. Assembler, Machine Code, or outright Binary like the old machines and punch-card programming.

I get it, pain in the ass! 16+ million lines.

And yet, was it worth it to bloat that fucking shit up.

I think the entire world of computing and computer science is a minefield of a clusterfuck.

Technology is moving too fast in ways too communistic.

I guess this is why everyone is obsessed with a dystopic, despotic shithole World whereby you see people getting old computers and remaking them and working with advanced and old shit just to scrape by.

I guess the computer World is about as fucked up as Humanity is fucked up.

We reflect our fuck up on computers. Look at the "democratization" of technology now any fucking idiot can post shit.

As HP.Cobra put it, "We discovered the internet some 25 years ago and people think it's about shaking your ass on the screen".

I get it the World is improved but it seems like for many people it's become a ticking time bomb of "How do I fuck up my life or how does my life get fucked up". And I'm not talking about stupid lefties or communists or whatever no I mean people have literally fucked up their lives.

Anyways excuse my rant. I love computers and computer science I don't want to get involved with an industry that you spend every day on a computer for hours on end. But I feel like technology changes too fast and there is TOO much shit.

No literally there is too much I just can't handle it anymore. I have no idea how professional people handle it are they just work and party that's life?

Are they like in a past time or present time taking psychedelics and smoking cannabis and handling the stress.

I get it your in an industry that in some fields nets tens if not hundreds of thousands per year, millions? maybe design and get a prize.

But it's like I'm too overwhelmed by computers it's too much. I might posses an extreme thinking mind like Blitz has tried to help me out with an others. But I love to walk and think and process. Like my friend emailed me "I posses an exorbitant amount of time thinking, processing, contemplating, and in some cases a quasi-depth of information to which you invent or hallucinate stuff using your mind not even looking at the fact of fact-checking it".

I agree the way he said it was better I'm paraphrasing. But I cannot be spending everyday hours upon hours researching, reading, and whatnot.

Like I would like to state to Blitz. I never truly enjoyed my life. I wish JoS the best and you but it's not for me. I'm too Saturnine to enjoy it and I just would like a break from my own self. Sometimes I can't handle myself especially doing some personal magick to change that with his 1 year psychological health working.

Anyways I love computer and stuff. But I'm dumbfounded at my own confusion of trying to reinvent the wheel. I'm utterly like how are computers made, how are they programmed, WTF does that programming line do and how do you know what it does, etc.etc.

I guess what I'm trying to say is indeed how did Humans build computers and know how they work even though computing is an agricultural era technology. Even a Jaquard Loom from 1714s is considered a monitor because it "prints" textile images using wooden holed slates to "print" the design.

I guess my biggest issue is as a person who just drills too much. How do I study preliminary, basic, intermediate, advanced and ultra-advanced concepts and apply it for a physical action without cramming and thinking stuff in my head to simply keep say computer programming as a mental appreciation but not physically do it.

Anyways I'm rambling I understand computer languages offer certain properties. But it seems like we've gone too far with a myriad of languages and alternatives.

And yes I'm definitely a person who prefers to think, imagine rather than experience. For me I've literally computed through my mind millions and billions of properties. Only for it to be just in my mind. Again not to Herman Rosenblatt meme myself. But I don't posses any drive to physically do it. I simply care to live in my own mind.

And even if I physically do something it's simply out of necessity or because I'm so utterly bored I don't posses any other thing to do just walking, thinking, processing, contemplating.

I'm basically a computer to which is ironic I'm involved with computers since childhood. And no just to play games I never was nerdy enough to dive into it until just about leaving high school and researching for the hell of it.

I study this topic [computer science] for the hell of it. Just simply a mental curiosity and simply to pass the time. One more day passing by in my life. More time squandered and wasted. *shrugs*
 

Al Jilwah: Chapter IV

"It is my desire that all my followers unite in a bond of unity, lest those who are without prevail against them." - Satan

Back
Top