What is the single most influential book every Programmers should read

What are the concepts every Python, Java, C#, C++, Rust programmer must know?

Ok…I think this is one of the most important questions to answer. According to the my personal experience as a Programmer, I would say you must learn following 5 universal core concepts of programming to become a successful Java programmer.

(1) Mastering the fundamentals of Java programming Language - This is the most important skill that you must learn to become successful java programmer. You must master the fundamentals of the language, specially the areas like OOP, Collections, Generics, Concurrency, I/O, Stings, Exception handling, Inner Classes and JVM architecture.

Recommended readings are OCA Java SE 8 Programmer by by Kathy Sierra and Bert Bates (First read Head First Java if you are a new comer ) and Effective Java by Joshua Bloch.

(2) Data Structures and Algorithms - Programming languages are basically just a tool to solve problems. Problems generally has data to process on to make some decisions and we have to build a procedure to solve that specific problem domain. In any real life complexity of the problem domain and the data we have to handle would be very large. That’s why it is essential to knowing basic data structures like Arrays, Linked Lists, Stacks, Queues, Trees, Heap, Dictionaries ,Hash Tables and Graphs and also basic algorithms like Searching, Sorting, Hashing, Graph algorithms, Greedy algorithms and Dynamic Programming.

Recommended readings are Data Structures & Algorithms in Java by Robert Lafore (Beginner) , Algorithms Robert Sedgewick (intermediate) and Introduction to Algorithms-MIT press by CLRS (Advanced).

(3) Design Patterns - Design patterns are general reusable solution to a commonly occurring problem within a given context in software design and they are absolutely crucial as hard core Java Programmer. If you don't use design patterns you will write much more code, it will be buggy and hard to understand and refactor, not to mention untestable and they are really great way for communicating your intent very quickly with other programmers.

Recommended readings are Head First Design Patterns Elisabeth Freeman and Kathy Sierra and Design Patterns: Elements of Reusable by Gang of four.

(4) Programming Best Practices - Programming is not only about learning and writing code. Code readability is a universal subject in the world of computer programming. It helps standardize products and help reduce future maintenance cost. Best practices helps you, as a programmer to think differently and improves problem solving attitude within you. A simple program can be written in many ways if given to multiple developers. Thus the need to best practices come into picture and every programmer must aware about these things.

Recommended readings are Clean Code by Robert Cecil Martin and Code Complete by Steve McConnell.

(5) Testing and Debugging (T&D) - As you know about the writing the code for specific problem domain, you have to learn how to test that code snippet and debug it when it is needed. Some programmers skip their unit testing or other testing methodology part and leave it to QA guys. That will lead to delivering 80% bugs hiding in your code to the QA team and reduce the productivity and risking and pushing your project boundaries to failure. When a miss behavior or bug occurred within your code when the testing phase. It is essential to know about the debugging techniques to identify that bug and its root cause.

Recommended readings are Debugging by David Agans and A Friendly Introduction to Software Testing by Bill Laboon.

I hope these instructions will help you to become a successful Java Programmer. Here i am explain only the universal core concepts that you must learn as successful programmer. I am not mentioning any technologies that Java programmer must know such as Spring, Hibernate, Micro-Servicers and Build tools, because that can be change according to the problem domain or environment that you are currently working on…..Happy Coding!

Summary: There's no doubt that books have had a profound influence on society and the advancement of human knowledge. But which book is the most influential for programmers? Some might say it's The Art of Computer Programming, or The Pragmatic Programmer. But I would argue that the most influential book for programmers is CODE: The Hidden Language of Computer Hardware and Software. In CODE, author Charles Petzold takes you on a journey from the basics of computer hardware to the intricate workings of software. Along the way, you learn how to write code in Assembly language, and gain an understanding of how computers work at a fundamental level. If you're serious about becoming a programmer, then CODE should be at the top of your reading list!

Can you show me some C++ code that can't be done without using pointers?

#include int main() { std::cout << "Hello world!\n"; }

The address of the string literal “Hello world!\n” gets passed as a const char* to operator<<(std::basic_ostream&, const char*).[1] There are other pointers at work under the hood, but that one’s pretty front and center.


[1] operator<<(std::basic_ostream) - cppreference.com

Reference: Quora

Why are all variables in Python references? What's the benefit?

The benefits are simplified semantics - Python doesn’t need to distinguish between local (stack) and heap allocated objects (the way that some languages have a ‘new’ keyword to build hep allocated objects).

It means everything is an object (including integers, floats) and everything gets treated exactly the same by the vritual machine - there are a few optimisations for inbuilt often used object but essentially every operation (say a+b) is executed by looking up the appropriate method for the + operator on a: It does that regardless of the type of ‘a’.

For one, there's memory economy--imagine really huge data sets, which are intended to be reused over and over again, having to be contained by every variable that's used with them. Referencing also ensures original data isn't unintentionally tampered with.

Reference: Quora

What is the importance of functions in Python?

Functions serve as code de-duplicators i.e. they help you avoid repeating blocks of code (that are specified inside them). For example; if a function made up of a block of code is and also defined with some length and width parameters helps you draw a box, at any point in your code you can draw a box of any length and width by simply calling the function and passing it the arguments for length and width…all in just one line of code instead of the whole block of code each time you want a box drawn.

Functions are important in every language that allows them:
- They make your code more readable by giving names to sections of your code.
- They make your code more easily reusable: a well written function that does something you need often can be called from multiple places in your code.
- They provide something that can be easily tested - they should have a well defined behaviour based on their parameters.

Reference: Quora

We know you like Coding, We do too, but you should also build the skills that’ll drive your career into six figures. Cloud skills and certifications can be just the thing you need to make the move into cloud or to level up and advance your career. 85% of hiring managers say cloud certifications make a candidate more attractive.

COMA2: Book/Course (Coming soon on Amazon)

1 / 6
2 / 6
Page 1
3 / 6
Page 2
4 / 6
Page 3
5 / 6
Page 4
6 / 6
Page 5