background preloader

Programming

Facebook Twitter

15 Great and FREE Online Resources That Every Programmer Should Know About. As a computer programmer, you are probably studying lots of different areas of interest.

15 Great and FREE Online Resources That Every Programmer Should Know About

Some of you may just be interested in programming, while others may also like to study about security, linux, operating systems, artificial intelligence and more. Therefore, it is more than likely that you are visiting lots of different online resources in order to gather knowledge. While i know that not all people follow or want to follow my computer related resources, i thought that it would be a good idea to write a post indicating what i think are my 20 best online resources about the different computer stuff i am interested in.

At that point i would like to ask you that you post a comment with your top 5 or 10 online resources. In the end we will have gathered significant urls in this page. Programming languages bookshelf. Note: If you can't find what you're looking for here, check: Ada – Bourne Shell Scripting Ada Programming is a tutorial teaching the Ada programming language. Ada puts unique emphasis on, and provides strong support for, good software engineering practices that scale well to very large software systems (millions of lines of code, and very large development teams). Code Like a Pythonista: Idiomatic Python. In this interactive tutorial, we'll cover many essential Python idioms and techniques in depth, adding immediately useful tools to your belt.

Code Like a Pythonista: Idiomatic Python

There are 3 versions of this presentation: ©2006-2008, licensed under a Creative Commons Attribution/Share-Alike (BY-SA) license. My credentials: I am. Random source code comment thread. Code:/** * For the brave souls who get this far: You are the chosen ones, * the valiant knights of programming who toil away, without rest, * fixing our most awful code.

Random source code comment thread

To you, true saviors, kings of men, * I say this: never gonna give you up, never gonna let you down, * never gonna run around and desert you. Never gonna make you cry, * never gonna say goodbye. Never gonna tell a lie and hurt you. . */ C Craft - Preface. Let me open with a disclaimer.

C Craft - Preface

What follows is an unabashedly opinionated diatribe certain to offend many programmers. Craftsmen inevitably grow defensive of their favourite tools and practices. Ootips - Object Orientation Tips. Python Tips, Tricks, and Hacks. Henry Spencer's 10 Commandments for C Programmers. A programmer should understand the type structure of his language, lest great misfortune befall him.

Henry Spencer's 10 Commandments for C Programmers

Contrary to the heresies espoused by some of the dwellers on the Western Shore, `int' and `long' are not the same type. The moment of their equivalence in size and representation is short, and the agony that awaits believers in their interchangeability shall last forever and ever once 64-bit machines become common. Also, contrary to the beliefs common among the more backward inhabitants of the Polluted Eastern Marshes, `NULL' does not have a pointer type, and must be cast to the correct type whenever it is used as a function argument.

(The words of the prophet ANSI, which permit NULL to be defined as having the type `void *', are oft taken out of context and misunderstood. Code Instructions: Programming Styles. Over the years I've met many developers and got to know many different programming styles.

Code Instructions: Programming Styles

Here are some of the odd ones. Do you know someone like that? Shotgun Programming. Sharpening the Saw. As a software developer, how do you sharpen your saw?

Sharpening the Saw

Sharpening the saw is shorthand for anything you do that isn't programming, necessarily, but (theoretically) makes you a better programmer. It's derived from the Covey book The 7 Habits of Highly Effective People. There's a guy who stumbled into a lumberjack in the mountains. The man stops to observe the lumberjack, watching him feverishly sawing at this very large tree. He noticed that the lumberjack was working up a sweat, sawing and sawing, yet going nowhere. Of course, the best way to improve at something is to do it as often as possible. Scott Hanselman has some solid ideas on ways to encourage members of your development team to sharpen their saws. What we do is this: we read a blog post, reading thing after thing we agree with, and if just one thing in there doesn't fit our personal world view, we demand a correction.

Index - Haxe.

Web Development

Python for Fun. This collection is a presentation of several small Python programs.

Python for Fun

They are aimed at intermediate programmers; people who have studied Python and are fairly comfortable with basic recursion and object oriented techniques. Each program is very short, never more than a couple of pages and accompanied with a write-up. I have found Python to be an excellent language to express algorithms clearly. Some of the ideas here originated in other programs in other languages.

But in most cases I developed code from scratch from just an outline of an idea. From many years of programming these are some of my favorite programs. Many thanks to Paul Carduner and Jeff Elkner for their work on this page, especially for Paul's graphic of Psyltherin (apologies to Harry Potter) and to the Twisted developement team for their Lore documentation generator to which all the other web pages in this collection have been recently adapted.

Article series "MIT Introduction to Algorithms"