Friday, April 26, 2024
HomeJava10 Articles Each Programmer Should Learn

10 Articles Each Programmer Should Learn


Being a Java programmer and Software program developer, I’ve discovered so much from articles titled What Each Programmer Ought to Learn about ….., they have a tendency to offer a variety of helpful and in-depth details about a specific matter, which in any other case could be very laborious to find. In my quest for studying, I’ve come throughout some very helpful articles, which I’ve bookmarked for reference and a number of readings. I personally assume that each one programmers can profit by studying these articles, which makes me write this put up and share all of those “What Each Programmer Ought to Know” articles with you guys. These are from my private bookmarks.

On this article, you will notice basic what each programmer ought to know article from subjects like reminiscence, Unicode, floating-point arithmetic, networking,
object-oriented design, time, URL Encoding, String, and lots of extra.

This checklist is essential for newbies and newcomers, as they’re those, who lack sensible data. Since most of those posts are literally pushed by sensible data, newbie and intermediate programmers can take so much from it.

Additionally gaining data of fundamentals early in profession helps to keep away from errors, which has executed by different programmers and software program builders on their course of studying.

Although it’s not simple to know all data given in these articles in only one studying. You in all probability will not perceive some particulars about floating-point numbers or get confused with delicate particulars of reminiscence, but it surely’s necessary to maintain these lists useful and refer them on occasion with a context. So Good luck and Get pleasure from studying these fantastic articles.

By the best way, remember to share any What Each Programmer Ought to know article if it’s not already on this checklist.

1. What Each Programmer Ought to Learn about Reminiscence

This is likely one of the basic articles, which is able to take you thru many lanes of reminiscence, some outdated, some new, some identified, and a few unknown. Regardless of being so conman and omnipresent, not each programmer have sufficient data of Reminiscence. Data of reminiscence within the fashionable system turns into much more necessary if you’re in house of writing high-performance purposes.

{Hardware} designers have provide you with ever extra subtle reminiscence dealing with and acceleration methods–resembling CPU caches–however these can not work optimally with out some assist from the programmer.

I’m nonetheless studying this text, and I can not let you know how a lot I’ve discovered from this about RAM, CPU Caches e.g. L1 and L2 cache, several types of reminiscence, direct reminiscence entry, reminiscence controller designs, and Reminiscence generally. Briefly, a must-read for programmers of all ranges of expertise.

2. What Each Laptop Scientist Ought to Know About Floating-Level Arithmetic

Floating-point arithmetic is a difficult matter, and it’s not simple to grasp. Even many Java programmer does not know what can go incorrect when evaluating float/double worth with == operator. Many people typically make the error of doing the financial calculation in float and double. This text is one other gem of this sequence and a must-read for all software program builders and programmers.

As your expertise grows, you might be anticipated to know delicate particulars of widespread issues, and floating-point arithmetic is one among them. As a senior Java developer, you need to know the best way to carry out financial calculation, when to make use of float, double or BigDecimal courses, the best way to spherical floating-point numbers, and so forth.

Even when the basics of floating-point arithmetic, You’ll study one thing new about floating level calculation by studying this text.

3. What Each Developer Ought to learn about Unicode

Character encoding is one other space, the place many programmer struggles, and “The Absolute Minimal Each Software program Developer Completely, Positively Should Know About Unicode and Character Units (No Excuses!)” goals to fill that hole. On a facet word, Sure that is the complete title of that article.

It was written by Joel Spolsky, one of many founders of statckoverflow.com. Joel has written this put up on his weblog virtually 10 years again, however it’s nonetheless related in in the present day’s world. This text will train you about What’s Unicode, What is character encoding, how characters are represented utilizing bytes, and far more.

Among the finest issues about this text is language and circulation, even when you do not know something about Unicode, you may simply observe. Briefly, yet another must-read for all programmers, coders, and software program engineers.

4. What Each Programmer Ought to learn about Time

