- #1
The Grimmus
- 200
- 0
I am looking for a good book on something like parcel or C or soemthing in the same range of that. Any recomnedations
[devil's advocate mode]Originally posted by dduardo
It is pretty stupid of the school system to change from c++ to java. I think java is the most hyped programming language ever. It may be good for the web, but it isn't all that great at high proformance applications and low level development. Your not going to see the linux kernel written completely in java anytime soon. Garbage collecting wastes precious cpu cycles and used by lazy programmers that don't want to deallocate the memory that they allocate.
It's so loosely defined that many different compilers interpret the same constructs differently.
It's also not that great at developing high performance applications, because it demands that every programmer be a master of algorithm and data structure design. Sure, it has the STL, but everyone knows it's one of the most obtuse general-purpose libraries ever designed. Besides, you remember all those standardization issues? Yeah, they apply to the STL, too.
Pointer arithmetic is so low-level as to be entirely unnecessary, and many programmers abstract their data structures using tools like the STL to avoid human error anyway. Multiple inheritance has probably been
Multiple inheritance has probably been used one or two times properly in the history of the language. The template construct is so syntactically challenging that most new programmers are terrified to use it (and therefore terrified to write REAL object-oriented code).
Operator overloading is just a convenience, and it doesn't really help much -- you still have to invest the time to learn how each class's designer chose to use his operators, just like you'd have to read Java documentation to learn about each method.
Huge vtables take up a lot of memory, and C++'s lack of garbage collection means that quite a lot of human resources are spent finding and removing memory leaks.
Okay... I just have to. What standard?Originally posted by dduardo
Blame it on microsoft and their crappy compiler. GCC goes by the standard very well.
Why should I have to pay for experts? Why shouldn't I remove some of that burden from programmers? Why should cars have power windows and turn signals when you can roll the window down and stick your arm out?If you have a group of programmers working on high performance applications and they don't know fundamental algorithm and data structure design then you are in trouble. Why did you hire the morons in the first place.
Why would you want to do this? Why should every programmer have to go write his own basic algorithms and data structures when Knuth has already done all the work? Why shouldn't a language provide those tools?I have to agree that STL is junk. All I say is Don't Use It. I don't think its that hard to program your own string, stack, lookup table structures. I've done it. I also don't think its that hard to create your own sorting algrothms etc.
Of course I've looked at the source! Sun provides it with every distribution of the JDK.Have you inspected the structures and algorithms supplied with java? Do you know if they are optimized and secure? This is why I write my own code in c++. Then whenever I need it I use my own algorithms.
When did I say I wasn't into polymorphism? Surely you realize multiple inheritance != polymorphism?I'm sorry your not into polymorphism. I think its a great way to visually see a program. It might be daunting for new programmers but once you've got the hang of it, its a piece of cake.
Can you list the number of times in practice that you've seen operator overloading done so well in a class that you immediately understand what every operator did?And its a convenience that make code more readable. Its just dumb to have a function call like addthesetwonumbers(2,4). I would rather see 2+4.
I could argue that garbage collection makes them better programmers, since they can produce cleaner code faster. The ultimate arbiter of success is not how bloody your knuckles are when you're done -- it's how much money is in your pocket. And you're suggesting that instead of taking a (literally) negligible performance hit from a thread automatically reclaiming unreferenced objects (usually done when the program is waiting for input), you'd rather purchase a profiler and pay to educate all your staff on its proper use?garbage collection makes people lazy and they don't clean up after themselves. To handle memory leaks c++ programmers have applications like memory profiler to locate such problems.
Originally posted by dduardo
Finally, "Java is not designed for computer-intensive applications that are critical in space and speed" - The Java White Paper
there's talk of processors that can support directly Java instructions so speed will not be a problem in the near future
Originally posted by selfAdjoint
Kind of defeats the purpose of Java, doesn't it, since that language was designed to be processor independent. That was its great announced strength.
THERE IS A REASON THEY ARE FREE! AND IS BECAUSE THEY CAN'T COMPILE WIN32 C++! ONLY CONSOLES C++ programs!
Originally posted by PrudensOptimus
So get VC++ 6 Professional and start writing real apps!
Originally posted by chroot
Ugh. Scheme/Lisp. Yeah, the syntax is trivial -- but when you're trying to figure out which of your 10,000 parentheses belongs to which of the other 10,000, it's a total nightmare.
- Warren
Matching a few levels of parenthesis is hardly as difficult as your exaggeration suggests, even without a decent paren-balancing editor. With such an editor (and come on, even vi can do this), it's a complete non-issue.Ugh. Scheme/Lisp. Yeah, the syntax is trivial -- but when you're trying to figure out which of your 10,000 parentheses belongs to which of the other 10,000, it's a total nightmare.
Some of the top programming books recommended for beginners include "Code Complete" by Steve McConnell, "Clean Code" by Robert C. Martin, "Head First Java" by Kathy Sierra and Bert Bates, "The Pragmatic Programmer" by Andrew Hunt and David Thomas, and "Eloquent JavaScript" by Marijn Haverbeke.
Some key factors to consider when choosing a programming book include the language or technology you want to learn, the level of detail and structure in the book, the author's credibility and expertise, and reviews from other readers.
Yes, there are many free programming books available online. Some popular resources for free programming books include GitHub, FreeCodeCamp, and OpenLibra. You can also find free eBooks on various programming topics on websites like Amazon and Google Books.
The best programming book for learning a specific language or technology will vary depending on personal preferences and learning styles. Some popular choices for specific languages include "Introduction to Algorithms" by Thomas H. Cormen for learning algorithms and data structures, "JavaScript: The Good Parts" by Douglas Crockford for learning JavaScript, and "Learning Python" by Mark Lutz for learning Python.
While programming books can be a valuable resource for learning, they should not be your only resource. It's important to supplement your learning with hands-on practice, online tutorials, and other resources such as video tutorials, coding challenges, and forums. This will help you gain a well-rounded understanding of the language or technology you are learning.