Introduction - PNGme: An Intermediate Rust Project This guide is intended to fill the gap between heavily directed beginner tutorials and working on your own projects. The primary goal here is to get you writing code. The secondary goal is to get you reading documentation. If you haven’t read The Rust Programming Language yet, I highly encourage you to do so before attempting this project. This guide does not cover any language features....
In programming, Booleans and Enumerates are common data types to represent the concept of “choice”. When there are several things to choose from, the Enumerate is the only one to support it, so that’s clear. But what about when you have two things to choose from? There might be some confusion between both data types since either of them supports handling binary choices. The confusion arrises in particular when you want to add the choice of a new behaviour, on top of an existing one....
Comparison between different ways of doing enumerates, with scala.Enumeration, case object and Java’s Enum.
Learn Ruby with the Neo Ruby Koans Great way to lean Ruby by fixing errors in set of well thought of unit tests.
With practice, this new mental map of color will become instinctive: you’ll likely find that it is much easier to create and manipulate color specified in HSL in your stylesheet code than hex or RGB. See also Three Ways You Should Be Using HSL Color In Your Site Today.
Learn X in Y Minutes: Scenic Programming Language Tours Learn X in Y minutes : Take a whirlwind tour of your next favorite language. Community-driven!
for each desired change, make the change easy (warning: this may be hard), then make the easy change. Kent Beck
(via What’s wrong with this picture? | Code.org ) Computer science is a top paying college degree and computer programming jobs are growing at 2x the national average . Less than 2.4% of college students graduate with a degree in computer science. And the numbers have dropped since last decade. See also Promote Computer Science | Code.org
Type-System Criteria · ongoing by Tim Bray Criteria Let’s call them the Bánffy-Bray criteria for selecting between static and dynamic type systems. Static typing’s attractiveness is a direct function (and dynamic typing’s an inverse function) of API surface size. Dynamic typing’s attractiveness is a direct function (and static typing’s an inverse function) of unit testing workability.
This brings us to the magical three step process for becoming an expert at anything: Watch someone Try it yourself and experiment Teach someone else (via Programming Your Brain: The Art of Learning in Three Steps | BitNative ) See also another image representation:
When I left Sun to go to NeXT, I thought Objective-C was the coolest thing since sliced bread, and I hated C++. So, naturally when I stayed to start the (eventually) Java project, Obj-C had a big influence. James Gosling, being much older than I was, he had lots of experience with SmallTalk and Simula68, which we also borrowed from liberally. Patrick Naughton (in Java Was Strongly Influenced by Objective-C )...
A programmer takes between 10-15 minutes to start editing code after resuming work from an interruption. When interrupted during an edit of a method, only 10% of times did a programmer resume work in less than a minute. A programmer is likely to get just one uninterrupted 2-hour session in a day (via Programmer Interrupted )
97 Things Every Programmer Should Know – Contributions Appearing in the Book Act with Prudence by Seb Rose Apply Functional Programming Principles by Edward Garson Ask “What Would the User Do?” (You Are not the User) by Giles Colborne Automate Your Coding Standard by Filip van Laenen Beauty Is in Simplicity by Jørn Ølmheim Before You Refactor by Rajith Attapattu Beware the Share by Udi Dahan The Boy Scout Rule by Uncle Bob Check Your Code First before Looking to Blame Others by Allan Kelly Choose Your Tools with Care by Giovanni Asproni Code in the Language of the Domain by Dan North Code Is Design by Ryan Brush Code Layout Matters by Steve Freeman Code Reviews by Mattias Karlsson Coding with Reason by Yechiel Kimchi A Comment on Comments by Cal Evans Comment Only What the Code Cannot Say by Kevlin Henney Continuous Learning by Clint Shank Convenience Is not an -ility by Gregor Hohpe Deploy Early and Often by Steve Berczuk Distinguish Business Exceptions from Technical by Dan Bergh Johnsson Do Lots of Deliberate Practice by Jon Jagger Domain-Specific Languages by Michael Hunger Don’t Be Afraid to Break Things by Mike Lewis Don’t Be Cute with Your Test Data by Rod Begbie Don’t Ignore that Error!...
The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. Tom Cargill, Bell Labs (the Ninety-ninety rule )
Learnable Programming Programming is a way of thinking, not a rote skill. Learning about “for” loops is not learning to program, any more than learning about pencils is learning to draw. People understand what they can see. If a programmer cannot see what a program is doing, she can’t understand it. Excellent essay about programming “without blindfolds”.
TIOBE Programming Community Index The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month.