Other than Character encoding, time and date are different areas, the place many programmers battle, together with me. Even senior builders misplaced between GMT, UTC, daylight saving, and between leap seconds. Frankly talking, It isn’t simple to take care of time zones with out making any mistake, then add daylight financial savings and the impact of that.

Issues develop into worse in the event you utilizing the trial and error strategies as a result of you’ll by no means in a position to clear up your downside by doing that. There are such a lot of issues that may go incorrect and there may be an equal variety of misconceptions.

Issues like, whether or not the date comprises time-zone or not can confuse you want hell, changing UNIX time to a different time-zone can freak you out, overlook about clock synchronization and delays. I hope lots of your misconceptions about time will go away and you’ll construct sound fundamentals about Time, by studying this basic article.

5. What each net developer should learn about URL encoding

This text describes widespread misconceptions about Uniform Useful resource Locator (URL) encoding, then makes an attempt to make clear URL encoding for HTTP, earlier than presenting frequent issues and their options.

Whereas this text isn’t particular to any programming language, it illustrates the issues in Java) and end by explaining the best way to repair URL encoding issues in Java, and in an online software at a number of ranges. You’ll study the fundamentals of URL grammar, basic URL syntax in HTTP, and different protocols.

This text additionally explores widespread pitfalls of URLs e.g. character encoding, reserved character on the totally different components of URL, and URL encoding/decoding points. In case you are a Java programmer, then additionally, you will find out about the best way to deal with URLs in Java purposes, the precise manner.

Easy methods to assemble URL and utilizing Apache commons HTTP shopper library. Lastly, it additionally suggests finest practices or coping with URLs like it is best to encode URLs whenever you construct them, ensuring your URL-rewrite filters take care of your URL accurately, and far more. Briefly, a must-read article for any net developer and programmer.

6. What ought to each programmer learn about net improvement?

That is an attention-grabbing article from programmers stack alternate, about what ought to each programmer implementing the technical particulars of an online software take into account earlier than making the location public. This consists of issues starting from Interface design and Person Expertise, Safety, Internet requirements, Efficiency, Search Engine Optimization(website positioning), Expertise concerned, and a number of other necessary assets.

Since in the present day’s world is massively dependent upon the web and programmer having their private website, a weblog is kind of widespread. Expertise discovered on this article won’t even assist in your skilled work but additionally in your private work.

You’ll find out about all key know-how like HTTP, HTML, XML, CSS, JavaScript, browsers compatibility, tricks to cut back the loading time of your web site, XML sitemaps, W3C specs, and a number of other different key particulars.

What Every Programmer and Devleper Should know Memory, Time, Date, String,Unicode

7. What Each Programmer Ought to Know About website positioning

That is one other article, which is essential for net builders, programmers, and bloggers. website positioning is just too large to disregard since many programmers are additionally bloggers, it’s necessary to study a number of fundamentals of Search Engine Optimization to assist Google discover their content material and current it to different fellow programmers. 

Since no firm can survive and not using a net presence in in the present day’s inter-connected world, website positioning turns into much more necessary. In the event you personal a start-up, promoting any product, then website positioning is one thing to care about. All programmers, particularly net builders can largely profit from this text. 

Keep in mind, Search Engine Optimization is an enormous and really dynamic topic, and likewise varies between totally different serps e.g. Google, Yahoo, and others. So, In an effort to grasp this matter, you’ll at all times have to replace your data.

8. What Each C Programmer Ought to Know About Undefined Behaviour #1/3

The C programming language has the idea of “undefined conduct”. Undefined conduct is a broad matter with a variety of nuances and that is one cause Why I like Java, much less variety of undefined conduct, much less confusion, extra stability, and extra peace. 

Many seemingly affordable issues in C even have undefined conduct, and it is a widespread supply of bugs in applications. Past that, any undefined conduct in C provides license to the implementation (the compiler and runtime) to supply code that codecs your laborious drive, does utterly sudden issues, or worse. Learn this wonderful article to deep dive into the ocean of undefined conduct

9. What Each Programmer Must learn about networking

From the article itself “You’re a programmer. Have you ever ever questioned how multiplayer video games work? From the surface, it appears magical: two or extra gamers sharing a constant expertise throughout the community like they really exist collectively in the identical digital world.

However as programmers, we all know the reality of what’s truly happening beneath is kind of totally different from what you see. It seems that it’s all an phantasm.” It is a very attention-grabbing article about networking, written for recreation programmers however I feel each programmer and developer can profit from this.

10. What Each Java Developer Ought to Learn about String

That is my article on java.lang.String and what I personally assume each Java programmer ought to learn about it. The string is essential in day-to-day programming in Java and that is why good data is a should for any Java developer. 

This text touches on many necessary areas of String together with string pool, a string literal, evaluating String utilizing == vs equals(), changing bytes to String, Why String is immutable, correctly concatenating Strings, and lots of extra. 

Superior programmers could already know all these things however even then it’s good to revise them.

11. What ought to each programmer learn about safety?

This query was requested by one pc programming pupil in StackOverFlow. Similar to we study so much about basic programming ideas like working programs, algorithms, knowledge construction, pc structure, and different stuff, it is also necessary to learn about safety. 

Although Safety is an enormous matter starting from encryption/decryption, SSL, net safety, obfuscation, authentication, authorization, and so forth, fundamental minimal data is a should for each programmer.

I personally did not know a lot about Safety after I began my profession, It after I begin writing Servlet/JSP based mostly Java net purposes, I come to learn about net safety and a number of other safety threats like SQL Injection, Denial of Service, XML Injection, Cross-site scripting, and others. 

As a Java developer, now I observe safe Java coding practices supplied by Fortify, PMP, and different static code evaluation suppliers.  This text is an excellent assortment of subjects and hyperlinks about Safety and whether or not you might be doing coding or not, you’ll certainly profit from this useful resource.

12. Latency Numbers Each Programmer Ought to Know

It is a bonus article however a must-read for each Programmer. In an effort to write a high-performance software in any programming language like Java or C++, you should know elementary latency numbers e.g. how a lot time it takes to learn a variable from reminiscence, from L1 Cache, from the L2 cache, from random learn in SSD, and from disk. 

How a lot time it takes to lock unlock on a mutex, to ship a knowledge packet from one metropolis to a different, or doing a roundtrip on the identical knowledge middle. These latency numbers are impartial of any programming language and a part of core data, a developer should have to write down high-frequency low latency purposes. 

The benefit of this hyperlink is that it additionally supplies you a comparative evaluation of how these latency numbers have advanced over time. You may see what these latency numbers have been in 2006 and what they’re now.

That is all on this checklist of articles each Programmer must-read. By studying articles titles as What Each Programmer or Developer Ought to know, you acquire in-depth data of a specific matter. Frankly talking, there are too many issues to study for programmers, studying a programming language like Java is simply the tip of the iceberg, however is not it many people have a ardour for studying. 

Programming is a difficult job, and the one factor that helps you all alongside your profession is key data. issues about Reminiscence, Unicode, floating-point numbers, time, safety are essential for any programmer. 

Few issues are programming language-specific like my put up about Java String and What each C programmer ought to learn about undefined conduct, however they’re nonetheless good to study for a lot of newbies and builders.

Different Programming Articles it’s possible you’ll like
Thanks for studying this text to this point. In the event you discover this data helpful and these articles value studying then please share it with your mates and colleagues. In case you have any questions or suggestions then please drop a word. 

P. S. – In case you are to study extra about issues
programmers ought to know, there may be a variety of steerage out there in phrases
of important stuff for programmers, and you’ll find man nice recommendation on
the web like 97 Issues Programmer ought to know, a must-read for each critical programmer.



RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments